AGX Dynamics 2.40.0.0
Loading...
Searching...
No Matches
agxData::EntityModel Class Referenceabstract

An abstract description of a data entity stored using SOA (structure of arrays) pattern in a EntityStorage. More...

#include <EntityModel.h>

+ Inheritance diagram for agxData::EntityModel:

Classes

class  LoaderT
 

Public Types

typedef agx::Event1< EntityStorage * > StorageEvent
 
- Public Types inherited from agx::Component
typedef Event2< Component *, Object * > ObjectEvent
 Event when adding removing child objects.
 
typedef Callback1< Object * > TraverseCallback
 
- Public Types inherited from agx::Object
typedef agx::observer_ptr< const EventEventConstObserver
 
typedef agx::ref_ptr< const EventEventConstRef
 
typedef agx::observer_ptr< EventEventObserver
 
typedef agx::Vector< EventObserverEventObserverVector
 
typedef agx::VectorPOD< Event * > EventPtrVector
 
typedef agx::ref_ptr< EventEventRef
 
typedef agx::Vector< EventRefEventRefVector
 

Public Member Functions

 EntityModel (const agx::Name &name)
 
virtual ~Loader ()
 
void addAttribute (Attribute *attribute)
 Add an attribute to the entity.
 
virtual void configure (agx::TiXmlElement *eEntity)
 
virtual void construct (agxData::EntityPtr)
 
virtual EntityData * createData (EntityStorage *storage)
 
AttributegetAttribute (const agx::Name &name)
 
const AttributegetAttribute (const agx::Name &name) const
 
const AttributePtrVectorgetAttributes () const
 
EntityStoragegetDefaultStorage ()
 
size_t getNumBytes ()
 
size_t getNumBytes (agx::Device *device)
 
EntityModelgetSource ()
 
const EntityModelgetSource () const
 
bool hasConstructor () const
 
virtual void initAttributeAccessors ()
 
virtual EntityModelload ()=0
 
 Loader (const char *modelPath)
 
void print () const
 
void print (std::ostream &stream) const
 Print the registered attributes.
 
void setBaseEntity (EntityModel *base)
 
void setHasConstructor (bool flag)
 
void setUseInstanceTable (bool flag)
 
virtual void shutdownCleanup ()
 
bool useInstanceTable () const
 
- Public Member Functions inherited from agx::Model
 Model (const agx::Name &name, agx::Model *source)
 
 Model (const agx::Name &name, const agx::Name &implementation=agx::Name())
 
virtual void buildNavigationTree (agxJson::Value &eNode) const override
 
agx::String fullInheritancePath () const
 The active instances of this model.
 
agx::String fullName () const
 
agx::String fullPath () const
 
const agx::NamegetImplementationName () const
 
agx::NamespacegetNamespace ()
 
const agx::NamespacegetNamespace () const
 
agx::Path getPath () const
 
agx::Path getPath (const agx::Object *root) const
 
agx::ModelgetSource ()
 
const agx::ModelgetSource () const
 
const agx::StringgetSourcePath () const
 
bool hasParent (const agx::Model *parent) const
 
bool hasSource (const agx::Model *source) const
 
template<typename T >
bool is () const
 Subclass test.
 
bool is (const agx::Model *other) const
 
bool isShutdown () const
 
void setSource (Model *source)
 
void setSourcePath (const String &path)
 
- Public Member Functions inherited from agx::Component
 Component (const agx::Name &name=agx::Name(), agx::Model *model=agx::Component::ClassModel(), agx::Device *device=nullptr)
 
virtual void addObject (agx::Object *object, bool assignContext=true)
 Add an object to the component.
 
virtual String autoComplete (const String &partialName, StringVector &matchingNames) const
 
virtual void buildNavigationTree (agxJson::Value &eNode) const override
 
void configure (Model *model)
 
virtual void configure (TiXmlElement *eComponent) override
 
agx::DevicegetDevice ()
 
template<typename T >
T * getDevice ()
 
const agx::DevicegetDevice () const
 
template<typename T >
const T * getDevice () const
 
size_t getNumObjects (const agx::Name &name) const
 
agx::ObjectgetObject (const agx::Name &name, agx::Model *model, size_t index=0)
 
const agx::ObjectgetObject (const agx::Name &name, agx::Model *model, size_t index=0) const
 
agx::ObjectgetObject (const agx::Name &name, size_t index=0)
 
template<typename T >
T * getObject (const agx::Name &name, size_t index=0)
 
const agx::ObjectgetObject (const agx::Name &name, size_t index=0) const
 
template<typename T >
const T * getObject (const agx::Name &name, size_t index=0) const
 
const agx::ObjectRefVectorgetObjects () const
 
template<typename T >
void getObjects (agx::ObjectPtrVector &result, bool recursive=false) const
 
void getObjects (agx::ObjectPtrVector &result, const agx::Model *model, bool recursive=false) const
 
virtual ObjectgetResourceImpl (const Path &path, agx::Model *model) override
 
virtual void printSubtree () const override
 
void printSubtree (std::ostream &stream, int depth=0) const
 
virtual void rebind () override
 
void removeAllObjects ()
 Remove all components.
 
virtual void removeObject (agx::Object *object)
 Remove an object from the component.
 
void removeObject (const agx::Name &name, size_t index=0)
 Remove an object with a specified name (and optional index) from the component.
 
virtual void snapshot (TiXmlNode *eParent, const String &directory) const override
 
void traverse (ComponentVisitor *)
 
void traverse (const TraverseCallback &callback)
 
- Public Member Functions inherited from agx::Object
 Object (const Name &name=Name(), Model *model=Object::ClassModel())
 
void addListener (EventListener *listener)
 
virtual void buildNavigationTree (agxJson::Value &eNode) const
 
virtual void configure (TiXmlElement *)
 
agx::String fullName () const
 
agx::String fullPath () const
 
agx::String fullPath (const agx::Object *root) const
 
template<typename T >
T * getAutoScopedResource (const agx::Path &path)
 
template<typename T >
const T * getAutoScopedResource (const agx::Path &path) const
 
agx::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetAutoScopedResource (const agx::Path &path, agx::Model *model=nullptr) const
 
agx::ObjectgetContext ()
 
template<typename T >
T * getContext ()
 
const agx::ObjectgetContext () const
 
template<typename T >
const T * getContext () const
 
agx::UInt32 getId () const
 
const agx::NamegetImplementationName () const
 
agx::ModelgetModel ()
 
const agx::ModelgetModel () const
 
const agx::NamegetName () const
 
agx::ObjectgetNextSibling ()
 
const agx::ObjectgetNextSibling () const
 
agx::Path getPath () const
 
agx::Path getPath (const agx::Object *root) const
 
template<typename T >
T * getResource (const agx::Path &path)
 
template<typename T >
const T * getResource (const agx::Path &path) const
 
agx::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr)
 
const agx::ObjectgetResource (const agx::Path &path, agx::Model *model=nullptr) const
 
virtual agx::ObjectgetResourceImpl (const agx::Path &path, agx::Model *model)
 
agx::ObjectgetRootContext ()
 
const agx::ObjectgetRootContext () const
 
bool hasListener (EventListener *listener)
 
bool hasParent (const agx::Object *node) const
 
bool isUnique () const
 
virtual void printSubtree () const
 
virtual void rebind ()
 
void removeListener (EventListener *listener)
 
virtual void save (TiXmlElement *) const
 
virtual void setContext (agx::Object *context)
 
void setId (UInt32 id)
 
void setModel (agx::Model *model)
 Set the object model (handled automatically).
 
void setName (const agx::Name &name)
 Set the name of the object.
 
virtual void snapshot (TiXmlNode *, const String &) const
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 

Static Public Member Functions

static agx::ModelClassModel ()
 
static bool findEntityPath (const agx::Path &entityPath, agx::Path &fullEntityPath, agx::String &filePath, agx::String &classPath, agx::TiXmlElement *relativeRoot=nullptr, agxIO::Environment::Type envType=agxIO::Environment::RUNTIME_PATH)
 
static EntityModelgetRootModel ()
 
static bool getThreadSafe ()
 
static EntityModelload (agx::TiXmlElement *eEntity, agx::Device *device)
 
static agx::Namespaceroot ()
 
static void setThreadSafe (bool flag)
 
- Static Public Member Functions inherited from agx::Model
static ModelClassModel ()
 
static agx::ModelcreateModel (const agx::Path &path, const agx::Name &implementation, agx::Model *source)
 
static bool getDiskPath (const Path &modelPath, Path &fullModelPath, String &filePath, TiXmlElement *relativeRoot, agxIO::Environment::Type envType, const String &fileExtension)
 Locate a model definition file.
 
static agx::String getFileSystemRoot (agx::TiXmlElement *element, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
 
static agx::Path getNamespace (agx::TiXmlElement *element, agxIO::Environment::Type pathType=agxIO::Environment::RUNTIME_PATH)
 
static agx::Path getNamespace (const agx::String &filePath, 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)
 
static agx::Path getPath (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 void parsePathString (const agx::String &pathStr, agx::Path &path, agx::Name &implementation)
 
static agx::Namespaceroot ()
 
- Static Public Member Functions inherited from agx::Component
static Component_load (TiXmlElement *eComponent, Device *device)
 
static agx::ModelClassModel ()
 
static Componentload (const Path &path, const Name &implementation, Device *device, const Path &_namespace=Path())
 
static Componentload (const String &path, const Path &_namespace=Path())
 
static Componentload (const String &path, Device *device, const Path &_namespace=Path())
 
static Componentload (TiXmlElement *eComponent, Device *device)
 
- Static Public Member Functions inherited from agx::Object
static agx::ModelClassModel ()
 
static agx::String generateName (const agx::String &bindPath)
 
static const HashSet< Object * > & getActiveObjects ()
 
static bool getEnableRebind ()
 Should rebinding be allowed? Right now a global setting.
 
static Objectload (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type, const String &attribute, const String &value)
 
static Objectload (const String &path, Device *device, const String &type="", size_t instance=0)
 
template<typename T >
static T * load (const String &path, Device *device, const String &type="", size_t instance=0)
 
static void load (const String &path, Device *device, ObjectPtrVector &loadedObjects)
 
static Objectload (TiXmlElement *eObject, Device *device)
 
template<typename T >
static T * load (TiXmlElement *eObject, Device *device)
 
static TiXmlDocument openDocument (const String &path)
 
static void setEnableRebind (bool flag)
 Sets if rebinding of objects should be allowed (Right now a global setting).
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 

Public Attributes

StorageEvent storageCreationEvent
 
- Public Attributes inherited from agx::Component
ObjectEvent addObjectEvent
 
ObjectEvent removeObjectEvent
 

Static Public Attributes

static ScalarAttributeT< EntityPtr > * instanceAttribute
 

Protected Member Functions

virtual ~EntityModel ()
 
void addChild (EntityModel *child)
 
EntityPtr createInstanceWrapper ()
 
void propagateNewAttribute (Attribute *attribute)
 
void removeChild (EntityModel *child)
 
- Protected Member Functions inherited from agx::Model
virtual ~Model ()
 
- Protected Member Functions inherited from agx::Component
virtual ~Component ()
 
String expandAutoCompletionMatch (const String &query, const StringVector &matchingNames) const
 
void setDevice (Device *device)
 
- Protected Member Functions inherited from agx::Object
virtual ~Object ()
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Additional Inherited Members

- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Model
bool m_isShutdown
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

An abstract description of a data entity stored using SOA (structure of arrays) pattern in a EntityStorage.

The entity model contains a set of attributes defined in a .agxEntity XML header file.

Definition at line 63 of file EntityModel.h.

Member Typedef Documentation

◆ StorageEvent

Constructor & Destructor Documentation

◆ EntityModel()

agxData::EntityModel::EntityModel ( const agx::Name name)

◆ ~EntityModel()

virtual agxData::EntityModel::~EntityModel ( )
protectedvirtual

◆ ~Loader()

virtual agxData::EntityModel::~Loader ( )
virtual

Reimplemented from agx::Model::Loader.

Member Function Documentation

◆ addAttribute()

void agxData::EntityModel::addAttribute ( Attribute attribute)

Add an attribute to the entity.

Parameters
attributeThe attribute.

◆ addChild()

void agxData::EntityModel::addChild ( EntityModel child)
protected

◆ ClassModel()

static agx::Model * agxData::EntityModel::ClassModel ( )
static

◆ configure()

virtual void agxData::EntityModel::configure ( agx::TiXmlElement *  eEntity)
virtual

Reimplemented in agx::Physics::BinaryConstraintModel, agx::Physics::BodyContactModel, agx::Physics::BroadPhasePairModel, agx::Physics::BulkMaterialModel, agx::Physics::CollisionGroupModel, agx::Physics::CollisionGroupSetModel, agx::Physics::ConstraintBaseModel, agx::Physics::ConstraintForcesModel, agx::Physics::ConstraintRowModel, agx::Physics::ContactConstraintModel, agx::Physics::ContactModel, agx::Physics::ContactMaterialModel, agx::Physics::ContactPointModel, agx::Physics::EmitterModel, agx::Physics::FrameModel, agx::Physics::Geometry::BoxModel, agx::Physics::Geometry::CapsuleModel, agx::Physics::Geometry::ConeModel, agx::Physics::Geometry::ConvexModel, agx::Physics::Geometry::CylinderModel, agx::Physics::Geometry::HeightFieldModel, agx::Physics::Geometry::HollowConeModel, agx::Physics::Geometry::HollowCylinderModel, agx::Physics::Geometry::LineModel, agx::Physics::Geometry::MeshModel, agx::Physics::Geometry::PlaneModel, agx::Physics::Geometry::RenderBoxModel, agx::Physics::Geometry::ShapeModel, agx::Physics::Geometry::ShapeGroupModel, agx::Physics::Geometry::SphereModel, agx::Physics::Geometry::TriangleModel, agx::Physics::Geometry::TrimeshModel, agx::Physics::Geometry::WireShapeModel, agx::Physics::GeometryContactModel, agx::Physics::GeometryModel, agx::Physics::GeometryPairModel, agx::Physics::GeometryParticleContactListModel, agx::Physics::GranularBody::CachedGranularContactModel, agx::Physics::GranularBody::ContactConstraint32Model, agx::Physics::GranularBody::ContactConstraintModel, agx::Physics::GranularBodyModel, agx::Physics::GraphNodeModel, agx::Physics::HierarchicalGrid::Cell2DModel, agx::Physics::HierarchicalGrid::CellModel, agx::Physics::HierarchicalGrid::CollisionObject2DModel, agx::Physics::HierarchicalGrid::CollisionObjectModel, agx::Physics::HierarchicalGrid::ContactZone_CornerModel, agx::Physics::HierarchicalGrid::ContactZone_EdgeModel, agx::Physics::HierarchicalGrid::ContactZone_FaceModel, agx::Physics::HierarchicalGrid::ContactZone_InternalModel, agx::Physics::HierarchicalGrid::ContactZoneDependencyModel, agx::Physics::HierarchicalGrid::ContactZoneModel, agx::Physics::HierarchicalGrid::CornerZoneModel, agx::Physics::HierarchicalGrid::GridOverlapModel, agx::Physics::HierarchicalGrid::GridTier2DModel, agx::Physics::HierarchicalGrid::GridTierModel, agx::Physics::HierarchicalGrid::OrientedGeometryBoundModel, agx::Physics::InteractionModel, agx::Physics::InteractionGroupModel, agx::Physics::ManyBodyConstraintModel, agx::Physics::MaterialModel, agx::Physics::Particle::ContactConstraintModel, agx::Physics::Particle::ContactConstraintRow32Model, agx::Physics::Particle::ContactConstraintRowModel, agx::Physics::Particle::ParticleBodyContactConstraintModel, agx::Physics::ParticleModel, agx::Physics::ParticleGeometryContactModel, agx::Physics::ParticlePairContactModel, agx::Physics::RigidBodyModel, agx::Physics::SolveBody32Model, agx::Physics::SolveBodyModel, agx::Physics::SolveGroupModel, agx::Physics::SolveIslandModel, agx::Physics::SolveMaterial32Model, agx::Physics::SolveMaterialModel, agx::Physics::SolveParticleModel, agx::Physics::StrongInteractionModel, agx::Physics::SurfaceMaterialModel, agx::Physics::WarmStartingDataModel, agx::Physics::WireMaterialModel, agx::ReferencedModel, agx::TaskTimingModel, and agx::ThreadTimelineEntryModel.

◆ construct()

virtual void agxData::EntityModel::construct ( agxData::EntityPtr  )
inlinevirtual

Reimplemented in agx::Physics::BinaryConstraintModel, agx::Physics::BodyContactModel, agx::Physics::BroadPhasePairModel, agx::Physics::BulkMaterialModel, agx::Physics::CollisionGroupModel, agx::Physics::CollisionGroupSetModel, agx::Physics::ConstraintBaseModel, agx::Physics::ConstraintForcesModel, agx::Physics::ConstraintRowModel, agx::Physics::ContactConstraintModel, agx::Physics::ContactModel, agx::Physics::ContactMaterialModel, agx::Physics::ContactPointModel, agx::Physics::EmitterModel, agx::Physics::FrameModel, agx::Physics::Geometry::BoxModel, agx::Physics::Geometry::CapsuleModel, agx::Physics::Geometry::ConeModel, agx::Physics::Geometry::ConvexModel, agx::Physics::Geometry::CylinderModel, agx::Physics::Geometry::HeightFieldModel, agx::Physics::Geometry::HollowConeModel, agx::Physics::Geometry::HollowCylinderModel, agx::Physics::Geometry::LineModel, agx::Physics::Geometry::MeshModel, agx::Physics::Geometry::PlaneModel, agx::Physics::Geometry::RenderBoxModel, agx::Physics::Geometry::ShapeModel, agx::Physics::Geometry::ShapeGroupModel, agx::Physics::Geometry::SphereModel, agx::Physics::Geometry::TriangleModel, agx::Physics::Geometry::TrimeshModel, agx::Physics::Geometry::WireShapeModel, agx::Physics::GeometryContactModel, agx::Physics::GeometryModel, agx::Physics::GeometryPairModel, agx::Physics::GeometryParticleContactListModel, agx::Physics::GranularBody::CachedGranularContactModel, agx::Physics::GranularBody::ContactConstraint32Model, agx::Physics::GranularBody::ContactConstraintModel, agx::Physics::GranularBodyModel, agx::Physics::GraphNodeModel, agx::Physics::HierarchicalGrid::Cell2DModel, agx::Physics::HierarchicalGrid::CellModel, agx::Physics::HierarchicalGrid::CollisionObject2DModel, agx::Physics::HierarchicalGrid::CollisionObjectModel, agx::Physics::HierarchicalGrid::ContactZone_CornerModel, agx::Physics::HierarchicalGrid::ContactZone_EdgeModel, agx::Physics::HierarchicalGrid::ContactZone_FaceModel, agx::Physics::HierarchicalGrid::ContactZone_InternalModel, agx::Physics::HierarchicalGrid::ContactZoneDependencyModel, agx::Physics::HierarchicalGrid::ContactZoneModel, agx::Physics::HierarchicalGrid::CornerZoneModel, agx::Physics::HierarchicalGrid::GridOverlapModel, agx::Physics::HierarchicalGrid::GridTier2DModel, agx::Physics::HierarchicalGrid::GridTierModel, agx::Physics::HierarchicalGrid::OrientedGeometryBoundModel, agx::Physics::InteractionModel, agx::Physics::InteractionGroupModel, agx::Physics::ManyBodyConstraintModel, agx::Physics::MaterialModel, agx::Physics::Particle::ContactConstraintModel, agx::Physics::Particle::ContactConstraintRow32Model, agx::Physics::Particle::ContactConstraintRowModel, agx::Physics::Particle::ParticleBodyContactConstraintModel, agx::Physics::ParticleModel, agx::Physics::ParticleGeometryContactModel, agx::Physics::ParticlePairContactModel, agx::Physics::RigidBodyModel, agx::Physics::SolveBody32Model, agx::Physics::SolveBodyModel, agx::Physics::SolveGroupModel, agx::Physics::SolveIslandModel, agx::Physics::SolveMaterial32Model, agx::Physics::SolveMaterialModel, agx::Physics::SolveParticleModel, agx::Physics::StrongInteractionModel, agx::Physics::SurfaceMaterialModel, agx::Physics::WarmStartingDataModel, agx::Physics::WireMaterialModel, agx::ReferencedModel, agx::TaskTimingModel, and agx::ThreadTimelineEntryModel.

Definition at line 152 of file EntityModel.h.

◆ createData()

virtual EntityData * agxData::EntityModel::createData ( EntityStorage storage)
virtual

Reimplemented in agx::Physics::BinaryConstraintModel, agx::Physics::BodyContactModel, agx::Physics::BroadPhasePairModel, agx::Physics::BulkMaterialModel, agx::Physics::CollisionGroupModel, agx::Physics::CollisionGroupSetModel, agx::Physics::ConstraintBaseModel, agx::Physics::ConstraintForcesModel, agx::Physics::ConstraintRowModel, agx::Physics::ContactConstraintModel, agx::Physics::ContactModel, agx::Physics::ContactMaterialModel, agx::Physics::ContactPointModel, agx::Physics::EmitterModel, agx::Physics::FrameModel, agx::Physics::Geometry::BoxModel, agx::Physics::Geometry::CapsuleModel, agx::Physics::Geometry::ConeModel, agx::Physics::Geometry::ConvexModel, agx::Physics::Geometry::CylinderModel, agx::Physics::Geometry::HeightFieldModel, agx::Physics::Geometry::HollowConeModel, agx::Physics::Geometry::HollowCylinderModel, agx::Physics::Geometry::LineModel, agx::Physics::Geometry::MeshModel, agx::Physics::Geometry::PlaneModel, agx::Physics::Geometry::RenderBoxModel, agx::Physics::Geometry::ShapeModel, agx::Physics::Geometry::ShapeGroupModel, agx::Physics::Geometry::SphereModel, agx::Physics::Geometry::TriangleModel, agx::Physics::Geometry::TrimeshModel, agx::Physics::Geometry::WireShapeModel, agx::Physics::GeometryContactModel, agx::Physics::GeometryModel, agx::Physics::GeometryPairModel, agx::Physics::GeometryParticleContactListModel, agx::Physics::GranularBody::CachedGranularContactModel, agx::Physics::GranularBody::ContactConstraint32Model, agx::Physics::GranularBody::ContactConstraintModel, agx::Physics::GranularBodyModel, agx::Physics::GraphNodeModel, agx::Physics::HierarchicalGrid::Cell2DModel, agx::Physics::HierarchicalGrid::CellModel, agx::Physics::HierarchicalGrid::CollisionObject2DModel, agx::Physics::HierarchicalGrid::CollisionObjectModel, agx::Physics::HierarchicalGrid::ContactZone_CornerModel, agx::Physics::HierarchicalGrid::ContactZone_EdgeModel, agx::Physics::HierarchicalGrid::ContactZone_FaceModel, agx::Physics::HierarchicalGrid::ContactZone_InternalModel, agx::Physics::HierarchicalGrid::ContactZoneDependencyModel, agx::Physics::HierarchicalGrid::ContactZoneModel, agx::Physics::HierarchicalGrid::CornerZoneModel, agx::Physics::HierarchicalGrid::GridOverlapModel, agx::Physics::HierarchicalGrid::GridTier2DModel, agx::Physics::HierarchicalGrid::GridTierModel, agx::Physics::HierarchicalGrid::OrientedGeometryBoundModel, agx::Physics::InteractionModel, agx::Physics::InteractionGroupModel, agx::Physics::ManyBodyConstraintModel, agx::Physics::MaterialModel, agx::Physics::Particle::ContactConstraintModel, agx::Physics::Particle::ContactConstraintRow32Model, agx::Physics::Particle::ContactConstraintRowModel, agx::Physics::Particle::ParticleBodyContactConstraintModel, agx::Physics::ParticleModel, agx::Physics::ParticleGeometryContactModel, agx::Physics::ParticlePairContactModel, agx::Physics::RigidBodyModel, agx::Physics::SolveBody32Model, agx::Physics::SolveBodyModel, agx::Physics::SolveGroupModel, agx::Physics::SolveIslandModel, agx::Physics::SolveMaterial32Model, agx::Physics::SolveMaterialModel, agx::Physics::SolveParticleModel, agx::Physics::StrongInteractionModel, agx::Physics::SurfaceMaterialModel, agx::Physics::WarmStartingDataModel, agx::Physics::WireMaterialModel, agx::ReferencedModel, agx::TaskTimingModel, and agx::ThreadTimelineEntryModel.

◆ createInstanceWrapper()

EntityPtr agxData::EntityModel::createInstanceWrapper ( )
protected

◆ findEntityPath()

static bool agxData::EntityModel::findEntityPath ( const agx::Path entityPath,
agx::Path fullEntityPath,
agx::String filePath,
agx::String classPath,
agx::TiXmlElement *  relativeRoot = nullptr,
agxIO::Environment::Type  envType = agxIO::Environment::RUNTIME_PATH 
)
static

◆ getAttribute() [1/2]

Attribute * agxData::EntityModel::getAttribute ( const agx::Name name)
Returns
The registered attribute with the given name. nullptr if no such attribute is found;

◆ getAttribute() [2/2]

const Attribute * agxData::EntityModel::getAttribute ( const agx::Name name) const

◆ getAttributes()

const AttributePtrVector & agxData::EntityModel::getAttributes ( ) const
Returns
The registered attributes.

Definition at line 227 of file EntityModel.h.

◆ getDefaultStorage()

EntityStorage * agxData::EntityModel::getDefaultStorage ( )
Returns
The default storage for this entity.

◆ getNumBytes() [1/2]

size_t agxData::EntityModel::getNumBytes ( )
Returns
The number of bytes for one entity instance.

◆ getNumBytes() [2/2]

size_t agxData::EntityModel::getNumBytes ( agx::Device device)

◆ getRootModel()

static EntityModel * agxData::EntityModel::getRootModel ( )
static

◆ getSource() [1/2]

EntityModel * agxData::EntityModel::getSource ( )
Returns
The parent entity.

Definition at line 232 of file EntityModel.h.

◆ getSource() [2/2]

const EntityModel * agxData::EntityModel::getSource ( ) const

Definition at line 231 of file EntityModel.h.

◆ getThreadSafe()

bool agxData::EntityModel::getThreadSafe ( )
static

Definition at line 223 of file EntityModel.h.

◆ hasConstructor()

bool agxData::EntityModel::hasConstructor ( ) const

Definition at line 224 of file EntityModel.h.

◆ initAttributeAccessors()

virtual void agxData::EntityModel::initAttributeAccessors ( )
inlinevirtual

Reimplemented in agx::Physics::BinaryConstraintModel, agx::Physics::BodyContactModel, agx::Physics::BroadPhasePairModel, agx::Physics::BulkMaterialModel, agx::Physics::CollisionGroupModel, agx::Physics::CollisionGroupSetModel, agx::Physics::ConstraintBaseModel, agx::Physics::ConstraintForcesModel, agx::Physics::ConstraintRowModel, agx::Physics::ContactConstraintModel, agx::Physics::ContactModel, agx::Physics::ContactMaterialModel, agx::Physics::ContactPointModel, agx::Physics::EmitterModel, agx::Physics::FrameModel, agx::Physics::Geometry::BoxModel, agx::Physics::Geometry::CapsuleModel, agx::Physics::Geometry::ConeModel, agx::Physics::Geometry::ConvexModel, agx::Physics::Geometry::CylinderModel, agx::Physics::Geometry::HeightFieldModel, agx::Physics::Geometry::HollowConeModel, agx::Physics::Geometry::HollowCylinderModel, agx::Physics::Geometry::LineModel, agx::Physics::Geometry::MeshModel, agx::Physics::Geometry::PlaneModel, agx::Physics::Geometry::RenderBoxModel, agx::Physics::Geometry::ShapeModel, agx::Physics::Geometry::ShapeGroupModel, agx::Physics::Geometry::SphereModel, agx::Physics::Geometry::TriangleModel, agx::Physics::Geometry::TrimeshModel, agx::Physics::Geometry::WireShapeModel, agx::Physics::GeometryContactModel, agx::Physics::GeometryModel, agx::Physics::GeometryPairModel, agx::Physics::GeometryParticleContactListModel, agx::Physics::GranularBody::CachedGranularContactModel, agx::Physics::GranularBody::ContactConstraint32Model, agx::Physics::GranularBody::ContactConstraintModel, agx::Physics::GranularBodyModel, agx::Physics::GraphNodeModel, agx::Physics::HierarchicalGrid::Cell2DModel, agx::Physics::HierarchicalGrid::CellModel, agx::Physics::HierarchicalGrid::CollisionObject2DModel, agx::Physics::HierarchicalGrid::CollisionObjectModel, agx::Physics::HierarchicalGrid::ContactZone_CornerModel, agx::Physics::HierarchicalGrid::ContactZone_EdgeModel, agx::Physics::HierarchicalGrid::ContactZone_FaceModel, agx::Physics::HierarchicalGrid::ContactZone_InternalModel, agx::Physics::HierarchicalGrid::ContactZoneDependencyModel, agx::Physics::HierarchicalGrid::ContactZoneModel, agx::Physics::HierarchicalGrid::CornerZoneModel, agx::Physics::HierarchicalGrid::GridOverlapModel, agx::Physics::HierarchicalGrid::GridTier2DModel, agx::Physics::HierarchicalGrid::GridTierModel, agx::Physics::HierarchicalGrid::OrientedGeometryBoundModel, agx::Physics::InteractionModel, agx::Physics::InteractionGroupModel, agx::Physics::ManyBodyConstraintModel, agx::Physics::MaterialModel, agx::Physics::Particle::ContactConstraintModel, agx::Physics::Particle::ContactConstraintRow32Model, agx::Physics::Particle::ContactConstraintRowModel, agx::Physics::Particle::ParticleBodyContactConstraintModel, agx::Physics::ParticleModel, agx::Physics::ParticleGeometryContactModel, agx::Physics::ParticlePairContactModel, agx::Physics::RigidBodyModel, agx::Physics::SolveBody32Model, agx::Physics::SolveBodyModel, agx::Physics::SolveGroupModel, agx::Physics::SolveIslandModel, agx::Physics::SolveMaterial32Model, agx::Physics::SolveMaterialModel, agx::Physics::SolveParticleModel, agx::Physics::StrongInteractionModel, agx::Physics::SurfaceMaterialModel, agx::Physics::WarmStartingDataModel, agx::Physics::WireMaterialModel, agx::ReferencedModel, agx::TaskTimingModel, and agx::ThreadTimelineEntryModel.

Definition at line 151 of file EntityModel.h.

◆ load() [1/2]

virtual EntityModel * agxData::EntityModel::load ( )
pure virtual

◆ load() [2/2]

static EntityModel * agxData::EntityModel::load ( agx::TiXmlElement *  eEntity,
agx::Device device 
)
static

◆ Loader()

agxData::EntityModel::Loader ( const char *  modelPath)

◆ print() [1/2]

void agxData::EntityModel::print ( ) const

◆ print() [2/2]

void agxData::EntityModel::print ( std::ostream &  stream) const

Print the registered attributes.

◆ propagateNewAttribute()

void agxData::EntityModel::propagateNewAttribute ( Attribute attribute)
protected

◆ removeChild()

void agxData::EntityModel::removeChild ( EntityModel child)
protected

◆ root()

static agx::Namespace * agxData::EntityModel::root ( )
static

◆ setBaseEntity()

void agxData::EntityModel::setBaseEntity ( EntityModel base)

◆ setHasConstructor()

void agxData::EntityModel::setHasConstructor ( bool  flag)

◆ setThreadSafe()

static void agxData::EntityModel::setThreadSafe ( bool  flag)
static

◆ setUseInstanceTable()

void agxData::EntityModel::setUseInstanceTable ( bool  flag)

◆ shutdownCleanup()

virtual void agxData::EntityModel::shutdownCleanup ( )
inlinevirtual

Reimplemented in agx::Physics::BinaryConstraintModel, agx::Physics::BodyContactModel, agx::Physics::BroadPhasePairModel, agx::Physics::BulkMaterialModel, agx::Physics::CollisionGroupModel, agx::Physics::CollisionGroupSetModel, agx::Physics::ConstraintBaseModel, agx::Physics::ConstraintForcesModel, agx::Physics::ConstraintRowModel, agx::Physics::ContactConstraintModel, agx::Physics::ContactModel, agx::Physics::ContactMaterialModel, agx::Physics::ContactPointModel, agx::Physics::EmitterModel, agx::Physics::FrameModel, agx::Physics::Geometry::BoxModel, agx::Physics::Geometry::CapsuleModel, agx::Physics::Geometry::ConeModel, agx::Physics::Geometry::ConvexModel, agx::Physics::Geometry::CylinderModel, agx::Physics::Geometry::HeightFieldModel, agx::Physics::Geometry::HollowConeModel, agx::Physics::Geometry::HollowCylinderModel, agx::Physics::Geometry::LineModel, agx::Physics::Geometry::MeshModel, agx::Physics::Geometry::PlaneModel, agx::Physics::Geometry::RenderBoxModel, agx::Physics::Geometry::ShapeModel, agx::Physics::Geometry::ShapeGroupModel, agx::Physics::Geometry::SphereModel, agx::Physics::Geometry::TriangleModel, agx::Physics::Geometry::TrimeshModel, agx::Physics::Geometry::WireShapeModel, agx::Physics::GeometryContactModel, agx::Physics::GeometryModel, agx::Physics::GeometryPairModel, agx::Physics::GeometryParticleContactListModel, agx::Physics::GranularBody::CachedGranularContactModel, agx::Physics::GranularBody::ContactConstraint32Model, agx::Physics::GranularBody::ContactConstraintModel, agx::Physics::GranularBodyModel, agx::Physics::GraphNodeModel, agx::Physics::HierarchicalGrid::Cell2DModel, agx::Physics::HierarchicalGrid::CellModel, agx::Physics::HierarchicalGrid::CollisionObject2DModel, agx::Physics::HierarchicalGrid::CollisionObjectModel, agx::Physics::HierarchicalGrid::ContactZone_CornerModel, agx::Physics::HierarchicalGrid::ContactZone_EdgeModel, agx::Physics::HierarchicalGrid::ContactZone_FaceModel, agx::Physics::HierarchicalGrid::ContactZone_InternalModel, agx::Physics::HierarchicalGrid::ContactZoneDependencyModel, agx::Physics::HierarchicalGrid::ContactZoneModel, agx::Physics::HierarchicalGrid::CornerZoneModel, agx::Physics::HierarchicalGrid::GridOverlapModel, agx::Physics::HierarchicalGrid::GridTier2DModel, agx::Physics::HierarchicalGrid::GridTierModel, agx::Physics::HierarchicalGrid::OrientedGeometryBoundModel, agx::Physics::InteractionModel, agx::Physics::InteractionGroupModel, agx::Physics::ManyBodyConstraintModel, agx::Physics::MaterialModel, agx::Physics::Particle::ContactConstraintModel, agx::Physics::Particle::ContactConstraintRow32Model, agx::Physics::Particle::ContactConstraintRowModel, agx::Physics::Particle::ParticleBodyContactConstraintModel, agx::Physics::ParticleModel, agx::Physics::ParticleGeometryContactModel, agx::Physics::ParticlePairContactModel, agx::Physics::RigidBodyModel, agx::Physics::SolveBody32Model, agx::Physics::SolveBodyModel, agx::Physics::SolveGroupModel, agx::Physics::SolveIslandModel, agx::Physics::SolveMaterial32Model, agx::Physics::SolveMaterialModel, agx::Physics::SolveParticleModel, agx::Physics::StrongInteractionModel, agx::Physics::SurfaceMaterialModel, agx::Physics::WarmStartingDataModel, agx::Physics::WireMaterialModel, agx::ReferencedModel, agx::TaskTimingModel, and agx::ThreadTimelineEntryModel.

Definition at line 141 of file EntityModel.h.

◆ useInstanceTable()

bool agxData::EntityModel::useInstanceTable ( ) const

Member Data Documentation

◆ instanceAttribute

ScalarAttributeT<EntityPtr>* agxData::EntityModel::instanceAttribute
static

Definition at line 67 of file EntityModel.h.

◆ storageCreationEvent

StorageEvent agxData::EntityModel::storageCreationEvent

Definition at line 85 of file EntityModel.h.


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