|
AGX Dynamics 2.42.3.0
|
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. | |
Class holding rigid bodies that makes it possible to batch render these objects.
Definition at line 703 of file agxRender/RenderProxy.h.
| typedef agx::Vector<const agx::RigidBody*> agxRender::RigidBodyBatchRenderProxy::Container |
Definition at line 706 of file agxRender/RenderProxy.h.
| agxRender::RigidBodyBatchRenderProxy::RigidBodyBatchRenderProxy | ( | ) |
|
protectedvirtualdefault |
Reimplemented in agxOSG::RigidBodyBatchRenderProxy< ContainerType, TransformType >.
| void agxRender::RigidBodyBatchRenderProxy::set | ( | const agx::RigidBodyPtrSetVector * | enabledBodies, |
| float | scale | ||
| ) |
|
protected |
Definition at line 717 of file agxRender/RenderProxy.h.
Referenced by agxOSG::RigidBodyBatchRenderProxy< ContainerType, TransformType >::ADD_COMMON_PROXY_METHODS().
|
protected |
Definition at line 718 of file agxRender/RenderProxy.h.
Referenced by agxOSG::RigidBodyBatchRenderProxy< ContainerType, TransformType >::ADD_COMMON_PROXY_METHODS().