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

#include <RigDef_SequentialImporter.h>

Data Structures

struct  Message
 
struct  NodeMapEntry
 

Public Member Functions

void Init (bool enabled)
 
void Disable ()
 
bool IsEnabled () const
 
bool AddNumberedNode (unsigned int number)
 
bool AddNamedNode (std::string const &name)
 
void AddGeneratedNode (Keyword generated_from, NodeMapEntry::OriginDetail detail=NodeMapEntry::DETAIL_UNDEFINED)
 
void GenerateNodesForWheel (Keyword generated_from, int num_rays, bool has_rigidity_node)
 
void Process (RigDef::DocumentPtr def)
 Traverse whole rig definition and resolve all node references. More...
 
std::string GetNodeStatistics ()
 
std::string IterateAndPrintAllNodes ()
 

Private Member Functions

void ProcessModule (std::shared_ptr< RigDef::Document::Module > module)
 
Node::Ref ResolveNode (Node::Ref const &noderef_in)
 
Node::Ref ResolveNodeByIndex (unsigned int index, unsigned int def_line_number)
 
unsigned GetNodeArrayOffset (Keyword keyword)
 
void ResolveNodeRanges (std::vector< Node::Range > &ranges)
 
void ResolveFlexbodyForset (std::vector< Node::Range > &ranges, std::vector< Node::Ref > &out_nodes)
 
void AddMessage (Message::Type msg_type, std::string text)
 

Private Attributes

std::vector< NodeMapEntrym_all_nodes
 
std::map< std::string, NodeMapEntrym_named_nodes
 
unsigned m_num_numbered_nodes
 
unsigned m_num_named_nodes
 
unsigned m_num_cinecam_nodes
 
unsigned m_num_wheels_nodes
 
unsigned m_num_wheels2_nodes
 
unsigned m_num_meshwheels_nodes
 
unsigned m_num_meshwheels2_nodes
 
unsigned m_num_flexbodywheels_nodes
 
bool m_enabled
 
int m_total_resolved
 
int m_num_resolved_to_self
 
Keyword m_current_keyword
 
std::shared_ptr< Document::Modulem_current_module
 

Detailed Description

Definition at line 77 of file RigDef_SequentialImporter.h.

Member Function Documentation

◆ AddGeneratedNode()

void SequentialImporter::AddGeneratedNode ( Keyword  generated_from,
NodeMapEntry::OriginDetail  detail = NodeMapEntry::DETAIL_UNDEFINED 
)

Definition at line 751 of file RigDef_SequentialImporter.cpp.

+ Here is the caller graph for this function:

◆ AddMessage()

void SequentialImporter::AddMessage ( Message::Type  msg_type,
std::string  text 
)
private

Definition at line 106 of file RigDef_SequentialImporter.cpp.

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

◆ AddNamedNode()

bool SequentialImporter::AddNamedNode ( std::string const &  name)

Definition at line 735 of file RigDef_SequentialImporter.cpp.

+ Here is the call graph for this function:

◆ AddNumberedNode()

bool SequentialImporter::AddNumberedNode ( unsigned int  number)

Definition at line 721 of file RigDef_SequentialImporter.cpp.

+ Here is the call graph for this function:

◆ Disable()

void RigDef::SequentialImporter::Disable ( )
inline

Definition at line 120 of file RigDef_SequentialImporter.h.

+ Here is the caller graph for this function:

◆ GenerateNodesForWheel()

void SequentialImporter::GenerateNodesForWheel ( Keyword  generated_from,
int  num_rays,
bool  has_rigidity_node 
)

Definition at line 54 of file RigDef_SequentialImporter.cpp.

+ Here is the call graph for this function:

◆ GetNodeArrayOffset()

unsigned SequentialImporter::GetNodeArrayOffset ( Keyword  keyword)
private

Definition at line 136 of file RigDef_SequentialImporter.cpp.

+ Here is the caller graph for this function:

◆ GetNodeStatistics()

std::string SequentialImporter::GetNodeStatistics ( )

Definition at line 775 of file RigDef_SequentialImporter.cpp.

+ Here is the caller graph for this function:

◆ Init()

void SequentialImporter::Init ( bool  enabled)

Definition at line 36 of file RigDef_SequentialImporter.cpp.

◆ IsEnabled()

bool RigDef::SequentialImporter::IsEnabled ( ) const
inline

Definition at line 126 of file RigDef_SequentialImporter.h.

◆ IterateAndPrintAllNodes()

std::string SequentialImporter::IterateAndPrintAllNodes ( )

Definition at line 794 of file RigDef_SequentialImporter.cpp.

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

◆ Process()

void SequentialImporter::Process ( RigDef::DocumentPtr  def)

Traverse whole rig definition and resolve all node references.

Definition at line 85 of file RigDef_SequentialImporter.cpp.

+ Here is the call graph for this function:

◆ ProcessModule()

void SequentialImporter::ProcessModule ( std::shared_ptr< RigDef::Document::Module module)
private

Definition at line 394 of file RigDef_SequentialImporter.cpp.

+ Here is the caller graph for this function:

◆ ResolveFlexbodyForset()

void SequentialImporter::ResolveFlexbodyForset ( std::vector< Node::Range > &  ranges,
std::vector< Node::Ref > &  out_nodes 
)
private

Definition at line 248 of file RigDef_SequentialImporter.cpp.

+ Here is the call graph for this function:

◆ ResolveNode()

Node::Ref SequentialImporter::ResolveNode ( Node::Ref const &  noderef_in)
private

Definition at line 185 of file RigDef_SequentialImporter.cpp.

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

◆ ResolveNodeByIndex()

Node::Ref SequentialImporter::ResolveNodeByIndex ( unsigned int  index,
unsigned int  def_line_number 
)
private

Definition at line 156 of file RigDef_SequentialImporter.cpp.

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

◆ ResolveNodeRanges()

void SequentialImporter::ResolveNodeRanges ( std::vector< Node::Range > &  ranges)
private

Definition at line 319 of file RigDef_SequentialImporter.cpp.

+ Here is the call graph for this function:

Field Documentation

◆ m_all_nodes

std::vector<NodeMapEntry> RigDef::SequentialImporter::m_all_nodes
private

Definition at line 154 of file RigDef_SequentialImporter.h.

◆ m_current_keyword

Keyword RigDef::SequentialImporter::m_current_keyword
private

Definition at line 169 of file RigDef_SequentialImporter.h.

◆ m_current_module

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

Definition at line 170 of file RigDef_SequentialImporter.h.

◆ m_enabled

bool RigDef::SequentialImporter::m_enabled
private

Definition at line 164 of file RigDef_SequentialImporter.h.

◆ m_named_nodes

std::map<std::string, NodeMapEntry> RigDef::SequentialImporter::m_named_nodes
private

Definition at line 155 of file RigDef_SequentialImporter.h.

◆ m_num_cinecam_nodes

unsigned RigDef::SequentialImporter::m_num_cinecam_nodes
private

Definition at line 158 of file RigDef_SequentialImporter.h.

◆ m_num_flexbodywheels_nodes

unsigned RigDef::SequentialImporter::m_num_flexbodywheels_nodes
private

Definition at line 163 of file RigDef_SequentialImporter.h.

◆ m_num_meshwheels2_nodes

unsigned RigDef::SequentialImporter::m_num_meshwheels2_nodes
private

Definition at line 162 of file RigDef_SequentialImporter.h.

◆ m_num_meshwheels_nodes

unsigned RigDef::SequentialImporter::m_num_meshwheels_nodes
private

Definition at line 161 of file RigDef_SequentialImporter.h.

◆ m_num_named_nodes

unsigned RigDef::SequentialImporter::m_num_named_nodes
private

Definition at line 157 of file RigDef_SequentialImporter.h.

◆ m_num_numbered_nodes

unsigned RigDef::SequentialImporter::m_num_numbered_nodes
private

Definition at line 156 of file RigDef_SequentialImporter.h.

◆ m_num_resolved_to_self

int RigDef::SequentialImporter::m_num_resolved_to_self
private

Definition at line 168 of file RigDef_SequentialImporter.h.

◆ m_num_wheels2_nodes

unsigned RigDef::SequentialImporter::m_num_wheels2_nodes
private

Definition at line 160 of file RigDef_SequentialImporter.h.

◆ m_num_wheels_nodes

unsigned RigDef::SequentialImporter::m_num_wheels_nodes
private

Definition at line 159 of file RigDef_SequentialImporter.h.

◆ m_total_resolved

int RigDef::SequentialImporter::m_total_resolved
private

Definition at line 167 of file RigDef_SequentialImporter.h.


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