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

#include <RenderProxy.h>

+ Inheritance diagram for agxRender::WireRenderProxy:

Classes

struct  SegmentDef
 
struct  SphereDef
 

Public Types

typedef agx::VectorPOD< SegmentDef > SegmentDefContainer
 
typedef agx::VectorPOD< SphereDef > SphereDefContainer
 
- 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

 WireRenderProxy (float radius, const agx::Vec3 &color)
 
void addEdge (const agx::Vec3 &startPoint, const agx::Vec3 &endPoint)
 Edges are always red and same radius as others.
 
void addNode (const agx::Vec3 &point)
 Node with default color (lumped node).
 
void addNode (const agx::Vec3 &point, float radius, const agx::Vec3 &color, agxRender::RenderManager *manager) const
 Node with different color and/or size.
 
void addSegment (const agx::Vec3 &startPoint, const agx::Vec3 &endPoint, const agx::Vec3 &prevStartPoint, const agx::Vec3 &prevEndPoint)
 Add segment with global radius and color.
 
void addSegment (const agx::Vec3 &startPoint, const agx::Vec3 &endPoint, float radius, const agx::Vec3 &color, agxRender::RenderManager *manager) const
 Slow, non-batch-rendered, segment.
 
void commit ()
 Commit the current state to the renderer.
 
virtual void onAddNotification ()
 Called when the wire is added to the simulation.
 
virtual void onRemoveNotification ()
 Called when the wire is removed from the simulation.
 
void prepare (agx::UInt numSegmentEstimate, agx::UInt numEdgesEstimate, agx::UInt numNodesEstimate)
 Prepare buffers.
 
- 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 ~WireRenderProxy ()
 
- 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

SegmentDefContainer m_edges
 
SphereDefContainer m_nodes
 
float m_radius
 
SegmentDefContainer m_segments
 
- 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

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

Member Typedef Documentation

◆ SegmentDefContainer

◆ SphereDefContainer

Constructor & Destructor Documentation

◆ WireRenderProxy()

agxRender::WireRenderProxy::WireRenderProxy ( float  radius,
const agx::Vec3 &  color 
)

◆ ~WireRenderProxy()

virtual agxRender::WireRenderProxy::~WireRenderProxy ( )
inlineprotectedvirtual

Reimplemented in agxOSG::WireRenderProxy.

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

Member Function Documentation

◆ addEdge()

void agxRender::WireRenderProxy::addEdge ( const agx::Vec3 &  startPoint,
const agx::Vec3 &  endPoint 
)

Edges are always red and same radius as others.

◆ addNode() [1/2]

void agxRender::WireRenderProxy::addNode ( const agx::Vec3 &  point)

Node with default color (lumped node).

◆ addNode() [2/2]

void agxRender::WireRenderProxy::addNode ( const agx::Vec3 &  point,
float  radius,
const agx::Vec3 &  color,
agxRender::RenderManager *  manager 
) const

Node with different color and/or size.

◆ addSegment() [1/2]

void agxRender::WireRenderProxy::addSegment ( const agx::Vec3 &  startPoint,
const agx::Vec3 &  endPoint,
const agx::Vec3 &  prevStartPoint,
const agx::Vec3 &  prevEndPoint 
)

Add segment with global radius and color.

◆ addSegment() [2/2]

void agxRender::WireRenderProxy::addSegment ( const agx::Vec3 &  startPoint,
const agx::Vec3 &  endPoint,
float  radius,
const agx::Vec3 &  color,
agxRender::RenderManager *  manager 
) const

Slow, non-batch-rendered, segment.

◆ commit()

void agxRender::WireRenderProxy::commit ( )

Commit the current state to the renderer.

◆ onAddNotification()

virtual void agxRender::WireRenderProxy::onAddNotification ( )
inlinevirtual

Called when the wire is added to the simulation.

Reimplemented in agxOSG::WireRenderProxy.

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

◆ onRemoveNotification()

virtual void agxRender::WireRenderProxy::onRemoveNotification ( )
inlinevirtual

Called when the wire is removed from the simulation.

Reimplemented in agxOSG::WireRenderProxy.

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

◆ prepare()

void agxRender::WireRenderProxy::prepare ( agx::UInt  numSegmentEstimate,
agx::UInt  numEdgesEstimate,
agx::UInt  numNodesEstimate 
)

Prepare buffers.

Will clear previous data.

Member Data Documentation

◆ m_edges

SegmentDefContainer agxRender::WireRenderProxy::m_edges
protected

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

◆ m_nodes

SphereDefContainer agxRender::WireRenderProxy::m_nodes
protected

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

◆ m_radius

float agxRender::WireRenderProxy::m_radius
protected

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

◆ m_segments

SegmentDefContainer agxRender::WireRenderProxy::m_segments
protected

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


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