Skip to content

Commit

Permalink
updating to jupedsim 1.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
behrisch committed Apr 25, 2024
1 parent f1b844b commit 90fca7d
Show file tree
Hide file tree
Showing 53 changed files with 4,440 additions and 3,298 deletions.
Binary file removed jupedsim-1.1.0/bin/jupedsim.dll
Binary file not shown.
1,642 changes: 0 additions & 1,642 deletions jupedsim-1.1.0/debug-build/include/jupedsim/jupedsim.h

This file was deleted.

Binary file removed jupedsim-1.1.0/debug-build/lib/jupedsim.lib
Binary file not shown.
1,642 changes: 0 additions & 1,642 deletions jupedsim-1.1.0/include/jupedsim/jupedsim.h

This file was deleted.

Binary file removed jupedsim-1.1.0/lib/jupedsim.lib
Binary file not shown.
Binary file added jupedsim-1.2.0/bin/jupedsim.dll
Binary file not shown.
Binary file not shown.
159 changes: 159 additions & 0 deletions jupedsim-1.2.0/debug-build/include/jupedsim/agent.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
/* Copyright © 2012-2024 Forschungszentrum Jülich GmbH */
/* SPDX-License-Identifier: LGPL-3.0-or-later */
#pragma once

#include "collision_free_speed_model.h"
#include "collision_free_speed_model_v2.h"
#include "error.h"
#include "export.h"
#include "generalized_centrifugal_force_model.h"
#include "social_force_model.h"
#include "types.h"

#include <stdbool.h> /*NOLINT(modernize-deprecated-headers)*/

#ifdef __cplusplus
extern "C" {
#endif

/**
* Opaque type of an agent
*/
typedef struct JPS_Agent_t* JPS_Agent;

/**
* Access the agents id.
* @param handle of the agent to access.
* @return the id
*/
JUPEDSIM_API JPS_AgentId JPS_Agent_GetId(JPS_Agent handle);

/**
* Access the agents journey id.
* @param handle of the agent to access.
* @return the id of this agents journey
*/
JUPEDSIM_API JPS_JourneyId JPS_Agent_GetJourneyId(JPS_Agent handle);

/**
* Access the agents currently targeted stage id.
* @param handle of the agent to access.
* @return the id of the stage currently targeted
*/
JUPEDSIM_API JPS_StageId JPS_Agent_GetStageId(JPS_Agent handle);

/**
* Access the agents position.
* @param handle of the agent to access.
* @return position
*/
JUPEDSIM_API JPS_Point JPS_Agent_GetPosition(JPS_Agent handle);

/**
* Access the agents current target.
* @param handle of the agent to access.
* @return target of the agent
*/
JUPEDSIM_API JPS_Point JPS_Agent_GetTarget(JPS_Agent handle);

JUPEDSIM_API bool
JPS_Agent_SetTarget(JPS_Agent handle, JPS_Point target, JPS_ErrorMessage* errorMessage);

/**
* Access the agents orientation.
* The orientation is unit length.
* @param handle of the agent to access.
* @return the orientation
*/
JUPEDSIM_API JPS_Point JPS_Agent_GetOrientation(JPS_Agent handle);

/**
* Access the agets model type information.
* @param handle of the agent to access.
* @return type of model in use
*/
JUPEDSIM_API JPS_ModelType JPS_Agent_GetModelType(JPS_Agent handle);

/**
* Access Generalized Centrifugal Force model state.
* Precondition: Agent needs to use Generalized Centrifugal Force model
* @param handle of the agent to access.
* @param[out] errorMessage if not NULL: will be set to a JPS_ErrorMessage in case of an error.
* @return state or NULL on error
*/
JUPEDSIM_API JPS_GeneralizedCentrifugalForceModelState
JPS_Agent_GetGeneralizedCentrifugalForceModelState(
JPS_Agent handle,
JPS_ErrorMessage* errorMessage);

/**
* Access Collision Free Speed model state.
* Precondition: Agent needs to use Collision Free Speed model
* @param handle of the agent to access.
* @param[out] errorMessage if not NULL: will be set to a JPS_ErrorMessage in case of an error.
* @return state or NULL on error
*/
JUPEDSIM_API JPS_CollisionFreeSpeedModelState
JPS_Agent_GetCollisionFreeSpeedModelState(JPS_Agent handle, JPS_ErrorMessage* errorMessage);

/**
* Access Social Force model state.
* Precondition: Agent needs to use Social Force model
* @param handle of the agent to access.
* @param[out] errorMessage if not NULL: will be set to a JPS_ErrorMessage in case of an error.
* @return state or NULL on error
*/
JUPEDSIM_API JPS_SocialForceModelState
JPS_Agent_GetSocialForceModelState(JPS_Agent handle, JPS_ErrorMessage* errorMessage);

/**
* Access Collision Free Speed model V2 state.
* Precondition: Agent needs to use Collision Free Speed model V2
* @param handle of the agent to access.
* @param[out] errorMessage if not NULL: will be set to a JPS_ErrorMessage in case of an error.
* @return state or NULL on error
*/
JUPEDSIM_API JPS_CollisionFreeSpeedModelV2State
JPS_Agent_GetCollisionFreeSpeedModelV2State(JPS_Agent handle, JPS_ErrorMessage* errorMessage);

/**
* Opaque type of an iterator over agents
*/
typedef struct JPS_AgentIterator_t* JPS_AgentIterator;

/**
* Access the next element in the iterator.
* Calling JPS_AgentIterator_Next repeatedly on a finished iterator is save.
* @param handle of the iterator to advance and access
* @return an agent or NULL if the iterator is at the end. The pointer returned does not need to be
* freed and is invalidated on the next call to this function!
*/
JUPEDSIM_API JPS_Agent JPS_AgentIterator_Next(JPS_AgentIterator handle);

/**
* Free the iterator.
* @param handle to the JPS_AgentIterator to free.
*/
JUPEDSIM_API void JPS_AgentIterator_Free(JPS_AgentIterator handle);

/**
* Opaque type of an iterator over agent ids
*/
typedef struct JPS_AgentIdIterator_t* JPS_AgentIdIterator;

/**
* Access the next element in the iterator.
* Calling JPS_AgentIterator_Next repeatedly on a finished iterator is save.
* @param handle of the iterator to advance and access
* @return an agentId, Zero in case the iterator has reachedits end.
*/
JUPEDSIM_API JPS_AgentId JPS_AgentIdIterator_Next(JPS_AgentIdIterator handle);

/**
* Free the iterator.
* @param handle to the JPS_AgentIterator to free.
*/
JUPEDSIM_API void JPS_AgentIdIterator_Free(JPS_AgentIdIterator handle);
#ifdef __cplusplus
}
#endif
49 changes: 49 additions & 0 deletions jupedsim-1.2.0/debug-build/include/jupedsim/build_info.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/* Copyright © 2012-2024 Forschungszentrum Jülich GmbH */
/* SPDX-License-Identifier: LGPL-3.0-or-later */
#pragma once

#include "export.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
* Contains build information about this library
*/
typedef struct JPS_BuildInfo {
/**
* Shortened commit id from which this version was build
*/
const char* git_commit_hash;
/**
* Date the last commit was made
*/
const char* git_commit_date;
/**
* Branch name from which this libabry was build
*/
const char* git_branch;
/**
* Compiler identifier used to build this library
*/
const char* compiler;
/**
* Compiler version used to build this library
*/
const char* compiler_version;
/**
* Version of this library
*/
const char* library_version;
} JPS_BuildInfo;

/**
* Access meta information about the library.
* @return build information about this library
*/
JUPEDSIM_API JPS_BuildInfo JPS_GetBuildInfo();

#ifdef __cplusplus
}
#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
/* Copyright © 2012-2024 Forschungszentrum Jülich GmbH */
/* SPDX-License-Identifier: LGPL-3.0-or-later */
#pragma once

#include "error.h"
#include "export.h"
#include "operational_model.h"
#include "types.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
* Opaque type for a Collision Free Speed Model Builder
*/
typedef struct JPS_CollisionFreeSpeedModelBuilder_t* JPS_CollisionFreeSpeedModelBuilder;

/**
* Creates a Collision Free Speed Model builder.
* @param strength_neighbor_repulsion describes the strength with which neighbors repulse each
* other.
* @param range_neighbor_repulsion describes the range at hich neighbors repulse each other.
* @param strength_geometry_repulsion describes the strength with which neighbors are repules by
* geometry.
* @param range_geometry_repulsion describes the range at hich neighbors are repulsed by geometry.
* @return the builder
*/
JUPEDSIM_API JPS_CollisionFreeSpeedModelBuilder JPS_CollisionFreeSpeedModelBuilder_Create(
double strengthNeighborRepulsion,
double rangeNeighborRepulsion,
double strengthGeometryRepulsion,
double rangeGeometryRepulsion);

/**
* Creates a JPS_OperationalModel of type Collision Free Speed Model from the
* JPS_GeneralizedCentrifugalForceModelBuilder.
* @param handle the builder to operate on
* @param[out] errorMessage if not NULL: will be set to a JPS_ErrorMessage in case of an error
* @return a JPS_GeneralizedCentrifugalForceModel or NULL if an error occured.
*/
JUPEDSIM_API JPS_OperationalModel JPS_CollisionFreeSpeedModelBuilder_Build(
JPS_CollisionFreeSpeedModelBuilder handle,
JPS_ErrorMessage* errorMessage);

/**
* Frees a JPS_CollisionFreeSpeedModelBuilder
* @param handle to the JPS_CollisionFreeSpeedModelBuilder to free.
*/
JUPEDSIM_API void
JPS_CollisionFreeSpeedModelBuilder_Free(JPS_CollisionFreeSpeedModelBuilder handle);

/**
* Opaque type of Collision Free Speed model state
*/
typedef struct JPS_CollisionFreeSpeedModelState_t* JPS_CollisionFreeSpeedModelState;

/**
* Read e0 of this agent.
* @param handle of the Agent to access.
* @return e0 of this agent
*/
JUPEDSIM_API JPS_Point
JPS_CollisionFreeSpeedModelState_GetE0(JPS_CollisionFreeSpeedModelState handle);

/**
* Write e0 of this agent.
* @param handle of the Agent to access.
* @param e0 of this agent.
*/
JUPEDSIM_API void
JPS_CollisionFreeSpeedModelState_SetE0(JPS_CollisionFreeSpeedModelState handle, JPS_Point e0);

/**
* Read time gap of this agent.
* @param handle of the Agent to access.
* @return time gap of this agent
*/
JUPEDSIM_API double
JPS_CollisionFreeSpeedModelState_GetTimeGap(JPS_CollisionFreeSpeedModelState handle);

/**
* Write time gap of this agent.
* @param handle of the Agent to access.
* @param time_gap of this agent.
*/
JUPEDSIM_API void JPS_CollisionFreeSpeedModelState_SetTimeGap(
JPS_CollisionFreeSpeedModelState handle,
double time_gap);

/**
* Read tau of this agent.
* @param handle of the Agent to access.
* @return tau of this agent
*/
JUPEDSIM_API double
JPS_CollisionFreeSpeedModelState_GetTau(JPS_CollisionFreeSpeedModelState handle);

/**
* Write tau of this agent.
* @param handle of the Agent to access.
* @param tau of this agent.
*/
JUPEDSIM_API void
JPS_CollisionFreeSpeedModelState_SetTau(JPS_CollisionFreeSpeedModelState handle, double tau);

/**
* Read v0 of this agent.
* @param handle of the Agent to access.
* @return v0 of this agent
*/
JUPEDSIM_API double JPS_CollisionFreeSpeedModelState_GetV0(JPS_CollisionFreeSpeedModelState handle);

/**
* Write v0 of this agent.
* @param handle of the Agent to access.
* @param v0 of this agent.
*/
JUPEDSIM_API void
JPS_CollisionFreeSpeedModelState_SetV0(JPS_CollisionFreeSpeedModelState handle, double v0);

/**
* Read radius of this agent.
* @param handle of the Agent to access.
* @return radius of this agent
*/
JUPEDSIM_API double
JPS_CollisionFreeSpeedModelState_GetRadius(JPS_CollisionFreeSpeedModelState handle);

/**
* Write radius of this agent in meters.
* @param handle of the Agent to access.
* @param radius (m) of this agent.
*/
JUPEDSIM_API void
JPS_CollisionFreeSpeedModelState_SetRadius(JPS_CollisionFreeSpeedModelState handle, double radius);
/**
* Describes parameters of an Agent in GeneralizedCentrifugalForceModel
*/
typedef struct JPS_CollisionFreeSpeedModelAgentParameters {
/**
* Position of the agent.
* The position needs to inside the accessible area.
*/
JPS_Point position{0, 0};
/**
* Defines the journey this agent will take use
*/
JPS_JourneyId journeyId = 0;
/**
* Defines the current stage of its journey
*/
JPS_StageId stageId = 0;
/**
* @param time_gap of the agents using this profile (T in the OV-function)
*/
double time_gap = 1.;
/**
*@param v0 of the agents using this profile(desired speed) double radius;
*/
double v0 = 1.2;
/**
*@param radius of the agent in 'meters'
*/
double radius = 0.2;
} JPS_CollisionFreeSpeedModelAgentParameters;

#ifdef __cplusplus
}
#endif
Loading

0 comments on commit 90fca7d

Please sign in to comment.