public class PathNodesAggregator<TPlacement, TDescriptor, TGlobalPivot, TGlobalTransform, TCoordinate, TVector, TDirection, TLocalPivot, TInput, TOutput> : IPlacementProcessor where TPlacement : IEntityPlacement<TDescriptor> where TDescriptor : IEntityDescriptor<TGlobalTransform> where TGlobalPivot : struct, IPivot<TCoordinate, TDirection, TGlobalPivot>, IConvertibleToLocalPivot<TGlobalTransform, TLocalPivot> where TGlobalTransform : unmanaged, ITransform<TCoordinate, TGlobalTransform> where TCoordinate : unmanaged, IDiscreteCoordinate<TCoordinate, TVector, TDirection> where TVector : IDirectionComposableVector<TVector, TDirection> where TDirection : unmanaged, IDirection3D<TDirection> where TLocalPivot : struct, IPivot<TVector, TDirection, TLocalPivot>, IConvertibleToGlobalPivot<TGlobalTransform, TGlobalPivot> where TInput : class, IEntityConnector where TOutput : class, IEntityConnector
public PathNodesAggregator(IMatchingDefinitionFinder<TDescriptor, TGlobalPivot> matchingDefinitionFinder, IEntityPlacementAdapter<TPlacement, TDescriptor, TGlobalTransform, TCoordinate> placementDefinitionSolver, IWorldIOQuery<TCoordinate, TDirection> ioQuery)
public void Process(IPlacementData placementData, PlacementInputHolder placementInput, IMapModel realMap, IReadOnlyMapLayoutModel virtualMap, IPlacementErrors placementErrors)