Atualizando Scripts para Versões Mais Recentes¶
alterações do Aimsun Next 26.0.0¶
Principais alterações:
- A versão do Python a ser usada com o Next 26 é Python 3.12. O instalador completo mais recente disponível para Python 3.12 é Python 3.12.10 de python.org.
- A biblioteca PyANGBasic não está mais disponível para uso; todas as importações devem ser removidas.
- O Aimsun Next 26 usa Qt6; todas as referências a funções ou imports do Qt5 devem ser atualizadas para os equivalentes do Qt6.
-
Nesta versão é obrigatório usar o nome dos enums para acessar seu valor. Em versões anteriores do Next isso era opcional. Exemplos:
- No Next 24 e anteriores, você podia usar: GKColumn.Type._GKTimeSerie ou GKColumn._GKTimeSerie. No Next 26, somente GKColumn.Type._GKTimeSerie é aceito.
-
QVariant não existe mais.
- Os IDs de coluna de GKObjects e GKSimulatedObjects não existem mais. Para definir ou obter os valores de todas as colunas, as colunas devem ser acessadas por seu nome interno e não pelo antigo ID. Exemplo: em vez de usar: value = section.getDataValueDoubleByID( GKSection::reactionTimeVariationAtt ) use: value = section.getDataValueDouble( model.getColumn("GKSection::reactionTimeVariationAtt" ) )
A seguir há uma lista de todas as classes e funções que foram alteradas ou adicionadas após o lançamento do Aimsun Next 24.0.2. As classes com alterações são:
- DTATurning
- GKCentroidSplitCmd
- GKControlPlanSignalStartDuration
- GKDestinationChange
- GKExperimentResult
- GKForceEnrouteAssignment
- GKForceTurning
- GKFunctionCost
- GKModel
- GKObject
- GKODMatrix
- GKParkAndRideChange
- GKPolygon
- GKRoadType
- GKSection
- GKSimulatedObject
- GKSimulationEvent
- GKTriggerCondition
- GKTurning
- GKTurningClosingChange
- GKType
- MacroScenarioOutputData
- GKViewModeStyleRange
- GKPublicLine
- GKNodeConflict
- ComparisonTypeResultData
Classe DTATurning¶
As funções a seguir são rotuladas como obsoletas. Atualize seus scripts para não as utilizar, pois elas serão removidas na próxima versão principal após o Next 26.
double currentDefaultCost(DTAManager * dtaManager) const;
double vdfDefaultCost(DTAManager * dtaManager) const;
double getDynamicDefaultCost(const DTAManager * dtaManager ) const;
double getStaInitialCost(const DTAManager * dtaManager ) const;
double getStaInitialCostVT(const DTAManager * dtaManager, const DTAUserClass * gkUserClass ) const;
double getStaInitialCostVT( DTAManager * dtaManager, const DTAVehicleType * vehType ) const;
double getInitialDefaultCost(const DTAManager * dtaManager ) const;
double getInitialDefaultCostVT(const DTAManager * dtaManager, const DTAUserClass * gkUserClass ) const;
double getInitialDefaultCostVT( DTAManager * dtaManager, const DTAVehicleType * vehType ) const;
Classe GKDestinationChange¶
As seguintes funções foram removidas:
const GKCentroid * getOrigin() const;
void setOrigin( const GKCentroid * centroid );
const GKCentroid * getDestination() const;
void setDestination( const GKCentroid * centroid );
int numberOfDestinationCentroids() const;
const GKCentroid * getDestinationCentroidAt( int i ) const;
float getDestinationCentroidPercentage( const GKCentroid * aCentroid ) const;
float getDestinationCentroidPercentageAt( int pos ) const;
bool containsDestinationCentroid( const GKCentroid *centroid ) const;
void addDestinationCentroid( const GKCentroid * aCentroid, float aPercentage );
void removeDestinationCentroid( const GKCentroid * aCentroid );
void joinDestinationCentroids( const GKCentroid * masterCentroid, const GKCentroid * otherCentroid );
void revertJoinDestinationCentroids( const GKCentroid * masterCentroid, const GKCentroid * otherCentroid, float otherCentroidPercentage );
const GKPolygon * getOriginCentroidOrGroup() const;
void setOriginCentroidOrGroup( const GKPolygon * centroidOrGroup );
const GKPolygon * getDestinationCentroidOrGroup() const;
void setDestinationCentroidOrGroup( const GKPolygon * centroidOrGroup );
int numberOfNewDestinationCentroids() const;
const GKCentroid * getNewDestinationCentroidAt( int i ) const;
float getNewDestinationCentroidPercentage( const GKCentroid * aCentroid ) const;
float getNewDestinationCentroidPercentageAt( int pos ) const;
bool containsNewDestinationCentroid( const GKCentroid *centroid ) const;
void addNewDestinationCentroid( const GKCentroid * aCentroid, float aPercentage );
void removeNewDestinationCentroid( const GKCentroid * aCentroid );
void joinNewDestinationCentroids( const GKCentroid * masterCentroid, const GKCentroid * otherCentroid );
void revertJoinNewDestinationCentroids( const GKCentroid * masterCentroid, const GKCentroid * otherCentroid, float otherCentroidPercentage );
Classe GKForceEnrouteAssignment¶
Os seguintes atributos foram removidos:
static uint originCentroidAtt;
static uint destinationCentroidAtt;
static uint originCentroidOrGroupAtt;
static uint destinationCentroidOrGroupAtt;
Classe GKForceTurning¶
As seguintes funções foram removidas:
void setOrigin( const GKCentroid * centroid );
const GKCentroid * getOrigin() const;
void setDestination( const GKCentroid * centroid );
const GKCentroid * getDestination() const;
void setOriginCentroidOrGroup( const GKPolygon * centroidOrGroup );
const GKPolygon * getOriginCentroidOrGroup() const;
void setDestinationCentroidOrGroup( const GKPolygon * centroidOrGroup );
const GKPolygon * getDestinationCentroidOrGroup() const;
Classe GKFunctionCost¶
Alguns tipos dentro do atributo GKFunctionCostType removidos:
eCost and eCostVehType
eDynamicCost
eKInitials and eKInitialsVehType
eKInitials
Classe GKModel¶
Função adicionada que define o modelo em modo de modificação múltipla, o qual, se true, evita a atualização da visualização do projeto cada vez que um único objeto é adicionado/modificado/removido.
WARNING: Use com cautela e por sua conta e risco para evitar inconsistências de UI. A função deve ser chamada duas vezes com true e false para evitar inconsistências.
void setOnMultipleModifications( bool value );
Exemplo de uso:
model.setOnMultipleModifications(True) #notify the model that we are about to do multiple modifications
sectionType = model.getType( "GKSection" )
for section in model.getCatalog().getObjectsByType( sectionType ).values():
speedChange = GKSystem.getSystem().newObject("GKSpeedChange", model)
speedChange.setSection(section)
speedChange.setSpeed(speed)
speedChange.setName("Speed Change to %.1f km/h for section: %s" %(float(speed), section.getExternalId()))
traffic_condition.addChange(speedChange)
model.setOnMultipleModifications(False) #notify the model that we finished doing the modifications
Esta função retorna se o modelo está no modo de modificação múltipla.
bool isOnMultipleModifications() const;
Classe GKObject¶
Os IDs de coluna de GKObjects não existem mais. Para definir ou obter os valores de todas as colunas, as colunas devem ser acessadas pelo seu nome interno e não pelo antigo ID. Exemplo: Em vez de usar: value = section.getDataValueDoubleByID( GKSection::reactionTimeVariationAtt ) use: value = section.getDataValueDouble( model.getColumn("GKSection::reactionTimeVariationAtt" ) )
Todas estas funções não estão mais disponíveis:
QVariant * getDataValueByID( uint attrId, bool * deleteit , const GKContext & context = GKContext::anyContext ) const;
double getDataValueInTSByID( uint attrId, unsigned int index, double * deviation = nullptr ) const;
GKTimeSerie * getDataValueTSByID( uint attrId ) const;
int getDataValueIntByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
double getDataValueDoubleByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QString getDataValueStringByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
bool getDataValueBoolByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
GKObject * getDataValueObjectByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QDate getDataValueDateByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QTime getDataValueTimeByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QDateTime getDataValueDateTimeByID(uint attrId, const GKContext& context = GKContext::anyContext) const;
GKTimeDuration getDataValueTimeDurationByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
void setDataValueObjectByID( uint attrId, const GKObject * obj );
void setDataValueDoubleByID( uint attrId, double v );
void setDataValueByID( uint attrId, const QVariant & v );
void setDataValueInTSByID( uint attrId, unsigned int index, double value, double deviation, GKTSDescription * aDescription = nullptr );
void setDataValueInExpandableTSByID( uint attrId, double value, double deviation, GKTSDescription * aDescription = nullptr );
void setAggregatedValueInTSByID( uint attrId, double value, double deviation, GKTSDescription * aDescription = NULL );
void clearDataValueTSByID( uint attrId );
void removeDataValueByID( uint attrId );
As seguintes funções devem ser usadas em seu lugar:
virtual QVariant * getDataValue( const GKColumn * attr, bool * deleteit , const GKContext & context = GKContext::anyContext ) const;
virtual double getDataValueInTS( const GKColumn * attr, unsigned int index, double * deviation = nullptr ) const;
virtual GKTimeSerie * getDataValueTS( const GKColumn * attr ) const;
virtual int getDataValueInt( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
virtual double getDataValueDouble( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QString getDataValueString( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
virtual bool getDataValueBool( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
virtual GKObject * getDataValueObject( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QDate getDataValueDate( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QTime getDataValueTime( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QDateTime getDataValueDateTime(const GKColumn* attr, const GKContext& context = GKContext::anyContext) const;
GKTimeDuration getDataValueTimeDuration( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
virtual void setDataValueObject( const GKColumn * attr, const GKObject * obj );
virtual void setDataValueDouble( const GKColumn * attr, double v );
virtual void setDataValue( const GKColumn * attr, const QVariant & v );
virtual void setDataValueInTS( const GKColumn * attr, unsigned int index, double value, double deviation, GKTSDescription * aDescription = nullptr );
virtual void setDataValueInTS( const GKColumn * attr, unsigned int index, double value, double deviation, double lowerValue, GKTSDescription * aDescription = nullptr );
virtual void setAggregatedValueInTS( const GKColumn * attr, double value, double deviation, GKTSDescription * aDescription = NULL );
virtual void clearDataValueTS( const GKColumn * attr );
void removeDataValue( const GKColumn * attr );
Classe GKODMatrix¶
As seguintes funções, que em versões anteriores haviam sido marcadas como obsoletas, foram finalmente removidas:
void compress();
void descompress();
bool isCompressed() const;
Classe GKParkAndRideChange¶
As seguintes funções foram removidas:
void setOrigin( const GKCentroid * centroid );
const GKCentroid * getOrigin() const;
void setDestination( const GKCentroid * centroid );
const GKCentroid * getDestination() const;
void setOriginCentroidOrGroup( const GKPolygon * centroidOrGroup );
const GKPolygon * getOriginCentroidOrGroup() const;
void setDestinationCentroidOrGroup( const GKPolygon * centroidOrGroup );
const GKPolygon * getDestinationCentroidOrGroup() const;
Classe GKPolygon¶
A GKObjectsClassification foi expandida, portanto agora é definida da seguinte forma:
enum GKObjectsClassification{
eAll
, eOnlyNodesAndSections
, eOnlySections
, eAllButProblemNets
};
Classe GKRoadType¶
As seguintes funções foram removidas:
GKFunctionCost* getTurnInitialCostFunction() const;
void setTurnInitialCostFunction( GKFunctionCost* function );
GKFunctionCost* getTurnDynamicCostFunction() const;
void setTurnDynamicCostFunction( GKFunctionCost* function );
Além disso, a coluna "GKRoadType::turnInitialCostFunctionAtt" não está mais disponível.
Classe GKSection¶
As seguintes funções foram removidas:
GKFunctionCost * getInitialFunction() const;
void setInitialFunction( GKFunctionCost *fc );
GKFunctionCost * getDynamicFunction() const;
void setDynamicFunction( GKFunctionCost * fc );
Além disso, o identificador de coluna initialFunctionAtt foi removido, pois a coluna "GKSection::initialFunctionAtt" não está mais disponível.
Classe GKSimulatedObject¶
Os IDs de coluna de GKObjects não existem mais. Para definir ou obter os valores de todas as colunas, as colunas devem ser acessadas pelo seu nome interno e não pelo antigo ID. Exemplo: Em vez de usar: value = section.getDataValueDoubleByID( GKSection::reactionTimeVariationAtt ) use: value = section.getDataValueDouble( model.getColumn("GKSection::reactionTimeVariationAtt" ) )
Todas essas funções não estão mais disponíveis em GKSimulatedObjects:
QVariant * getDataValueByID( uint attrId, bool * deleteit , const GKContext & context = GKContext::anyContext) const override;
double getDataValueInTSByID( uint attrId, unsigned int index, double * deviation = nullptr ) const;
GKTimeSerie * getDataValueTSByID( uint attrId ) const;
int getDataValueIntByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
double getDataValueDoubleByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QString getDataValueStringByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
bool getDataValueBoolByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
GKObject * getDataValueObjectByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QDate getDataValueDateByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QTime getDataValueTimeByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
QDateTime getDataValueDateTimeByID(uint attrId, const GKContext& context = GKContext::anyContext) const;
GKTimeDuration getDataValueTimeDurationByID( uint attrId, const GKContext & context = GKContext::anyContext ) const;
As seguintes funções devem ser usadas em seu lugar:
virtual QVariant * getDataValue( const GKColumn * attr, bool * deleteit , const GKContext & context = GKContext::anyContext ) const;
virtual double getDataValueInTS( const GKColumn * attr, unsigned int index, double * deviation = nullptr ) const;
virtual GKTimeSerie * getDataValueTS( const GKColumn * attr ) const;
virtual int getDataValueInt( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
virtual double getDataValueDouble( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QString getDataValueString( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
virtual bool getDataValueBool( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
virtual GKObject * getDataValueObject( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QDate getDataValueDate( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QTime getDataValueTime( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
QDateTime getDataValueDateTime(const GKColumn* attr, const GKContext& context = GKContext::anyContext) const;
GKTimeDuration getDataValueTimeDuration( const GKColumn * attr, const GKContext & context = GKContext::anyContext ) const;
Classe GKSimulationEvent¶
GKSimulatorEvent agora permite definir diferentes gatilhos de tempo para diferentes intervalos de tempo e definir uma duração mínima antes de verificar o gatilho de parada.
A seguinte função foi removida:
GKTrigger * getStartTrigger() const;
GKTrigger* getStartTrigger( const QTime& time ) const;
void addStartTrigger( GKTrigger * trigger, const QTime& initialTime, const GKTimeDuration& duration );
void removeStartTrigger( GKTrigger * trigger );
void clearStartTriggers();
const GKTimeDuration& getTriggerMinDuration() const;
void setTriggerMinDuration( const GKTimeDuration & duration );
Classe GKTriggerCondition¶
As funções
void setValue( const QString & avalue );
const QString & getValue() const;
void setValue( const QVariant & avalue );
const QVariant & getValue() const;
Classe GKTurning¶
As seguintes funções foram removidas:
GKFunctionCost * getInitialFunction() const;
void setInitialFunction( GKFunctionCost *fc );
GKFunctionCost * getDynamicFunction() const;
void setDynamicFunction( GKFunctionCost * fc );
Além disso, o identificador de coluna initialFunctionAtt foi removido, pois a coluna "GKTurning::initialFunctionAtt" não está mais disponível.
Classe GKTurningClosingChange¶
As seguintes funções foram removidas:
void setOriginCentroid( const GKCentroid * centroid );
const GKCentroid * getOriginCentroid() const;
void setDestinationCentroid( const GKCentroid * centroid );
const GKCentroid * getDestinationCentroid() const;
void setOriginCentroidOrGroup( const GKPolygon * centroidOrGroup );
const GKPolygon * getOriginCentroidOrGroup() const;
void setDestinationCentroidOrGroup( const GKPolygon * centroidOrGroup );
const GKPolygon * getDestinationCentroidOrGroup() const;
Classe GKType¶
Conforme indicado no Next 24, as funções para adicionar GKColumn a um GKType
GKColumn* addColumn( const QString & iname, const GKContents& contents , GKColumn::Type atype,
GKColumn::GKColumnType astoreType = GKColumn::eExternalTemporary, bool dynamic = false );
GKColumn* addColumn( const GKContents& contents , GKColumn::Type atype,
GKColumn::GKColumnType astoreType = GKColumn::eExternalTemporary, bool dynamic = false );
GKColumn * addColumn( const QString & iname, const QString & aname, GKColumn::Type atype,
GKColumn::GKColumnType astoreType = GKColumn::eExternal, bool dynamic = false );
foram descontinuados. Os abaixo são os que os substituem:
-
Adiciona uma GKColumn com tipo de armazenamento GKColumn::eExternal.
GKColumn * addExternalColumn( const QString & iname, const QString & aname, GKColumn::Type atype, GKColumn::Origin from = GKColumn::eDeveloper, const QString& originDescription = QString(), bool dynamic = false, int precision = -1 ); -
Adiciona uma GKColumn com tipo de armazenamento GKColumn::eExternalTemporary.
GKColumn * addTemporaryColumn( const QString & iname, const QString & aname, GKColumn::Type atype, bool dynamic = false, int precision = -1 ); GKColumn * addTemporaryColumn( const QString & iname, const GKContents& contents , GKColumn::Type atype, bool dynamic = false, int precision = -1 ); GKColumn * addTemporaryColumn( const GKContents& contents, GKColumn::Type atype, bool dynamic = false, int precision = -1 ); -
Adiciona uma GKColumn com tipo de armazenamento GKColumn::ePython.
GKColumn * addPythonFunctionColumn( const GKContents& contents, GKColumn::Type atype, int precision = -1 ); GKColumn * addPythonFunctionColumn( const QString & iname, const QString & aname, GKColumn::Type atype, int precision = -1 );
Classe GKCentroidSplitCmd¶
A classe GKCentroidSplitCmd foi adicionado.
Um comando para dividir um Centroide em vários centroides.
Classe GKControlPlanSignalStartDuration¶
As seguintes funções foram removidas:
void setStart(float start);
void setDuration(float duration);
Eles não foram destinados a atualizar o início e a duração dos semáforos do plano de controle. Para alterar os valores na interseção de controle, use GKControlJunction::setPhasesFromSignals.
Classe GKExperimentResult¶
As opções de armazenamento de matrizes skim agora estão disponíveis:
O armazenamento de matrizes Skim é desativado por padrão. O status atual pode ser verificado e modificado com as seguintes funções:
bool getGenerateSkimMatrices() const;
void setGenerateSkimMatrices( bool value );
Aggregate Route Choice Interval está desativado por padrão. Verifique o status atual e modifique-o com as seguintes funções:
bool getAggregateRouteChoiceInterval() const;
void setAggregateRouteChoiceInterval(bool value);
A agregação por classe de veículo é desativada por padrão. Verifique o status atual e modifique-o com as seguintes funções:
bool getAggregateByVehicleClass() const;
void setAggregateByVehicleClass(bool value);
Include Warm-up é desabilitado por padrão. Verifique o status atual e modifique-o com as seguintes funções:
bool getIncludeWarmup() const;
void setIncludeWarmup(bool value);
Calculate Cost for Zero Trips é desabilitado por padrão. Verifique o status atual e modifique-o com as seguintes funções:
bool getCalculateCostForZeroTrips() const;
void setCalculateCostForZeroTrips( bool value);
Quando a Average for calculada, armazene também suas Replication Skim Matrices. Desativado por padrão. Verifique o status atual e modifique-o com as seguintes funções:
bool getStoreIntermediateMatrices() const;
void setStoreIntermediateMatrices(bool value);
Os Current Route Choice Intervals podem ser recuperados usando a função a seguir. Os intervalos são expressos em segundos.
QVector<int> getRouteChoiceIntervals() const;
Define os Route Choice Intervals a serem usados ao gerar as Skim Matrices. Os intervalos devem ser expressos em segundos. Os seguintes requisitos devem ser atendidos para que os intervalos sejam efetivamente atribuídos: A opção "Aggregate Route Choice Interval" está habilitada O cenário tem uma demanda A duração dos intervalos é igual à duração do cenário Todos os intervalos são múltiplos da duração do intervalo do experimento
bool setRouteChoiceIntervals( const QVector<int>& intervals );
Limpa os Intervalos de Escolhas de Rota definidos com setRouteChoiceIntervals função.
void clearRouteChoiceIntervals();
Classe MacroScenarioOutputData¶
As seguintes funções foram adicionadas:
Retorna true se as matrizes skim a serem geradas devem ser o resultado agregado de cada Vehicle Class.
bool getAggregateByVehicleClass() const;
Define se as matrizes skim a gerar devem ser agregadas por Vehicle Class.
void setAggregateByVehicleClass(bool value);
Retorna true se as matrizes RGap serão geradas ao final da execução e false caso contrário.
bool getGenerateGapMatrices() const;
Define se matrizes Gap serão geradas ao final do processo de atribuição.
void setGenerateGapMatrices( bool iValue );
Classe GKViewModeStyleRange¶
As seguintes funções foram adicionadas:
Define o valor para este intervalo quando o atributo do estilo é do tipo GKColumn::String
void setValue( const QString& value );
Retorna o valor para este intervalo quando o atributo do estilo é do tipo GKColumn::String
QString getValue() const;
Classe GKPublicLine¶
As seguintes funções foram adicionadas para atribuir e recuperar informações OCIT:
int getOcitLineNumber() const;
void setOcitLineNumber( int value );
int getOcitRouteNumber() const;
void setOcitRouteNumber( int value );
int getOcitTrainLength() const;
void setOcitTrainLength(int value);
void setSREMRole( int role );
int getSREMRole() const;
void setSREMSubrole( int value );
int getSREMSubrole() const;
Classe GKNodeConflict¶
As seguintes funções foram removidas:
GKTurningSimEntity * getEntity1() const;
GKTurningSimEntity * getEntity2() const;
double getXIni1() const;
double getXIni2() const;
void setXIni1(double x);
void setXIni2(double x);
double getXEnd1() const;
double getXEnd2() const;
void setXEnd1(double x);
void setXEnd2(double x);
Substituído por:
GKTurningSimEntity * getFirstEntity() const;
GKTurningSimEntity * getSecondEntity() const;
double getFirstEntityXIni() const;
double getSecondEntityXIni() const;
void setFirstEntityXIni(double x);
void setSecondEntityXIni(double x);
double getFirstEntityXEnd() const;
double getSecondEntityXEnd() const;
void setFirstEntityXEnd(double x);
void setSecondEntityXEnd(double x);
Classe ComparisonTypeResultData¶
As seguintes funções foram removidas:
const GKColumn * getAbsDiffCol() const;
const GKColumn * getRelDiffCol() const;
const GKColumn * getRefCol() const;
const GKColumn * getCmpCol() const;
Substituído por:
enum ColumnDataType { eReferenceCol, eComparedCol, eAbsoluteDiffCol, eRelativeDiffCol };
const GKColumn* getColumn(ColumnDataType aColType) const;
alterações do Aimsun Next 24.0.1¶
A seguir está uma lista de todas as classes e funções que foram alteradas ou adicionadas após o lançamento da versão Aimsun Next 24.0.0 Final. As classes com alterações são:
Classe GKObject¶
As funções
virtual void clearDataValueTS( const GKColumn * attr, GKTSDescription * aDescription = nullptr );
void clearDataValueTSByID( uint attrId, GKTSDescription * aDescription = nullptr );
virtual void clearDataValueTS( const GKColumn * attr );
void clearDataValueTSByID( uint attrId );
Uma nova função para criação e inicialização de uma Time Series foi adicionada com a seguinte assinatura:
GKTimeSerie* createDataValueTS(const GKColumn* attr, GKTSDescription* aDescription);
Esta função só cria a Time Series se a coluna associada ainda não tiver uma time serie já criada. Se já existir, a função retornará a Time Series sem fazer nenhuma alteração em seus valores.
Alterações do Aimsun Next 24¶
A seguir está uma lista de todas as funções que foram alteradas entre Aimsun Next 23 e Aimsun Next 24 para ajudar a atualizar scripts antigos facilmente. As classes com alterações são:
- GKControllerParsOCIT
- GKControllerParsVSPLUS
- GKControllerParsSitrafficOffice
- GKControlJunction
- GKFilePath
- GKFunctionCostContext
- GKNode
- GKObject
- GKTrafficDemand
- GKTrafficState
- GKScenarioInputData
- GKSection
- GKSystem
- DynamicDepartureAdjustmentExperimentResult
- DynamicDepartureAdjustmentExperimentResultOutput
- MacroExperimentParams
Classe GKControllerParsOCIT¶
A assinatura das seguintes funções:
void setProtocolFilepath( const QString& filepath );
const QString& getProtocolFilepath() const;
void setProtocolFilepath( const GKFilePath& filepath );
const GKFilePath& getProtocolFilepath() const;
Classe GKControllerParsVSPLUS¶
O tipo dos seguintes membros:
QString informationFile;
QString parametersFile;
GKFilePath informationFile;
GKFilePath parametersFile;
Classe GKControllerParsSitrafficOffice¶
A assinatura das seguintes funções:
void setConfigurationFolder( const QString& filepath );
const QString& getConfigurationFolder() const;
void setConfigurationFolder( const GKFilePath& filepath );
const GKFilePath& getConfigurationFolder() const;
Classe GKFilePath¶
A classe GKFilePath foi adicionada. Um caminho de sistema de arquivos para um arquivo no projeto, com algumas funções utilitárias.
Classe GKFunctionCostContext¶
Os atributos que foram descontinuados ( experiment, userClass, time, timeSta e iteration) foram removidos e precisam ser acessados usando as funções fornecidas.
const GKGenericExperiment * getExperiment() const;
const GKBaseObject * getUserClass() const;
double getTime() const;
double getTimeSta() const;
GKMobileAgent * getVehicle() const;
GKTripPurpose * getPurpose() const;
Classe GKNode¶
A assinatura da função getMinimalPolygons foi modificado, agora tem um terceiro parâmetro opcional curvedGeometry para obter os polígonos com linhas curvas ou retas unindo as seções.
QVector<GKPoints> getMinimalPolygons( const GKGenericScenario * scenario, bool includeNotDrawn = true, bool curvedGeometry = true ) const;
Classe GKObject¶
A assinatura da função clone foi modificado; agora tem um segundo parâmetro opcional temporary.
virtual GKObject * clone( bool addItToModel = true, bool temporary = false ) const;
Classe GKTrafficDemand¶
A função `getTotalTrips agora funciona com Matrizes OD e Estados de Tráfego.
Classe GKTrafficState¶
A seguinte função foi adicionada:
double getTotalTrips() const;
Classe GKScenarioInputData¶
A assinatura da seguinte função:
const QList< QPair<QString,QString> > & getExtensions() const;
const QList< QPair<GKFilePath,QString> > & getExtensions() const;
Classe GKSection¶
As seguintes funções para consultar o estado da geometria dado um cenário ou experimento foram adicionadas:
GKNode * getOrigin( const GKGenericScenario* scenario ) const;
GKNode * getDestination( const GKGenericScenario* scenario ) const;
GKNode * getOrigin( const GKGenericExperiment* experiment ) const;
GKNode * getDestination( const GKGenericExperiment* experiment ) const;
Classe GKSystem¶
A seguinte função teve seu comportamento alterado:
QString tryToPutVariablePath( const QString & fileName, GKModel * model = nullptr ) const;
DynamicDepartureAdjustmentExperimentResult Class¶
O DynamicDepartureAdjustmentExperimentResult classe foi adicionada. Representa um Resultado de Reprogramação Dinâmica do Horário de Partida OD.
Classe DynamicDepartureAdjustmentExperimentResultOutput¶
O DynamicDepartureAdjustmentExperimentResultOutput classe foi adicionada. Representa uma Saída de Resultado de Reprogramação Dinâmica do Horário de Partida OD.
Classe MacroExperimentParams¶
As seguintes funções foram adicionadas:
virtual bool getBiCriteriaEnabled() const;
virtual GKColumn* getSectionTollAttr( const GKUserClass* user ) const;
virtual GKColumn* getTurningTollAttr( const GKUserClass* user ) const;
virtual void setBiCriteriaEnabled( bool enabled );
virtual void resetTollAttributes();
virtual void setSectionTollAttr( const GKUserClass* user, GKColumn* col );
virtual void setTurningTollAttr( const GKUserClass* user, GKColumn* col );
Classe GKControlJunction¶
Um novo parâmetro foi adicionado para junções atuadas com fases coordenadas para definir como aplicar o parâmetro de defasagem:
enum OffsetReferencePoint { eBeginningOfFirstCoordinatedPhase, eBeginningOfLastCoordinatedPhase, eEndOfFirstCoordinatedPhase };
void setOffsetReferencePoint(OffsetReferencePoint referencePoint );
OffsetReferencePoint getOffsetReferencePoint() const;
Estas substituem as seguintes funções:
void setMatchesOffsetWithEndOfPhase( const bool c );
bool getMatchesOffsetWithEndOfPhase() const;
Todos os usos anteriores devem ser substituídos da seguinte forma:
#junction.setMatchesOffsetWithEndOfPhase(true);
junction.setOffsetReferencePoint(GKControlJunction.eEndOfFirstCoordinatedPhase);
#junction.setMatchesOffsetWithEndOfPhase(false);
junction.setOffsetReferencePoint(GKControlJunction.eBeginningOfFirstCoordinatedPhase);
alterações do Aimsun Next 23.0.1¶
A seguir é apresentada uma lista de todas as classes e funções que foram alteradas ou adicionadas após o lançamento do Aimsun Next 23 Final Release. As classes com alterações são:
Classe GKCentroidConfiguration¶
A assinatura das seguintes funções:
static GKCentroidConfiguration * getActualCentroidConfiguration( GKModel *, bool = false );
void desactivate();
static GKCentroidConfiguration * getCreateActiveCentroidConfiguration( GKModel *, bool = false );
void deactivate();
Classe GKPedestrianCentroidConfiguration¶
A assinatura da seguinte função:
void desactivate();
void deactivate();
Classe GKPTZonePlan¶
A assinatura da seguinte função:
void desactivate();
void deactivate();
Classe NSPReader¶
As classes NSPReader e NSPTreeStats relacionadas foram descontinuadas. Se você precisar recuperar informações de um arquivo APA, consulte o seguinte exemplo.
Alterações do Aimsun Next 23¶
A seguir está uma lista de todas as funções que foram alteradas entre Aimsun Next 22 e Aimsun Next 23 para ajudar a atualizar scripts antigos facilmente. As classes com alterações são:
- GAnyObjectChooser
- GKCentroid
- GKCentroidSplitConnectionToNodeCmd
- GKColumn
- GKControlPlan
- GKControllerDetector
- GKSCOOTControllerDetector
- GKSCATSControllerDetector
- GKSCATSRMSControllerDetector
- OCITControllerDetector
- SiTrafficApValue
- GKDrawer
- GKDynamicAdjustmentExperiment
- GKFunctionCostContext
- GKGenerationAttractionVector
- GKGeoObject
- GKModel
- GKNode
- GKObject
- GKODMatrix
- GKPolygon
- GKRoadType
- GKRoute
- GKScenarioInputData
- GKSimulationArea
- GKTask
- GKTimeSerie
- GKTraversal
- GKType
- DTAManager
- CMacroStatsManager
- MacroAdjustmentExperiment
- MacroAdjustmentOutput
- MacroPTAdjustmentScenarioOutputData
- MacroPTExperimentParams
- MacroPTAdjustmentResult
- PTResultAdjustmentState
- GradientIterationValidationData
- OuterIterationValidationData
- DistributionOutput
- DistributionScenario
- NodeCompositor
- FourStepLoop
- FourStepLoopParams
- FourStepLoopOutputs
Classe GAnyObjectChooser¶
A seguinte assinatura de função foi alterada de
void setType( GKModel * amodel, GKType * atype, const ChooserMode & amode, bool listSubTypes = true );
void setType( GKType * atype, const ChooserMode & amode, bool listSubTypes = true );
O seletor não é mais definido chamando
GAnyObjectChooser.eOneObjectList
GAnyObjectChooser.ChooserMode.eOneObjectList
Classe GKCentroid¶
A seguinte função que recebia um ID de cenário agora recebe o objeto do cenário:
void recalculatePercentages( const GKGenericScenario * scenario );
Classe GKCentroidSplitConnectionToNodeCmd¶
A classe GKCentroidSplitConnectionToNodeCmd foi adicionada.
Um comando para mover Centroid Connections de nós para seções. Todas as conexões de/para nós serão convertidas em conexões de/para as seções conectadas a esse nó.
função setCentroid¶
void setCentroid( GKCentroid* centroid );
Classe GKColumn¶
Informações sobre uma origem GKColumn foram adicionadas. As seguintes opções são reconhecidas:
enum Origin { eUnknown, eDeveloper, eImporter, eUI, eScript };
Esta informação pode ser definida usando a seguinte função:
void setOrigin( Origin from, const QString& originDescription = QString() );
Para recuperá-lo, as seguintes funções estão disponíveis:
Origin getOrigin() const;
QString getOriginDescription() const;
As seguintes funções foram adicionadas para definir/obter a precisão de ponto flutuante ao armazenar e exibir o valor:
void setPrecision( int precision );
int getPrecision() const;
Classe GKControlPlan¶
As seguintes funções foram removidas, pois não são mais necessárias:
void updateMatchesOffset();
void updateRedToGreenYellowTimes();
Classe GKControllerDetector¶
A partir de agora, o membro "detector" só está disponível por meio das seguintes funções:
getDetector¶
GKDetector* getDetector() const;
setDetector¶
void setDetector( GKDetector* detector );
GKControllerDetector foi dividido em classes especializadas, portanto as seguintes funções não estão mais disponíveis:
void setType( Type value );
Type getType() const;
bool getSPIP() const;
void setSPIP( bool sp );
const QString & getName() const;
void setName( const QString & aname );
int getLane() const;
void setLane( int alane );
Classe GKSCOOTControllerDetector¶
Specialization of GKControllerDetector specific to Yunex UTC controllers.
setType¶
void setType( Type value );
getType¶
Type getType() const;
Classe GKSCATSControllerDetector¶
Specialization of GKControllerDetector specific to SCATS controllers.
getSPIP¶
bool getSPIP() const;
setSPIP¶
void setSPIP( bool sp );
Classe GKSCATSRMSControllerDetector¶
Specialization of GKControllerDetector specific to SCATS-RMS controllers.
getName¶
const QString & getName() const;
setName¶
void setName( const QString & aname );
getLane¶
int getLane() const;
setLane¶
void setLane( int alane );
Classe OCITControllerDetector¶
Specialization of GKControllerDetector specific to OCIT controllers.
addLine¶
void addLine( GKPublicLine* line, GKBusStop* stop, double secondsBeforeDeparture );
getBusStop¶
GKBusStop* getBusStop( GKPublicLine* line );
getSecondsBeforeDeparture¶
double getSecondsBeforeDeparture( GKPublicLine* transitLine );
setCallingPointType¶
void setCallingPointType( Type type );
getCallingPointType¶
Type getCallingPointType() const;
Classe SiTrafficApValue¶
Class SiTrafficApValue has been renamed into OCITApValue
Classe GKDrawer¶
A função isHidden agora recebe um const GView *.
isHidden¶
virtual bool isHidden( const GView * view ) const;
Classe GKDynamicAdjustmentExperiment¶
Duas funções-membro foram adicionadas para permitir definir e obter o agrupamento de centroides utilizado:
função setCentroidGrouping¶
void setCentroidGrouping( GKGroupingType* iCentroidGrouping );
função getCentroidGrouping¶
GKGroupingType* getCentroidGrouping() const;
A seguinte chamada de função para definir o limiar mínimo de estado foi removida:
setStateThreshold¶
void setStateThreshold( double iValue );
Classe GKFunctionCostContext¶
O atributo userClass não é recomendado para acessar o GKMobileAgent nem o GKTripPurpose. Para acessar o tipo e a finalidade do veículo, duas novas funções podem ser usadas:
GKMobileAgent * getVehicle() const;
GKTripPurpose * getPurpose() const;
Classe GKGenerationAttractionVector¶
As seguintes funções foram adicionadas para completar a interface desta classe:
setCentroidConfiguration¶
void setCentroidConfiguration( GKCentroidConfiguration * cent );
setCarAvailability¶
void setCarAvailability( const int iCarAvailability );
Classe GKGeoObject¶
A seguinte função que recebia um ID de cenário agora recebe o objeto do cenário:
virtual bool exists( const GKGenericScenario * scenario ) const;
Classe GKModel¶
getActiveScenarioId¶
Nome da função alterado:
quint32 getActiveScenarioId() const;
const GKGenericScenario* getActiveScenario() const;
Classe GKNode¶
A seguinte função que recebia um ID de cenário agora recebe o objeto do cenário:
uint getSignalPos( uint /*idSignal*/, const GKGenericScenario * scenario = nullptr ) const;
Classe GKObject¶
A seguinte função foi adicionada para completar a interface desta classe:
cloneAsTemporary¶
virtual GKObject * cloneAsTemporary( bool addItToModel = true ) const;
Classe GKODMatrix¶
As informações de resumo foram adicionadas como Colunas. Os seguintes novos atributos podem ser usados para acessá-las:
static uint minimumValueAtt;
static uint maximumValueAtt;
static uint emptyCellsCountAtt;
static uint nonEmptyCellsCountAtt;
static uint totalValueAtt;
static uint diagonalTotalValueAtt;
/** Change matrix internal structure to sparse. Uses less memory if the data has a lot of zeros. */
void setMatrixSparse();
/** Calculate the summary info.
* @param canAskUser If true and the external file cannot be found, a dialog asking for the location will be shown. */
void calculateSummary( bool canAskUser = true ) const;
/** Invalidates current summary. */
void invalidateSummary() const;
GKODMatrix& operator +=(const GKODMatrix & iMatrix);
/** Ensures that the matrix has data. In case the matrix is externally stored it restores the content.
* @param canAskUser If true and the external file cannot be found, a dialog asking for the location will be shown.
* Returns false if data cannot be restored.*/
bool ensureMatrixData( const QUuid & documentUUID = QUuid(), bool canAskUser = true ) const;
Classe GKPolygon¶
As seguintes funções que recebiam um ID de cenário agora recebem o objeto de cenário:
QSet<GKGeoObject*> classifyObjects( const GKGenericScenario * scenario, GKObjectsClassification objsToClassify, GKLayer * layer ) const;
QSet<GKGeoObject*> classifyObjects( const GKGenericScenario * scenario ) const;
QSet<GKGeoObject*> classifyObjectsInside( const GKGenericScenario * scenario, GKLayer * layer ) const;
QSet<GKGeoObject*> classifyObjectsPartiallyInside( const GKGenericScenario * scenario, GKLayer * layer ) const;
GKRoadType¶
O atributo additionalVolumeAtt foi renomeado para sectionAdditionalVolumeAtt.
Os seguintes atributos foram adicionados:
uint turnAdditionalVolumeAtt
uint turnPenaltyFunctionAtt;
uint junctionDelayFunctionAtt;
Classe GKRoute¶
A seguinte função que recebia um ID de cenário agora recebe o objeto do cenário:
virtual bool isCorrect( int * errorID = NULL, int * indexSection = NULL, int * previousSection = NULL, const GKGenericScenario * scenario = nullptr ) const;
Classe GKScenarioInputData¶
Várias funções obsoletas que não eram usadas ao definir a configuração de saída do cenário foram removidas. A lista exaustiva de funções que não estão mais disponíveis é:
bool getSystemStatistics() const;
bool getAllPTLinesStatistics() const;
bool getTransytStatistics() const;
void setTransytStatistics( bool );
bool getVehTypeStatistics() const;
bool getDeviationStatistics() const;
bool getAllNodesTurnsStatistics() const;
bool getAllSectStatistics() const;
bool getEntrancesStatistics() const;
bool getExitsStatistics() const;
bool getAllSubPathsStatistics() const;
bool getAllGroupingsStatistics() const;
void addSectListStatistics( GKSection* );
void removeSectListStatistics( GKSection * );
const QVector<GKSection*> & getSectListStatistics() const;
void clearSectListStatistics();
bool isSectionInStatistics( GKSection * ) const;
void addNodeTurnListStatistics( GKNode * aNode );
void removeNodeTurnListStatistics( GKNode * aNode );
const QVector<GKNode *> & getNodeTurnListStatistics() const;
void clearNodeTurnListStatistics();
bool isNodeInTurnStatistics( GKNode * aNode ) const;
Classe GKSimulationArea¶
A seguinte função que recebia um ID de cenário agora recebe o objeto do cenário:
void calculateGates( const GKTrafficDemand* trafficDemand, const GKGenericScenario * scenario );
Classe GKTask¶
A seguinte função foi adicionada para dar acesso ao identificador único de uma tarefa:
const QString & getUUID() const;
Classe GKTimeSerie¶
GKTimeSerie mudou de uma base de dimensão + posição para uma base de posição. O GKTimeSerieIndex desapareceu e agora apenas a posição é usada (como unsigned int).
Como exemplo, a função setValue mudou de:
virtual void setValue( GKTimeSerieIndex index, double value, double deviation = -1.0, double lowerValue = -1.0 )
virtual void setValue( unsigned int interval, double value, double deviation = -1.0, double lowerValue = -1.0 )
Todas as referências a dimensões, incluindo a chamada para:
int dimensions() const;
Uma observação menor: a maioria dos valores de saída e entrada que não podem ser negativos foi alterada de int para unsigned int.
Os métodos get agregados, como sum, foram alterados e agora não aceitam valores QDateTime diretos como parâmetros. Como as funções permitem um índice inicial/final para o intervalo, isso deve ser suficiente.
As funções que costumavam ter uma referência de série temporal (&) como parâmetro agora têm um ponteiro para série temporal (*).
Adicionadas duas funções que permitem a obtenção e a verificação do valor nulo da série temporal fornecida, pois ele pode ser diferente com base na descrição.
A lista completa de funções que desapareceram ou mudaram de alguma forma é:
GKTimeSerie();
unsigned int size() const;
int dimensions() const;
void setDescription( GKTSDescription * aDescription );
enum ExtraInfo { eNone, eDeviation, eBands };
ExtraInfo getExtraInfo() const;
virtual void setValue( GKTimeSerieIndex index, double value, double deviation = -1.0, double lowerValue = -1.0 );
virtual double getValue( GKTimeSerieIndex index, bool * = NULL ) const;
virtual double getDeviation( GKTimeSerieIndex index, bool * = NULL ) const;
virtual double getDeviation( const GKContext & , bool * = NULL ) const;
virtual QPair<double, double> getBand( GKTimeSerieIndex index, bool *valid = NULL ) const;
virtual QPair<double, double> getBand( const GKContext & context, bool *valid = NULL ) const;
double getMean( int dimension, const QDateTime & from = QDateTime(), const QDateTime & to = QDateTime(), bool useDate = true ) const;
double getSum( int dimension, const QDateTime & from = QDateTime(), const QDateTime & to = QDateTime(), bool useDate = true ) const;
double getMax( int dimension, const QDateTime & from = QDateTime(), const QDateTime & to = QDateTime(), bool useDate = true ) const;
double getMin( int dimension = 0, const QDateTime & from = QDateTime(), const QDateTime & to = QDateTime(), bool useDate = true ) const;
void setCustomAggregatedValue( int dimension, double value, double deviation = -1.0 );
double getCustomAggregatedValue( int dimension = 0 ) const;
double getCustomAggregatedDeviation( int dimension = 0 ) const;
double getAggregatedValue( int dimension = 0 ) const;
double getAggregatedDeviation( int dimension = 0 ) const;
double getStdDev( int dimension = 0 ) const;
double getSEMean( const GKTimeSerie & /*serie2*/ ) const;
double getTheilU( const GKTimeSerie & /*serie2*/ ) const;
void getTheilUmUcUs( const GKTimeSerie & /*serie2*/, double /*SEm*/, double * /*Um*/, double * /*Uc*/, double * /*Us*/ ) const;
double getRMS(const GKTimeSerie & /*serie1*/ ) const;
Leia a documentação do arquivo sip GKTimeSerie para mais detalhes.
Classe GKTraversal¶
As seguintes funções que recebiam um ID de cenário agora recebem o objeto de cenário:
void calculateGates( const GKGenericScenario * scenario );
void calculatePublicTransport( const GKGenericScenario * scenario );
Classe GKType¶
Não é mais possível usar as seguintes funções para adicionar GKColumn a um GKType
GKColumn* addColumn( const QString & iname, const GKContents& contents , GKColumn::Type atype,
GKColumn::GKColumnType astoreType = GKColumn::eExternalTemporary, bool dynamic = false );
GKColumn* addColumn( const GKContents& contents , GKColumn::Type atype,
GKColumn::GKColumnType astoreType = GKColumn::eExternalTemporary, bool dynamic = false );
GKColumn * addColumn( const QString & iname, const QString & aname, GKColumn::Type atype,
GKColumn::GKColumnType astoreType = GKColumn::eExternal, bool dynamic = false );
em vez disso, use os que estão à frente...
-
Adiciona uma GKColumn com tipo de armazenamento GKColumn::eExternal.
GKColumn * addExternalColumn( const QString & iname, const QString & aname, GKColumn::Type atype, GKColumn::Origin from = GKColumn::eDeveloper, const QString& originDescription = QString(), bool dynamic = false, int precision = -1 ); -
Adiciona uma GKColumn com tipo de armazenamento GKColumn::eExternalTemporary.
GKColumn * addTemporaryColumn( const QString & iname, const QString & aname, GKColumn::Type atype, bool dynamic = false, int precision = -1 ); GKColumn * addTemporaryColumn( const QString & iname, const GKContents& contents , GKColumn::Type atype, bool dynamic = false, int precision = -1 ); GKColumn * addTemporaryColumn( const GKContents& contents, GKColumn::Type atype, bool dynamic = false, int precision = -1 ); -
Adiciona uma GKColumn com tipo de armazenamento GKColumn::ePython.
GKColumn * addPythonFunctionColumn( const GKContents& contents, GKColumn::Type atype, int precision = -1 ); GKColumn * addPythonFunctionColumn( const QString & iname, const QString & aname, GKColumn::Type atype, int precision = -1 );
Classe DTAManager¶
A seguinte função foi removida:
DTAVehicleType * getVehicleType(const DTAUserClass * userclass) const;
Todos os usos anteriores dessa função agora podem usar o existente:
const DTAVehicleType * getDTAVehicleType() const;
encontrado em DTAUserClass dentro de GKContext.
Exemplo de uso:
context.userClass.getDTAVehicleType()
Classe CMacroStatsManager¶
As seguintes funções foram adicionadas para acessar a saída de estatísticas agregadas de uma Static Assignment por meio do CMacroStatsManager:
getTotalSectionVolume¶
double getTotalSectionVolume( const GKSection& iSection, const bool iWeightedByPCU = true ) const;
getTotalSectionOccupancy¶
double getTotalSectionOccupancy( const GKSection& iSection ) const;
getTotalSectionCost¶
double getTotalSectionCost( const GKSection& iSection, const bool iWeightedByPCU = true ) const;
getTotalSectionCostComponent¶
double getTotalSectionCostComponent( const GKSection& iSection, const GKFunctionComponent& iComponent, const bool iWeightedByPCU = true ) const;
getTotalTurningVolume¶
double getTotalTurningVolume( const GKTurning& iTurning, const bool iWeightedByPCU = true ) const;
getTotalTurningPercentage¶
double getTotalTurningPercentage( const GKTurning& iTurning, const bool iWeightedByPCU = true ) const;
getTotalTurningCost¶
double getTotalTurningCost( const GKTurning& iTurning, const bool iWeightedByPCU = true ) const;
getTotalTurningCostComponent¶
double getTotalTurningCostComponent( const GKTurning& iTurning, const GKFunctionComponent& iComponent, const bool iWeightedByPCU = true ) const;
getTotalTrajectoryVolume¶
double getTotalTrajectoryVolume( const GKSuperNodeTrajectory& iTrajectory, const bool iWeightedByPCU = true ) const;
getTotalTrajectoryPercentage¶
double getTotalTrajectoryPercentage( const GKSuperNodeTrajectory& iTrajectory, const bool iWeightedByPCU = true ) const;
getTotalTrajectoryCost¶
double getTotalTrajectoryCost( const GKSuperNodeTrajectory& iTrajectory, const bool iWeightedByPCU = true ) const;
getTotalTrajectoryCostComponent¶
double getTotalTrajectoryCostComponent( const GKSuperNodeTrajectory& iTrajectory, const GKFunctionComponent& iComponent, const bool iWeightedByPCU = true ) const;
getTotalConnectionVolume¶
double getTotalConnectionVolume( const GKCenConnection& iConnection, const bool iWeightedByPCU = true ) const;
getTotalConnectionCost¶
double getTotalConnectionCost( const GKCenConnection& iConnection, const bool iWeightedByPCU = true ) const;
getTotalConnectionCostComponent¶
double getTotalConnectionCostComponent( const GKCenConnection& iConnection, const GKFunctionComponent& iComponent, const bool iWeightedByPCU = true ) const;
getTotalRouteVolume¶
double getTotalRouteVolume( const GKRoute& iRoute, const bool iWeightedByPCU = true ) const;
getTotalRouteCost¶
double getTotalRouteCost( const GKRoute& iRoute, const bool iWeightedByPCU = true ) const;
getTotalRouteCostComponent¶
double getTotalRouteCostComponent( const GKRoute& iRoute, const GKFunctionComponent& iComponent, const bool iWeightedByPCU = true ) const;
getTotalDetectorVolume¶
double getTotalDetectorVolume( const GKDetector& iDetector, const bool iWeightedByPCU = true ) const;
Classe MacroAdjustmentExperiment¶
As seguintes funções foram adicionadas:
função getTargetSlopeDev¶
double getTargetSlopeDev() const;
função getTargetSlopeDev¶
void setTargetSlopeDev(double targetSlopeDev);
Classe MacroAdjustmentOutput¶
As seguintes funções foram removidas:
const QVector<RegressionData> & getConvergenceData() const;
GKCentroidConfiguration * getCentroidConfiguration( ) const;
GKTimeDuration getDuration() const;
QDateTime getStart() const;
double getOriginalTrip( const GKCentroid& origin, const GKCentroid& destination, const GKUserClass& user ) const;
Classe MacroPTAdjustmentScenarioOutputData¶
A função a seguir, que recebia um ID de experimento, agora recebe o objeto de experimento:
QString getPathAssignmentResultsFileName( const GKGenericExperiment * experiment ) const;
Classe PTResultAdjustmentState¶
Esta classe foi adicionada para ajudar os usuários a acessar a demanda original e ajustada, que agrupa os seguintes dados:
Centroide de origem¶
const GKCentroid * origin:
Centroide de Destino¶
const GKCentroid * destination;
Classe de Usuário¶
const GKUserClass * user;
Demanda Original¶
double originalDemand
Demanda ajustada¶
double adjustedDemand
Classe MacroPTAdjustmentResult¶
A forma como os valores de demanda original e ajustada são acessados foi alterada.
A seguinte função foi removida:
getStates¶
const QVector<MacroAdjustmentState*> & getStates() const;
E as seguintes funções foram adicionadas para fornecer acesso aprimorado aos mesmos dados:
getNumberOfStates¶
unsigned int getNumberOfStates() const;
getState¶
const PTResultAdjustmentState & getState( const unsigned int iIndex ) const;
findState¶
PTResultAdjustmentState findState( const GKUserClass & iUserClass, const GKCentroid & iOrigin, const GKCentroid & iDestination ) const;
Classe MacroPTExperimentParams¶
As seguintes funções foram adicionadas:
walkingOnlyFunction¶
GKFunctionCost * walkingOnlyFunction() const;
setWalkingOnlyFunction¶
void setWalkingOnlyFunction( GKFunctionCost * aFunction );
GradientIterationValidationData Class¶
Uma nova variável de membro foi adicionada:
AdjustmentRegressionData measurements_regression;
Além disso, a variável membro chamada "regression" foi alterada de:
AdjustmentRegressionData regression;
AdjustmentRegressionData demand_regression;
OuterIterationValidationData Class¶
A classe "AssignmentData" foi adicionada para conter apenas os dados relevantes de uma Static Assignment para essa classe. Por esse motivo, uma variável membro "assign_data" foi adicionada:
AssignmentData assignment_data;
Além disso, a variável membro chamada "regression" foi alterada de:
AdjustmentRegressionData regression;
AdjustmentRegressionData measurement_regression;
Classe DistributionOutput¶
Várias funções foram adicionadas para completar o scripting desta classe e conceder acesso a todos os dados que ela contém:
getNumberOfIndices¶
unsigned int getNumberOfIndices() const;
createMatrix¶
GKODMatrix * createMatrix( const unsigned int iIndex, const bool iTemporary ) const;
getTripPurpose¶
GKTripPurpose * getTripPurpose( const unsigned int iIndex ) const;
getModes¶
std::vector< GKTransportationMode* > getModes( const unsigned int iIndex ) const;
getCarAvailability¶
unsigned int getCarAvailability( const unsigned int iIndex ) const;
getAverageImpedance¶
double getAverageImpedance( const unsigned int iIndex )const;
getNumberOfIterations¶
unsigned int getNumberOfIterations( const unsigned int iIndex ) const;
getEpsilon¶
double getEpsilon( const unsigned int iIndex, const unsigned int iIteration ) const;
getResidual¶
double getResidual( const unsigned int iIndex, const unsigned int iIteration ) const;
getRelativeGap¶
double getRelativeGap( const unsigned int iIndex, const unsigned int iIteration ) const;
getError¶
double getError( const unsigned int iIndex, const unsigned int iIteration ) const;
Classe DistributionScenario¶
As seguintes funções foram adicionadas para permitir a edição de quais vetores são adicionados e quais são usados no DistributionScenario:
addVector¶
void addVector( const GKGenerationAttractionVector & iVector );
setUsedVector¶
void setUsedVector( const GKGenerationAttractionVector & iVector, const bool iUsed );
removeVector¶
void removeVector( const GKGenerationAttractionVector & iVector );
hasVector¶
bool hasVector( const GKGenerationAttractionVector & iVector ) const;
setUsedVector¶
void setUsedVector( const GKGenerationAttractionVector & iVector, const bool iUsed );
isUsed¶
bool isUsed( const GKGenerationAttractionVector & iVector ) const;
getVectors¶
QList<const GKGenerationAttractionVector*> getVectors() const;
Classe NodeCompositor¶
O método a seguir foi adicionado para acessar exclusivamente os Four-Step Loops incluídos no compositor:
getLoops¶
std::vector<FourStepLoop*> getLoops( ) const;
Classe FourStepLoop¶
Esta classe foi adicionada e representa um Loop Controller Box e possui todos os métodos de NodeCompute, além dos seguintes disponíveis:
setLoopParams¶
void setLoopParams( const FourStepLoopParams &loopParams );
getLoopParams¶
FourStepLoopParams getLoopParams() const;
getLoopOutputs¶
const FourStepLoopOutputs& getLoopOutputs() const;
getNodesInLoop¶
QVector<NodeCompute *> getNodesInLoop() const;
Classe FourStepLoopParams¶
Esta classe foi adicionada e representa os parâmetros que podem ser configurados na Loop Controller Box.
Classe FourStepLoopOutputs¶
Esta classe foi adicionada e representa os resultados que podem ser gerados a partir da Loop Controller Box.
alterações do Aimsun Next 22.0.1¶
A seguir está uma lista de todas as funções que foram alteradas ou adicionadas após o lançamento do Aimsun Next 22.0.0 Final Release. As classes com alterações são:
- MacroDepartureAdjustmentOutput
- GKFunctionCost
- GKFunctionCostContext
- CMacroStatsManager
- MacroPTAdjustmentResult
- MacroPTStatsView
- MacroPTPlugin
- GKGenerationAttractionDataSet
- GKScriptNewCmd
- GKSection
Classe MacroDepartureAdjustmentOutput¶
createWarmupTrafficDemand¶
A seguinte função foi adicionada para gerar apenas a demanda de aquecimento:
GKTrafficDemand * createWarmupTrafficDemand() const;
Classe GKFunctionCost¶
evaluateAdjustmentWeight¶
A assinatura desta função foi alterada de:
double evaluateAdjustmentWeight( double observed );
double evaluateAdjustmentWeight( const GKFunctionCostContext* context, const double observed );
Classe GKFunctionCostContext¶
- A classe
GKFunctionCostContextagora inclui um campo de iteração que contém a iteração de alocação estática na qual a função está sendo avaliada.
Classe CMacroStatsManager¶
As seguintes funções foram adicionadas para fornecer todos os usuários e veículos usados nas estatísticas:
função getUsers¶
QVector< GKUserClass* > getUsers() const;
função getVehicles¶
QVector< GKVehicle* > getVehicles() const;
As seguintes funções foram adicionadas para dar acesso a todas as estatísticas desta classe:
função getSectionVolume¶
double getSectionVolume( const GKUserClass * iUserClass, const GKSection& iSection) const;
função getSectionVehicleVolume¶
double getSectionVehicleVolume( const GKVehicle * iVehicle, const GKSection& iSection ) const;
função getSectionOccupancy¶
double getSectionOccupancy( const GKUserClass * iUserClass, const GKSection& iSection) const;
função getSectionCost¶
double getSectionCost( const GKUserClass * iUserClass, const GKSection& iSection) const;
função getSectionCostComponent¶
double getSectionCostComponent( const GKUserClass * iUserClass, const GKSection& iSection, const GKFunctionComponent& iComponent ) const;
função getTurningVolume¶
double getTurningVolume( const GKUserClass * iUserClass, const GKTurning& iTurning ) const;
função getTurningVehicleVolume¶
double getTurningVehicleVolume( const GKVehicle * iVehicle, const GKTurning& iTurning ) const;
função getTurningPercentage¶
double getTurningPercentage( const GKUserClass * iUserClass, const GKTurning& iTurning ) const;
função getTurningCost¶
double getTurningCost( const GKUserClass * iUserClass, const GKTurning& iTurning ) const;
função getTurningCostComponent¶
double getTurningCostComponent( const GKUserClass * iUserClass, const GKTurning& iTurning, const GKFunctionComponent& iComponent ) const;
função getTrajectoryVolume¶
double getTrajectoryVolume( const GKUserClass * iUserClass, const GKSuperNodeTrajectory& iTrajectory ) const;
getTrajectoryVehicleVolume function¶
double getTrajectoryVehicleVolume( const GKVehicle * iVehicle, const GKSuperNodeTrajectory& iTrajectory ) const;
função getTrajectoryPercentage¶
double getTrajectoryPercentage( const GKUserClass * iUserClass, const GKSuperNodeTrajectory& iTrajectory ) const;
função getTrajectoryCost¶
double getTrajectoryCost( const GKUserClass * iUserClass, const GKSuperNodeTrajectory& iTrajectory ) const;
getTrajectoryCostComponent function¶
double getTrajectoryCostComponent( const GKUserClass * iUserClass, const GKSuperNodeTrajectory& iTrajectory, const GKFunctionComponent& iComponent ) const;
função getConnectionVolume¶
double getConnectionVolume( const GKUserClass * iUserClass, const GKCenConnection& iConnection ) const;
getConnectionVehicleVolume function¶
double getConnectionVehicleVolume( const GKVehicle * iVehicle, const GKCenConnection& iConnection ) const;
função getConnectionCost¶
double getConnectionCost( const GKUserClass * iUserClass, const GKCenConnection& iConnection ) const;
getConnectionCostComponent function¶
double getConnectionCostComponent( const GKUserClass * iUserClass, const GKCenConnection& iConnection, const GKFunctionComponent& iComponent ) const;
função getRouteVolume¶
double getRouteVolume( const GKUserClass * iUserClass, const GKRoute& iRoute ) const;
função getRouteVehicleVolume¶
double getRouteVehicleVolume( const GKVehicle * iVehicle, const GKRoute& iRoute ) const;
função getRouteCost¶
double getRouteCost( const GKUserClass * iUserClass, const GKRoute& iRoute ) const;
função getRouteCostComponent¶
double getRouteCostComponent( const GKUserClass * iUserClass, const GKRoute& iRoute, const GKFunctionComponent& iComponent ) const;
função getDetectorVolume¶
double getDetectorVolume( const GKUserClass * iUserClass, const GKDetector& iDetector ) const;
função getDetectorVehicleVolume¶
double getDetectorVehicleVolume( const GKVehicle * iVehicle, const GKDetector& iDetector ) const;
Classe MacroPTAdjustmentResult¶
As seguintes funções foram adicionadas para dar acesso à demanda ajustada via scripting:
função getUsers¶
QVector<GKUserClass*> getUsers() const;
função publishAdjustedDemand¶
GKTrafficDemand * publishAdjustedDemand( GKModel *iModel );
função publishMatrix¶
GKODMatrix * publishMatrix(GKUserClass * iUser , bool iCreateInModel) const;
Classe MacroPTStatsView¶
Os seguintes métodos foram adicionados para obter as estatísticas de Centroides e conexões de Centroide:
função getCentroidAccess¶
double getCentroidAccess( const GKUserClass* iUserClass, const GKCentroid& iCentroid ) const;
função getCentroidEgress¶
double getCentroidEgress( const GKUserClass* iUserClass, const GKCentroid& iCentroid ) const;
função getCentroidWalkOnlyAccess¶
double getCentroidWalkOnlyAccess( const GKUserClass* iUserClass, const GKCentroid& iCentroid ) const;
função getCentroidWalkOnlyEgress¶
double getCentroidWalkOnlyEgress( const GKUserClass* iUserClass, const GKCentroid& iCentroid ) const;
função getConnectionLoad¶
double getConnectionLoad( const GKUserClass* iUserClass, const GKCenConnection& iConnection ) const;
função getConnectionAccess¶
double getConnectionAccess( const GKUserClass* iUserClass, const GKCenConnection& iConnection ) const;
função getConnectionEgress¶
double getConnectionEgress( const GKUserClass* iUserClass, const GKCenConnection& iConnection ) const;
função getConnectionWalkOnlyAccess¶
double getConnectionWalkOnlyAccess( const GKUserClass* iUserClass, const GKCenConnection& iConnection ) const;
função getConnectionWalkOnlyEgress¶
double getConnectionWalkOnlyEgress( const GKUserClass* iUserClass, const GKCenConnection& iConnection ) const;
Classe MacroPTPlugin¶
Os seguintes ids de colunas foram adicionados para coletar as estatísticas de Walking-Only Access e Walking-Only Egress em GKColumns:
ePTWalkOnlyAccess¶
const QString ePTWalkOnlyAccess;
ePTWalkOnlyEgress¶
const QString ePTWalkOnlyEgress;
GKGenerationAttractionDataSet Class¶
A seguinte função foi adicionada para dar acesso aos dados externos contidos na classe:
getExternalData¶
QVector<ExternalData> getExternalData( const GKCentroid* centroid ) const;
Classe GKScriptNewCmd¶
Agora é possível criar diferentes tipos de objetos GKScript usando a seguinte função:
void setObjectType( GKScript::ScriptType type );
- type param pode ser uma das seguintes opções, enum ScriptType{ eBasic, ePrePost, eFourStep }. Se não for especificado, o objeto será criado como GKScript::eBasic.
Classe GKSection¶
A seguinte função foi adicionada para extrair pontos de contorno de faixa:
função getExtremePointsLane¶
GKPoints getExtremePointsLane( uint lanepos ) const;
Alterações do Aimsun Next 22¶
A seguir está uma lista de todas as funções que foram alteradas entre Aimsun Next 20 e Aimsun Next 22 para ajudar a atualizar scripts antigos facilmente. As classes com alterações são:
- GKModel
- ModalSplitScenario
- ModalSplitOutput
- ModalSplitTripMatricesUtil
- DistributionScenario
- GravityModelParams
- GKLandUseModesUtil
- GKLandUseSkimMatricesUtil
- SkimDataProvider
- MacroPTExperimentParams
- MacroPTAdjustmentScenarioOutputData
- GKDistributionDataSet
- CentroidDistributionData
- MacroExperimentOutputData
- GKGenerationAttractionScenario
- GKGenerationAttractionCentroidType
- GKGenerationAttractionData
- GKGenerationAttractionFactor
- GKGenerationAttractionDataSet
- CentroidGenerationAttractionData
- GKDistributionCentroidType
- GKControlPlan
- GKControlPhase
- GKControlPhaseSignal
- NodeOutput
- NodeSlot
- NodeConnection
- Classes Yutraffic
Classe GKModel¶
função setActiveExperimentId¶
Nome da função alterado:
void setActiveExperimentId( quint32 id );
void setActiveExperiment( GKGenericExperiment* experiment );
função getActiveExperimentId¶
Nome da função alterado:
quint32 getActiveExperimentId() const;
GKGenericExperiment* getActiveExperiment() const;
função setActiveReplicationId¶
Nome da função alterado:
void setActiveReplicationId( quint32 id );
void setActiveReplication( const GKReplication* replication );
função getActiveReplicationId¶
Nome da função alterado:
quint32 getActiveReplicationId() const;
GKReplication* getActiveReplication() const;
Classe ModalSplitScenario¶
função setDataSet¶
A assinatura da função foi alterada de:
void setDataSet( quint32 id );
void setDataSet( GKDistributionDataSet * dataSet );
função getComponentSkim¶
A assinatura da função foi alterada de:
GKODMatrix* getComponentSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const GKFunctionComponent& iComponent ) const;
GKODMatrix* getComponentSkim( const GKODMatrix* iTripMatrix, const GKTransportationMode* iMode, const GKFunctionComponent* iComponent ) const;
função setComponentSkim¶
A assinatura da função foi alterada de:
void setComponentSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const GKFunctionComponent& iComponent, GKODMatrix& iSkim );
void setComponentSkim( const GKODMatrix* iTripMatrix, const GKTransportationMode* iMode, const GKFunctionComponent* iComponent, GKODMatrix* iSkim );
função removeComponentSkim¶
A assinatura da função foi alterada de:
void removeComponentSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const GKFunctionComponent& iComponent );
void removeComponentSkim( const GKODMatrix* iTripMatrix, const GKTransportationMode* iMode, const GKFunctionComponent* iComponent );
função getUserDefinedSkim¶
A assinatura da função foi alterada de:
GKODMatrix* getUserDefinedSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const uint iColumnIndex ) const;
GKODMatrix* getUserDefinedSkim( const GKODMatrix* iTripMatrix, const GKTransportationMode* iMode, const uint iColumnIndex ) const;
função setUserDefinedSkim¶
A assinatura da função foi alterada de:
void setUserDefinedSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const uint iColumnIndex, GKODMatrix& iSkim );
void setUserDefinedSkim( const GKODMatrix* iTripMatrix, const GKTransportationMode* iMode, const uint iColumnIndex, GKODMatrix* iSkim );
função removeUserDefinedSkim¶
A assinatura da função foi alterada de:
void removeUserDefinedSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const uint iColumnIndex );
void removeUserDefinedSkim( const GKODMatrix* iTripMatrix, const GKTransportationMode* iMode, const uint iColumnIndex );
função getAllSkims¶
A assinatura da função foi alterada de:
QVector<GKODMatrix*> getAllSkims( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode ) const;
QVector<GKODMatrix*> getAllSkims( const GKODMatrix* iTripMatrix, const GKTransportationMode* iMode ) const;
Classe ModalSplitOutput¶
função getTripPurposes¶
A assinatura da função foi alterada de:
QVector< GKTripPurpose* > getTripPurposes( GKModel * model ) const;
QVector< GKTripPurpose* > getTripPurposes() const;
função getVehicles¶
A assinatura da função foi alterada de:
QVector<const GKMobileAgent*> getVehicles( GKModel * model ) const;
QVector<const GKMobileAgent*> getVehicles() const;
função getUsers¶
A assinatura da função foi alterada de:
QVector< GKUserClass * > getUsers( GKModel * model ) const;
QVector< GKUserClass * > getUsers() const;
função getModalSplit¶
A assinatura da função foi alterada de:
double getModalSplit( GKModel * model, GKTripPurpose * purpose, const GKMobileAgent * vehicle ) const;
double getModalSplit( GKTripPurpose * purpose, const GKMobileAgent * vehicle ) const;
função getTimePeriod¶
A assinatura da função foi alterada de:
GKTimePeriod * getTimePeriod( GKModel * model ) const;
GKTimePeriod * getTimePeriod() const;
ModalSplitTripMatricesUtil Class¶
função tripMatrices¶
A assinatura da função foi alterada de:
QList<quint32> tripMatrices() const;
QList<const GKODMatrix*> tripMatrices() const;
função usedTripMatrices¶
A assinatura da função foi alterada de:
const QSet<quint32> & usedTripMatrices() const;
QList<const GKODMatrix*> usedTripMatrices() const;
função tripMatrixData¶
A assinatura da função foi alterada de:
GKLandUseModesUtil tripMatrixData( quint32 iTripMatrix ) const;
GKLandUseModesUtil tripMatrixData( const GKODMatrix* matrix ) const;
função setUsedTripMatrices¶
A assinatura da função foi alterada de:
void setUsedTripMatrices( const QSet<quint32> &iUsedTripMatrices );
void setUsedTripMatrices( const QVector<GKODMatrix*> &iUsedTripMatrices );
função modes¶
Funções:
QList<quint32> modes() const;
QList<quint32> modes( quint32 iTripMatrix ) const;
QList<GKTransportationMode*> modes() const;
Classe DistributionScenario¶
função getSkim¶
A assinatura da função foi alterada de:
GKODMatrix* getSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode , const GKODMatrix::AssignmentOutput & iCostType ) const;
GKODMatrix* getSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode , const SkimType& type ) const;
função setSkim¶
A assinatura da função foi alterada de:
void setSkim(const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode , GKODMatrix &iSkim );
void setSkim(const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode , GKODMatrix *iSkim );
função removeSkim¶
A assinatura da função foi alterada de:
void removeSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode , const GKODMatrix::AssignmentOutput & iCostType );
void removeSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode , const SkimType& type );
função getComponentSkim¶
A assinatura da função foi alterada de:
GKODMatrix* getComponentSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const GKFunctionComponent& iComponent ) const;
GKODMatrix* getComponentSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode, const GKFunctionComponent* iComponent ) const;
função setComponentSkim¶
A assinatura da função foi alterada de:
void setComponentSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const GKFunctionComponent& iComponent, GKODMatrix& iSkim );
void setComponentSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode, const GKFunctionComponent* iComponent, GKODMatrix* iSkim );
função removeComponentSkim¶
A assinatura da função foi alterada de:
void removeComponentSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const GKFunctionComponent& iComponent );
void removeComponentSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode, const GKFunctionComponent* iComponent );
função getUserDefinedSkim¶
A assinatura da função foi alterada de:
GKODMatrix* getUserDefinedSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const uint iColumnIndex ) const;
GKODMatrix* getUserDefinedSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode, const uint iColumnIndex ) const;
função setUserDefinedSkim¶
A assinatura da função foi alterada de:
void setUserDefinedSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const uint iColumnIndex, GKODMatrix& iSkim );
void setUserDefinedSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode, const uint iColumnIndex, GKODMatrix* iSkim );
função removeUserDefinedSkim¶
A assinatura da função foi alterada de:
void removeUserDefinedSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const uint iColumnIndex );
void removeUserDefinedSkim( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode, const uint iColumnIndex );
função getAllSkims¶
A assinatura da função foi alterada de:
QVector<GKODMatrix*> getAllSkims( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode ) const;s
QVector<GKODMatrix*> getAllSkims( const GKGenerationAttractionVector* iGAVector , const GKTransportationMode* iMode ) const;
Classe GravityModelParams¶
função setDeterrenceFunctionId¶
Função alterada de:
void setDeterrenceFunctionId(qint32 iDeterrenceFunctionId);
void setDeterrenceFunction( GKFunctionCost* iDeterrenceFunction );
função getDeterrenceFunctionId¶
Função alterada de:
qint32 getDeterrenceFunctionId() const;
GKFunctionCost* getDeterrenceFunction() const;
Classe GKLandUseModesUtil¶
função setObject¶
A assinatura da função foi alterada de:
void setObject( quint32 iObject );
void setObject( const GKObject* iObject );
função de objeto¶
A assinatura da função foi alterada de:
quint32 object() const;
const GKObject* object() const;
função addMode¶
A assinatura da função foi alterada de:
void addMode( quint32 iMode );
void addMode( const GKTransportationMode* iMode );
contém função¶
A assinatura da função foi alterada de:
bool contains( quint32 iMode ) const;
bool contains( const GKTransportationMode* iMode ) const;
função modes¶
A assinatura da função foi alterada de:
QList<quint32> modes() const;
QVector<GKLandUseSkimMatricesUtil> modes() const;
função addMacroComponent¶
A assinatura da função foi alterada de:
void addMacroComponent( quint32 iMacroComponentId );
void addMacroComponent( const GKFunctionComponent* component );
função skims¶
A assinatura da função foi alterada de:
GKLandUseSkimMatricesUtil skims( quint32 iMode ) const;
GKLandUseSkimMatricesUtil skims( const GKTransportationMode * iMode ) const;
Classe GKLandUseSkimMatricesUtil¶
função transportationMode¶
A assinatura da função foi alterada de:
quint32 transportationMode() const;
const GKTransportationMode* transportationMode() const;
função setCostSkim¶
A assinatura da função foi alterada de:
void setCostSkim( const quint32 &iSkim );
void setCostSkim( const GKODMatrix *iSkim );
função costSkim¶
A assinatura da função foi alterada de:
const quint32 & costSkim() const;
GKODMatrix * costSkim( GKModel *iModel ) const;
GKODMatrix * costSkim() const;
função setDistanceSkim¶
A assinatura da função foi alterada de:
void setDistanceSkim( const quint32 &iSkim );
void setDistanceSkim( const GKODMatrix *iSkim );
função distanceSkim¶
Funções:
const quint32 & distanceSkim() const;
GKODMatrix * distanceSkim( GKModel *iModel ) const;
GKODMatrix * distanceSkim() const;
função setTravelTimeSkim¶
A assinatura da função foi alterada de:
void setTravelTimeSkim( const quint32 &iSkim );
void setTravelTimeSkim( const GKODMatrix *iSkim );
função travelTimeSkim¶
Funções:
const quint32 & travelTimeSkim() const;
GKODMatrix * travelTimeSkim( GKModel *iModel ) const;
GKODMatrix * travelTimeSkim() const;
função travelTimeSkim¶
Funções:
const quint32 & travelTimeSkim() const;
GKODMatrix * travelTimeSkim( GKModel *iModel ) const;
GKODMatrix * travelTimeSkim() const;
função setInVehicleTimeSkim¶
A assinatura da função foi alterada de:
void setInVehicleTimeSkim( const quint32 &iSkim );
void setInVehicleTimeSkim( const GKODMatrix *iSkim );
função inVehicleTimeSkim¶
Funções:
const quint32 & inVehicleTimeSkim() const;
GKODMatrix * inVehicleTimeSkim( GKModel *iModel ) const;
GKODMatrix * inVehicleTimeSkim() const;
função setWaitingTimeSkim¶
A assinatura da função foi alterada de:
void setWaitingTimeSkim( const quint32 &iSkim );
void setWaitingTimeSkim( const GKODMatrix *iSkim );
função waitingTimeSkim¶
Funções:
const quint32 & waitingTimeSkim() const;
GKODMatrix * waitingTimeSkim( GKModel *iModel ) const;
GKODMatrix * waitingTimeSkim() const;
função setWalkingTimeSkim¶
A assinatura da função foi alterada de:
void setWalkingTimeSkim( const quint32 &iSkim );
void setWalkingTimeSkim( const GKODMatrix *iSkim );
função walkingTimeSkim¶
Funções:
const quint32 & walkingTimeSkim() const;
GKODMatrix * walkingTimeSkim( GKModel *iModel ) const;
GKODMatrix * walkingTimeSkim() const;
função setTransferPenaltySkim¶
A assinatura da função foi alterada de:
void setTransferPenaltySkim( const quint32 &iSkim );
void setTransferPenaltySkim( const GKODMatrix *iSkim );
função transferPenaltySkim¶
Funções:
const quint32 & transferPenaltySkim() const;
GKODMatrix * transferPenaltySkim( GKModel *iModel ) const;
GKODMatrix * transferPenaltySkim() const;
função setFareSkim¶
A assinatura da função foi alterada de:
void setFareSkim( const quint32 &iSkim );
void setFareSkim( const GKODMatrix *iSkim );
função fareSkim¶
Funções:
const quint32 & fareSkim() const;
GKODMatrix * fareSkim( GKModel *iModel ) const;
GKODMatrix * fareSkim() const;
função setCrowdDiscomfortSkim¶
A assinatura da função foi alterada de:
void setCrowdDiscomfortSkim( const quint32 &iSkim );
void setCrowdDiscomfortSkim( const GKODMatrix *iSkim );
função crowdDiscomfortSkim¶
Funções
const quint32 & crowdDiscomfortSkim() const;
GKODMatrix * crowdDiscomfortSkim( GKModel *iModel ) const;
GKODMatrix * crowdDiscomfortSkim() const;
função addMacroComponent¶
A assinatura da função foi alterada de:
void addMacroComponent( quint32 iMacroComponentId );
void addMacroComponent( const GKFunctionComponent* component );
função setMacroComponentSkim¶
A assinatura da função foi alterada de:
void setMacroComponentSkim( quint32 iMacroComponentId, quint32 iSkim );
void setMacroComponentSkim( const GKFunctionComponent* component, const GKODMatrix* iSkim );
função macroComponentSkim¶
A assinatura da função foi alterada de:
quint32 macroComponentSkim( quint32 iMacroComponentId ) const;
GKODMatrix* macroComponentSkim( const GKFunctionComponent* component ) const;
função setUserDefinedSkim¶
A assinatura da função foi alterada de:
void setUserDefinedSkim( int index, quint32 iSkim );
void setUserDefinedSkim( int index, const GKODMatrix* iSkim );
função userDefinedSkims¶
A assinatura da função foi alterada de:
const QList<quint32> & userDefinedSkims() const;
QList<const GKODMatrix*> userDefinedSkims() const;
Classe SkimDataProvider¶
O tipo enum SkimType foi movido para fora desta classe, para o namespace genérico. Agora ele é definido em GKLandUseSkimMatricesUtil.
Classe MacroPTExperimentParams¶
Funções
qint32 transferPenaltyId() const;
void setTransferPenalty( qint32 iId );
são substituídos por
GKFunctionCost* getTransferPenalty() const;
void setTransferPenalty( GKFunctionCost* function );
Classe MacroPTAdjustmentScenarioOutputData¶
função userDefinedSkims¶
A assinatura da função foi alterada de:
GKProblemNet * getProblemNet(GKModel *iModel) const;
GKProblemNet * getProblemNet() const;
Classe PTExperimentOutputData¶
função getSkimMatrices¶
A assinatura da função foi alterada de:
QVector< qint32 > getSkimMatrices( GKModel * model ) const;
QList< const GKODMatrix* > getSkimMatrices() const;
função setSkimMatrices¶
A assinatura da função foi alterada de:
void setSkimMatrices( const QVector<qint32> & iMatrices );
void setSkimMatrices( const QVector<const GKODMatrix*>& matrices );
Classe GKDistributionDataSet¶
função setDistributionArea¶
A assinatura da função foi alterada de:
void setDistributionArea( int iCentroidId, int iArea );
void setDistributionArea( const GKCentroid* centroid, GKDistributionCentroidType* area );
função setParkingArea¶
A assinatura da função foi alterada de:
void setParkingArea( int iCentroidId, int iArea );
void setParkingArea( const GKCentroid* centroid, GKParkingCentroidType* area );
função setAttributeValue¶
A assinatura da função foi alterada de:
void setAttributeValue(qint32 iCentroidId, int iUserClassId, int attributeIndex, double iValue );
void setAttributeValue( const GKCentroid* centroid, GKUserClass *user, int attributeIndex, double iValue );
função getAttributeValue¶
A assinatura da função foi alterada de:
double getAttributeValue(qint32 iCentroidId, int iUserClassId, int attributeIndex ) const;
double getAttributeValue( const GKCentroid* centroid, GKUserClass *user, int attributeIndex ) const;
função getDistributionData¶
A assinatura da função foi alterada de:
CentroidDistributionData* getDistributionData( int iCentroidId ) const;
CentroidDistributionData* getDistributionData( const GKCentroid* centroid ) const;
função setDistributionData¶
A assinatura da função foi alterada de:
void setDistributionData( int iCentroidId, CentroidDistributionData * iCentroidDistributionData );
void setDistributionData( const GKCentroid* centroid, CentroidDistributionData * iCentroidDistributionData );
função getDistributionArea¶
A assinatura da função foi alterada de:
GKDistributionCentroidType * getDistributionArea( int iCentroidId ) const;
GKDistributionCentroidType * getDistributionArea( const GKCentroid* centroid ) const;
função getParkingArea¶
A assinatura da função foi alterada de:
GKParkingCentroidType * getParkingArea( int iCentroidId ) const;
GKParkingCentroidType * getParkingArea( const GKCentroid* centroid ) const;
função setUseParkingAreaCosts¶
A assinatura da função foi alterada de:
void setUseParkingAreaCosts( int iCentroidId, bool iValue );
void setUseParkingAreaCosts( const GKCentroid* centroid, bool iValue );
função getUseParkingAreaCosts¶
A assinatura da função foi alterada de:
bool getUseParkingAreaCosts( int iCentroidId ) const;
bool getUseParkingAreaCosts( const GKCentroid* centroid ) const;
função setExternalArea¶
A assinatura da função foi alterada de:
void setExternalArea( int iCentroidId, bool iValue );
void setExternalArea( const GKCentroid* centroid, bool iValue );
função getExternalArea¶
A assinatura da função foi alterada de:
bool getExternalArea( int iCentroidId ) const;
bool getExternalArea( const GKCentroid* centroid ) const;
função getModalSplitData¶
Nova função para acessar os dados de divisão modal de um centroide. Conjunto total de registros:
void QVector<ModalSplitData> getModalSplitData( const GKCentroid* centroid ) const;
ModalSplitData getModalSplitData(ModalSplitData::Type iType, const GKCentroid* centroid, qint32 iPurpose, qint32 iCarAvailability, qint32 iTimePeriod ) const;
função setModalSplitData¶
Nova função para definir o conjunto total de registros de divisão modal em um centroide:
void setModalSplitData( const GKCentroid* centroid, const QVector< ModalSplitData > & iData );
Classe ModalSplitData¶
função getCarAvailabiltiy¶
Nova função para obter a disponibilidade de carro:
qint32 getCarAvailabiltiy() const;
função getFactor¶
Nova função para obter um fator de modo de transporte:
double getFactor( GKTransportationMode* mode ) const;
função getPurpose¶
Nova função para obter o propósito:
qint32 getPurpose() const;
função getTimePeriod¶
Nova função para obter o período de tempo:
qint32 getTimePeriod() const;
função getType¶
Nova função para obter o tipo de divisão modal ( 0 - Geração, 1 - Atração ):
Type getType() const;
função setCarAvailability¶
Nova função para definir a disponibilidade de carro:
void setCarAvailability( qint32 iMode );
função setFraction¶
Nova função para definir o fator de um modo de transporte:
void setFraction( GKTransportationMode* iMode, double iFactor );
função setPurpose¶
Nova função para definir o propósito:
void setPurpose( GKTripPurpose* purpose );
função setTimePeriod¶
Nova função para definir o período de tempo:
void setTimePeriod( GKTimePeriod* period );
função setType¶
Nova função para definir o tipo de divisão modal ( 0 - Geração, 1 - Atração ):
void setType( Type iType );
função válida¶
Nova função para verificar a validade dos dados de divisão modal ( valid = atributos e percentuais estão corretos ):
bool valid() const;
função validAttributes¶
Nova função para verificar a validade dos atributos de dados de divisão modal:
bool validAttributes() const;
função validPercentages¶
Nova função para verificar a validade dos percentuais de dados de divisão modal:
bool validPercentages() const;
Classe CentroidDistributionData¶
atributo distributionArea¶
O atributo int distributionArea foi substituído pelas seguintes funções:
void setDistributionArea( GKDistributionCentroidType* area );
GKDistributionCentroidType* getDistributionArea() const;
atributo parkingArea¶
O atributo int parkingArea foi substituído pelas seguintes funções:
void setParkingArea( GKParkingCentroidType * area );
GKParkingCentroidType* getParkingArea() const;
função setDistributionAttribute¶
A assinatura da função foi alterada de:
void setDistributionAttribute( int iUserClassId, uint iIndex, double iValue );
void setDistributionAttribute( GKUserClass *user, uint iIndex, double iValue );
função getDistributionAttribute¶
A assinatura da função foi alterada de:
double getDistributionAttribute( int iUserClassId, uint iIndex ) const
double getDistributionAttribute( GKUserClass *user, uint iIndex ) const;
Classe MacroExperimentOutputData¶
função getSkimMatrices¶
A assinatura da função foi alterada de:
QVector< GKODMatrix* > getSkimMatrices( GKModel * model ) const;
QVector< GKODMatrix* > getSkimMatrices() const;
função setSkimMatrices¶
A assinatura da função foi alterada de:
void setSkimMatrices( const QVector<qint32> & iMatrices );
void setSkimMatrices( const QVector<GKODMatrix*> & iMatrices );
Classe GKGenerationAttractionScenario¶
função setDataGroup¶
A assinatura da função foi alterada de:
void setDataGroup( int dataGroup );
void setDataGroup( GKGenerationAttractionDataSet* dataGroup );
função getDataGroup¶
A assinatura da função foi alterada de:
int getDataGroup() const;
GKGenerationAttractionDataSet* getDataGroup() const;
Classe GKGenerationAttractionCentroidType¶
função setGAFactors¶
A assinatura da função foi alterada de:
void setGAFactors( qint32 dataSetId, qint32 variableId, qint32 timePeriodId, qint32 modeId, qint32 purposeId, double generation, double attraction );
void setGAFactors( GKGenerationAttractionDataSet* dataSet, qint32 variableId, qint32 timePeriodId, qint32 modeId, qint32 purposeId, double generation, double attraction );
função getGAFactors¶
A assinatura da função foi alterada de:
QPair<double,double> getGAFactors( qint32 dataSetId, qint32 variableId, qint32 timePeriodId, qint32 modeId, qint32 purposeId );
QPair<double,double> getGAFactors( GKGenerationAttractionDataSet* dataSet, qint32 variableId, qint32 timePeriodId, qint32 modeId, qint32 purposeId ) const;
GKGenerationAttractionData Class¶
atributo m_variable¶
O atributo int m_variable foi substituído pelas seguintes funções:
void setVariable( GKGenerationAttractionDataSetAttribute* var );
GKGenerationAttractionDataSetAttribute* getVariable() const;
atributo m_timePeriod¶
O atributo int m_timePeriod foi substituído pelas seguintes funções:
void setTimePeriod( GKTimePeriod* period );
GKTimePeriod* getTimePeriod() const;
atributo m_mode¶
O atributo int m_mode foi substituído pelas seguintes funções:
void setMode( GKTransportationMode* mode );
GKTransportationMode* getMode() const;
Classe GKGenerationAttractionFactor¶
atributo m_purpose¶
O atributo int m_purpose foi substituído pelas seguintes funções:
void setPurpose( GKTripPurpose* purpose );
GKTripPurpose* getPurpose() const;
GKGenerationAttractionDataSet Class¶
função getTripGenerationArea¶
A assinatura da função foi alterada de:
GKGenerationAttractionCentroidType * getTripGenerationArea( int iCentroidId ) const;
GKGenerationAttractionCentroidType * getTripGenerationArea( const GKCentroid* centroid ) const;
função setTripGenerationArea¶
A assinatura da função foi alterada de:
void setTripGenerationArea( int iCentroidId, int iAreaId );
void setTripGenerationArea( const GKCentroid* centroid, GKGenerationAttractionCentroidType* area );
função useExternalData¶
A assinatura da função foi alterada de:
bool useExternalData( int iCentroidId ) const;
bool useExternalData( const GKCentroid* centroid ) const;
função setExternalData¶
A assinatura da função foi alterada de:
void setExternalData( int iCentroidId, QVector<ExternalData> & iExternalData );
void setExternalData( const GKCentroid* centroid, QVector<ExternalData> & iExternalData );
função setUseExternalData¶
A assinatura da função foi alterada de:
void setUseExternalData( int iCentroidId, bool iExternalData );
void setUseExternalData( const GKCentroid* centroid, bool iExternalData );
função setCarAvailabilityData¶
A assinatura da função foi alterada de:
void setCarAvailabilityData( int iCentroidId, QVector<CAData> & iCAData );
void setCarAvailabilityData( const GKCentroid* centroid, QVector<CAData> & iCAData );
void setCarAvailabilityData( int iCentroidId, int purposeId, double iValue );
void setCarAvailabilityData( const GKCentroid* centroid, int purposeId, double iValue );
função getCarAvailabilityData¶
A assinatura da função foi alterada de:
double getCarAvailabilityData( int iCentroidId, int purposeId );
double getCarAvailabilityData( const GKCentroid* centroid, int purposeId );
função setAttributeData¶
A assinatura da função foi alterada de:
void setAttributeData( int iCentroidId, qint32 iAttributeId, double iValue );
void setAttributeData( const GKCentroid* centroid, GKGenerationAttractionDataSetAttribute* attr, double iValue );
função setCarOwnership¶
A assinatura da função foi alterada de:
void setCarOwnership( int iCentroidId, int iCarOwnership );
void setCarOwnership( const GKCentroid* centroid, int iCarOwnership );
função setAverageHousehold¶
A assinatura da função foi alterada de:
void setAverageHousehold( int iCentroidId, double iAverageHousehold );
void setAverageHousehold( const GKCentroid* centroid, double iAverageHousehold );
função doBalancing¶
A assinatura da função foi alterada de:
bool doBalancing( int iCentroidId ) const;
bool doBalancing( const GKCentroid* centroid ) const;
função setDoBalancing¶
A assinatura da função foi alterada de:
void setDoBalancing( int iCentroidId, bool iBalancing );
void setDoBalancing( const GKCentroid* centroid, bool iBalancing );
função getCarOwnership¶
A assinatura da função foi alterada de:
int getCarOwnership( int iCentroidId ) const;
int getCarOwnership( const GKCentroid* centroid ) const;
função getAverageHousehold¶
A assinatura da função foi alterada de:
double getAverageHousehold( int iCentroidId ) const;
double getAverageHousehold( const GKCentroid* centroid ) const;
função addAttribute¶
A assinatura da função foi alterada de:
void addAttribute(int iAttributeId);
void addAttribute( GKGenerationAttractionDataSetAttribute* iAttribute );
função getAttributes¶
A assinatura da função foi alterada de:
const QVector<int> & getAttributes();
QVector<GKGenerationAttractionDataSetAttribute*> getAttributes();
função checkCreateData¶
A assinatura da função foi alterada de:
void checkCreateData( int iCentroidId );
void checkCreateData( const GKCentroid* centroid );
função getData¶
A assinatura da função foi alterada de:
const CentroidGenerationAttractionData * getData( int iCentroid ) const;
const CentroidGenerationAttractionData * getData( const GKCentroid* centroid ) const;
função getValue¶
A assinatura da função foi alterada de:
double getValue( int iCentroid, int iAttributeId ) const;
double getValue( const GKCentroid* centroid, GKGenerationAttractionDataSetAttribute* iAttribute ) const;
função setValue¶
A assinatura da função foi alterada de:
void setValue( int iCentroid, int iAttributeId, double iValue );
void setValue( const GKCentroid* centroid, GKGenerationAttractionDataSetAttribute* iAttribute, double iValue );
função setExternalData¶
A assinatura da função foi alterada de:
void setExternalData( int iCentroidId, int purpose, int mode, int period, double arrivals, double departures );
void setExternalData( const GKCentroid* centroid, int purpose, int mode, int period, double arrivals, double departures );
função getExternalData¶
A assinatura da função foi alterada de:
QPair<double,double> getExternalData( int iCentroidId, int purpose, int mode, int period, bool found ) const;
QPair<double,double> getExternalData( const GKCentroid* centroid, int purpose, int mode, int period, bool found ) const;
Classe CentroidGenerationAttractionData¶
atributo attributes¶
O acesso aos atributos agora é feito por meio das seguintes funções:
void setValue( GKGenerationAttractionDataSetAttribute* attr, double value );
double getValue( GKGenerationAttractionDataSetAttribute* attr ) const;
atributo tripGenerationArea¶
O acesso a tripGenerationArea agora é feito por meio das seguintes funções:
void setArea( GKGenerationAttractionCentroidType* area );
GKGenerationAttractionCentroidType* getArea() const;
GKDistributionCentroidType Class¶
função getDistributionFunction¶
A assinatura da função foi alterada de:
int getDistributionFunction( int iDataSet, int iPurpose, int iCA, int iTimePeriod );
GKFunctionCost* getDistributionFunction( const GKDistributionDataSet* dataset, const GKTripPurpose* purpose, qint32 iCA, const GKTimePeriod* timePeriod ) const;
função setDistributionFunction¶
A assinatura da função foi alterada de:
void setDistributionFunction( int iDataSet, int iPurpose, int iCA, int iTimePeriod, int iFunctionId );
void setDistributionFunction( const GKDistributionDataSet* dataset, const GKTripPurpose* purpose, qint32 iCA, const GKTimePeriod* timePeriod, const GKFunctionCost* function );
função getModalSplitFunction¶
A assinatura da função foi alterada de:
int getModalSplitFunction( int iDataSet, int iPurpose, int iCA, int iTimePeriod );
GKFunctionCost* getModalSplitFunction( const GKDistributionDataSet* dataset, const GKTripPurpose* purpose, qint32 iCA, const GKTimePeriod* timePeriod ) const;
função setModalSplitFunction¶
A assinatura da função foi alterada de:
void setModalSplitFunction( int iDataSet, int iPurpose, int iCA, int iTimePeriod, int iFunctionId );
void setModalSplitFunction( const GKDistributionDataSet* dataset, const GKTripPurpose* purpose, qint32 iCA, const GKTimePeriod* timePeriod, const GKFunctionCost* function );
Classe GKControlPlan¶
função addControlMetering¶
A assinatura da função foi alterada de:
void addControlMetering( uint idmetering, GKControlMetering *meter );
void addControlMetering( GKMetering *metering, GKControlMetering *meter );
função removeControlMetering¶
A assinatura da função foi alterada de:
void removeControlMetering( uint idmetering );
void removeControlMetering( GKMetering *metering );
função removeControlMetering¶
A assinatura da função foi alterada de:
GKControlMetering * getControlMetering( uint /*idmetering*/ ) const;
GKControlMetering * getControlMetering( GKMetering* metering ) const;
função removeControlMetering¶
A assinatura da função foi alterada de:
const GKControlPlanJunctions & getControlJunctions() const;
QMap<uint, GKControlJunction*> getControlJunctions() const;
função removeControlMetering¶
A assinatura da função foi alterada de:
const GKControlPlanMeterings & getControlMeterings() const;
QMap<uint, GKControlMetering*> getControlMeterings() const;
Classe GKControlPhase¶
função addSignal¶
A assinatura da função foi alterada de:
void addSignal( uint idSignal, const QString & name = "", GKControlPhaseSignal::FlashingType flashing = GKControlPhaseSignal::eNo );
void addSignal( GKControlPlanSignal* signal, GKControlPhaseSignal::FlashingType flashing = GKControlPhaseSignal::eNo );
Classe GKControlPhaseSignal¶
função GKControlPhaseSignal¶
A assinatura da função foi alterada de:
GKControlPhaseSignal( uint, const QString &, FlashingType );
GKControlPhaseSignal( GKControlPlanSignal* s, FlashingType f );
Atributos públicos para funções¶
Atributos públicos não mais disponíveis:
uint signal;
QString name;
FlashingType flashing;
As seguintes funções precisam ser usadas no lugar:
void setSignal( GKControlPhaseSignal* signal );
GKControlPhaseSignal* getSignal() const;
void setFlashingType( GKControlPhaseSignal::FlashingType flashing );
GKControlPhaseSignal::FlashingType getFlashingType() const;
Classe NodeOutput¶
As seguintes funções foram renomeadas para facilitar a compreensão da classe NodeOutput:
função getOutputs¶
A assinatura da função foi alterada de:
const QVector< NodeOutputElement > & getOutputs() const;
const QVector< NodeOutputElement > & getElements() const;
função setOutputs¶
A assinatura da função foi alterada de:
void setOutputs( const QVector< NodeOutputElement > & elements );
void setElements( const QVector< NodeOutputElement > & elements );
Classe NodeSlot¶
As seguintes funções foram renomeadas para facilitar a compreensão da classe NodeSlot:
função getObjectType¶
A assinatura da função foi alterada de:
EDataObjectType getObjectType() const;
EDataObjectType getSlotType() const;
Classe NodeConnection¶
As seguintes funções foram renomeadas para facilitar a compreensão da classe NodeConnection:
função getFilter¶
A assinatura da função foi alterada de:
const NodeOutput & getFilter() const;
const NodeOutput & getDiscardedElements() const;
função setFilter¶
A assinatura da função foi alterada de:
void setFilter( const NodeOutput & filter );
void setDiscardedElements( const NodeOutput & iElements );
Classes Yutraffic¶
Foi implementada uma generalização do plugin Yutraffic e, portanto, as seguintes classes foram renomeadas:
- SitrafficDetectionPatternTemplateNewCmd to OCITDetectionPatternTemplateNewCmd
- SitrafficDetectionPatternNewCmd to OCITDetectionPatternNewCmd
- SitrafficDetectionPatternTemplate to OCITDetectionPatternTemplate
- SitrafficDetectionPattern to OCITDetectionPattern
- SitrafficDetectionPatternEvent para OCITDetectionPatternEvent
- SitrafficSimulationEvent para OCITSimulationEvent
Classe OCITDetectionPatternEvent¶
O início e a duração de um SitrafficDetectionPatternEvent foram estabelecidos usando as seguintes funções:
void setWhen( int cycle, double secondInCycle );
void setDuration( const GKTimeDuration & time );
Este não é mais o caso para OCITDetectionPatternEvent; a forma correta de definir um tempo de ativação é usar a função:
void setFrom( int cycle, double secondInCycle );
Para desativar o evento, use a seguinte função:
void setTo( int cycle, double secondInCycle );
Chamar qualquer um void setWhen( int cycle, double secondInCycle ); ou void setDuration( const GKTimeDuration & time ); resultará em comportamento indefinido.
alterações do Aimsun Next 20.0.X¶
A seguir, apresenta-se uma lista de todas as funções que foram alteradas ou adicionadas após o lançamento do Aimsun Next 20. As classes com alterações são:
- GKFunctionComponent
- DistributionScenario
- ModalSplitScenario
- MacroScenarioOutputData
- CMacroTurning
- DTATurning
- DistributionOutput
- MacroAdjustmentScenarioParams
- MacroPTStatsManager
- MacroPTStatsView
- GKFunctionCost
- GKPTStation
- DTAPTLineSegment
- PTSection
- GKModel
- GKObject
- GenerationAttractionOutput
- NodeOutputElement
- FourStepsUtil
- NodeSlot
- NodeCompute
- NodeConnection
- GKControllerParsSitrafficOffice
Classe GKFunctionComponent¶
A classe GKFunctionComponent foi disponibilizada para scripting por meio das seguintes funções:
setDerived¶
void setDerived( bool iValue );
getDerived¶
bool getDerived() const;
setFunctionString¶
void setFunctionString( QString iValue );
getFunctionString¶
const QString & getFunctionString() const;
setComponent1¶
void setComponent1( qint32 iValue );
getComponent1¶
qint32 getComponent1() const;
setComponent2¶
void setComponent2( qint32 iValue );
getComponent2¶
qint32 getComponent2() const;
setFactor¶
void setFactor( double iValue );
getFactor¶
double getFactor() const;
setOperation¶
void setOperation( Operation operation );
getOperation¶
Operation getOperation() const;
Onde Operação pode representar as seguintes operações:
enum Operation{eMultiply=0, eDivide, eAdd, eSubtract}
Classe DistributionScenario¶
As seguintes funções foram adicionadas para permitir a seleção das matrizes skim associadas a GKFunctionComponents via scripting:
getComponentSkim¶
GKODMatrix* getComponentSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const GKFunctionComponent& iComponent ) const;
setComponentSkim¶
void setComponentSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const GKFunctionComponent& iComponent, GKODMatrix& iSkim );
removeComponentSkim¶
void removeComponentSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const GKFunctionComponent& iComponent );
Classe ModalSplitScenario¶
As seguintes funções foram adicionadas para permitir a seleção das matrizes de viagens e facilitar a seleção das matrizes de skims associadas a elas:
removeTripMatrices¶
void removeTripMatrices();
addTripMatrix¶
void addTripMatrix( GKODMatrix& iMatrix );
getSkim¶
GKODMatrix* getSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode , const GKODMatrix::AssignmentOutput & iCostType ) const;
setSkim¶
void setSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode , GKODMatrix &iSkim );
removeSkim¶
void removeSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode , const GKODMatrix::AssignmentOutput & iCostType );
getComponentSkim¶
GKODMatrix* getComponentSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const GKFunctionComponent& iComponent ) const;
setComponentSkim¶
void setComponentSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const GKFunctionComponent& iComponent, GKODMatrix& iSkim );
removeComponentSkim¶
void removeComponentSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const GKFunctionComponent& iComponent );
getUserDefinedSkim¶
GKODMatrix* getUserDefinedSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const uint iColumnIndex ) const;
setUserDefinedSkim¶
void setUserDefinedSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const uint iColumnIndex, GKODMatrix& iSkim );
removeUserDefinedSkim¶
void removeUserDefinedSkim( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode, const uint iColumnIndex );
getAllSkims¶
QVector<GKODMatrix*> getAllSkims( const GKODMatrix& iTripMatrix, const GKTransportationMode& iMode ) const;
As seguintes funções foram adicionadas para selecionar o GKTimePeriod:
setTimePeriod¶
void setTimePeriod( GKTimePeriod* iTimePeriod );
Recomendamos usá-lo em vez de:
setTimePeriod¶
void setTimePeriod( quint32 timePeriod );
Classe MacroScenarioOutputData¶
As seguintes funções foram adicionadas para configurar o cenário para coletar (ou não) estatísticas de SubPath:
getCollectSubPathsStats¶
bool getCollectSubPathsStats() const;
setCollectSubPathsStats¶
bool setCollectSubPathsStats( bool iValue );
Classe CMacroTurning¶
A função a seguir foi adicionada para acessar a duração do tempo não controlado para o período em estudo (por exemplo, duração da simulação):
double getUncontrolledTime() const;
Classe DTATurning¶
A função a seguir foi adicionada para acessar a duração do tempo não controlado para o período em estudo (por exemplo, Route Choice Interval):
double getUncontrolledTime() const;
Classe DistributionOutput¶
createMatrix¶
A função:
QVector< GKODMatrix * > createMatrix( GKTripPurpose* iPurpose, bool temporary )
Agora aceita apenas GKTripPurposes bem definidos (diferentes de None):
QVector< GKODMatrix * > createMatrix( const GKTripPurpose& iPurpose, bool temporary )
MacroAdjustmentScenarioParams Class¶
A seguinte função foi adicionada para dar acesso ao grupo Congested Sections:
getCongestedSections¶
GKGroup * getCongestedSections() const;
Classe MacroPTStatsManager¶
As seguintes funções foram adicionadas para permitir (quando combinadas com uma MacroPTStatsView) o acesso às saídas de uma Static Transit Assignment (MacroPTExperiment)
getExperiment¶
MacroPTExperiment * getExperiment() const;
getFromTime¶
QDateTime getFromTime() const;
getToTime¶
QDateTime getFromTime() const;
restaurar¶
void restore( MacroPTExperiment * _experiment );
Classe MacroPTStatsView¶
Foi adicionada uma nova classe auxiliar para ajudar na coleta de estatísticas. A classe Macro Transit Stats View dá acesso a todas as estatísticas calculadas por uma Static Transit Assignment (MacroPTExperiment). Há 52 métodos que não são listados aqui para melhorar a legibilidade.
Classe GKFunctionCost¶
As seguintes funções foram adicionadas à classe GKFunctionCost para melhorar a consistência do scripting ao avaliar o Transit Delay Time:
evaluatePTDelayTime¶
double evaluatePTDelayTime(const GKFunctionCostContext * context, const GKPublicLine& iLine, const GKPTSectionData&iSection ) const;
evaluatePTDelayTime¶
double evaluatePTDelayTime(const GKFunctionCostContext * context, const GKPublicLine& iLine, const StopToStop& iSection) const;
evaluatePTDelayTime¶
double evaluatePTDelayTime(const GKFunctionCostContext * context, const GKSimulatedObject& iLine, const void* iSection) const;
Como as funções anteriores contêm informações explícitas dos tipos de argumento, devem ser preferidas à função:
evaluatePTDelayTime¶
double evaluatePTDelayTime(const GKFunctionCostContext * context, const GKBaseObject * iLine, const void *iSection , const bool fromGui, const bool iFromDTA ) const;
Classe GKPTStation¶
As funções set/get para os tempos de espera de conexão foram atualizadas na classe GKPTStation para melhorar sua legibilidade e consistência:
A função:
setWaitingTimes¶
void setWaitingTimes(const QMap< QPair<GKPublicLine*,GKPublicLine*>, double> & waitingTimes);
foi substituído pela função:
setWaitingTime¶
void setWaitingTime( const GKPublicLine& iFromLine, const GKPublicLine& iToLine, const double iWaitingTime );
A função:
getWaitingTimes¶
const QMap< QPair<GKPublicLine*,GKPublicLine*>, double> & getWaitingTimes() const;
foi substituído pela função:
getWaitingTime¶
double & getWaitingTimes(const GKPublicLine& iFromLine, const GKPublicLine& iToLine) const;
Classe DTAPTLineSegment¶
O acesso ao ponto de origem e ao ponto de destino foi tornado consistente com o contexto a que se referem. As seguintes funções foram removidas:
getDTAOrigin¶
const DTAPTStop * getDTAOrigin() const;
getDTADestination¶
const DTAPTStop * getDTADestination() const;
Enquanto as seguintes funções foram modificadas:
getOrigin¶
const GKBusStop* getOrigin() const;
foi substituído pela função:
getOrigin¶
const DTAPTStop* getOrigin() const;
E a função:
getDestination¶
const GKBusStop* getDestination() const;
foi substituído pela função:
getDestination¶
const DTAPTStop* getDestination() const;
Se o usuário precisar acessar o GKBusStop associado a um DTAPTStop, basta usar a função GKSimulatedObject::getMaster() em DTAPTStop.
Classe PTSection¶
O acesso ao ponto de origem e ao ponto de destino foi tornado consistente com o contexto a que se referem. As seguintes funções foram removidas:
getOriginPT¶
const PTStop * getOriginPT() const;
getDestinationPT¶
const PTStop * getDestinationPT() const;
Enquanto as seguintes funções foram modificadas:
getOrigin¶
const GKBusStop* getOrigin() const;
foi substituído pela função:
getOrigin¶
const PTStop* getOrigin() const;
E a função:
getDestination¶
const GKBusStop* getDestination() const;
foi substituído pela função:
getDestination¶
const PTStop* getDestination() const;
Se o usuário precisar acessar o GKBusStop associado a um PTStop, basta usar a função GKSimulatedObject::getMaster() em PTStop.
Classe GKModel¶
A forma padrão do identificador agora é armazenada no nível GKModel. As seguintes funções foram adicionadas:
setIdentifierForm¶
void setIdentifierForm( GKObject::IdentifierForm form );
getIdentifierForm¶
GKObject::IdentifierForm getIdentifierForm() const;
Classe GKObject¶
A forma padrão de identificador agora é tratada no nível de GKModel. GKObject::defaultIdentifierForm não está mais disponível.
GenerationAttractionOutput Class¶
As seguintes funções foram adicionadas para acessar o total de chegadas e partidas filtrando por GKTripPurpose, GKTransportationMode e se o valor é antes ou depois do balanceamento de partidas e chegadas (por padrão, depois do balanceamento):
getTotalArrivals¶
double getTotalArrivals( const GKTripPurpose& iPurpose , const GKTransportationMode& iMode, bool iBeforeBalance = false ) const;
getTotalArrivalsCA¶
double getTotalArrivalsCA( const GKTripPurpose& iPurpose , const GKTransportationMode& iMode, bool iBeforeBalance = false ) const;
getTotalArrivalsNCA¶
double getTotalArrivalsNCA( const GKTripPurpose& iPurpose , const GKTransportationMode& iMode, bool iBeforeBalance = false ) const;
getTotalDepartures¶
double getTotalDepartures( const GKTripPurpose& iPurpose , const GKTransportationMode& iMode, bool iBeforeBalance = false ) const;
getTotalDeparturesCA¶
double getTotalDeparturesCA( const GKTripPurpose& iPurpose , const GKTransportationMode& iMode, bool iBeforeBalance = false ) const;
getTotalDeparturesNCA¶
double getTotalDeparturesNCA( const GKTripPurpose& iPurpose , const GKTransportationMode& iMode, bool iBeforeBalance = false ) const;
Classe NodeOutputElement¶
As seguintes funções foram adicionadas para completar a criação de scripts desta classe:
getOutputType¶
double getOutputType() const;
setOutputType¶
double setOutputType( const EDataObjectType iOutputType ) const;
setDiscriminant¶
QVector<FourSteps::DataDiscriminant> getDiscriminants() const;
Arquivo FourStepsUtil¶
Este arquivo foi adicionado para centralizar todas as definições que são comuns a todas as classes e métodos definidos no scripting do plug-in FourSteps. Como FourSteps::DataDiscriminant ou EDataObjectType.
Classe NodeSlot¶
As seguintes funções foram adicionadas para completar a criação de scripts desta classe:
função getObjectType¶
EDataObjectType getObjectType() const;
função getConnectionType¶
EConnectionType getConnectionType() const;
função getMode¶
ESlotMode getMode() const;
função isCompatible¶
bool isCompatible( const NodeSlot * iNodeSlot ) const;
função getConnections¶
QVector< NodeConnection * > getConnections() const;
função getOutputElements¶
NodeOutput getOutputElements() const;
Classe NodeCompute¶
As seguintes funções foram adicionadas para completar a criação de scripts desta classe:
função getInputSlots¶
QVector< NodeSlot * > getInputSlots() const;
função getOutputSlots¶
QVector< NodeSlot * > getOutputSlots() const;
função getTarget¶
GKObject* getTarget();
função getSlotOutputElements¶
QVector<NodeOutputElement> getSlotOutputElements( const QString &slotId ) const;
função getOutputObjects¶
QVector<GKObject*> getOutputObjects( const QString & slotId ) const;
Classe NodeConnection¶
As seguintes funções foram adicionadas para completar a criação de scripts desta classe:
função getFilter¶
const NodeOutput & getFilter() const;
função setFilter¶
void setFilter( const NodeOutput & filter );
Classe GKControllerParsSitrafficOffice¶
As seguintes funções foram adicionadas para completar a criação de scripts desta classe:
função setProtocolFilepath¶
void setProtocolFilepath( const QString& filepath );
função getProtocolFilepath¶
const QString& getProtocolFilepath() const;
função setGraphicalViewConfigurations¶
void setGraphicalViewConfigurations( const QStringList& configurations );
função getGraphicalViewConfigurations¶
const QStringList& getGraphicalViewConfigurations() const;
função setProtocolViewConfigurations¶
void setProtocolViewConfigurations( const QStringList& configurations );
função getProtocolViewConfigurations¶
const QStringList& getProtocolViewConfigurations() const;
Alterações do Aimsun Next 20¶
A seguir há uma lista de todas as funções que mudaram entre o Aimsun Next 8.4 e o Aimsun Next 20 para ajudar a atualizar scripts antigos facilmente. As classes com alterações são:
- GKCatalog
- GKGeometryConfiguration
- GKProblemNet
- GKSimulationArea
- GKTrafficArrivals
- AdjustmentMeasurementContext
- MacroAdjustmentScenario
- MacroAdjustmentExperiment
- MacroAdjustmentScenarioUserClassParams
- MacroAdjustmentScenarioParams
- MacroPTAdjustmentScenario
- MacroPTAdjustmentExperiment
- DistributionScenario
Classe GKCatalog¶
função findObjectsByExternalId¶
A função agora retorna todos os objetos com o mesmo id externo para um determinado GKType, em vez de apenas um.
Classe GKGeometryConfiguration¶
função existente¶
A assinatura da função foi alterada de:
bool existent(quint32 val);
para
bool existent( const GKObject* object);
função inexistente¶
A assinatura da função foi alterada de:
bool nonexistent(quint32 val);
para:
bool nonexistent( const GKObject* object);
função getExistent¶
A assinatura da função foi alterada de:
const QSet<quint32> & getExistent() const;
para:
QVector<GKObject*> getExistent() const;
função getNonExistent¶
A assinatura da função foi alterada de:
const QSet<quint32> & getNonExistent() const;
para:
QVector<GKObject*> getNonExistent() const;
função addExistent¶
As assinaturas das funções foram alteradas de:
void addExistent( quint32 id );
para:
void addExistent( GKObject* object );
função addNonExistent¶
As assinaturas das funções foram alteradas de:
void addNonExistent( quint32 id );
para:
void addNonExistent( GKObject* object );
função removeExistent¶
As assinaturas das funções foram alteradas de:
void removeExistent( quint32 id );
para:
void removeExistent( GKObject* object );
função removeNonExistent¶
As assinaturas das funções foram alteradas de:
void removeNonExistent( quint32 id );
para:
void removeNonExistent( GKObject* object );
Classe GKProblemNet¶
função getManualSections¶
A assinatura da função foi alterada de:
const QVector<uint> & getManualSections() const;
para
QVector<GKSection*> getManualSections() const;
função setManualSections¶
A assinatura da função foi alterada de:
void setManualSections( QVector<uint> sections );
para
void setManualSections( const QVector<GKSection*>& sections );
função addManualSection¶
A assinatura da função foi alterada de:
void addManualSection( uint aId );
para
void addManualSection( GKSection* section );
função removeManualSection¶
A assinatura da função foi alterada de:
void removeManualSection( uint aId );
para
void removeManualSection( GKSection* section );
função containsManualSection¶
A assinatura da função foi alterada de:
bool containsManualSection( uint aId ) const;
para
bool containsManualSection( GKSection* section ) const;
Classe GKSimulationArea¶
função getManualSections¶
A assinatura da função foi alterada de:
const QVector<quint32> & getManualSections() const;
para
QVector<GKSection*> getManualSections() const;
função setManualSections¶
A assinatura da função foi alterada de:
void setManualSections( QVector<quint32> sections );
para
void setManualSections( const QVector<GKSection*>& sections );
função addManualSection¶
A assinatura da função foi alterada de:
void addManualSection( quint32 aId );
para
void addManualSection( GKSection* section );
função removeManualSection¶
A assinatura da função foi alterada de:
void removeManualSection( quint32 aId );
para
void removeManualSection( GKSection* section );
função containsManualSection¶
A assinatura da função foi alterada de:
bool containsManualSection( quint32 aId ) const;
para
bool containsManualSection( GKSection* section ) const;
Classe GKTrafficArrivals¶
função setReplication¶
A assinatura da função foi alterada de:
void setReplication( uint id );
para
void setReplication( GKReplication* replication );
função getReplication¶
A assinatura da função foi alterada de:
uint getReplication() const;
para
const GKReplication* getReplication() const;
Classe AdjustmentMeasurementContext¶
O tipo MeasurementType agora pode representar mais um tipo de medição: eTotalODCount (associado ao termo OD agregado por intervalo de tempo):
enum MeasurementType{ eNone, eSection, eTurning, eDetector, eOriginCount, eDestinationCount, eBoarding, eAlighting, ePathLengthDistribution, ePTDetector, eODProportions, eSuperNodeTrajectory, eGKRoute, eTotalODCount, eODCount }
Classe MacroAdjustmentScenario¶
As seguintes funções foram movidas para MacroAdjustmentExperiment:
Função getParams¶
const MacroAdjustmentScenarioParams & getParams() const;
Função setParams¶
void setParams( const MacroAdjustmentScenarioParams & params );
Função setTripMatrix¶
void setTripMatrix( GKODMatrix *iMatrix );
Função tripMatrix¶
GKODMatrix* tripMatrix() const;
Função setTripMatrixReliability¶
void setTripMatrixReliability( double iFactor );
Função tripMatrixReliability¶
double tripMatrixReliability() const;
Função setTripMatrixCentroidGrouping¶
void setTripMatrixCentroidGrouping( GKGroup *iGroup );
Função tripMatrixCentroidGrouping¶
GKGroup* tripMatrixCentroidGrouping() const;
As seguintes funções foram adicionadas:
Função getInitialDateTime¶
QDateTime getInitialDateTime() const;
Função getDuration¶
GKTimeDuration getDuration() const;
Função getFinishDateTime¶
QDateTime getFinishDateTime() const;
Função storeOutput¶
bool storeOutput() const;
Função setStoreOutput¶
void setStoreOutput( bool iValue );
Classe MacroAdjustmentExperiment¶
As seguintes funções foram adicionadas:
Função getParams¶
const MacroAdjustmentScenarioParams & getParams() const;
Função setParams¶
void setParams( const MacroAdjustmentScenarioParams & params );
Função setTripMatrix¶
void setTripMatrix( GKODMatrix *iMatrix );
Função tripMatrix¶
GKODMatrix* tripMatrix() const;
Função setTripMatrixReliability¶
void setTripMatrixReliability( double iFactor );
Função tripMatrixReliability¶
double tripMatrixReliability() const;
Função setTripMatrixCentroidGrouping¶
void setTripMatrixCentroidGrouping( GKGroup *iGroup );
Função tripMatrixCentroidGrouping¶
GKGroup* tripMatrixCentroidGrouping() const;
Função setDefaultParamsForAllUserClasses¶
void setDefaultParamsForAllUserClasses( float alpha, float tripLengthDistributionElasticity );
MacroAdjustmentScenarioUserClassParams Class¶
getPerCentroidEntranceData Function¶
A assinatura da função foi alterada de:
GKCentroidVector * getPerCentroidEntranceData( GKModel * iModel ) const;
para
GKCentroidVector * getPerCentroidEntranceData() const;
Função getPerCentroidExitData¶
A assinatura da função foi alterada de:
GKCentroidVector * getPerCentroidExitData(GKModel *iModel) const;
para
GKCentroidVector * getPerCentroidExitData() const;
Função getODMaxDeviations¶
A assinatura da função foi alterada de:
GKODMatrix * getODMaxDeviations( GKModel * iModel ) const;
para
GKODMatrix * getODMaxDeviations() const;
MacroAdjustmentScenarioParams Class¶
As funções a seguir foram movidas para MacroAdjustmentScenario:
Função getInitialDateTime¶
QDateTime getInitialDateTime() const;
Função getDuration¶
GKTimeDuration getDuration() const;
Função storeOutput¶
bool storeOutput() const;
Função setStoreOutput¶
void setStoreOutput( bool iValue );
A função a seguir foi movida para MacroAdjustmentExperiment:
Função setDefaultParamsForAllUserClasses¶
void setDefaultParamsForAllUserClasses( double alpha, double tripLengthDistributionElasticity);
As seguintes funções foram alteradas:
Função setDetectorGrouping¶
A assinatura da função foi alterada de:
void setDetectorGrouping( qint32 iGrouping );
para
void setDetectorGrouping( GKGroupingType* grouping );
Função setCentroidGrouping¶
A assinatura da função foi alterada de:
void setCentroidGrouping( qint32 iGrouping );
para
void setCentroidGrouping( GKGroupingType* grouping );
Função getDetectorGrouping¶
A assinatura da função foi alterada de:
qint32 getDetectorGrouping() const;
para
GKGroupingType* getDetectorGrouping() const;
Função getCentroidGrouping¶
A assinatura da função foi alterada de:
qint32 getCentroidGrouping() const;
para
GKGroupingType* getCentroidGrouping() const;
A seguinte função foi removida:
Função setDetectorCoverageThreshold¶
void setDetectorCoverageThreshold( int value );
Classe MacroPTAdjustmentScenario¶
As seguintes funções foram movidas para MacroPTAdjustmentExperiment:
Função getMatrixDeviations¶
QMap< GKUserClass*, GKODMatrix* > getMatrixDeviations() const;
Função setMatrixDeviations¶
void setMatrixDeviations( const QMap< GKUserClass*, GKODMatrix * > & iMatrixDeviations );
Função getDeviationType¶
MatrixDeviation::MatrixDeviationValueType getDeviationType() const;
Função setDeviationType¶
void setDeviationType( MatrixDeviation::MatrixDeviationValueType iType );
MacroPTAdjustmentExperiment Class¶
As seguintes funções foram adicionadas:
Função getMatrixDeviations¶
QMap< GKUserClass*, GKODMatrix* > getMatrixDeviations() const;
Função setMatrixDeviations¶
void setMatrixDeviations( const QMap< GKUserClass*, GKODMatrix * > & iMatrixDeviations );
Função getDeviationType¶
MatrixDeviation::MatrixDeviationValueType getDeviationType() const;
Função setDeviationType¶
void setDeviationType( MatrixDeviation::MatrixDeviationValueType iType );
Classe DistributionScenario¶
As seguintes funções foram adicionadas:
Função getSkim¶
GKODMatrix* getSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode , const GKODMatrix::AssignmentOutput & iCostType ) const;
setSkimFunction¶
void setSkim(const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode , GKODMatrix &iSkim ) const;
Função removeSkim¶
void removeSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode , const GKODMatrix::AssignmentOutput & iCostType );
Função getUserDefinedSkim¶
GKODMatrix* getUserDefinedSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const uint iColumnIndex ) const;
Função setUserDefinedSkim¶
void setUserDefinedSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const uint iColumnIndex, GKODMatrix& iSkim );
Função removeUserDefinedSkim¶
void removeUserDefinedSkim( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode, const uint iColumnIndex );
Função getAllSkims¶
QVector<GKODMatrix*> getAllSkims( const GKGenerationAttractionVector& iGAVector , const GKTransportationMode& iMode ) const;
Recomendamos usá-las para definir as Matrizes de Skims em vez de:
Função setInitialUserSkim¶
void setInitialUserSkim( const QMap<GKUserClass*, GKODMatrix *> & iSkims );
Função getInitialUserSkims¶
QMap<GKUserClass*, GKODMatrix*> getInitialUserSkims() const;
Função getInitialUserSkim¶
getInitialUserSkim( GKUserClass * iUser ) const;
Alterações do Aimsun Next 8.4¶
A seguir há uma lista de todas as funções que mudaram entre o Aimsun Next 8.3 e o Aimsun Next 8.4 para ajudar a atualizar facilmente scripts antigos. As classes com alterações são:
Classe GKScenarioInputData¶
função getRecordSimulation¶
A função para definir ou obter se uma simulação dinâmica está sendo gravada foi movida da classe GKScenarioInputData para a classe GKReplication. A assinatura de ambas as funções permaneceu a mesma e é:
bool getRecordSimulation() const;
void setRecordSimulation( bool aRecordSimulation );
Classe AdjustmentMeasurementContext¶
O tipo MeasurementType agora pode representar mais dois tipos de medição: eGKRoute (associado a contagens de subcaminhos) e eODCount (associado ao termo OD):
enum MeasurementType{ eNone, eSection, eTurning, eDetector, eOriginCount, eDestinationCount, eBoarding, eAlighting, ePathLengthDistribution, ePTDetector, eODProportions, eSuperNodeTrajectory, eGKRoute, eODCount }
Alterações introduzidas antes do Aimsun Next 8.4¶
A seguir está uma lista de todas as funções que foram alteradas entre versões anteriores ao Aimsun Next 8.4 para ajudar a atualizar scripts antigos facilmente. As classes com alterações são:
Além disso, houve alterações em funções usadas para simulando e para criar comandos.
Classe GKFolder¶
Alterações do Aimsun 8.1.1¶
função getContentsTypes¶
A função getContentsTypes agora tem um quarto parâmetro para incluir o modelo de demanda de viagens.
Assinatura antiga:
QVector<GKType*> getContentsTypes( bool staticOn = true, bool mesoOn = true, bool microOn = true ) const;
Nova assinatura:
QVector<GKType*> getContentsTypes( bool staticOn = true, bool mesoOn = true, bool microOn = true, bool travelDemand = true ) const;
Classe GKPublicLine¶
Alterações do Aimsun 8.1.1¶
função createPTSections¶
As funções createPTSections disponíveis no Aimsun 8.0 não estão mais disponíveis no Aimsun 8.1, pois GKPTSection foi removido.
Em vez de chamar a função não disponível:
void createPTSections( const QList<GKSection*> & route, const QVector<GKBusStop*> & stops );
as seguintes funções podem ser usadas:
publicLine.unsetPTLineForSections()
publicLine.setRoute( route )
publicLine.setPTLineForSections()
publicLine.setStops( stops )
Classe GKNode¶
Alterações do Aimsun 8.1.2¶
função getSignalPos¶
A assinatura de getSignalPos foi alterada de:
uint getSignalPos( uint idSignal ) const;
para:
uint getSignalPos( uint idSignal, uint scenarioId = 0 ) const;
para incluir configurações de geometria.
/*! Returns the resulting vector of calculating the vectorial product between this vector and v2 */
GKVector prodVect( const GKVector & v2 ) const; //producto vectorial entre this y v2.
/*! Returns the scalar product between to vectors*/
double prodEsc( const GKVector & v2) const;
GKVector¶
Alterações do Aimsun 8.1.1¶
Função prodVect¶
A função prodVect com assinatura:
GKVector prodVect( const GKVector & v2 ) const;
foi substituído pela função:
GKVector crossProduct( const GKVector & v2 ) const;
Função prodEsc¶
A função prodEsc com assinatura:
double prodEsc( const GKVector & v2) const;
foi substituído pela função:
double dotProduct( const GKVector & v2) const;
QString¶
Alterações do Aimsun 8.2¶
O objeto QString foi descontinuado. A nova versão transforma automaticamente objetos QString em Python Strings e, portanto, seu uso pode ser exatamente como uma Python String. No exemplo:
eid = section.getExternalId().toInt()
deve ser substituído por
eid = int( section.getExternalId() )
QTime¶
Alterações do Aimsun 8.2¶
O uso de QTime foi alterado. O construtor padrão QTime() retorna um objeto QTime inválido. Portanto, qualquer método aplicado a ele falhará. Para criar um QTime corretamente, as horas e os minutos devem ser fornecidos.
qtime = QTime(0,0)
GKSection¶
função GKSection getLanesLength¶
A função:
GKCoord getLanesLength() const;
foi descontinuado no Aimsun Next 8.3 e deve ser alterado para getLanesLength2D() ou getLanesLength3D() dependendo da saída esperada.
Alterações relacionadas às classes de scripting para simulação¶
A principal alteração no Aimsun 8.3 foi a descontinuação de todas as diferentes classes de scripting para executar os procedimentos de cálculo (simulações dinâmicas, alocação, ajuste, recuperação de saídas etc.).
Essas classes e funções foram substituídas por um mecanismo, chamado Kernel Actions, para que os diferentes procedimentos de cálculo (simulações dinâmicas, alocação, ajuste etc.) forneçam uma interface comum para comandar sua execução.
GKSystem tem um método, GKSystem::executeAction, que permite executar uma Kernel Action para um objeto-alvo ou uma seleção de objetos.
Todos os objetos que executam um cálculo (replicação, experimento de atribuição, experimento de ajuste etc.) implementam uma Ação do Kernel, chamada execute, que inicia o cálculo. Isso tem o mesmo efeito que clicar com o botão direito no objeto e selecionar o item de menu que inicia o cálculo (executar simulação em lote, executar atribuição estática de tráfego, executar ajuste OD estático etc.).
Isso torna particularmente fácil executar tarefas como, por exemplo, iniciar uma simulação em lote de uma replicação:
replication = model.getCatalog().find( 1001 )
GKSystem.getSystem().executeAction( "execute", replication, [], "" )
Para executar um conjunto de simulações em sequência, basta fornecer uma lista de replicações como terceiro argumento. Observe que você precisa declarar uma das replicações como o segundo argumento, embora somente as que estão na lista (terceiro argumento), se ela não estiver vazia, serão simuladas. O segundo argumento precisa ser um objeto do mesmo tipo que os do terceiro argumento.
replication1 = model.getCatalog().find( 1001 )
replication2 = model.getCatalog().find( 1002 )
GKSystem.getSystem().executeAction( "execute", replication1, [replication1, replication2], "" )
Para executar uma simulação microscópica em modo animado, basta substituir a ação execute pela ação play.
Vale observar que Kernel Actions também são acessíveis pela linha de comando (prompt do DOS ou Terminal); portanto, você não precisa escrever um script se quiser executar programaticamente uma simulação que já esteja configurada.
"Aimsun Next" --verbose --project test.ang --command execute --target 1001
Alterações relacionadas às classes Command¶
Comandos para criar todos os tipos de cenários e experimentos agora estão disponíveis.
Além disso, as funções doit e undoit não estão mais disponíveis, e a função model.getCommander().addCommand deve ser usada em seu lugar. Por exemplo, para criar um Experimento de Ajuste de Transporte Público Macro, o seguinte código poderia ser usado:
cmd = model.createNewCmd( model.getType( "MacroPTAdjustmentExperiment" ));
cmd.setScenario( scenario );
model.getCommander().addCommand( cmd );
res = cmd.createdObject();