|
| virtual std::shared_ptr< TrackSystem > | This () const noexcept=0 |
| | Gets a shared pointer to this.
|
| virtual IDType | CreateCollection (IDType id=0)=0 |
| | Creates a TrackCollection with the supplied id.
|
| virtual void | RemoveCollection (IDType id)=0 |
| | Removes the TrackCollection with the specified id.
|
| virtual void | SetCollectionFrame (IDType id, const spat::Frame< Length, One > &frame)=0 |
| | Sets the frame of reference for a TrackCollection.
|
| virtual const spat::Frame< Length, One > & | GetCollectionFrame (IDType id) const =0 |
| | Gets the frame of reference for a TrackCollection.
|
| virtual IDType | SetActiveCollection (IDType id)=0 |
| | Sets a TrackCollection to be the active one.
|
| virtual IDType | GetActiveCollection () const =0 |
|
virtual std::shared_ptr< TrackCollectionContainer > | SetTrackCollectionContainer (std::shared_ptr< TrackCollectionContainer > pTrackCollectionContainer)=0 |
| virtual std::shared_ptr< TrackCollectionContainer > | GetCollectionContainer () const =0 |
| virtual std::shared_ptr< ConnectorCollection > | SetConnectorCollection (std::shared_ptr< ConnectorCollection > pConnectorCollection)=0 |
| | Attaches a ConnectorCollection to the track system.
|
| virtual ConnectorCollection * | GetConnectorCollection () const =0 |
| virtual std::shared_ptr< Sensor > | GetSensor (IDType id, TrackLocation *pTrackLocation) const =0 |
| virtual Length | CalculateGapSize (const Track::End &theOne, const Track::End &theOther) const =0 |
| virtual std::vector< Track::End > | GetUncoupledIn (const spat::Sphere< Length > &area) const =0 |
| | Searches for a free, uncoupled track end in the area.
|
| virtual void | Connection (Track::Coupling &coupling) const =0 |
| | Completes the coupling.
|
|
virtual void | Connection (const Track::End &end, Track::End &coupled) const =0 |
| virtual void | Connection (const Track::Coupling &couplings, Track::Coupling &active) const =0 |
| | Writes the coupled tracks data of the trackends in couplings to active.
|
| virtual void | CoupleAll (Length maxDistance=1_m, Angle maxKink=pi, bool bSilent=true)=0 |
| | Couples all open ends in the track system, if they are closer than maxDistance.
|
| virtual void | DeCoupleAll ()=0 |
| | Uncouples all the Tracks in the TrackSystem from each other.
|
Couples two tracks that are members of this TrackSystem.
- Parameters
-
| trackEnd1 | Shared pointer to and end of track A. |
| trackEnd2 | Shared pointer to and end of track B. |
| bUncoupledOnly | true if only loose ends should get connected, but existing connections stay untouched. |
|
|
virtual void | Couple (std::pair< std::shared_ptr< TrackBuilder >, Track::EndType > trackEnd1, std::pair< std::shared_ptr< TrackBuilder >, Track::EndType > trackEnd2) const =0 |
|
virtual void | Couple (const Track::Coupling &coupling, bool bUncoupledOnly=false) const =0 |
| virtual const char * | TypeName () const noexcept=0 |
| virtual bool | IsValid () const noexcept=0 |
| | Checks whether the elements in this collection are valid.
|
| virtual IDType | Add (std::shared_ptr< TrackBuilder > pValue_Type)=0 |
| | Adds an element to the container and returns its index in the container.
|
| virtual IDType | AddRelaxed (std::shared_ptr< TrackBuilder > pTraxType)=0 |
| | Adds an element to the container and returns its index in the container. Does not throw.
|
| virtual bool | Remove (TrackBuilder *pValue_Type, bool zeroIDs=false)=0 |
| | Removes an element from this container.
|
| virtual int | Take (TrackSystem &collection_Type)=0 |
| | Moves all the items from another container to this container.
|
|
virtual void | Clear ()=0 |
| | Removes all the elements from this container.
|
| virtual int | Count () const=0 |
| virtual iterator | begin ()=0 |
|
virtual const_iterator | cbegin () const=0 |
| virtual iterator | end ()=0 |
|
virtual const_iterator | cend () const=0 |
| virtual std::shared_ptr< TrackBuilder > | GetFirst () const=0 |
| virtual std::shared_ptr< TrackBuilder > | GetNext (const std::shared_ptr< TrackBuilder > &pValue_Type) const=0 |
| virtual std::shared_ptr< TrackBuilder > | GetLast () const=0 |
| virtual std::shared_ptr< TrackBuilder > | GetPrevious (const std::shared_ptr< TrackBuilder > &pValue_Type) const=0 |
| virtual void | PushActive (IDType id)=0 |
| | Pushes an element on the activety stack.
|
| virtual void | PopActive ()=0 |
| | Pops an element from the activity stack.
|
| virtual std::shared_ptr< TrackBuilder > | GetActive () const=0 |
| virtual void | ShiftIDs (int offset)=0 |
| | Adds an offset to all ids.
|
| virtual IDType | MaxID () const=0 |
| virtual IDType | MinID () const=0 |
|
| Collection (const Collection &)=delete |
|
Collection & | operator= (const Collection &)=delete |
|
virtual std::shared_ptr< TrackBuilder > | Get (IDType id) const=0 |
|
virtual bool | IsMember (const value_type &item) const=0 |
| virtual bool | Start (Scene &scene)=0 |
| | Called if the simulation is started.
|
| virtual void | Idle ()=0 |
| | Called during the simulation calculations, to perform tasks foreign to the physical simulation.
|
| virtual void | Update (Time dt=fixed_timestep)=0 |
| | Called to update the simulated object after the simuation step finishes.
|
|
virtual void | Pause () noexcept=0 |
| | Called if the simulation is paused.
|
|
virtual void | Resume () noexcept=0 |
| | Called if the simulation is resumed after pause.
|
|
virtual void | Stop () noexcept=0 |
| | Called if the simulation is stopped.
|
| virtual const std::string & | Reference (const std::string &name) const=0 |
| | Gets a reference that was set for this object by name.
|
|
virtual const std::vector< char const * > & | ReferenceNames (const std::string &namePart) const=0 |
| | Searches for all reference names that countain namePart as substring in the name.
|
| virtual IDType | ID () const noexcept=0 |
|
| Identified (const Identified &)=delete |
|
Identified & | operator= (const Identified &)=delete |
A track system is the container for tracks.
The TrackSystem maintains TrackCollection objects that are used to group and locate tracks inside of a TrackSystem. A track will deliver module relative coordinates with its Transition() methods, taking into account the TrackCollection's frame of reference.