Skip to content

Atualizando Scripts Para Novas Versões

Mudanças no Aimsun Next 24.0.1

A seguir está uma lista de todas as classes e funções que mudaram ou foram adicionadas após a liberação do Aimsun Next 23.0.1. As classes com mudanças são:

Classe GKObject

As funções

    virtual void clearDataValueTS( const GKColumn * attr, GKTSDescription * aDescription = nullptr );
    void clearDataValueTSByID( uint attrId, GKTSDescription * aDescription = nullptr );
mudaram sua assinatura para
    virtual void clearDataValueTS( const GKColumn * attr );
    void clearDataValueTSByID( uint attrId );
e agora apenas limpam a Série Temporal existente na coluna fornecida. A lógica para inicialização extra foi movida para uma nova função.

Uma nova função para criação e inicialização de uma Série Temporal foi adicionada com a seguinte assinatura:

    GKTimeSerie* createDataValueTS(const GKColumn* attr, GKTSDescription* aDescription);

Essa função apenas cria a Série Temporal se a coluna associada não tiver uma série temporal já criada. Se já existir, a função retornará a Série Temporal sem fazer nenhuma alteração em seus valores.

Mudanças no Aimsun Next 24

A seguir está uma lista de todas as funções que mudaram entre Aimsun Next 23 e Aimsun Next 24 a fim de ajudar a atualizar scripts antigos facilmente. As classes com mudanças são:

Classe GKControllerParsOCIT

A assinatura das seguintes funções:

void setProtocolFilepath( const QString& filepath );
const QString& getProtocolFilepath() const;
foi substituída por:
void setProtocolFilepath( const GKFilePath& filepath );
const GKFilePath& getProtocolFilepath() const;

Classe GKControllerParsVSPLUS

O tipo dos seguintes membros:

QString informationFile;
QString parametersFile;
mudou para:
GKFilePath informationFile;
GKFilePath parametersFile;

Classe GKControllerParsSitrafficOffice

A assinatura das seguintes funções:

void setConfigurationFolder( const QString& filepath );
const QString& getConfigurationFolder() const;
foi substituída por:
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 modificada, agora possui 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 modificada, agora possui 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;
foi substituída por:
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 mudou de comportamento:

QString tryToPutVariablePath( const QString & fileName, GKModel * model = nullptr ) const;
Agora ela apenas substitui o caminho por PLUGINS_HOME. Para $MODEL_HOME use um caminho relativo.

Classe DynamicDepartureAdjustmentExperimentResult

A classe DynamicDepartureAdjustmentExperimentResult foi adicionada. Representa um Resultado de Reprogramação do Tempo de Partida Dinâmico OD.

Classe DynamicDepartureAdjustmentExperimentResultOutput

A classe DynamicDepartureAdjustmentExperimentResultOutput foi adicionada. Representa um Resultado de Saída de Reprogramação do Tempo de Partida Dinâmico 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 cruzamentos atuados com fases coordenadas para definir como aplicar o parâmetro de deslocamento:

enum OffsetReferencePoint { eBeginningOfFirstCoordinatedPhase, eBeginningOfLastCoordinatedPhase, eEndOfFirstCoordinatedPhase };

void setOffsetReferencePoint(OffsetReferencePoint referencePoint );
OffsetReferencePoint getOffsetReferencePoint() const;

Estes 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);

Mudanças no Aimsun Next 23.0.1

A seguir está uma lista de todas as classes e funções que mudaram ou foram adicionadas após a liberação do Aimsun Next 23 Versão Final. As classes com mudanças são:

Classe GKCentroidConfiguration

A assinatura das seguintes funções:

static GKCentroidConfiguration * getActualCentroidConfiguration( GKModel *, bool = false );
    void desactivate();
foi substituída por:
    static GKCentroidConfiguration * getCreateActiveCentroidConfiguration( GKModel *, bool = false );
    void deactivate();

Classe GKPedestrianCentroidConfiguration

A assinatura da seguinte função:

    void desactivate();
foi substituída por:
    void deactivate();

Classe GKPTZonePlan

A assinatura da seguinte função:

    void desactivate();
foi substituída por:
    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.

Mudanças no Aimsun Next 23

A seguir está uma lista de todas as funções que mudaram entre Aimsun Next 22 e Aimsun Next 23 a fim de ajudar a atualizar scripts antigos facilmente. As classes com mudanças são:

Classe GAnyObjectChooser

A seguinte assinatura da função mudou de

void setType( GKModel * amodel, GKType * atype, const ChooserMode & amode, bool listSubTypes = true );
para
void setType( GKType * atype, const ChooserMode & amode, bool listSubTypes = true );

O chooser não é mais definido chamando

GAnyObjectChooser.eOneObjectList
agora você precisa chamar
GAnyObjectChooser.ChooserMode.eOneObjectList

Classe GKCentroid

A seguinte função que estava recebendo um ID de cenário agora recebe o objeto cenário:

    void recalculatePercentages( const GKGenericScenario * scenario );

Classe GKCentroidSplitConnectionToNodeCmd

A classe GKCentroidSplitConnectionToNodeCmd foi adicionada.

Um comando para mover Conexões de Centróides de nodos para seções. Todas as conexões de/para nós serão convertidas para 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 };

Essas informações podem ser definidas usando a seguinte função:

void setOrigin( Origin from, const QString& originDescription = QString() );

Para recuperá-las, 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" está disponível apenas através 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;
Essas foram movidas para a classe GKSCOOTControllerDetector(#GKSCOOTControllerDetector).

    bool getSPIP() const;
    void setSPIP( bool sp );    
Essas foram movidas para a classe GKSCATSControllerDetector(#GKSCATSControllerDetector).

    const QString & getName() const;
    void setName( const QString & aname );

    int getLane() const;
    void setLane( int alane );
Essas foram movidas para a classe GKSCATSRMSControllerDetector(#GKSCATSRMSControllerDetector).

Classe GKSCOOTControllerDetector

Especialização de GKControllerDetector específica para controladores Yunex UTC.

setType

    void setType( Type value );

getType

    Type getType() const;

Classe GKSCATSControllerDetector

Especialização de GKControllerDetector específica para controladores SCATS.

getSPIP

    bool getSPIP() const;

setSPIP

    void setSPIP( bool sp );    

Classe GKSCATSRMSControllerDetector

Especialização de GKControllerDetector específica para controladores SCATS-RMS.

getName

    const QString & getName() const;

setName

    void setName( const QString & aname );

getLane

    int getLane() const;

setLane

    void setLane( int alane );

classe OCITControllerDetector

Especialização de GKControllerDetector específica para controladores OCIT.

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

A classe SiTrafficApValue foi renomeada para 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 dos centróides usados:

Função setCentroidGrouping

    void    setCentroidGrouping( GKGroupingType* iCentroidGrouping );
Função getCentroidGrouping
    GKGroupingType*     getCentroidGrouping() const;

A seguinte chamada de função para definir o limiar de estado mínimo 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 de veículo e o propósito, 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 dessa classe:

setCentroidConfiguration

void setCentroidConfiguration( GKCentroidConfiguration * cent );

setCarAvailability

void setCarAvailability( const int iCarAvailability );

Classe GKGeoObject

A seguinte função que estava recebendo um ID de cenário agora recebe o objeto cenário:

    virtual bool exists( const GKGenericScenario * scenario ) const;

Classe GKModel

getActiveScenarioId

O nome da função mudou:

quint32 getActiveScenarioId() const;
para
const GKGenericScenario* getActiveScenario() const;

Classe GKNode

A seguinte função que estava recebendo um ID de cenário agora recebe o objeto cenário:

    uint getSignalPos( uint /*idSignal*/, const GKGenericScenario * scenario = nullptr ) const;

Classe GKObject

A seguinte função foi adicionada para completar a interface dessa classe:

cloneAsTemporary

virtual GKObject * cloneAsTemporary( bool addItToModel = true ) const;

Classe GKODMatrix

As informações resumidas foram adicionadas como Colunas. Os seguintes novos atributos podem ser usados para acessá-los:

static uint minimumValueAtt;
static uint maximumValueAtt;
static uint emptyCellsCountAtt;
static uint nonEmptyCellsCountAtt;
static uint totalValueAtt;
static uint diagonalTotalValueAtt;
As seguintes funções foram adicionadas:
/** Muda a estrutura interna da matriz para esparsa. Usa menos memória se os dados tiverem muitos zeros. */
void setMatrixSparse();

/** Calcula as informações resumidas.
 *  @param canAskUser Se verdadeiro e o arquivo externo não puder ser encontrado, uma caixa de diálogo perguntando pela localização será exibida. */
void calculateSummary( bool canAskUser = true ) const;

/** Invalida o resumo atual. */
void invalidateSummary() const;

GKODMatrix& operator +=(const GKODMatrix & iMatrix);
A função ensureMatrixData tem um novo parâmetro opcional:
/** Garante que a matriz tenha dados. Caso a matriz seja armazenada externamente, restaura o conteúdo.
 * @param canAskUser Se verdadeiro e o arquivo externo não puder ser encontrado, uma caixa de diálogo perguntando pela localização será exibida.
 * Retorna falso se os dados não puderem ser restaurados.*/
bool ensureMatrixData( const QUuid & documentUUID = QUuid(), bool canAskUser = true ) const;

Classe GKPolygon

As seguintes funções que estavam recebendo um ID de cenário agora recebem o objeto 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;

Classe 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 estava recebendo um ID de cenário agora recebe o objeto 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 não 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 estava recebendo um ID de cenário agora recebe o objeto 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 um inteiro não assinado).

Como exemplo, a função setValue mudou de:

virtual void setValue( GKTimeSerieIndex index, double value, double deviation = -1.0, double lowerValue = -1.0 )
para
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;
foram apagadas.

Uma nota menor: a maioria dos valores de saída e entrada que não podem ser negativos foram alterados de int para inteiro não assinado.

Os métodos agregados, como a soma, foram mudados e agora não aceitam valores diretos de QDateTime como parâmetros. Como as funções permitem um índice de início/fim ao 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 de série temporal em vez disso (*).

Adicionadas duas funções que permitem a aquisição e verificação do valor nulo da série temporal dada, pois 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;

Por favor, leia a documentação do arquivo sip do GKTimeSerie para mais detalhes.

Classe GKTraversal

As seguintes funções que estavam recebendo um ID de cenário agora recebem o objeto 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 as que estão à frente...

  • Adiciona um 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 um 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 um 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 a existente:

    const DTAVehicleType * getDTAVehicleType() const;

encontrado no DTAUserClass dentro do 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 um Atribuição Estática através 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:

getTargetSlopeDev function

    double getTargetSlopeDev() const;

getTargetSlopeDev function

    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;
Agora todos os dados relacionados à convergência via o MacroAdjustmentIterationLog.

Classe MacroPTAdjustmentScenarioOutputData

A seguinte função que estava recebendo um ID de experimento agora recebe o objeto 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:

Centróide de Origem

const GKCentroid *  origin:

Centróide de Destino

const GKCentroid *  destination;

Classe do Usuário

const GKUserClass * user;

Demanda Original

double originalDemand

Demanda Ajustada

double adjustedDemand

MacroPTAdjustmentResult Class

A forma como os valores de demanda original e ajustada são acessados mudou.

A seguinte função foi removida:

getStates

const QVector<MacroAdjustmentState*> & getStates() const;

E as seguintes funções foram adicionadas para fornecer acesso melhorado 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;

MacroPTExperimentParams Class

As seguintes funções foram adicionadas:

walkingOnlyFunction

GKFunctionCost * walkingOnlyFunction() const;

setWalkingOnlyFunction

void setWalkingOnlyFunction( GKFunctionCost * aFunction );

Classe GradientIterationValidationData

Uma nova variável membro foi adicionada:

    AdjustmentRegressionData measurements_regression;

Além disso, a variável membro chamada "regression", mudou de:

    AdjustmentRegressionData regression;
para
    AdjustmentRegressionData demand_regression;
Para especificar qual informação contém.

Classe OuterIterationValidationData

A classe "AssignmentData" foi adicionada para manter apenas os dados relevantes de uma Atribuição Estática para esta classe. Por causa disso, uma variável membro "assign_data" foi adicionada:

    AssignmentData assignment_data;

Além disso, a variável membro chamada "regression", mudou de:

    AdjustmentRegressionData regression;
para
    AdjustmentRegressionData measurement_regression;
Para especificar qual informação contém.

Classe DistributionOutput

Várias funções foram adicionadas para completar a scriptização desta classe e conceder acesso a todos os dados que 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