21#ifndef GENERATED_AGX_PHYSICS_GEOMETRY_PLANE_H_PLUGIN
22#define GENERATED_AGX_PHYSICS_GEOMETRY_PLANE_H_PLUGIN
24#define AGX_ENTITY_WRAPPER 1
30# pragma warning( disable : 4505 )
32# pragma warning( disable : 4251 )
34# pragma warning( disable : 4355 )
36# pragma warning( disable: 4714 )
97 virtual void configure(agx::TiXmlElement* eEntity)
override;
105 #ifndef AGX_PHYSICS_GEOMETRY_PLANE_DATA_SET_OVERRIDE
106 #define AGX_PHYSICS_GEOMETRY_PLANE_DATA_SET
110 PlaneInstance operator[] (
size_t index);
124 virtual ~PlaneData() {}
125 virtual void setNumElements(
agx::Index numElements)
override;
128 PlaneData& operator= (
const PlaneData&) {
return *
this; }
150 friend class PlanePtr;
151 friend class PlaneInstance;
200 PlaneInstance(PlaneData* data,
agx::Index index);
205 PlaneData* getData();
206 const PlaneData* getData()
const;
228 inline PlaneInstance
agx::Physics::Geometry::PlaneData::operator[] (
size_t index) {
return PlaneInstance(
this, (
agx::Index)index); }
235 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
242 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
250 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
251 EntityPtr::getModel()->fullPath().c_str(), PlaneModel::instance()->fullPath().c_str());
259 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
260 EntityPtr::getModel()->fullPath().c_str(), PlaneModel::instance()->fullPath().c_str());
266 AGX_FORCE_INLINE PlaneSemantics* PlanePtr::operator->() {
return (PlaneSemantics* )
this; }
267 AGX_FORCE_INLINE const PlaneSemantics* PlanePtr::operator->()
const {
return (
const PlaneSemantics* )
this; }
281 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
288 "Entity type mismatch. Storage contains entity data for type \'%s\', instance pointer is of type \'%s\'",
314#undef AGX_ENTITY_WRAPPER
315#undef AGX_ENTITY_NAMESPACE
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGX_TYPE_BINDING(_Type, _Name)
#define AGXPHYSICS_EXPORT
Type-specific Array used for fast access into the data held by a Buffer.
Entity instance provides access to a single instance in an EntityStorage.
bool isInstanceOf(agxData::EntityModel *model) const
agxData::EntityData * getData()
Accessor to a entity instance stored in a EntityStorage, to allow SOA (structure of arrays) data to b...
EntityPtr & operator=(const EntityPtr &other)=default
bool isInstanceOf(agxData::EntityModel *model) const
agxData::EntityData * getData()
agxData::EntityInstance instance()
An entity reference is a safe/referencing handle to an entity instance whose model is descendant from...
Data storage for a collection of entity instances of a specified EntityModel.
agx::String fullPath() const
Abstract description of the data attributes for the Physics.Geometry.Plane entity.
PlaneModel(const agx::String &name="Plane")
void construct(agx::Physics::Geometry::PlanePtr plane)
static PlaneModel * instance()
static PlanePtr createInstance()
Create and return a pointer to a new instance in the default storage for this entity model.
virtual void initAttributeAccessors() override
static agxData::EntityStorage * defaultStorage()
virtual agxData::EntityData * createData(agxData::EntityStorage *storage) override
static agxData::ScalarAttributeT< agx::Plane > * planeAttribute
virtual void shutdownCleanup() override
This is part of internal cleanup and should not be called by users.
virtual void configure(agx::TiXmlElement *eEntity) override
virtual void construct(agxData::EntityPtr instance) override
Pointer to a entity instance of type Physics.Geometry.Plane.
AGXPHYSICS_EXPORT const PlaneInstance instance() const
AGXPHYSICS_EXPORT PlaneSemantics * operator->()
AGXPHYSICS_EXPORT PlanePtr(const agxData::EntityInstance &instance)
AGXPHYSICS_EXPORT agx::Plane const & plane() const
AGXPHYSICS_EXPORT agx::Plane & plane()
const PlaneData * getData() const
PlaneInstance InstanceType
AGXPHYSICS_EXPORT PlanePtr(agxData::EntityStorage *storage, agx::Index id)
AGXPHYSICS_EXPORT const PlaneSemantics * operator->() const
AGXPHYSICS_EXPORT PlaneInstance instance()
AGXPHYSICS_EXPORT PlanePtr(const agxData::EntityPtr &ptr)
AGXPHYSICS_EXPORT PlanePtr()
Abstract description of the data attributes for the Physics.Geometry.Shape entity.
Pointer to a entity instance of type Physics.Geometry.Shape.
Class representing the mathematical concept of a plane, also called a half- space.
Vector containing 'raw' data.
#define agxAssertN(expr, format,...)
#define DOXYGEN_END_INTERNAL_BLOCK()
#define DOXYGEN_START_INTERNAL_BLOCK()
Contains classes for low level data storage for AGX.
agxData::EntityRef< PlanePtr > PlaneRef
The agx namespace contains the dynamics/math part of the AGX Dynamics API.