AGX Dynamics 2.42.3.0
Loading...
Searching...
No Matches
agxRender::RigidBodyBatchRenderProxy Class Reference

Class holding rigid bodies that makes it possible to batch render these objects. More...

#include <RenderProxy.h>

+ Inheritance diagram for agxRender::RigidBodyBatchRenderProxy:

Public Types

typedef agx::Vector< const agx::RigidBody * > Container
 
- Public Types inherited from agxRender::RenderProxy
enum  EventType {
  ENABLE , TRANSFORM , ALPHA , COLOR ,
  SHAPE , REMOVE , RENDERMODE
}
 Enum for specifying a type of event which might change a RenderProxy. More...
 
enum  RenderMode { NOT_SET = 0x0 , SOLID = 0x1 , WIREFRAME = 0x2 }
 

Public Member Functions

 RigidBodyBatchRenderProxy ()
 
void set (const agx::RigidBodyPtrSetVector *enabledBodies, float scale)
 
- Public Member Functions inherited from agxRender::RenderProxy
 RenderProxy (agxCollide::Shape *shape=nullptr)
 Constructor.
 
void callOnChange (EventType type)
 Explicitly fires event of type.
 
bool compare () const
 Compare the modified count with its associated shape.
 
virtual float getAlpha () const
 
virtual agx::Vec3 getColor () const
 
bool getEnable () const
 
const agxCollide::Geometry * getGeometry () const
 
agx::UInt32 getModifiedCount () const
 This value tells us that if the proxy is synchronized with the associated shape.
 
RenderMode getRenderMode () const
 
const agxCollide::Shape * getShape () const
 
const agx::AffineMatrix4x4 & getTransform () const
 
bool isEnabled () const
 
virtual void reset ()
 Will reset color, alpha and enabled state back to default state (as when initially created).
 
virtual void setAlpha (float alpha)
 Set the alpha value of this proxy.
 
virtual void setColor (const agx::Vec3 &color)
 Set the color of this proxy.
 
void setEnable (bool flag)
 Toggle this proxy for rendering on/off.
 
void setRenderMode (RenderMode mode)
 Set the render mode for this Proxy.
 
void setShape (agxCollide::Shape *shape, const agxCollide::Geometry *geometry)
 Set the shape for this proxy.
 
virtual void setTransform (const agx::AffineMatrix4x4 &transform)
 Set the transform of this RenderProxy, if overridden, set the m_transform and call onUpdate(TRANSFORM)
 
virtual bool updateShape ()
 Called when a Shape has been changed (for example radius on a sphere is changed).
 
- 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.
 
Referenced & operator= (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.
 

Protected Member Functions

virtual ~RigidBodyBatchRenderProxy ()=default
 
- Protected Member Functions inherited from agxRender::RenderProxy
virtual ~RenderProxy ()
 Destructor.
 
virtual void onChange (EventType)
 Pure virtual method that should response on the different events.
 
void setBeginToEndTransform (const agx::Vec3 &begin, const agx::Vec3 &end, float &retHeight, bool signalShapeChanged, bool offsetHalfHeight=true)
 Calculates and sets the transform given begin and end points.
 
void setModifiedCount (agx::UInt32 c)
 
virtual void synchronizeParameters ()
 This method should be implemented so that it extracts size parameters from an associated shape and store it in the Proxy parameters (radius/length etc).
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

agxRender::RigidBodyBatchRenderProxy::Container m_bodies
 
float m_scale
 
- Protected Attributes inherited from agxRender::RenderProxy
agx::observer_ptr< agxCollide::Shape > m_shape
 
agx::AffineMatrix4x4 m_transform
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Additional Inherited Members

- Static Public Member Functions inherited from agxRender::RenderProxy
static agx::Bool shouldRender (const agx::RigidBody *rb)
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandler * getDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 

Detailed Description

Class holding rigid bodies that makes it possible to batch render these objects.

Definition at line 703 of file agxRender/RenderProxy.h.

Member Typedef Documentation

◆ Container

Constructor & Destructor Documentation

◆ RigidBodyBatchRenderProxy()

agxRender::RigidBodyBatchRenderProxy::RigidBodyBatchRenderProxy ( )

◆ ~RigidBodyBatchRenderProxy()

virtual agxRender::RigidBodyBatchRenderProxy::~RigidBodyBatchRenderProxy ( )
protectedvirtualdefault

Member Function Documentation

◆ set()

void agxRender::RigidBodyBatchRenderProxy::set ( const agx::RigidBodyPtrSetVector *  enabledBodies,
float  scale 
)

Member Data Documentation

◆ m_bodies

◆ m_scale

float agxRender::RigidBodyBatchRenderProxy::m_scale
protected

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