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 2521 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 2032 of file RigDef_Parser.cpp.

◆ _TrimTrailingComments()

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

Definition at line 2299 of file RigDef_Parser.cpp.

◆ BeginBlock()

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

Definition at line 2732 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 2824 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 3142 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgBool()

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

Definition at line 3033 of file RigDef_Parser.cpp.

◆ GetArgBraking()

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

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

+ Here is the call graph for this function:

◆ GetArgChar()

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

Definition at line 2839 of file RigDef_Parser.cpp.

◆ GetArgEngineType()

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

Definition at line 3315 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgExtCameraMode()

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

Definition at line 2983 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgFlareType()

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

Definition at line 2955 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgFloat()

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

Definition at line 2995 of file RigDef_Parser.cpp.

◆ GetArgHydroOptions()

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

Definition at line 3163 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgInt()

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

Definition at line 2885 of file RigDef_Parser.cpp.

◆ GetArgLong()

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

Definition at line 2860 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgManagedMatType()

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

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

◆ GetArgMinimassOption()

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

Definition at line 3073 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 3270 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 2936 of file RigDef_Parser.cpp.

◆ GetArgNullableNode()

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

Definition at line 2941 of file RigDef_Parser.cpp.

◆ GetArgPropulsion()

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

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

◆ GetArgShock2Options()

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

Definition at line 3225 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 3248 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 3202 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 2834 of file RigDef_Parser.cpp.

◆ GetArgTriggerOptions()

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

Definition at line 3115 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgUint()

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

Definition at line 2950 of file RigDef_Parser.cpp.

◆ GetArgWheelSide()

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

Definition at line 2844 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ GetArgWingSurface()

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

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

◆ IdentifySpecialProp()

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

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

+ Here is the call graph for this function:

◆ ParseAirbrakes()

void RigDef::Parser::ParseAirbrakes ( )
private

Definition at line 1631 of file RigDef_Parser.cpp.

◆ ParseAnimator()

void RigDef::Parser::ParseAnimator ( )
private

Definition at line 2569 of file RigDef_Parser.cpp.

◆ ParseAntiLockBrakes()

void RigDef::Parser::ParseAntiLockBrakes ( )
private

Definition at line 1268 of file RigDef_Parser.cpp.

◆ ParseArgFloat() [1/2]

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

Definition at line 3000 of file RigDef_Parser.cpp.

◆ ParseArgFloat() [2/2]

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

Definition at line 3005 of file RigDef_Parser.cpp.

◆ ParseArgInt()

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

Definition at line 3028 of file RigDef_Parser.cpp.

◆ ParseArgUint() [1/2]

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

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

◆ ParseAssetpacks()

void RigDef::Parser::ParseAssetpacks ( )
private

Definition at line 1654 of file RigDef_Parser.cpp.

◆ ParseAuthor()

void RigDef::Parser::ParseAuthor ( )
private

Definition at line 2659 of file RigDef_Parser.cpp.

◆ ParseAxles()

void RigDef::Parser::ParseAxles ( )
private

Definition at line 1574 of file RigDef_Parser.cpp.

◆ ParseBeams()

void RigDef::Parser::ParseBeams ( )
private

Definition at line 2542 of file RigDef_Parser.cpp.

◆ ParseBrakes()

void RigDef::Parser::ParseBrakes ( )
private

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

◆ ParseCameras()

void RigDef::Parser::ParseCameras ( )
private

Definition at line 1696 of file RigDef_Parser.cpp.

◆ ParseCinecam()

void RigDef::Parser::ParseCinecam ( )
private

Definition at line 1516 of file RigDef_Parser.cpp.

◆ ParseCollisionBox()

void RigDef::Parser::ParseCollisionBox ( )
private

Definition at line 1502 of file RigDef_Parser.cpp.

◆ ParseCommandsUnified()

void RigDef::Parser::ParseCommandsUnified ( )
private

Definition at line 1403 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseContacter()

void RigDef::Parser::ParseContacter ( )
private

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

◆ ParseDirectiveSectionConfig()

void RigDef::Parser::ParseDirectiveSectionConfig ( )
private

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

◆ ParseDirectiveSetInertiaDefaults()

void RigDef::Parser::ParseDirectiveSetInertiaDefaults ( )
private

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

◆ ParseEngoption()

void RigDef::Parser::ParseEngoption ( )
private

Definition at line 1313 of file RigDef_Parser.cpp.

◆ ParseEngturbo()

void RigDef::Parser::ParseEngturbo ( )
private

Definition at line 1334 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 2164 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 2395 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 2488 of file RigDef_Parser.cpp.

◆ ParseInterAxles()

void RigDef::Parser::ParseInterAxles ( )
private

Definition at line 1605 of file RigDef_Parser.cpp.

◆ ParseLockgroups()

void RigDef::Parser::ParseLockgroups ( )
private

Definition at line 2473 of file RigDef_Parser.cpp.

◆ ParseManagedMaterials()

void RigDef::Parser::ParseManagedMaterials ( )
private

Definition at line 2442 of file RigDef_Parser.cpp.

◆ ParseMaterialFlareBindings()

void RigDef::Parser::ParseMaterialFlareBindings ( )
private

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

◆ ParseNodesUnified()

void RigDef::Parser::ParseNodesUnified ( )
private

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

◆ ParseParticles()

void RigDef::Parser::ParseParticles ( )
private

Definition at line 2286 of file RigDef_Parser.cpp.

◆ ParsePistonprops()

void RigDef::Parser::ParsePistonprops ( )
private

Definition at line 2266 of file RigDef_Parser.cpp.

◆ ParseProps()

void RigDef::Parser::ParseProps ( )
private

Definition at line 2226 of file RigDef_Parser.cpp.

◆ ParseRailGroups()

void RigDef::Parser::ParseRailGroups ( )
private

Definition at line 2209 of file RigDef_Parser.cpp.

◆ ParseRopables()

void RigDef::Parser::ParseRopables ( )
private

Definition at line 2196 of file RigDef_Parser.cpp.

◆ ParseRopes()

void RigDef::Parser::ParseRopes ( )
private

Definition at line 2181 of file RigDef_Parser.cpp.

◆ ParseRotatorsUnified()

void RigDef::Parser::ParseRotatorsUnified ( )
private

Definition at line 2117 of file RigDef_Parser.cpp.

◆ ParseScrewprops()

void RigDef::Parser::ParseScrewprops ( )
private

Definition at line 2092 of file RigDef_Parser.cpp.

◆ ParseScripts()

void RigDef::Parser::ParseScripts ( )
private

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

◆ ParseShock2()

void RigDef::Parser::ParseShock2 ( )
private

Definition at line 1985 of file RigDef_Parser.cpp.

◆ ParseShock3()

void RigDef::Parser::ParseShock3 ( )
private

Definition at line 1956 of file RigDef_Parser.cpp.

◆ ParseSlidenodes()

void RigDef::Parser::ParseSlidenodes ( )
private

Definition at line 1878 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ ParseSoundsources()

void RigDef::Parser::ParseSoundsources ( )
private

Definition at line 1848 of file RigDef_Parser.cpp.

◆ ParseSoundsources2()

void RigDef::Parser::ParseSoundsources2 ( )
private

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

+ Here is the call graph for this function:

◆ ParseTorqueCurve()

void RigDef::Parser::ParseTorqueCurve ( )
private

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

◆ ParseTurbojets()

void RigDef::Parser::ParseTurbojets ( )
private

Definition at line 1738 of file RigDef_Parser.cpp.

◆ ParseTurbopropsUnified()

void RigDef::Parser::ParseTurbopropsUnified ( )
private

Definition at line 1708 of file RigDef_Parser.cpp.

◆ ParseVideoCamera()

void RigDef::Parser::ParseVideoCamera ( )
private

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

+ Here is the caller graph for this function:

◆ ProcessChangeModuleLine()

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

Definition at line 2765 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 3379 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 3402 of file RigDef_Parser.cpp.

+ Here is the call graph for this function:

◆ TokenizeCurrentLine()

int RigDef::Parser::TokenizeCurrentLine ( )
private

Definition at line 3344 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: