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 | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
NoLimits::NoLimits2::Beam Class Reference

#include <Beam.h>

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

Public Types

enum  Type {
  None, Pipe, LoopingBeam, LBeam,
  HBeam, BoxBeam, WoodenChordBeam, WoodenCatwalk,
  CBeam, Cable
}
 
enum  LODPriority {
  Highest, High, Medium, Low,
  Lowest
}
 
enum  RotationMode { HorizontalBeam, VerticalBeam }
 
enum  Flags {
  NoCapsForLODsHint = 0, DimAsIfItWasInATunnel = 1, NoStartCapHint = 4, NoEndCapHint = 5,
  RotationModeAzimuth = 6
}
 
enum  ColorMode {
  CustomColor, SupportColor, HandrailsColor, CatwalkColor,
  SpineColor
}
 

Public Member Functions

 Beam ()
 
void debug ()
 
BeamConnectiongetConnection1 () const
 
void setConnection1 (BeamConnection *value)
 
BeamConnectiongetConnection2 () const
 
void setConnection2 (BeamConnection *value)
 
Type getType () const
 
void setType (const Type &value)
 
float getStartWidth () const
 
void setStartWidth (float value)
 
float getEndWidth () const
 
void setEndWidth (float value)
 
float getRotationAngle () const
 
void setRotationAngle (float value)
 
float getExtraLengthAtStart () const
 
void setExtraLengthAtStart (float value)
 
float getExtraLengthAtEnd () const
 
void setExtraLengthAtEnd (float value)
 
float getNodeOffsetRelativeX () const
 
void setNodeOffsetRelativeX (float value)
 
float getNodeOffsetAbsoluteYStart () const
 
void setNodeOffsetAbsoluteYStart (float value)
 
float getNodeOffsetAbsoluteYEnd () const
 
void setNodeOffsetAbsoluteYEnd (float value)
 
std::vector< BeamNode * > getBeamNode () const
 
uint32_t insertBeamNode (BeamNode *value)
 
uint32_t insertFlange (Flange *value)
 
RotationMode getRotationMode ()
 
void setRotationMode (RotationMode value)
 
LODPriority getLODPriority ()
 
void setLODPriority (LODPriority value)
 
bool getHasNoCapsForLODsHint ()
 
bool getHasDimAsIfItWasInATunnel ()
 
bool getHasNoStartCapHint ()
 
bool getHasNoEndCapHint ()
 
bool getHasRotationModeAzimuth ()
 
void setHasNoCapsForLODsHint (bool state)
 
void setHasDimAsIfItWasInATunnel (bool state)
 
void setHasNoStartCapHint (bool state)
 
void setHasNoEndCapHint (bool state)
 
void setHasRotationModeAzimuth (bool state)
 
glm::vec3 getColor () const
 
void setColor (const glm::vec3 &value)
 
ColorMode getColorMode ()
 
void setColorMode (ColorMode value)
 

Protected Member Functions

bool hasFlag1 (uint8_t flag)
 
bool hasFlag2 (uint8_t flag)
 
bool hasFlag3 (uint8_t flag)
 
void setWithCheckFlag1 (uint8_t flag, bool state)
 
void setWithCheckFlag2 (uint8_t flag, bool state)
 
void setWithCheckFlag3 (uint8_t flag, bool state)
 

Protected Attributes

uint8_t flag1
 
uint8_t flag2
 
uint8_t flag3
 

Private Member Functions

void setFlag1 (const uint8_t &value)
 
void setFlag2 (const uint8_t &value)
 
void setFlag3 (const uint8_t &value)
 

Private Attributes

BeamConnectionconnection1
 
BeamConnectionconnection2
 
Type type
 
float startWidth
 
float endWidth
 
float rotationAngle
 
float extraLengthAtStart
 
float extraLengthAtEnd
 
float nodeOffsetRelativeX
 
float nodeOffsetAbsoluteYStart
 
float nodeOffsetAbsoluteYEnd
 
std::vector< BeamNode * > beamNode
 

Member Enumeration Documentation

◆ ColorMode

Enumerator
CustomColor 
SupportColor 
HandrailsColor 
CatwalkColor 
SpineColor 

◆ Flags

Enumerator
NoCapsForLODsHint 
DimAsIfItWasInATunnel 
NoStartCapHint 
NoEndCapHint 
RotationModeAzimuth 

◆ LODPriority

Enumerator
Highest 
High 
Medium 
Low 
Lowest 

◆ RotationMode

Enumerator
HorizontalBeam 
VerticalBeam 

◆ Type

Enumerator
None 
Pipe 
LoopingBeam 
LBeam 
HBeam 
BoxBeam 
WoodenChordBeam 
WoodenCatwalk 
CBeam 
Cable 

Constructor & Destructor Documentation

◆ Beam()

NoLimits::NoLimits2::Beam::Beam ( )
inline

Member Function Documentation

◆ debug()

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

Reimplemented from NoLimits::Stream::Chunk.

◆ getBeamNode()

std::vector< BeamNode * > NoLimits::NoLimits2::Beam::getBeamNode ( ) const

◆ getColor()

glm::vec3 NoLimits::NoLimits2::SupportNode::getColor ( ) const
inherited

◆ getColorMode()

SupportNode::ColorMode NoLimits::NoLimits2::SupportNode::getColorMode ( )
inherited

◆ getConnection1()

BeamConnection * NoLimits::NoLimits2::Beam::getConnection1 ( ) const

◆ getConnection2()

BeamConnection * NoLimits::NoLimits2::Beam::getConnection2 ( ) const

◆ getEndWidth()

float NoLimits::NoLimits2::Beam::getEndWidth ( ) const

◆ getExtraLengthAtEnd()

float NoLimits::NoLimits2::Beam::getExtraLengthAtEnd ( ) const

◆ getExtraLengthAtStart()

float NoLimits::NoLimits2::Beam::getExtraLengthAtStart ( ) const

◆ getHasDimAsIfItWasInATunnel()

bool NoLimits::NoLimits2::SupportNode::getHasDimAsIfItWasInATunnel ( )
inherited

◆ getHasNoCapsForLODsHint()

bool NoLimits::NoLimits2::SupportNode::getHasNoCapsForLODsHint ( )
inherited

◆ getHasNoEndCapHint()

bool NoLimits::NoLimits2::SupportNode::getHasNoEndCapHint ( )
inherited

◆ getHasNoStartCapHint()

bool NoLimits::NoLimits2::SupportNode::getHasNoStartCapHint ( )
inherited

◆ getHasRotationModeAzimuth()

bool NoLimits::NoLimits2::SupportNode::getHasRotationModeAzimuth ( )
inherited

◆ getLODPriority()

Beam::LODPriority NoLimits::NoLimits2::Beam::getLODPriority ( )

◆ getNodeOffsetAbsoluteYEnd()

float NoLimits::NoLimits2::Beam::getNodeOffsetAbsoluteYEnd ( ) const

◆ getNodeOffsetAbsoluteYStart()

float NoLimits::NoLimits2::Beam::getNodeOffsetAbsoluteYStart ( ) const

◆ getNodeOffsetRelativeX()

float NoLimits::NoLimits2::Beam::getNodeOffsetRelativeX ( ) const

◆ getRotationAngle()

float NoLimits::NoLimits2::Beam::getRotationAngle ( ) const

◆ getRotationMode()

Beam::RotationMode NoLimits::NoLimits2::Beam::getRotationMode ( )

◆ getStartWidth()

float NoLimits::NoLimits2::Beam::getStartWidth ( ) const

◆ getType()

Beam::Type NoLimits::NoLimits2::Beam::getType ( ) const

◆ hasFlag1()

bool NoLimits::NoLimits2::SupportNode::hasFlag1 ( uint8_t  flag)
protectedinherited

◆ hasFlag2()

bool NoLimits::NoLimits2::SupportNode::hasFlag2 ( uint8_t  flag)
protectedinherited

◆ hasFlag3()

bool NoLimits::NoLimits2::SupportNode::hasFlag3 ( uint8_t  flag)
protectedinherited

◆ insertBeamNode()

uint32_t NoLimits::NoLimits2::Beam::insertBeamNode ( BeamNode value)

◆ insertFlange()

uint32_t NoLimits::NoLimits2::Beam::insertFlange ( Flange value)

◆ setColor()

void NoLimits::NoLimits2::SupportNode::setColor ( const glm::vec3 &  value)
inherited

◆ setColorMode()

void NoLimits::NoLimits2::SupportNode::setColorMode ( SupportNode::ColorMode  value)
inherited

◆ setConnection1()

void NoLimits::NoLimits2::Beam::setConnection1 ( BeamConnection value)

◆ setConnection2()

void NoLimits::NoLimits2::Beam::setConnection2 ( BeamConnection value)

◆ setEndWidth()

void NoLimits::NoLimits2::Beam::setEndWidth ( float  value)

◆ setExtraLengthAtEnd()

void NoLimits::NoLimits2::Beam::setExtraLengthAtEnd ( float  value)

◆ setExtraLengthAtStart()

void NoLimits::NoLimits2::Beam::setExtraLengthAtStart ( float  value)

◆ setFlag1()

void NoLimits::NoLimits2::Beam::setFlag1 ( const uint8_t &  value)
private

◆ setFlag2()

void NoLimits::NoLimits2::Beam::setFlag2 ( const uint8_t &  value)
private

◆ setFlag3()

void NoLimits::NoLimits2::Beam::setFlag3 ( const uint8_t &  value)
private

◆ setHasDimAsIfItWasInATunnel()

void NoLimits::NoLimits2::SupportNode::setHasDimAsIfItWasInATunnel ( bool  state)
inherited

◆ setHasNoCapsForLODsHint()

void NoLimits::NoLimits2::SupportNode::setHasNoCapsForLODsHint ( bool  state)
inherited

◆ setHasNoEndCapHint()

void NoLimits::NoLimits2::SupportNode::setHasNoEndCapHint ( bool  state)
inherited

◆ setHasNoStartCapHint()

void NoLimits::NoLimits2::SupportNode::setHasNoStartCapHint ( bool  state)
inherited

◆ setHasRotationModeAzimuth()

void NoLimits::NoLimits2::SupportNode::setHasRotationModeAzimuth ( bool  state)
inherited

◆ setLODPriority()

void NoLimits::NoLimits2::Beam::setLODPriority ( Beam::LODPriority  value)

◆ setNodeOffsetAbsoluteYEnd()

void NoLimits::NoLimits2::Beam::setNodeOffsetAbsoluteYEnd ( float  value)

◆ setNodeOffsetAbsoluteYStart()

void NoLimits::NoLimits2::Beam::setNodeOffsetAbsoluteYStart ( float  value)

◆ setNodeOffsetRelativeX()

void NoLimits::NoLimits2::Beam::setNodeOffsetRelativeX ( float  value)

◆ setRotationAngle()

void NoLimits::NoLimits2::Beam::setRotationAngle ( float  value)

◆ setRotationMode()

void NoLimits::NoLimits2::Beam::setRotationMode ( Beam::RotationMode  value)

◆ setStartWidth()

void NoLimits::NoLimits2::Beam::setStartWidth ( float  value)

◆ setType()

void NoLimits::NoLimits2::Beam::setType ( const Type value)

◆ setWithCheckFlag1()

void NoLimits::NoLimits2::SupportNode::setWithCheckFlag1 ( uint8_t  flag,
bool  state 
)
protectedinherited

◆ setWithCheckFlag2()

void NoLimits::NoLimits2::SupportNode::setWithCheckFlag2 ( uint8_t  flag,
bool  state 
)
protectedinherited

◆ setWithCheckFlag3()

void NoLimits::NoLimits2::SupportNode::setWithCheckFlag3 ( uint8_t  flag,
bool  state 
)
protectedinherited

Member Data Documentation

◆ beamNode

std::vector<BeamNode*> NoLimits::NoLimits2::Beam::beamNode
private

◆ connection1

BeamConnection* NoLimits::NoLimits2::Beam::connection1
private

◆ connection2

BeamConnection* NoLimits::NoLimits2::Beam::connection2
private

◆ endWidth

float NoLimits::NoLimits2::Beam::endWidth
private

◆ extraLengthAtEnd

float NoLimits::NoLimits2::Beam::extraLengthAtEnd
private

◆ extraLengthAtStart

float NoLimits::NoLimits2::Beam::extraLengthAtStart
private

◆ flag1

uint8_t NoLimits::NoLimits2::SupportNode::flag1
protectedinherited

◆ flag2

uint8_t NoLimits::NoLimits2::SupportNode::flag2
protectedinherited

◆ flag3

uint8_t NoLimits::NoLimits2::SupportNode::flag3
protectedinherited

◆ nodeOffsetAbsoluteYEnd

float NoLimits::NoLimits2::Beam::nodeOffsetAbsoluteYEnd
private

◆ nodeOffsetAbsoluteYStart

float NoLimits::NoLimits2::Beam::nodeOffsetAbsoluteYStart
private

◆ nodeOffsetRelativeX

float NoLimits::NoLimits2::Beam::nodeOffsetRelativeX
private

◆ rotationAngle

float NoLimits::NoLimits2::Beam::rotationAngle
private

◆ startWidth

float NoLimits::NoLimits2::Beam::startWidth
private

◆ type

Type NoLimits::NoLimits2::Beam::type
private

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