RigsofRods  2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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>

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 ParseDirectiveForvert ()
 
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 ParseFlaregroupsNoImport ()
 
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)
 
void FlushPendingDocComment (size_t vectorlen, RigDef::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)
 
RoR::WheelPropulsion GetArgPropulsion (int index)
 
RoR::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)
 
RoR::VideoCamRole GetArgVideoCamRole (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 = 0
 
char m_current_line [LINE_BUFFER_LENGTH] = {}
 
Token m_args [LINE_MAX_ARGS] = {}
 Tokens of current line. More...
 
int m_num_args = 0
 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 = false
 Parser state. More...
 
std::shared_ptr< Submeshm_current_submesh
 Parser state. More...
 
std::shared_ptr< CameraRailm_current_camera_rail
 Parser state. More...
 
DocComment m_pending_doc_comment
 To be linked with the following element. 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 678 of file RigDef_Parser.cpp.

◆ _ParseDifferentialTypes()

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

Definition at line 2680 of file RigDef_Parser.cpp.

◆ _ParseNodeRef()

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

Definition at line 2151 of file RigDef_Parser.cpp.

◆ _TrimTrailingComments()

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

Definition at line 2452 of file RigDef_Parser.cpp.

◆ BeginBlock()

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

Definition at line 2894 of file RigDef_Parser.cpp.

◆ CheckNumArguments()

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

Definition at line 325 of file RigDef_Parser.cpp.

◆ Finalize()

void RigDef::Parser::Finalize ( )

Definition at line 3000 of file RigDef_Parser.cpp.

◆ FlushPendingDocComment()

void RigDef::Parser::FlushPendingDocComment ( size_t  vectorlen,
RigDef::Keyword  keyword 
)
private

Definition at line 2976 of file RigDef_Parser.cpp.

◆ GetArgBeamOptions()

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

Definition at line 3319 of file RigDef_Parser.cpp.

◆ GetArgBool()

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

Definition at line 3209 of file RigDef_Parser.cpp.

◆ GetArgBraking()

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

Definition at line 3093 of file RigDef_Parser.cpp.

◆ GetArgCabOptions()

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

Definition at line 3266 of file RigDef_Parser.cpp.

◆ GetArgChar()

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

Definition at line 3015 of file RigDef_Parser.cpp.

◆ GetArgEngineType()

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

Definition at line 3492 of file RigDef_Parser.cpp.

◆ GetArgExtCameraMode()

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

Definition at line 3159 of file RigDef_Parser.cpp.

◆ GetArgFlareType()

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

Definition at line 3131 of file RigDef_Parser.cpp.

◆ GetArgFloat()

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

Definition at line 3171 of file RigDef_Parser.cpp.

◆ GetArgHydroOptions()

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

Definition at line 3340 of file RigDef_Parser.cpp.

◆ GetArgInt()

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

Definition at line 3061 of file RigDef_Parser.cpp.

◆ GetArgLong()

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

Definition at line 3036 of file RigDef_Parser.cpp.

◆ GetArgManagedMatType()

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

Definition at line 3508 of file RigDef_Parser.cpp.

◆ GetArgManagedTex()

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

Definition at line 3243 of file RigDef_Parser.cpp.

◆ GetArgMinimassOption()

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

Definition at line 3249 of file RigDef_Parser.cpp.

◆ GetArgNodeOptions()

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

Definition at line 3447 of file RigDef_Parser.cpp.

◆ GetArgNodeRef()

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

Definition at line 3112 of file RigDef_Parser.cpp.

◆ GetArgNullableNode()

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

Definition at line 3117 of file RigDef_Parser.cpp.

◆ GetArgPropulsion()

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

Definition at line 3076 of file RigDef_Parser.cpp.

◆ GetArgRigidityNode()

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

Definition at line 3066 of file RigDef_Parser.cpp.

◆ GetArgShock2Options()

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

Definition at line 3402 of file RigDef_Parser.cpp.

◆ GetArgShock3Options()

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

Definition at line 3425 of file RigDef_Parser.cpp.

◆ GetArgShockOptions()

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

Definition at line 3379 of file RigDef_Parser.cpp.

◆ GetArgStr()

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

Definition at line 3010 of file RigDef_Parser.cpp.

◆ GetArgTriggerOptions()

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

Definition at line 3292 of file RigDef_Parser.cpp.

◆ GetArgUint()

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

Definition at line 3126 of file RigDef_Parser.cpp.

◆ GetArgVideoCamRole()

VideoCamRole RigDef::Parser::GetArgVideoCamRole ( int  index)
private

Definition at line 3521 of file RigDef_Parser.cpp.

◆ GetArgWheelSide()

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

Definition at line 3020 of file RigDef_Parser.cpp.

◆ GetArgWingSurface()

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

Definition at line 3214 of file RigDef_Parser.cpp.

◆ GetFile()

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

Definition at line 77 of file RigDef_Parser.h.

◆ GetSequentialImporter()

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

Definition at line 82 of file RigDef_Parser.h.

◆ IdentifyKeyword()

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

Definition at line 2848 of file RigDef_Parser.cpp.

◆ IdentifySpecialProp()

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

Definition at line 3476 of file RigDef_Parser.cpp.

◆ LogMessage()

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

Adds a message to console.

Definition at line 2839 of file RigDef_Parser.cpp.

◆ ParseAirbrakes()

void RigDef::Parser::ParseAirbrakes ( )
private

Definition at line 1736 of file RigDef_Parser.cpp.

◆ ParseAnimator()

void RigDef::Parser::ParseAnimator ( )
private

Definition at line 2729 of file RigDef_Parser.cpp.

◆ ParseAntiLockBrakes()

void RigDef::Parser::ParseAntiLockBrakes ( )
private

Definition at line 1362 of file RigDef_Parser.cpp.

◆ ParseArgFloat() [1/2]

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

Definition at line 3176 of file RigDef_Parser.cpp.

◆ ParseArgFloat() [2/2]

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

Definition at line 3181 of file RigDef_Parser.cpp.

◆ ParseArgInt()

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

Definition at line 3204 of file RigDef_Parser.cpp.

◆ ParseArgUint() [1/2]

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

Definition at line 3186 of file RigDef_Parser.cpp.

◆ ParseArgUint() [2/2]

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

Definition at line 3199 of file RigDef_Parser.cpp.

◆ ParseAssetpacks()

void RigDef::Parser::ParseAssetpacks ( )
private

Definition at line 1760 of file RigDef_Parser.cpp.

◆ ParseAuthor()

void RigDef::Parser::ParseAuthor ( )
private

Definition at line 2820 of file RigDef_Parser.cpp.

◆ ParseAxles()

void RigDef::Parser::ParseAxles ( )
private

Definition at line 1677 of file RigDef_Parser.cpp.

◆ ParseBeams()

void RigDef::Parser::ParseBeams ( )
private

Definition at line 2701 of file RigDef_Parser.cpp.

◆ ParseBrakes()

void RigDef::Parser::ParseBrakes ( )
private

Definition at line 1663 of file RigDef_Parser.cpp.

◆ ParseCab()

void RigDef::Parser::ParseCab ( )
private

Definition at line 858 of file RigDef_Parser.cpp.

◆ ParseCameraRails()

void RigDef::Parser::ParseCameraRails ( )
private

Definition at line 1658 of file RigDef_Parser.cpp.

◆ ParseCameras()

void RigDef::Parser::ParseCameras ( )
private

Definition at line 1804 of file RigDef_Parser.cpp.

◆ ParseCinecam()

void RigDef::Parser::ParseCinecam ( )
private

Definition at line 1617 of file RigDef_Parser.cpp.

◆ ParseCollisionBox()

void RigDef::Parser::ParseCollisionBox ( )
private

Definition at line 1602 of file RigDef_Parser.cpp.

◆ ParseCommandsUnified()

void RigDef::Parser::ParseCommandsUnified ( )
private

Definition at line 1502 of file RigDef_Parser.cpp.

◆ ParseContacter()

void RigDef::Parser::ParseContacter ( )
private

Definition at line 1494 of file RigDef_Parser.cpp.

◆ ParseCruiseControl()

void RigDef::Parser::ParseCruiseControl ( )
private

Definition at line 1170 of file RigDef_Parser.cpp.

◆ ParseDescription()

void RigDef::Parser::ParseDescription ( )
private

Definition at line 1182 of file RigDef_Parser.cpp.

◆ ParseDirectiveAddAnimation()

void RigDef::Parser::ParseDirectiveAddAnimation ( )
private

Definition at line 1187 of file RigDef_Parser.cpp.

◆ ParseDirectiveBackmesh()

void RigDef::Parser::ParseDirectiveBackmesh ( )
private

Definition at line 648 of file RigDef_Parser.cpp.

◆ ParseDirectiveDefaultSkin()

void RigDef::Parser::ParseDirectiveDefaultSkin ( )
private

Definition at line 1144 of file RigDef_Parser.cpp.

◆ ParseDirectiveDetacherGroup()

void RigDef::Parser::ParseDirectiveDetacherGroup ( )
private

Definition at line 1156 of file RigDef_Parser.cpp.

◆ ParseDirectiveFlexbodyCameraMode()

void RigDef::Parser::ParseDirectiveFlexbodyCameraMode ( )
private

Definition at line 844 of file RigDef_Parser.cpp.

◆ ParseDirectiveForset()

void RigDef::Parser::ParseDirectiveForset ( )
private

Definition at line 917 of file RigDef_Parser.cpp.

◆ ParseDirectiveForvert()

void RigDef::Parser::ParseDirectiveForvert ( )
private

Definition at line 928 of file RigDef_Parser.cpp.

◆ ParseDirectivePropCameraMode()

void RigDef::Parser::ParseDirectivePropCameraMode ( )
private

Definition at line 628 of file RigDef_Parser.cpp.

◆ ParseDirectiveSection()

void RigDef::Parser::ParseDirectiveSection ( )
private

Definition at line 2990 of file RigDef_Parser.cpp.

◆ ParseDirectiveSectionConfig()

void RigDef::Parser::ParseDirectiveSectionConfig ( )
private

Definition at line 2995 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetBeamDefaults()

void RigDef::Parser::ParseDirectiveSetBeamDefaults ( )
private

Definition at line 593 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetBeamDefaultsScale()

void RigDef::Parser::ParseDirectiveSetBeamDefaultsScale ( )
private

Definition at line 579 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetDefaultMinimass()

void RigDef::Parser::ParseDirectiveSetDefaultMinimass ( )
private

Definition at line 2178 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetInertiaDefaults()

void RigDef::Parser::ParseDirectiveSetInertiaDefaults ( )
private

Definition at line 2211 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetManagedMaterialsOptions()

void RigDef::Parser::ParseDirectiveSetManagedMaterialsOptions ( )
private

Definition at line 571 of file RigDef_Parser.cpp.

◆ ParseDirectiveSetNodeDefaults()

void RigDef::Parser::ParseDirectiveSetNodeDefaults ( )
private

Definition at line 552 of file RigDef_Parser.cpp.

◆ ParseDirectiveSubmesh()

void RigDef::Parser::ParseDirectiveSubmesh ( )
private

Definition at line 642 of file RigDef_Parser.cpp.

◆ ParseEngine()

void RigDef::Parser::ParseEngine ( )
private

Definition at line 1461 of file RigDef_Parser.cpp.

◆ ParseEngoption()

void RigDef::Parser::ParseEngoption ( )
private

Definition at line 1408 of file RigDef_Parser.cpp.

◆ ParseEngturbo()

void RigDef::Parser::ParseEngturbo ( )
private

Definition at line 1430 of file RigDef_Parser.cpp.

◆ ParseExhaust()

void RigDef::Parser::ParseExhaust ( )
private

Definition at line 1118 of file RigDef_Parser.cpp.

◆ ParseExtCamera()

void RigDef::Parser::ParseExtCamera ( )
private

Definition at line 1106 of file RigDef_Parser.cpp.

◆ ParseFileFormatVersion()

void RigDef::Parser::ParseFileFormatVersion ( )
private

Definition at line 1133 of file RigDef_Parser.cpp.

◆ ParseFileinfo()

void RigDef::Parser::ParseFileinfo ( )
private

Definition at line 2312 of file RigDef_Parser.cpp.

◆ ParseFixes()

void RigDef::Parser::ParseFixes ( )
private

Definition at line 1101 of file RigDef_Parser.cpp.

◆ ParseFlaregroupsNoImport()

void RigDef::Parser::ParseFlaregroupsNoImport ( )
private

Definition at line 2186 of file RigDef_Parser.cpp.

◆ ParseFlares3()

void RigDef::Parser::ParseFlares3 ( )
private

Definition at line 1067 of file RigDef_Parser.cpp.

◆ ParseFlaresUnified()

void RigDef::Parser::ParseFlaresUnified ( )
private

Definition at line 1028 of file RigDef_Parser.cpp.

◆ ParseFlexbody()

void RigDef::Parser::ParseFlexbody ( )
private

Definition at line 897 of file RigDef_Parser.cpp.

◆ ParseFlexBodyWheel()

void RigDef::Parser::ParseFlexBodyWheel ( )
private

Definition at line 2549 of file RigDef_Parser.cpp.

◆ ParseFusedrag()

void RigDef::Parser::ParseFusedrag ( )
private

Definition at line 816 of file RigDef_Parser.cpp.

◆ ParseGlobals()

void RigDef::Parser::ParseGlobals ( )
private

Definition at line 802 of file RigDef_Parser.cpp.

◆ ParseGuid()

void RigDef::Parser::ParseGuid ( )
private

Definition at line 791 of file RigDef_Parser.cpp.

◆ ParseGuiSettings()

void RigDef::Parser::ParseGuiSettings ( )
private

Definition at line 779 of file RigDef_Parser.cpp.

◆ ParseHelp()

void RigDef::Parser::ParseHelp ( )
private

Definition at line 772 of file RigDef_Parser.cpp.

◆ ParseHook()

void RigDef::Parser::ParseHook ( )
private

Definition at line 733 of file RigDef_Parser.cpp.

◆ ParseHydros()

void RigDef::Parser::ParseHydros ( )
private

Definition at line 2646 of file RigDef_Parser.cpp.

◆ ParseInterAxles()

void RigDef::Parser::ParseInterAxles ( )
private

Definition at line 1709 of file RigDef_Parser.cpp.

◆ ParseLockgroups()

void RigDef::Parser::ParseLockgroups ( )
private

Definition at line 2630 of file RigDef_Parser.cpp.

◆ ParseManagedMaterials()

void RigDef::Parser::ParseManagedMaterials ( )
private

Definition at line 2598 of file RigDef_Parser.cpp.

◆ ParseMaterialFlareBindings()

void RigDef::Parser::ParseMaterialFlareBindings ( )
private

Definition at line 2586 of file RigDef_Parser.cpp.

◆ ParseMeshWheel()

void RigDef::Parser::ParseMeshWheel ( )
private

Definition at line 701 of file RigDef_Parser.cpp.

◆ ParseMeshWheel2()

void RigDef::Parser::ParseMeshWheel2 ( )
private

Definition at line 717 of file RigDef_Parser.cpp.

◆ ParseMinimass()

void RigDef::Parser::ParseMinimass ( )
private

Definition at line 2537 of file RigDef_Parser.cpp.

◆ ParseNodesUnified()

void RigDef::Parser::ParseNodesUnified ( )
private

Definition at line 2482 of file RigDef_Parser.cpp.

◆ ParseOptionalInertia()

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

Definition at line 2672 of file RigDef_Parser.cpp.

◆ ParseParticles()

void RigDef::Parser::ParseParticles ( )
private

Definition at line 2438 of file RigDef_Parser.cpp.

◆ ParsePistonprops()

void RigDef::Parser::ParsePistonprops ( )
private

Definition at line 2418 of file RigDef_Parser.cpp.

◆ ParseProps()

void RigDef::Parser::ParseProps ( )
private

Definition at line 2377 of file RigDef_Parser.cpp.

◆ ParseRailGroups()

void RigDef::Parser::ParseRailGroups ( )
private

Definition at line 2359 of file RigDef_Parser.cpp.

◆ ParseRopables()

void RigDef::Parser::ParseRopables ( )
private

Definition at line 2345 of file RigDef_Parser.cpp.

◆ ParseRopes()

void RigDef::Parser::ParseRopes ( )
private

Definition at line 2329 of file RigDef_Parser.cpp.

◆ ParseRotatorsUnified()

void RigDef::Parser::ParseRotatorsUnified ( )
private

Definition at line 2263 of file RigDef_Parser.cpp.

◆ ParseScrewprops()

void RigDef::Parser::ParseScrewprops ( )
private

Definition at line 2236 of file RigDef_Parser.cpp.

◆ ParseScripts()

void RigDef::Parser::ParseScripts ( )
private

Definition at line 2251 of file RigDef_Parser.cpp.

◆ ParseSetCollisionRange()

void RigDef::Parser::ParseSetCollisionRange ( )
private

Definition at line 360 of file RigDef_Parser.cpp.

◆ ParseSetSkeletonSettings()

void RigDef::Parser::ParseSetSkeletonSettings ( )
private

Definition at line 534 of file RigDef_Parser.cpp.

◆ ParseShock()

void RigDef::Parser::ParseShock ( )
private

Definition at line 2130 of file RigDef_Parser.cpp.

◆ ParseShock2()

void RigDef::Parser::ParseShock2 ( )
private

Definition at line 2102 of file RigDef_Parser.cpp.

◆ ParseShock3()

void RigDef::Parser::ParseShock3 ( )
private

Definition at line 2072 of file RigDef_Parser.cpp.

◆ ParseSlidenodes()

void RigDef::Parser::ParseSlidenodes ( )
private

Definition at line 1993 of file RigDef_Parser.cpp.

◆ ParseSoundsources()

void RigDef::Parser::ParseSoundsources ( )
private

Definition at line 1961 of file RigDef_Parser.cpp.

◆ ParseSoundsources2()

void RigDef::Parser::ParseSoundsources2 ( )
private

Definition at line 1973 of file RigDef_Parser.cpp.

◆ ParseSpeedLimiter()

void RigDef::Parser::ParseSpeedLimiter ( )
private

Definition at line 522 of file RigDef_Parser.cpp.

◆ ParseSubmeshGroundModel()

void RigDef::Parser::ParseSubmeshGroundModel ( )
private

Definition at line 514 of file RigDef_Parser.cpp.

◆ ParseTexcoords()

void RigDef::Parser::ParseTexcoords ( )
private

Definition at line 878 of file RigDef_Parser.cpp.

◆ ParseTies()

void RigDef::Parser::ParseTies ( )
private

Definition at line 1914 of file RigDef_Parser.cpp.

◆ ParseTorqueCurve()

void RigDef::Parser::ParseTorqueCurve ( )
private

Definition at line 1887 of file RigDef_Parser.cpp.

◆ ParseTractionControl()

void RigDef::Parser::ParseTractionControl ( )
private

Definition at line 451 of file RigDef_Parser.cpp.

◆ ParseTransferCase()

void RigDef::Parser::ParseTransferCase ( )
private

Definition at line 498 of file RigDef_Parser.cpp.

◆ ParseTriggers()

void RigDef::Parser::ParseTriggers ( )
private

Definition at line 1867 of file RigDef_Parser.cpp.

◆ ParseTurbojets()

void RigDef::Parser::ParseTurbojets ( )
private

Definition at line 1848 of file RigDef_Parser.cpp.

◆ ParseTurbopropsUnified()

void RigDef::Parser::ParseTurbopropsUnified ( )
private

Definition at line 1817 of file RigDef_Parser.cpp.

◆ ParseVideoCamera()

void RigDef::Parser::ParseVideoCamera ( )
private

Definition at line 1772 of file RigDef_Parser.cpp.

◆ ParseWheel()

void RigDef::Parser::ParseWheel ( )
private

Definition at line 406 of file RigDef_Parser.cpp.

◆ ParseWheel2()

void RigDef::Parser::ParseWheel2 ( )
private

Definition at line 371 of file RigDef_Parser.cpp.

◆ ParseWheelDetachers()

void RigDef::Parser::ParseWheelDetachers ( )
private

Definition at line 438 of file RigDef_Parser.cpp.

◆ ParseWing()

void RigDef::Parser::ParseWing ( )
private

Definition at line 340 of file RigDef_Parser.cpp.

◆ Prepare()

void RigDef::Parser::Prepare ( )

Definition at line 2869 of file RigDef_Parser.cpp.

◆ ProcessChangeModuleLine()

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

Definition at line 2927 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 981 of file RigDef_Parser.cpp.

◆ ProcessGlobalDirective()

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

Directives that should only appear in root module.

Definition at line 660 of file RigDef_Parser.cpp.

◆ ProcessOgreStream()

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

Definition at line 3572 of file RigDef_Parser.cpp.

◆ ProcessRawLine()

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

Definition at line 3596 of file RigDef_Parser.cpp.

◆ TokenizeCurrentLine()

int RigDef::Parser::TokenizeCurrentLine ( )
private

Definition at line 3537 of file RigDef_Parser.cpp.

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 = false
private

Parser state.

Definition at line 280 of file RigDef_Parser.h.

◆ m_args

Token RigDef::Parser::m_args[LINE_MAX_ARGS] = {}
private

Tokens of current line.

Definition at line 276 of file RigDef_Parser.h.

◆ m_current_block

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

Definition at line 278 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 282 of file RigDef_Parser.h.

◆ m_current_detacher_group

int RigDef::Parser::m_current_detacher_group
private

Definition at line 267 of file RigDef_Parser.h.

◆ m_current_line

char RigDef::Parser::m_current_line[LINE_BUFFER_LENGTH] = {}
private

Definition at line 275 of file RigDef_Parser.h.

◆ m_current_line_number

unsigned int RigDef::Parser::m_current_line_number = 0
private

Definition at line 274 of file RigDef_Parser.h.

◆ m_current_managed_material_options

ManagedMaterialsOptions RigDef::Parser::m_current_managed_material_options
private

Definition at line 268 of file RigDef_Parser.h.

◆ m_current_module

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

Definition at line 272 of file RigDef_Parser.h.

◆ m_current_submesh

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

Parser state.

Definition at line 281 of file RigDef_Parser.h.

◆ m_definition

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

Definition at line 290 of file RigDef_Parser.h.

◆ m_filename

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

Definition at line 287 of file RigDef_Parser.h.

◆ m_log_keyword

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

Definition at line 279 of file RigDef_Parser.h.

◆ m_num_args

int RigDef::Parser::m_num_args = 0
private

Number of tokens on current line.

Definition at line 277 of file RigDef_Parser.h.

◆ m_pending_doc_comment

DocComment RigDef::Parser::m_pending_doc_comment
private

To be linked with the following element.

Definition at line 283 of file RigDef_Parser.h.

◆ m_resource_group

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

Definition at line 288 of file RigDef_Parser.h.

◆ m_root_module

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

Definition at line 271 of file RigDef_Parser.h.

◆ m_ror_default_inertia

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

Definition at line 258 of file RigDef_Parser.h.

◆ m_ror_node_defaults

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

Definition at line 259 of file RigDef_Parser.h.

◆ m_sequential_importer

SequentialImporter RigDef::Parser::m_sequential_importer
private

Definition at line 285 of file RigDef_Parser.h.

◆ m_set_default_minimass

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

Definition at line 266 of file RigDef_Parser.h.

◆ m_user_beam_defaults

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

Definition at line 264 of file RigDef_Parser.h.

◆ m_user_default_inertia

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

Definition at line 263 of file RigDef_Parser.h.

◆ m_user_node_defaults

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

Definition at line 265 of file RigDef_Parser.h.


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