• MARS Website
  • Core API
  • SmartOpenHamburg API
  • Model Components API
  • Common API
Show / Hide Table of Contents
  • Mars.Components
    • DependencyRegistrationModelling
  • Mars.Components.Agents
    • AbstractAgent
    • AbstractEntity
    • Agent
  • Mars.Components.Environments
    • AbstractEnvironment
    • AbstractGraphElement
    • AlwaysPassingNodeGuard
    • EntityLane<TEntity>
    • GeoEnvironment
    • GeoHashEnvironment<T>
    • IEnvironmentMediator
    • IModalChoiceResolver
    • PathHeuristics
    • SpatialEdge
    • SpatialGraphEntityExtensions
    • SpatialGraphEnvironment
    • SpatialGraphHelper
    • SpatialHashEnvironment<TEntity>
    • SpatialLane
    • SpatialNode
    • WorldIndexExtensions
  • Mars.Components.Environments.Cartesian
    • CartesianEnvironment<TEntity>
    • CollisionEnvironment<TCharacter, TObstacle>
    • CollisionKind
    • ConeExplorationView
    • ExplorationView
    • GeometryFactory
    • ICartesianEnvironment<TEntity>
    • ICharacter
    • ICollidable
    • ICollisionEnvironment<TCharacter, TObstacle>
    • IObstacle
    • IVisible
    • RayExplorationView
    • TrapezoidExploration
    • VisibilityKind
  • Mars.Components.Environments.Cartesian.Routing
    • CartesianRoutingService<TObstacle>
    • GeometryCoordinatesRoutingPointsGenerator
    • HomogenousRoutingPointsGenerator
    • IRoutingPointsGenerator
    • RandomRoutingPointsGenerator
    • SectionalRandomRoutingPointsGenerator
  • Mars.Components.Layers
    • AbstractActiveLayer
    • AbstractEnvelopedLayer
    • AbstractLayer
    • AbstractVectorFeature
    • AgentSchedulerLayer<TAgent, TLayer>
    • QuerySourceLoader
    • RasterLayer
    • SchedulerEntry
    • SchedulerLayer
    • VectorFeature
    • VectorLayer
    • VectorLayer<T>
    • VectorLayerHelper
  • Mars.Components.Layers.Temporal
    • IQueryFieldProvider
    • ITemporalObjectCatalog
    • ITemporalObjectIterator
    • TemporalCatalogFeature<TKey>
    • TemporalFeatureKind
    • TemporalMetadataLoader
  • Mars.Components.Services
    • AgentManager
  • Mars.Components.Services.Explorations
    • BoltzmannExploration
    • EpsilonGreedyExploration
    • IExplorationPolicy
    • RouletteWheelExploration
    • TabuSearchExploration
  • Mars.Components.Services.Learning
    • InfiniteQLearning
    • QLearning
    • Sarsa
  • Mars.Components.Services.Planning
    • ActionPlanResult
    • GoapAction
    • GoapAgentStates
    • GoapGoal
    • GoapPlanner
    • GoapStateKey<T>
    • GoapStateProperty
    • GoapStateProperty<TElement>
    • IGoapAction
    • IGoapAgentStates
    • IGoapGoal
    • IGoapPlanner
    • IGoapStateKey
    • StatesCommons
  • Mars.Components.Services.Planning.ActionCommons
    • AllGoalsSatisfiedAction
    • NoGoalReachableAction
  • Mars.Components.Starter
    • Command
    • CommandArgumentContainer
    • CommandParser
    • CommandSet
    • HelpCommand
    • Option
    • OptionContext
    • OptionException
    • OptionSet
    • OptionValueCollection
    • OptionValueType
    • SimulationStarter
  • Mars.Components.Starter.Exceptions
    • SimulationStartupException
  • Mars.Interfaces
    • IModelObject
    • ISimulationContainer
    • ISimulationContext
    • ISimulationModule
    • ISimulationState
    • IStepExecutionContext
    • SimulationContext
    • SimulationContext.WorkflowStateType
    • StepExecutionContext
  • Mars.Interfaces.Agents
    • IAgent
    • IAgent<TLayer>
    • IEntity
    • IMarsDslAgent
    • IModalCapabilitiesAgent
    • ISpatialGraphEntity
    • ITickClient
  • Mars.Interfaces.Annotations
    • ActiveConstructor
    • PropertyDescription
  • Mars.Interfaces.Data
    • AbstractDomainData
    • GeometryData
    • IDomainData
    • IGeometryData
    • IIdentifiableData
    • IMarsFeature
    • IRasterBandData
    • ISource
    • IStringData
    • IStringStructuredData
    • IStructuredData
    • IStructuredDataGeometry
    • IValueData
    • LayerInitData
    • RasterBandData
    • StringDataDto
    • StructuredData
    • VectorStructuredData
  • Mars.Interfaces.Environments
    • BoundingBox
    • DirectionType
    • EdgeExploreResult
    • EdgeStop
    • ExploreDirection
    • GeoPositionExtension
    • HighwayType
    • IEdge<TEdge, TNode>
    • IEntityLane<TEntity>
    • IEnvironment
    • IEnvironment<TEntity>
    • IGeoGridEnvironment<T>
    • IGraphEntity
    • IGraphEnvironment<TEdge, TNode>
    • INode<TEdge, TNode>
    • INodeGuard
    • IPositionable
    • IRoutePlanner
    • ISpatialEdge
    • ISpatialGraphEnvironment
    • ISpatialLane
    • ISpatialNode
    • LaneExploreResult
    • ModalChoice
    • MultimodalRoute
    • NodeIntegrationKind
    • Position
    • Route
    • RouteStop
    • Size
    • SpatialGraphExploreResult
    • SpatialModalityType
    • TrafficLightPhase
  • Mars.Interfaces.Layers
    • FinallySimulationStep
    • IChangingLayer
    • IDataContainer
    • IDataLayer
    • IDataSet
    • IEnvelopDataLayer
    • ILayer
    • IMarsDslLayer
    • IModalChoiceConsumer
    • InitSimulationStep
    • INotifyChangedSource<T>
    • IRaster<TValue>
    • IRasterLayer
    • ISteppedActiveLayer
    • IVectorFeature
    • IVectorLayer
    • IVectorLayer<T>
    • IVectorNode<TEntity>
    • RegisterAgent
    • UnregisterAgent
  • Mars.Interfaces.Model
    • ActiveTypeMapping
    • AgentMapping
    • AgentType
    • ConstructorType
    • ContainsOperator
    • DataContainer
    • DataType
    • EntityMapping
    • EntityType
    • Execution
    • FeatureType
    • Globals
    • IdentifiableElement
    • IndividualMapping
    • Input
    • InputConfiguration
    • LayerMapping
    • LayerType
    • ModelDescription
    • ModelElement
    • ObjectType
    • Output
    • OutputConfiguration
    • OutputFilter
    • OutputKind
    • OutputTargetType
    • ParameterMapping
    • Processing
    • ProcessingConfiguration
    • ProcessingTargetType
    • PropertyType
    • SimulationConfig
    • TimeSpanUnit
    • TimeSpanUnitExtensions
    • TypeElement
    • TypeMapping
  • Mars.Interfaces.Model.Converters
    • CultureConverter
    • SerializationTypeConverter
    • TimeSpanUnitConverter
  • Mars.Interfaces.Model.Exceptions
    • InvalidTypeException
    • MissingTypeException
  • Mars.Interfaces.Model.Options
    • AbstractEndpointOptions
    • AbstractFileOptions
    • AbstractOptions
    • AscOptions
    • CsvOptions
    • GeoJsonOptions
    • MongoOptions
    • MqttOptions
    • PostgresSqlOptions
    • RedisOptions
    • RelationalEndpointOptions
    • SerializationType
    • SocketOutputOptions
    • SpatialGraphOptions
    • SqLiteOptions
    • TripsOptions

Interface ICollisionEnvironment<TCharacter, TObstacle>

The collision environment manages characters and obstacles for exploration and movement. Collision situations are checked by the environment and resolved by calling responsible collision handles.
Namespace: Mars.Components.Environments.Cartesian
Assembly: Mars.Components.dll
Syntax
public interface ICollisionEnvironment<TCharacter, TObstacle> : IEnvironment, IModelObject where TCharacter : ICharacter where TObstacle : IObstacle
Type Parameters
Name Description
TCharacter Are movable, point entities.
TObstacle Can have arbitrary geometries and precise collision handles.

Properties

| Improve this Doc View Source

BoundingBox

Defines the spatial extent of the environment.
Declaration
BoundingBox BoundingBox { get; set; }
Property Value
Type Description
BoundingBox
| Improve this Doc View Source

Characters

All characters that are inserted in the environment.
Declaration
IEnumerable<TCharacter> Characters { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<TCharacter>
| Improve this Doc View Source

DefaultCollision

Gets or sets the default colliding behaviour, when no custom collision handle is provided.
Declaration
CollisionKind DefaultCollision { get; set; }
Property Value
Type Description
CollisionKind
Remarks
Default is Block.
| Improve this Doc View Source

DefaultVisibility

Gets or sets the default visibility behaviour, when no custom visibility handle is provided.
Declaration
VisibilityKind DefaultVisibility { get; set; }
Property Value
Type Description
VisibilityKind
Remarks
Default is Opaque.
| Improve this Doc View Source

RoutingPointsGenerator

A routing points generator for route searching purposes.
Declaration
IRoutingPointsGenerator RoutingPointsGenerator { get; set; }
Property Value
Type Description
IRoutingPointsGenerator

Methods

| Improve this Doc View Source

ExploreCharacters(TCharacter, Geometry, Func<TCharacter, Boolean>)

Explores all characters within a given geometry that match given predicate.
Declaration
IEnumerable<TCharacter> ExploreCharacters(TCharacter source, Geometry geometry, Func<TCharacter, bool> predicate = null)
Parameters
Type Name Description
TCharacter source The requesting character will not be part of the result set.
NetTopologySuite.Geometries.Geometry geometry Defines the spatial area of the exploration.
System.Func<TCharacter, System.Boolean> predicate Optionally reduces the result by defined criteria.
Returns
Type Description
System.Collections.Generic.IEnumerable<TCharacter> All other characters that comply with given parameters.
| Improve this Doc View Source

ExploreObstacles(Geometry, Func<TObstacle, Boolean>)

Explores all obstacles within a given geometry that match given predicate.
Declaration
IEnumerable<TObstacle> ExploreObstacles(Geometry geometry, Func<TObstacle, bool> predicate = null)
Parameters
Type Name Description
NetTopologySuite.Geometries.Geometry geometry Defines the spatial area of the exploration.
System.Func<TObstacle, System.Boolean> predicate Optionally reduces the result by defined criteria.
Returns
Type Description
System.Collections.Generic.IEnumerable<TObstacle> All obstacles that comply with given parameters.
| Improve this Doc View Source

FindRoute(TCharacter, Position)

Finds a route from the characters current position to the goal by avoiding non passable obstacles.
Declaration
IEnumerable<Position> FindRoute(TCharacter character, Position goal)
Parameters
Type Name Description
TCharacter character For that a route search is performed.
Position goal Defines the end of the route.
Returns
Type Description
System.Collections.Generic.IEnumerable<Position> The in-between positions from start (characters current position) to goal.
| Improve this Doc View Source

Insert(TCharacter, Position)

Tries to insert a character at given initial coordinate. If a blocking or removing collision occurs, the operation is aborted.
Declaration
bool Insert(TCharacter character, Position position)
Parameters
Type Name Description
TCharacter character That is inserted.
Position position The location where the character is inserted.
Returns
Type Description
System.Boolean true if insertion is successful; false otherwise.
| Improve this Doc View Source

Insert(TObstacle, Geometry)

Tries to insert an obstacle with given geometry. If a blocking or removing collision occurs, the operation is aborted.
Declaration
bool Insert(TObstacle obstacle, Geometry geometry)
Parameters
Type Name Description
TObstacle obstacle That is inserted.
NetTopologySuite.Geometries.Geometry geometry Describes spatial dimension and form as well as location.
Returns
Type Description
System.Boolean true if insertion is successful; false otherwise.
| Improve this Doc View Source

Move(TCharacter, Double, Double)

Moves given character with a bearing for a distance. If the character collides with an obstacle on the way, the obstacles collision handle is called to react and resolve the situation. The character may be removed or repositioned by the handle.
Declaration
Position Move(TCharacter character, double bearing, double distance)
Parameters
Type Name Description
TCharacter character That is moved.
System.Double bearing Defines the direction of movement (bearing is between 0 and 360).
System.Double distance Distance for movement.
Returns
Type Description
Position The new position where the character actually ends up.
| Improve this Doc View Source

PosAt(TCharacter, Position)

Moves the character directly to the target position without checking collisions on the way. It is still checked if collisions appear at the new position.
Declaration
Position PosAt(TCharacter character, Position target)
Parameters
Type Name Description
TCharacter character That is positioned.
Position target The goal position of the character.
Returns
Type Description
Position The new position where the character actually ends up.
| Improve this Doc View Source

Remove(TCharacter)

Removes the character.
Declaration
bool Remove(TCharacter character)
Parameters
Type Name Description
TCharacter character That is removed.
Returns
Type Description
System.Boolean true if successfully removed; false if not found.
| Improve this Doc View Source

Remove(TObstacle)

Removes the obstacle.
Declaration
bool Remove(TObstacle obstacle)
Parameters
Type Name Description
TObstacle obstacle That is removed.
Returns
Type Description
System.Boolean true if successfully removed; false if not found.

Extension Methods

DomainDataImporter.Import(Object, InputConfiguration)
ObjectSerialize.Serialize(Object)
Matrix.IsEqual(Object, Object, Decimal, Decimal)
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © MARS GROUP. HAW Hamburg