VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtVreModelSet Class Reference

Detailed Description

This class extends the base VRF model set to provide VREngage-specific functionality for managing collections of entity models, including loading entity files and resolving variable bindings.

#include <vreModelSet.h>

Inheritance diagram for makVre::DtVreModelSet:
[legend]

Public Member Functions

 DtVreModelSet ()
 
 DtVreModelSet (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual ~DtVreModelSet () override
 
 DtVreModelSet (const DtVreModelSet &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
virtual const boost::unordered_map< DtString, DtModelSetEntry * > & fastMap () const
 
std::shared_ptr< makVre::DtVreModelSetEntryloadEntityFile (const std::string &filename, const SearchPaths &smsSearchPaths, DtInitializer *initializer=0)
 

Static Public Member Functions

static DtModelSet * Create (const DtString &name, DtReaderWriterRegistry *parentRegistry)
 
static void recursiveFindVariableBindingPaths (const std::vector< DtString > &smsList, const std::string &binding, std::vector< DtFilename > *searchPaths)
 
static void getIncludedSMSs (const std::vector< DtString > &smsList, std::vector< DtString > *includedSMSs)
 
static DtFilename getVariableBinding (const DtString &smsFile, const std::string &bindingToLookFor)
 

Constructor & Destructor Documentation

◆ DtVreModelSet() [1/3]

makVre::DtVreModelSet::DtVreModelSet ( )

Default constructor.

Creates an empty model set with no name or registry

Referenced by DtVreModelSet().

◆ DtVreModelSet() [2/3]

makVre::DtVreModelSet::DtVreModelSet ( const DtString & name,
DtReaderWriterRegistry * parentRegistry = NULL )

Named constructor with optional registry.

Parameters
nameThe name of the model set
parentRegistryOptional parent registry for resource loading

◆ ~DtVreModelSet()

virtual makVre::DtVreModelSet::~DtVreModelSet ( )
overridevirtual

Virtual destructor.

Cleans up resources owned by the model set

◆ DtVreModelSet() [3/3]

makVre::DtVreModelSet::DtVreModelSet ( const DtVreModelSet & orig,
DtReaderWriterRegistry * parentRegistry = NULL )

Copy constructor.

Parameters
origThe model set to copy
parentRegistryOptional parent registry for resource loading

References DtVreModelSet().

Member Function Documentation

◆ fastMap()

virtual const boost::unordered_map< DtString, DtModelSetEntry * > & makVre::DtVreModelSet::fastMap ( ) const
virtual

Gets the fast lookup map of model set entries.

Returns
Constant reference to the map of model set entries by name

This method provides efficient access to the model set entries using a hash map.

◆ loadEntityFile()

std::shared_ptr< makVre::DtVreModelSetEntry > makVre::DtVreModelSet::loadEntityFile ( const std::string & filename,
const SearchPaths & smsSearchPaths,
DtInitializer * initializer = 0 )

Loads a model set entry from an entity file.

Parameters
filenamePath to the .entity file to load
smsSearchPathsSearch paths for SMS files
initializerOptional initializer for the loaded entity
Returns
Shared pointer to the loaded model set entry

This method loads an entity file and creates a corresponding model set entry.

◆ Create()

static DtModelSet * makVre::DtVreModelSet::Create ( const DtString & name,
DtReaderWriterRegistry * parentRegistry )
static

Factory method for creating model set instances.

Parameters
nameThe name of the model set to create
parentRegistryOptional parent registry for resource loading
Returns
Pointer to the newly created model set

This static method creates a new instance of DtVreModelSet. Used by the factory system.

◆ recursiveFindVariableBindingPaths()

static void makVre::DtVreModelSet::recursiveFindVariableBindingPaths ( const std::vector< DtString > & smsList,
const std::string & binding,
std::vector< DtFilename > * searchPaths )
static

Recursively searches for variable bindings in SMS files.

Parameters
smsListList of SMS file paths to search
bindingThe variable binding name to search for
searchPathsOutput parameter to store the found binding paths

This utility function recursively searches through SMS files and their included files to find all locations of a particular variable binding.

◆ getIncludedSMSs()

static void makVre::DtVreModelSet::getIncludedSMSs ( const std::vector< DtString > & smsList,
std::vector< DtString > * includedSMSs )
static

Gets all SMS files included by a list of SMS files.

Parameters
smsListList of SMS file paths to process
includedSMSsOutput parameter to store the list of included SMS files

This utility function recursively searches through SMS files to find all SMS files they include, building a complete list of dependencies.

◆ getVariableBinding()

static DtFilename makVre::DtVreModelSet::getVariableBinding ( const DtString & smsFile,
const std::string & bindingToLookFor )
static

Gets a specific variable binding from an SMS file.

Parameters
smsFilePath to the SMS file to search
bindingToLookForThe variable binding name to search for
Returns
Path from the binding, or empty if not found

This utility function looks for a specific variable binding in a single SMS file and returns its value if found.


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