RigsofRods
Soft-body Physics Simulation
Data Structures | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes
RigDef::Parser Class Reference

Checks the rig-def file syntax and pulls data to File object. More...

#include <RigDef_Parser.h>

+ Collaboration diagram for RigDef::Parser:

Data Structures

struct  Token
 

Public Member Functions

 Parser ()
 
void Prepare ()
 
void Finalize ()
 
void ProcessOgreStream (Ogre::DataStream *stream, Ogre::String resource_group)
 
void ProcessRawLine (const char *line)
 
RigDef::DocumentPtr GetFile ()
 
SequentialImporterGetSequentialImporter ()
 

Static Public Member Functions

static void ProcessForsetLine (RigDef::Flexbody &def, const std::string &line, int line_number=-1)
 
static Keyword IdentifyKeyword (const std::string &line)
 
static SpecialProp IdentifySpecialProp (const std::string &str)
 

Static Public Attributes

static const int LINE_BUFFER_LENGTH = 2000
 
static const int LINE_MAX_ARGS = 100
 

Private Member Functions

void ProcessGlobalDirective (Keyword keyword)
 Directives that should only appear in root module. More...
 
void ParseDirectiveAddAnimation ()
 
void ParseDirectiveBackmesh ()
 
void ParseDirectiveDefaultSkin ()
 
void ParseDirectiveDetacherGroup ()
 
void ParseDirectiveFlexbodyCameraMode ()
 
void ParseDirectiveForset ()
 
void ParseDirectivePropCameraMode ()
 
void ParseDirectiveSection ()
 
void ParseDirectiveSectionConfig ()
 
void ParseDirectiveSetBeamDefaults ()
 
void ParseDirectiveSetBeamDefaultsScale ()
 
void ParseDirectiveSetDefaultMinimass ()
 
void ParseDirectiveSetInertiaDefaults ()
 
void ParseDirectiveSetManagedMaterialsOptions ()
 
void ParseDirectiveSetNodeDefaults ()
 
void ParseDirectiveSubmesh ()
 
void ParseAirbrakes ()
 
void ParseAnimator ()
 
void ParseAntiLockBrakes ()
 
void ParseAssetpacks ()
 
void ParseAuthor ()
 
void ParseAxles ()
 
void ParseBeams ()
 
void ParseBrakes ()
 
void ParseCab ()
 
void ParseCameras ()
 
void ParseCameraRails ()
 
void ParseCinecam ()
 
void ParseCollisionBox ()
 
void ParseCommandsUnified ()
 
void ParseContacter ()
 
void ParseCruiseControl ()
 
void ParseDescription ()
 
void ParseEngine ()
 
void ParseEngoption ()
 
void ParseEngturbo ()
 
void ParseExhaust ()
 
void ParseExtCamera ()
 
void ParseFileFormatVersion ()
 
void ParseFileinfo ()
 
void ParseFixes ()
 
void ParseFlaresUnified ()
 
void ParseFlares3 ()
 
void ParseFlexbody ()
 
void ParseFlexBodyWheel ()
 
void ParseFusedrag ()
 
void ParseGlobals ()
 
void ParseGuid ()
 
void ParseGuiSettings ()
 
void ParseHelp ()
 
void ParseHook ()
 
void ParseHydros ()
 
void ParseInterAxles ()
 
void ParseLockgroups ()
 
void ParseManagedMaterials ()
 
void ParseMaterialFlareBindings ()
 
void ParseMeshWheel ()
 
void ParseMeshWheel2 ()
 
void ParseMinimass ()
 
void ParseNodesUnified ()
 
void ParseParticles ()
 
void ParsePistonprops ()
 
void ParseProps ()
 
void ParseRailGroups ()
 
void ParseRopables ()
 
void ParseRopes ()
 
void ParseRotatorsUnified ()
 
void ParseScrewprops ()
 
void ParseScripts ()
 
void ParseSetCollisionRange ()
 
void ParseSetSkeletonSettings ()
 
void ParseShock ()
 
void ParseShock2 ()
 
void ParseShock3 ()
 
void ParseSlidenodes ()
 
void ParseSoundsources ()
 
void ParseSoundsources2 ()
 
void ParseSpeedLimiter ()
 
void ParseSubmeshGroundModel ()
 
void ParseTexcoords ()
 
void ParseTies ()
 
void ParseTorqueCurve ()
 
void ParseTractionControl ()
 
void ParseTransferCase ()
 
void ParseTriggers ()
 
void ParseTurbojets ()
 
void ParseTurbopropsUnified ()
 
void ParseVideoCamera ()
 
void ParseWheelDetachers ()
 
void ParseWheel ()
 
void ParseWheel2 ()
 
void ParseWing ()
 
void ProcessCurrentLine ()
 
int TokenizeCurrentLine ()
 
bool CheckNumArguments (int num_required_args)
 
void BeginBlock (RigDef::Keyword keyword)
 
void ProcessChangeModuleLine (Keyword keyword)
 
std::string GetArgStr (int index)
 
int GetArgInt (int index)
 
unsigned GetArgUint (int index)
 
long GetArgLong (int index)
 
float GetArgFloat (int index)
 
char GetArgChar (int index)
 
bool GetArgBool (int index)
 
WheelPropulsion GetArgPropulsion (int index)
 
WheelBraking GetArgBraking (int index)
 
Node::Ref GetArgNodeRef (int index)
 
Node::Ref GetArgRigidityNode (int index)
 
Node::Ref GetArgNullableNode (int index)
 
RoR::WheelSide GetArgWheelSide (int index)
 
WingControlSurface GetArgWingSurface (int index)
 
RoR::FlareType GetArgFlareType (int index)
 
RoR::ExtCameraMode GetArgExtCameraMode (int index)
 
std::string GetArgManagedTex (int index)
 
MinimassOption GetArgMinimassOption (int index)
 
BitMask_t GetArgCabOptions (int index)
 
BitMask_t GetArgTriggerOptions (int index)
 
BitMask_t GetArgBeamOptions (int index)
 
BitMask_t GetArgHydroOptions (int index)
 
BitMask_t GetArgShockOptions (int index)
 
BitMask_t GetArgShock2Options (int index)
 
BitMask_t GetArgShock3Options (int index)
 
BitMask_t GetArgNodeOptions (int index)
 
EngineType GetArgEngineType (int index)
 
ManagedMaterialType GetArgManagedMatType (int index)
 
float ParseArgFloat (const char *str)
 
int ParseArgInt (const char *str)
 
unsigned ParseArgUint (const char *str)
 
unsigned ParseArgUint (const std::string &s)
 
float ParseArgFloat (const std::string &s)
 
void LogMessage (RoR::Console::MessageType type, std::string const &msg)
 Adds a message to console. More...
 
Node::Ref _ParseNodeRef (std::string const &node_id_str)
 
void _ParseDifferentialTypes (DifferentialTypeVec &diff_types, std::string const &options_str)
 
void _ParseBaseMeshWheel (BaseMeshWheel &mesh_wheel)
 
void ParseOptionalInertia (Inertia &inertia, int index)
 

Static Private Member Functions

static void _TrimTrailingComments (std::string const &line_in, std::string &line_out)
 

Private Attributes

std::shared_ptr< Inertiam_ror_default_inertia
 
std::shared_ptr< NodeDefaultsm_ror_node_defaults
 
std::shared_ptr< Inertiam_user_default_inertia
 
std::shared_ptr< BeamDefaultsm_user_beam_defaults
 
std::shared_ptr< NodeDefaultsm_user_node_defaults
 
std::shared_ptr< DefaultMinimassm_set_default_minimass
 
int m_current_detacher_group
 
ManagedMaterialsOptions m_current_managed_material_options
 
std::shared_ptr< Document::Modulem_root_module
 
std::shared_ptr< Document::Modulem_current_module
 
unsigned int m_current_line_number
 
char m_current_line [LINE_BUFFER_LENGTH]
 
Token m_args [LINE_MAX_ARGS]
 Tokens of current line. More...
 
int m_num_args
 Number of tokens on current line. More...
 
Keyword m_current_block = Keyword::INVALID
 
Keyword m_log_keyword = Keyword::INVALID
 
bool m_any_named_node_defined
 Parser state. More...
 
std::shared_ptr< Submeshm_current_submesh
 Parser state. More...
 
std::shared_ptr< CameraRailm_current_camera_rail
 Parser state. More...
 
SequentialImporter m_sequential_importer
 
Ogre::String m_filename
 
Ogre::String m_resource_group
 
RigDef::DocumentPtr m_definition
 

Detailed Description

Checks the rig-def file syntax and pulls data to File object.

Author
Petr Ohlidal

For every section/directive, there is a data-container struct defined in File.h. The Parser should preferably only read data as-is, without validation.

Every time a line of a particular section is parsed, an instance of the struct is saved into an array container in struct RigDef::Document. There are exceptions to this rule.

Keywords 'set_[node|beam|inertia]_defaults' are 'presets' and are managed by dyn. allocated objects. For every preset, there are 2 pointers:

Definition at line 56 of file RigDef_Parser.h.

Constructor & Destructor Documentation

◆ Parser()

RigDef::Parser::Parser ( )

Definition at line 69 of file RigDef_Parser.cpp.

Member Function Documentation

◆ _ParseBaseMeshWheel()

void RigDef::Parser::_ParseBaseMeshWheel ( BaseMeshWheel mesh_wheel)
private

Definition at line 653 of file RigDef_Parser.cpp.

◆ _ParseDifferentialTypes()

void RigDef::Parser::_ParseDifferentialTypes ( DifferentialTypeVec diff_types,
std::string const &  options_str 
)
private

Definition at line 2511 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ _ParseNodeRef()

Node::Ref RigDef::Parser::_ParseNodeRef ( std::string const &  node_id_str)
private

Definition at line 2022 of file RigDef_Parser.cpp.

◆ _TrimTrailingComments()

void RigDef::Parser::_TrimTrailingComments ( std::string const &  line_in,
std::string &  line_out 
)
staticprivate

Definition at line 2289 of file RigDef_Parser.cpp.

◆ BeginBlock()

void RigDef::Parser::BeginBlock ( RigDef::Keyword  keyword)
private

Definition at line 2722 of file RigDef_Parser.cpp.

◆ CheckNumArguments()

bool RigDef::Parser::CheckNumArguments ( int  num_required_args)
private

Definition at line 309 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ Finalize()

void RigDef::Parser::Finalize ( )

Definition at line 2814 of file RigDef_Parser.cpp.

+ Here is the caller graph for this function:

◆ GetArgBeamOptions()

BitMask_t RigDef::Parser::GetArgBeamOptions ( int  index)
private

Definition at line 3132 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgBool()

bool RigDef::Parser::GetArgBool ( int  index)
private

Definition at line 3023 of file RigDef_Parser.cpp.

◆ GetArgBraking()

WheelBraking RigDef::Parser::GetArgBraking ( int  index)
private

Definition at line 2907 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgCabOptions()

BitMask_t RigDef::Parser::GetArgCabOptions ( int  index)
private

Definition at line 3080 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgChar()

char RigDef::Parser::GetArgChar ( int  index)
private

Definition at line 2829 of file RigDef_Parser.cpp.

◆ GetArgEngineType()

EngineType RigDef::Parser::GetArgEngineType ( int  index)
private

Definition at line 3305 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgExtCameraMode()

ExtCameraMode RigDef::Parser::GetArgExtCameraMode ( int  index)
private

Definition at line 2973 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgFlareType()

FlareType RigDef::Parser::GetArgFlareType ( int  index)
private

Definition at line 2945 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgFloat()

float RigDef::Parser::GetArgFloat ( int  index)
private

Definition at line 2985 of file RigDef_Parser.cpp.

◆ GetArgHydroOptions()

BitMask_t RigDef::Parser::GetArgHydroOptions ( int  index)
private

Definition at line 3153 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgInt()

int RigDef::Parser::GetArgInt ( int  index)
private

Definition at line 2875 of file RigDef_Parser.cpp.

◆ GetArgLong()

long RigDef::Parser::GetArgLong ( int  index)
private

Definition at line 2850 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgManagedMatType()

ManagedMaterialType RigDef::Parser::GetArgManagedMatType ( int  index)
private

Definition at line 3321 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgManagedTex()

std::string RigDef::Parser::GetArgManagedTex ( int  index)
private

Definition at line 3057 of file RigDef_Parser.cpp.

◆ GetArgMinimassOption()

MinimassOption RigDef::Parser::GetArgMinimassOption ( int  index)
private

Definition at line 3063 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgNodeOptions()

BitMask_t RigDef::Parser::GetArgNodeOptions ( int  index)
private

Definition at line 3260 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgNodeRef()

Node::Ref RigDef::Parser::GetArgNodeRef ( int  index)
private

Definition at line 2926 of file RigDef_Parser.cpp.

◆ GetArgNullableNode()

Node::Ref RigDef::Parser::GetArgNullableNode ( int  index)
private

Definition at line 2931 of file RigDef_Parser.cpp.

◆ GetArgPropulsion()

WheelPropulsion RigDef::Parser::GetArgPropulsion ( int  index)
private

Definition at line 2890 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgRigidityNode()

Node::Ref RigDef::Parser::GetArgRigidityNode ( int  index)
private

Definition at line 2880 of file RigDef_Parser.cpp.

◆ GetArgShock2Options()

BitMask_t RigDef::Parser::GetArgShock2Options ( int  index)
private

Definition at line 3215 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgShock3Options()

BitMask_t RigDef::Parser::GetArgShock3Options ( int  index)
private

Definition at line 3238 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgShockOptions()

BitMask_t RigDef::Parser::GetArgShockOptions ( int  index)
private

Definition at line 3192 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgStr()

std::string RigDef::Parser::GetArgStr ( int  index)
private

Definition at line 2824 of file RigDef_Parser.cpp.

◆ GetArgTriggerOptions()

BitMask_t RigDef::Parser::GetArgTriggerOptions ( int  index)
private

Definition at line 3105 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgUint()

unsigned RigDef::Parser::GetArgUint ( int  index)
private

Definition at line 2940 of file RigDef_Parser.cpp.

◆ GetArgWheelSide()

WheelSide RigDef::Parser::GetArgWheelSide ( int  index)
private

Definition at line 2834 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgWingSurface()

WingControlSurface RigDef::Parser::GetArgWingSurface ( int  index)
private

Definition at line 3028 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetFile()

RigDef::DocumentPtr RigDef::Parser::GetFile ( )
inline

Definition at line 77 of file RigDef_Parser.h.

+ Here is the caller graph for this function:

◆ GetSequentialImporter()

SequentialImporter* RigDef::Parser::GetSequentialImporter ( )
inline

Definition at line 82 of file RigDef_Parser.h.

+ Here is the caller graph for this function:

◆ IdentifyKeyword()

Keyword RigDef::Parser::IdentifyKeyword ( const std::string &  line)
static

Definition at line 2676 of file RigDef_Parser.cpp.

◆ IdentifySpecialProp()

SpecialProp RigDef::Parser::IdentifySpecialProp ( const std::string &  str)
static

Definition at line 3289 of file RigDef_Parser.cpp.

+ Here is the caller graph for this function:

◆ LogMessage()

void RigDef::Parser::LogMessage ( RoR::Console::MessageType  type,
std::string const &  msg 
)
private

Adds a message to console.

Definition at line 2667 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseAirbrakes()

void RigDef::Parser::ParseAirbrakes ( )
private

Definition at line 1621 of file RigDef_Parser.cpp.

◆ ParseAnimator()

void RigDef::Parser::ParseAnimator ( )
private

Definition at line 2559 of file RigDef_Parser.cpp.

◆ ParseAntiLockBrakes()

void RigDef::Parser::ParseAntiLockBrakes ( )
private

Definition at line 1258 of file RigDef_Parser.cpp.

◆ ParseArgFloat() [1/2]

float RigDef::Parser::ParseArgFloat ( const char *  str)
private

Definition at line 2990 of file RigDef_Parser.cpp.

◆ ParseArgFloat() [2/2]

float RigDef::Parser::ParseArgFloat ( const std::string &  s)
private

Definition at line 2995 of file RigDef_Parser.cpp.

◆ ParseArgInt()

int RigDef::Parser::ParseArgInt ( const char *  str)
private

Definition at line 3018 of file RigDef_Parser.cpp.

◆ ParseArgUint() [1/2]

unsigned RigDef::Parser::ParseArgUint ( const char *  str)
private

Definition at line 3000 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseArgUint() [2/2]

unsigned RigDef::Parser::ParseArgUint ( const std::string &  s)
private

Definition at line 3013 of file RigDef_Parser.cpp.

◆ ParseAssetpacks()

void RigDef::Parser::ParseAssetpacks ( )
private

Definition at line 1644 of file RigDef_Parser.cpp.

◆ ParseAuthor()

void RigDef::Parser::ParseAuthor ( )
private

Definition at line 2649 of file RigDef_Parser.cpp.

◆ ParseAxles()

void RigDef::Parser::ParseAxles ( )
private

Definition at line 1564 of file RigDef_Parser.cpp.

◆ ParseBeams()

void RigDef::Parser::ParseBeams ( )
private

Definition at line 2532 of file RigDef_Parser.cpp.

◆ ParseBrakes()

void RigDef::Parser::ParseBrakes ( )
private

Definition at line 1551 of file RigDef_Parser.cpp.

◆ ParseCab()

void RigDef::Parser::ParseCab ( )
private

Definition at line 826 of file RigDef_Parser.cpp.

◆ ParseCameraRails()

void RigDef::Parser::ParseCameraRails ( )
private

Definition at line 1546 of file RigDef_Parser.cpp.

◆ ParseCameras()

void RigDef::Parser::ParseCameras ( )
private

Definition at line 1686 of file RigDef_Parser.cpp.

◆ ParseCinecam()

void RigDef::Parser::ParseCinecam ( )
private

Definition at line 1506 of file RigDef_Parser.cpp.

◆ ParseCollisionBox()

void RigDef::Parser::ParseCollisionBox ( )
private

Definition at line 1492 of file RigDef_Parser.cpp.

◆ ParseCommandsUnified()

void RigDef::Parser::ParseCommandsUnified ( )
private

Definition at line 1393 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseContacter()

void RigDef::Parser::ParseContacter ( )
private

Definition at line 1386 of file RigDef_Parser.cpp.

◆ ParseCruiseControl()

void RigDef::Parser::ParseCruiseControl ( )
private

Definition at line 1077 of file RigDef_Parser.cpp.

◆ ParseDescription()

void RigDef::Parser::ParseDescription ( )
private

Definition at line 1088 of file RigDef_Parser.cpp.

◆ ParseDirectiveAddAnimation()

void RigDef::Parser::ParseDirectiveAddAnimation ( )
private

Definition at line 1093 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseDirectiveBackmesh()

void RigDef::Parser::ParseDirectiveBackmesh ( )
private

Definition at line 623 of file RigDef_Parser.cpp.

◆ ParseDirectiveDefaultSkin()

void RigDef::Parser::ParseDirectiveDefaultSkin ( )
private

Definition at line 1052 of file RigDef_Parser.cpp.

◆ ParseDirectiveDetacherGroup()

void RigDef::Parser::ParseDirectiveDetacherGroup ( )
private

Definition at line 1063 of file RigDef_Parser.cpp.

◆ ParseDirectiveFlexbodyCameraMode()

void RigDef::Parser::ParseDirectiveFlexbodyCameraMode ( )
private

Definition at line 812 of file RigDef_Parser.cpp.

◆ ParseDirectiveForset()

void RigDef::Parser::ParseDirectiveForset ( )
private

Definition at line 882 of file RigDef_Parser.cpp.

◆ ParseDirectivePropCameraMode()

void RigDef::Parser::ParseDirectivePropCameraMode ( )
private

Definition at line 603 of file RigDef_Parser.cpp.

◆ ParseDirectiveSection()

void RigDef::Parser::ParseDirectiveSection ( )
private

Definition at line 2804 of file RigDef_Parser.cpp.

◆ ParseDirectiveSectionConfig()

void RigDef::Parser::ParseDirectiveSectionConfig ( )
private

Definition at line 2809 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetBeamDefaults()

void RigDef::Parser::ParseDirectiveSetBeamDefaults ( )
private

Definition at line 568 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetBeamDefaultsScale()

void RigDef::Parser::ParseDirectiveSetBeamDefaultsScale ( )
private

Definition at line 554 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetDefaultMinimass()

void RigDef::Parser::ParseDirectiveSetDefaultMinimass ( )
private

Definition at line 2049 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetInertiaDefaults()

void RigDef::Parser::ParseDirectiveSetInertiaDefaults ( )
private

Definition at line 2057 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetManagedMaterialsOptions()

void RigDef::Parser::ParseDirectiveSetManagedMaterialsOptions ( )
private

Definition at line 546 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetNodeDefaults()

void RigDef::Parser::ParseDirectiveSetNodeDefaults ( )
private

Definition at line 527 of file RigDef_Parser.cpp.

◆ ParseDirectiveSubmesh()

void RigDef::Parser::ParseDirectiveSubmesh ( )
private

Definition at line 617 of file RigDef_Parser.cpp.

◆ ParseEngine()

void RigDef::Parser::ParseEngine ( )
private

Definition at line 1354 of file RigDef_Parser.cpp.

◆ ParseEngoption()

void RigDef::Parser::ParseEngoption ( )
private

Definition at line 1303 of file RigDef_Parser.cpp.

◆ ParseEngturbo()

void RigDef::Parser::ParseEngturbo ( )
private

Definition at line 1324 of file RigDef_Parser.cpp.

◆ ParseExhaust()

void RigDef::Parser::ParseExhaust ( )
private

Definition at line 1027 of file RigDef_Parser.cpp.

◆ ParseExtCamera()

void RigDef::Parser::ParseExtCamera ( )
private

Definition at line 1016 of file RigDef_Parser.cpp.

◆ ParseFileFormatVersion()

void RigDef::Parser::ParseFileFormatVersion ( )
private

Definition at line 1041 of file RigDef_Parser.cpp.

◆ ParseFileinfo()

void RigDef::Parser::ParseFileinfo ( )
private

Definition at line 2154 of file RigDef_Parser.cpp.

◆ ParseFixes()

void RigDef::Parser::ParseFixes ( )
private

Definition at line 1011 of file RigDef_Parser.cpp.

◆ ParseFlares3()

void RigDef::Parser::ParseFlares3 ( )
private

Definition at line 978 of file RigDef_Parser.cpp.

◆ ParseFlaresUnified()

void RigDef::Parser::ParseFlaresUnified ( )
private

Definition at line 940 of file RigDef_Parser.cpp.

◆ ParseFlexbody()

void RigDef::Parser::ParseFlexbody ( )
private

Definition at line 863 of file RigDef_Parser.cpp.

◆ ParseFlexBodyWheel()

void RigDef::Parser::ParseFlexBodyWheel ( )
private

Definition at line 2385 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseFusedrag()

void RigDef::Parser::ParseFusedrag ( )
private

Definition at line 785 of file RigDef_Parser.cpp.

◆ ParseGlobals()

void RigDef::Parser::ParseGlobals ( )
private

Definition at line 772 of file RigDef_Parser.cpp.

◆ ParseGuid()

void RigDef::Parser::ParseGuid ( )
private

Definition at line 762 of file RigDef_Parser.cpp.

◆ ParseGuiSettings()

void RigDef::Parser::ParseGuiSettings ( )
private

Definition at line 751 of file RigDef_Parser.cpp.

◆ ParseHelp()

void RigDef::Parser::ParseHelp ( )
private

Definition at line 744 of file RigDef_Parser.cpp.

◆ ParseHook()

void RigDef::Parser::ParseHook ( )
private

Definition at line 706 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseHydros()

void RigDef::Parser::ParseHydros ( )
private

Definition at line 2478 of file RigDef_Parser.cpp.

◆ ParseInterAxles()

void RigDef::Parser::ParseInterAxles ( )
private

Definition at line 1595 of file RigDef_Parser.cpp.

◆ ParseLockgroups()

void RigDef::Parser::ParseLockgroups ( )
private

Definition at line 2463 of file RigDef_Parser.cpp.

◆ ParseManagedMaterials()

void RigDef::Parser::ParseManagedMaterials ( )
private

Definition at line 2432 of file RigDef_Parser.cpp.

◆ ParseMaterialFlareBindings()

void RigDef::Parser::ParseMaterialFlareBindings ( )
private

Definition at line 2421 of file RigDef_Parser.cpp.

◆ ParseMeshWheel()

void RigDef::Parser::ParseMeshWheel ( )
private

Definition at line 676 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseMeshWheel2()

void RigDef::Parser::ParseMeshWheel2 ( )
private

Definition at line 691 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseMinimass()

void RigDef::Parser::ParseMinimass ( )
private

Definition at line 2373 of file RigDef_Parser.cpp.

◆ ParseNodesUnified()

void RigDef::Parser::ParseNodesUnified ( )
private

Definition at line 2319 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseOptionalInertia()

void RigDef::Parser::ParseOptionalInertia ( Inertia inertia,
int  index 
)
private

Definition at line 2503 of file RigDef_Parser.cpp.

◆ ParseParticles()

void RigDef::Parser::ParseParticles ( )
private

Definition at line 2276 of file RigDef_Parser.cpp.

◆ ParsePistonprops()

void RigDef::Parser::ParsePistonprops ( )
private

Definition at line 2256 of file RigDef_Parser.cpp.

◆ ParseProps()

void RigDef::Parser::ParseProps ( )
private

Definition at line 2216 of file RigDef_Parser.cpp.

◆ ParseRailGroups()

void RigDef::Parser::ParseRailGroups ( )
private

Definition at line 2199 of file RigDef_Parser.cpp.

◆ ParseRopables()

void RigDef::Parser::ParseRopables ( )
private

Definition at line 2186 of file RigDef_Parser.cpp.

◆ ParseRopes()

void RigDef::Parser::ParseRopes ( )
private

Definition at line 2171 of file RigDef_Parser.cpp.

◆ ParseRotatorsUnified()

void RigDef::Parser::ParseRotatorsUnified ( )
private

Definition at line 2107 of file RigDef_Parser.cpp.

◆ ParseScrewprops()

void RigDef::Parser::ParseScrewprops ( )
private

Definition at line 2082 of file RigDef_Parser.cpp.

◆ ParseScripts()

void RigDef::Parser::ParseScripts ( )
private

Definition at line 2096 of file RigDef_Parser.cpp.

◆ ParseSetCollisionRange()

void RigDef::Parser::ParseSetCollisionRange ( )
private

Definition at line 343 of file RigDef_Parser.cpp.

◆ ParseSetSkeletonSettings()

void RigDef::Parser::ParseSetSkeletonSettings ( )
private

Definition at line 509 of file RigDef_Parser.cpp.

◆ ParseShock()

void RigDef::Parser::ParseShock ( )
private

Definition at line 2002 of file RigDef_Parser.cpp.

◆ ParseShock2()

void RigDef::Parser::ParseShock2 ( )
private

Definition at line 1975 of file RigDef_Parser.cpp.

◆ ParseShock3()

void RigDef::Parser::ParseShock3 ( )
private

Definition at line 1946 of file RigDef_Parser.cpp.

◆ ParseSlidenodes()

void RigDef::Parser::ParseSlidenodes ( )
private

Definition at line 1868 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseSoundsources()

void RigDef::Parser::ParseSoundsources ( )
private

Definition at line 1838 of file RigDef_Parser.cpp.

◆ ParseSoundsources2()

void RigDef::Parser::ParseSoundsources2 ( )
private

Definition at line 1849 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseSpeedLimiter()

void RigDef::Parser::ParseSpeedLimiter ( )
private

Definition at line 498 of file RigDef_Parser.cpp.

◆ ParseSubmeshGroundModel()

void RigDef::Parser::ParseSubmeshGroundModel ( )
private

Definition at line 491 of file RigDef_Parser.cpp.

◆ ParseTexcoords()

void RigDef::Parser::ParseTexcoords ( )
private

Definition at line 845 of file RigDef_Parser.cpp.

◆ ParseTies()

void RigDef::Parser::ParseTies ( )
private

Definition at line 1792 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseTorqueCurve()

void RigDef::Parser::ParseTorqueCurve ( )
private

Definition at line 1765 of file RigDef_Parser.cpp.

◆ ParseTractionControl()

void RigDef::Parser::ParseTractionControl ( )
private

Definition at line 430 of file RigDef_Parser.cpp.

◆ ParseTransferCase()

void RigDef::Parser::ParseTransferCase ( )
private

Definition at line 476 of file RigDef_Parser.cpp.

◆ ParseTriggers()

void RigDef::Parser::ParseTriggers ( )
private

Definition at line 1746 of file RigDef_Parser.cpp.

◆ ParseTurbojets()

void RigDef::Parser::ParseTurbojets ( )
private

Definition at line 1728 of file RigDef_Parser.cpp.

◆ ParseTurbopropsUnified()

void RigDef::Parser::ParseTurbopropsUnified ( )
private

Definition at line 1698 of file RigDef_Parser.cpp.

◆ ParseVideoCamera()

void RigDef::Parser::ParseVideoCamera ( )
private

Definition at line 1655 of file RigDef_Parser.cpp.

◆ ParseWheel()

void RigDef::Parser::ParseWheel ( )
private

Definition at line 387 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseWheel2()

void RigDef::Parser::ParseWheel2 ( )
private

Definition at line 353 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseWheelDetachers()

void RigDef::Parser::ParseWheelDetachers ( )
private

Definition at line 418 of file RigDef_Parser.cpp.

◆ ParseWing()

void RigDef::Parser::ParseWing ( )
private

Definition at line 324 of file RigDef_Parser.cpp.

◆ Prepare()

void RigDef::Parser::Prepare ( )

Definition at line 2697 of file RigDef_Parser.cpp.

+ Here is the caller graph for this function:

◆ ProcessChangeModuleLine()

void RigDef::Parser::ProcessChangeModuleLine ( Keyword  keyword)
private

Definition at line 2755 of file RigDef_Parser.cpp.

◆ ProcessCurrentLine()

void RigDef::Parser::ProcessCurrentLine ( )
private

Definition at line 76 of file RigDef_Parser.cpp.

◆ ProcessForsetLine()

void RigDef::Parser::ProcessForsetLine ( RigDef::Flexbody def,
const std::string &  line,
int  line_number = -1 
)
static

Definition at line 893 of file RigDef_Parser.cpp.

◆ ProcessGlobalDirective()

void RigDef::Parser::ProcessGlobalDirective ( Keyword  keyword)
private

Directives that should only appear in root module.

Definition at line 635 of file RigDef_Parser.cpp.

◆ ProcessOgreStream()

void RigDef::Parser::ProcessOgreStream ( Ogre::DataStream *  stream,
Ogre::String  resource_group 
)

Definition at line 3369 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ProcessRawLine()

void RigDef::Parser::ProcessRawLine ( const char *  line)

Definition at line 3392 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ TokenizeCurrentLine()

int RigDef::Parser::TokenizeCurrentLine ( )
private

Definition at line 3334 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

Field Documentation

◆ LINE_BUFFER_LENGTH

const int RigDef::Parser::LINE_BUFFER_LENGTH = 2000
static

Definition at line 61 of file RigDef_Parser.h.

◆ LINE_MAX_ARGS

const int RigDef::Parser::LINE_MAX_ARGS = 100
static

Definition at line 62 of file RigDef_Parser.h.

◆ m_any_named_node_defined

bool RigDef::Parser::m_any_named_node_defined
private

Parser state.

Definition at line 276 of file RigDef_Parser.h.

◆ m_args

Token RigDef::Parser::m_args[LINE_MAX_ARGS]
private

Tokens of current line.

Definition at line 272 of file RigDef_Parser.h.

◆ m_current_block

Keyword RigDef::Parser::m_current_block = Keyword::INVALID
private

Definition at line 274 of file RigDef_Parser.h.

◆ m_current_camera_rail

std::shared_ptr<CameraRail> RigDef::Parser::m_current_camera_rail
private

Parser state.

Definition at line 278 of file RigDef_Parser.h.

◆ m_current_detacher_group

int RigDef::Parser::m_current_detacher_group
private

Definition at line 263 of file RigDef_Parser.h.

◆ m_current_line

char RigDef::Parser::m_current_line[LINE_BUFFER_LENGTH]
private

Definition at line 271 of file RigDef_Parser.h.

◆ m_current_line_number

unsigned int RigDef::Parser::m_current_line_number
private

Definition at line 270 of file RigDef_Parser.h.

◆ m_current_managed_material_options

ManagedMaterialsOptions RigDef::Parser::m_current_managed_material_options
private

Definition at line 264 of file RigDef_Parser.h.

◆ m_current_module

std::shared_ptr<Document::Module> RigDef::Parser::m_current_module
private

Definition at line 268 of file RigDef_Parser.h.

◆ m_current_submesh

std::shared_ptr<Submesh> RigDef::Parser::m_current_submesh
private

Parser state.

Definition at line 277 of file RigDef_Parser.h.

◆ m_definition

RigDef::DocumentPtr RigDef::Parser::m_definition
private

Definition at line 285 of file RigDef_Parser.h.

◆ m_filename

Ogre::String RigDef::Parser::m_filename
private

Definition at line 282 of file RigDef_Parser.h.

◆ m_log_keyword

Keyword RigDef::Parser::m_log_keyword = Keyword::INVALID
private

Definition at line 275 of file RigDef_Parser.h.

◆ m_num_args

int RigDef::Parser::m_num_args
private

Number of tokens on current line.

Definition at line 273 of file RigDef_Parser.h.

◆ m_resource_group

Ogre::String RigDef::Parser::m_resource_group
private

Definition at line 283 of file RigDef_Parser.h.

◆ m_root_module

std::shared_ptr<Document::Module> RigDef::Parser::m_root_module
private

Definition at line 267 of file RigDef_Parser.h.

◆ m_ror_default_inertia

std::shared_ptr<Inertia> RigDef::Parser::m_ror_default_inertia
private

Definition at line 254 of file RigDef_Parser.h.

◆ m_ror_node_defaults

std::shared_ptr<NodeDefaults> RigDef::Parser::m_ror_node_defaults
private

Definition at line 255 of file RigDef_Parser.h.

◆ m_sequential_importer

SequentialImporter RigDef::Parser::m_sequential_importer
private

Definition at line 280 of file RigDef_Parser.h.

◆ m_set_default_minimass

std::shared_ptr<DefaultMinimass> RigDef::Parser::m_set_default_minimass
private

Definition at line 262 of file RigDef_Parser.h.

◆ m_user_beam_defaults

std::shared_ptr<BeamDefaults> RigDef::Parser::m_user_beam_defaults
private

Definition at line 260 of file RigDef_Parser.h.

◆ m_user_default_inertia

std::shared_ptr<Inertia> RigDef::Parser::m_user_default_inertia
private

Definition at line 259 of file RigDef_Parser.h.

◆ m_user_node_defaults

std::shared_ptr<NodeDefaults> RigDef::Parser::m_user_node_defaults
private

Definition at line 261 of file RigDef_Parser.h.


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