Class ConfigurationSpaces<TConfiguration>
Implementation of configuration spaces. This class only retrieves data generated by ConfigurationSpacesGenerator.
Inheritance
System.Object
ConfigurationSpaces<TConfiguration>
Assembly: Edgar.dll
Syntax
public class ConfigurationSpaces<TConfiguration> : AbstractConfigurationSpaces<int, IntAlias<PolygonGrid2D>, TConfiguration>, IConfigurationSpaces<int, IntAlias<PolygonGrid2D>, TConfiguration, ConfigurationSpace>, IRandomInjectable, IConfigurationSpaces<TConfiguration> where TConfiguration : IConfiguration<IntAlias<PolygonGrid2D>, int>
Type Parameters
Name |
Description |
TConfiguration |
|
Constructors
ConfigurationSpaces(ILineIntersection<OrthogonalLineGrid2D>, Int32, Int32, Func<TConfiguration, TConfiguration, Int32>)
Declaration
public ConfigurationSpaces(ILineIntersection<OrthogonalLineGrid2D> lineIntersection, int roomTemplateInstancesCount, int nodesCount, Func<TConfiguration, TConfiguration, int> configurationSpaceSelector)
Parameters
Type |
Name |
Description |
ILineIntersection<OrthogonalLineGrid2D> |
lineIntersection |
|
System.Int32 |
roomTemplateInstancesCount |
|
System.Int32 |
nodesCount |
|
System.Func<TConfiguration, TConfiguration, System.Int32> |
configurationSpaceSelector |
|
Fields
ConfigurationSpaces_
Declaration
protected ConfigurationSpace[][][] ConfigurationSpaces_
Field Value
IntAliasMapping
Declaration
protected TwoWayDictionary<RoomTemplateInstance, IntAlias<PolygonGrid2D>> IntAliasMapping
Field Value
ShapesForNodes
Declaration
protected List<List<WeightedShape>> ShapesForNodes
Field Value
Type |
Description |
System.Collections.Generic.List<System.Collections.Generic.List<WeightedShape>> |
|
Methods
AddConfigurationSpace(RoomTemplateInstance, RoomTemplateInstance, ConfigurationSpace[])
Declaration
public void AddConfigurationSpace(RoomTemplateInstance roomTemplateInstance1, RoomTemplateInstance roomTemplateInstance2, ConfigurationSpace[] configurationSpace)
Parameters
AddShapeForNode(Int32, RoomTemplateInstance, Double)
Declaration
public void AddShapeForNode(int node, RoomTemplateInstance roomTemplateInstance, double probability)
Parameters
Type |
Name |
Description |
System.Int32 |
node |
|
RoomTemplateInstance |
roomTemplateInstance |
|
System.Double |
probability |
|
CanPerturbShape(Int32)
Checks whether a node can be shape perturbed.
Declaration
public override bool CanPerturbShape(int node)
Parameters
Type |
Name |
Description |
System.Int32 |
node |
|
Returns
Type |
Description |
System.Boolean |
|
Overrides
Edgar.Legacy.Core.ConfigurationSpaces.AbstractConfigurationSpaces<System.Int32, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, TConfiguration>.CanPerturbShape(System.Int32)
GetAllShapes()
Gets all shapes that can be used for at least one node.
Declaration
public override IEnumerable<IntAlias<PolygonGrid2D>> GetAllShapes()
Returns
Overrides
Edgar.Legacy.Core.ConfigurationSpaces.AbstractConfigurationSpaces<System.Int32, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, TConfiguration>.GetAllShapes()
GetConfigurationSpace(TConfiguration, TConfiguration)
Gets a configuration space for given two configurations.
Declaration
public override ConfigurationSpace GetConfigurationSpace(TConfiguration mainConfiguration, TConfiguration configuration)
Parameters
Type |
Name |
Description |
TConfiguration |
mainConfiguration |
Configuration with a shape that can be moved.
|
TConfiguration |
configuration |
Configuration with a shape that is fixed.
|
Returns
Overrides
Edgar.Legacy.Core.ConfigurationSpaces.AbstractConfigurationSpaces<System.Int32, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, TConfiguration>.GetConfigurationSpace(TConfiguration, TConfiguration)
GetConfigurationSpace(IntAlias<PolygonGrid2D>, IntAlias<PolygonGrid2D>)
Gets a configuration space for two shapes.
Declaration
public override ConfigurationSpace GetConfigurationSpace(IntAlias<PolygonGrid2D> movingPolygon, IntAlias<PolygonGrid2D> fixedPolygon)
Parameters
Returns
Overrides
Edgar.Legacy.Core.ConfigurationSpaces.AbstractConfigurationSpaces<System.Int32, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, TConfiguration>.GetConfigurationSpace(Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>)
GetConfigurationSpaces(TConfiguration, IList<TConfiguration>)
Gets configurations spaces of a given main configuration with respect to other configurations.
Declaration
protected override IList<Tuple<TConfiguration, ConfigurationSpace>> GetConfigurationSpaces(TConfiguration mainConfiguration, IList<TConfiguration> configurations)
Parameters
Type |
Name |
Description |
TConfiguration |
mainConfiguration |
Plays a role of a shape that can be moved.
|
System.Collections.Generic.IList<TConfiguration> |
configurations |
Fixed configurations.
|
Returns
Type |
Description |
System.Collections.Generic.IList<System.Tuple<TConfiguration, ConfigurationSpace>> |
|
Overrides
Edgar.Legacy.Core.ConfigurationSpaces.AbstractConfigurationSpaces<System.Int32, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, TConfiguration>.GetConfigurationSpaces(TConfiguration, System.Collections.Generic.IList<TConfiguration>)
GetIntAliasMapping()
Declaration
public TwoWayDictionary<RoomTemplateInstance, IntAlias<PolygonGrid2D>> GetIntAliasMapping()
Returns
GetRandomShape(Int32)
Get random shape for a given node based on probabilities of shapes.
Declaration
public override IntAlias<PolygonGrid2D> GetRandomShape(int node)
Parameters
Type |
Name |
Description |
System.Int32 |
node |
|
Returns
Overrides
Edgar.Legacy.Core.ConfigurationSpaces.AbstractConfigurationSpaces<System.Int32, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, TConfiguration>.GetRandomShape(System.Int32)
GetShapesForNode(Int32)
Gets all possible shapes for a given node.
Declaration
public override IReadOnlyCollection<IntAlias<PolygonGrid2D>> GetShapesForNode(int node)
Parameters
Type |
Name |
Description |
System.Int32 |
node |
|
Returns
Overrides
Edgar.Legacy.Core.ConfigurationSpaces.AbstractConfigurationSpaces<System.Int32, Edgar.Legacy.GeneralAlgorithms.DataStructures.Common.IntAlias<Edgar.Geometry.PolygonGrid2D>, TConfiguration>.GetShapesForNode(System.Int32)
Implements