libnolimits  1.0.0-beta
A NoLimits Roller Coaster 1 and 2 Library written in C++, which provides functionality to manipulate and create NoLimits 2 Parks or NoLimits 1 Tracks programmatically.
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
NoLimits::NoLimits2::SwitchTrack Class Reference

#include <SwitchTrack.h>

Collaboration diagram for NoLimits::NoLimits2::SwitchTrack:
[legend]

Public Types

enum  SwitchType { Fork, Merge }
 
enum  Direction { LeftRight, StraightLeft, StraightRight }
 
enum  Style { ShiftHorizontally, RotateVertically, RotateHorizontally }
 
enum  SpecialTrackType { None, SwitchTrackFork, SwitchTrackMerge, Transfer }
 
enum  DisplayStructure { Simple, Off }
 
enum  TrackType { None, Custom, SpecialTrack }
 

Public Member Functions

 SwitchTrack (SwitchType switchType)
 
void debug ()
 
Direction getDirection () const
 
void setDirection (const Direction &value)
 
Style getStyle () const
 
void setStyle (const Style &value)
 
DisplayStructure getDisplayStructure () const
 
void setDisplayStructure (const DisplayStructure &value)
 
uint32_t getDefaultTrack () const
 
void setDefaultTrack (const uint32_t &value)
 
SpecialTrackType getSpecialTrackType () const
 
void setSpecialTrackType (const SpecialTrackType &specialTrackType)
 
std::string getName () const
 
void setName (const std::string &value)
 
glm::vec3 getPosition () const
 
void setPosition (const glm::vec3 &value)
 
glm::vec3 getRotation () const
 
void setRotation (const glm::vec3 &value)
 
std::vector< uint32_t > getInput () const
 
uint32_t insertInput (uint32_t value)
 
std::vector< uint32_t > getOutput () const
 
uint32_t insertOutput (uint32_t value)
 
float getSwitchTime () const
 
void setSwitchTime (float value)
 
std::vector< Segment * > getSegment () const
 
uint32_t insertSegment (Segment *value)
 
TrackType getTrackType () const
 
void setTrackType (const TrackType &value)
 
virtual SectiongetSectionByName (std::string name)
 

Static Public Member Functions

static SpecialTrackcreateSpecialTrackFromType (SpecialTrackType specialTrackType)
 

Private Attributes

Direction direction
 
Style style
 
DisplayStructure displayStructure
 
uint32_t defaultTrack
 

Member Enumeration Documentation

◆ Direction

Enumerator
LeftRight 
StraightLeft 
StraightRight 

◆ DisplayStructure

Enumerator
Simple 
Off 

◆ SpecialTrackType

Enumerator
None 
SwitchTrackFork 
SwitchTrackMerge 
Transfer 

◆ Style

Enumerator
ShiftHorizontally 
RotateVertically 
RotateHorizontally 

◆ SwitchType

Enumerator
Fork 
Merge 

◆ TrackType

Enumerator
None 
Custom 
SpecialTrack 

Constructor & Destructor Documentation

◆ SwitchTrack()

NoLimits::NoLimits2::SwitchTrack::SwitchTrack ( SwitchType  switchType)
inline

Member Function Documentation

◆ createSpecialTrackFromType()

SpecialTrack * NoLimits::NoLimits2::SpecialTrack::createSpecialTrackFromType ( SpecialTrack::SpecialTrackType  specialTrackType)
staticinherited

◆ debug()

void NoLimits::NoLimits2::SwitchTrack::debug ( )
inlinevirtual

Reimplemented from NoLimits::NoLimits2::SpecialTrack.

◆ getDefaultTrack()

uint32_t NoLimits::NoLimits2::SwitchTrack::getDefaultTrack ( ) const

◆ getDirection()

SwitchTrack::Direction NoLimits::NoLimits2::SwitchTrack::getDirection ( ) const

◆ getDisplayStructure()

SpecialTrack::DisplayStructure NoLimits::NoLimits2::SwitchTrack::getDisplayStructure ( ) const

◆ getInput()

std::vector< uint32_t > NoLimits::NoLimits2::SpecialTrack::getInput ( ) const
inherited

◆ getName()

std::string NoLimits::NoLimits2::SpecialTrack::getName ( ) const
inherited

◆ getOutput()

std::vector< uint32_t > NoLimits::NoLimits2::SpecialTrack::getOutput ( ) const
inherited

◆ getPosition()

glm::vec3 NoLimits::NoLimits2::SpecialTrack::getPosition ( ) const
inherited

◆ getRotation()

glm::vec3 NoLimits::NoLimits2::SpecialTrack::getRotation ( ) const
inherited

◆ getSectionByName()

virtual Section* NoLimits::NoLimits2::Track::getSectionByName ( std::string  name)
inlinevirtualinherited

◆ getSegment()

std::vector< Segment * > NoLimits::NoLimits2::SpecialTrack::getSegment ( ) const
inherited

◆ getSpecialTrackType()

SpecialTrack::SpecialTrackType NoLimits::NoLimits2::SpecialTrack::getSpecialTrackType ( ) const
inherited

◆ getStyle()

SwitchTrack::Style NoLimits::NoLimits2::SwitchTrack::getStyle ( ) const

◆ getSwitchTime()

float NoLimits::NoLimits2::SpecialTrack::getSwitchTime ( ) const
inherited

◆ getTrackType()

Track::TrackType NoLimits::NoLimits2::Track::getTrackType ( ) const
inherited

◆ insertInput()

uint32_t NoLimits::NoLimits2::SpecialTrack::insertInput ( uint32_t  value)
inherited

◆ insertOutput()

uint32_t NoLimits::NoLimits2::SpecialTrack::insertOutput ( uint32_t  value)
inherited

◆ insertSegment()

uint32_t NoLimits::NoLimits2::SpecialTrack::insertSegment ( Segment value)
inherited

◆ setDefaultTrack()

void NoLimits::NoLimits2::SwitchTrack::setDefaultTrack ( const uint32_t &  value)

◆ setDirection()

void NoLimits::NoLimits2::SwitchTrack::setDirection ( const Direction value)

◆ setDisplayStructure()

void NoLimits::NoLimits2::SwitchTrack::setDisplayStructure ( const DisplayStructure value)

◆ setName()

void NoLimits::NoLimits2::SpecialTrack::setName ( const std::string &  value)
inherited

◆ setPosition()

void NoLimits::NoLimits2::SpecialTrack::setPosition ( const glm::vec3 &  value)
inherited

◆ setRotation()

void NoLimits::NoLimits2::SpecialTrack::setRotation ( const glm::vec3 &  value)
inherited

◆ setSpecialTrackType()

void NoLimits::NoLimits2::SpecialTrack::setSpecialTrackType ( const SpecialTrackType specialTrackType)
inherited

◆ setStyle()

void NoLimits::NoLimits2::SwitchTrack::setStyle ( const Style value)

◆ setSwitchTime()

void NoLimits::NoLimits2::SpecialTrack::setSwitchTime ( float  value)
inherited

◆ setTrackType()

void NoLimits::NoLimits2::Track::setTrackType ( const TrackType value)
inherited

Member Data Documentation

◆ defaultTrack

uint32_t NoLimits::NoLimits2::SwitchTrack::defaultTrack
private

◆ direction

Direction NoLimits::NoLimits2::SwitchTrack::direction
private

◆ displayStructure

DisplayStructure NoLimits::NoLimits2::SwitchTrack::displayStructure
private

◆ style

Style NoLimits::NoLimits2::SwitchTrack::style
private

The documentation for this class was generated from the following files: