26# pragma warning( disable : 4251 )
50 using Object::getPath;
91 const agx::Name& getImplementationName()
const;
122 using Referenced::is;
161 Loader(
const char *name,
const char *fileExtension);
172 const char *m_fileExtension;
190 Name m_implementation;
196 friend class ModelCleanup;
#define AGX_DECLARE_POINTER_TYPES(type)
Type
Specifies which path to access.
@ RUNTIME_PATH
Specifies paths for where to search for plugin's/runtime libraries.
A component is an object containing other objects, enabling hierarchical structuring.
const char * getName() const
void addAlias(const char *alias)
const char * getFileExtension() const
Loader(const char *name, const char *fileExtension)
virtual Model * load(TiXmlElement *eModel, const Path &ns)=0
A model is an abstract representation of the class of an agx::Object.
agx::String fullName() const
static agx::Path getNamespace(agx::TiXmlElement *element, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
static agx::Path getPath(agx::TiXmlElement *element, agx::Name &implementation, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
const agx::String & getSourcePath() const
bool is(const agx::Model *other) const
Model(const agx::Name &name, const agx::Name &implementation=agx::Name())
bool hasParent(const agx::Model *parent) const
agx::String fullInheritancePath() const
The active instances of this model.
static agx::Path getNamespace(const agx::String &filePath, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
static agx::Namespace * root()
Model(const agx::Name &name, agx::Model *source)
const agx::Name & getImplementationName() const
static void parsePathString(const agx::String &pathStr, agx::Path &path, agx::Name &implementation)
agx::Namespace * getNamespace()
bool hasSource(const agx::Model *source) const
virtual void buildNavigationTree(agxJson::Value &eNode) const override
static agx::Model * createModel(const agx::Path &path, const agx::Name &implementation, agx::Model *source)
static agx::Path getPath(agx::TiXmlElement *element, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
void setSource(Model *source)
static agx::String getFileSystemRoot(agx::TiXmlElement *element, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
static agx::Path getPath(const agx::String &filePath, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
static Model * ClassModel()
static bool getDiskPath(const Path &modelPath, Path &fullModelPath, String &filePath, TiXmlElement *relativeRoot, agxIO::Environment::Type envType, const String &fileExtension)
Locate a model definition file.
agx::String fullPath() const
void setSourcePath(const String &path)
Representation of a name string.
A namespace is used as a group node in the agx::Model hierarchy.
agx::Object is a refcounted object with a name.
agx::Object * getContext()
Representation of a path, a list of name components.
The agx namespace contains the dynamics/math part of the AGX Dynamics API.
bool AGXPHYSICS_EXPORT isShutdown()
This method indicates if agx::shutdown() has been started or already done.