17#ifndef AGXOSG_SIMULATIONOBJECT_H
18#define AGXOSG_SIMULATIONOBJECT_H
32#define DEFAULT_DETAIL_RATIO 1.0f
74 explicit SimulationObject( ) {
85 SimulationObject(
const SimulationObject& copy) :
agxSDK::SimulationObject( copy ) {
90 SimulationObject& operator= (
const SimulationObject& copy )
96 this->m_geometry = copy.m_geometry;
97 this->m_body = copy.m_body;
104 osg::Node *
getNode() {
return m_node.get(); }
107 operator const osg::Node *()
const {
return m_node.get(); }
109 operator osg::Node *() {
return m_node.get(); }
140 static SimulationObject createBox(
const agx::String& name,
146 bool createGeometry=
true,
147 bool createBody=
true,
177 static SimulationObject createPlane(
const agx::String& name,
182 bool createGeometry=
true,
214 static SimulationObject createHeightField(
const agx::String& name,
221 bool createGeometry=
true,
256 static SimulationObject createHeightField(
const agx::String& name,
267 bool createGeometry=
true,
305 bool createGeometry=
true,
306 bool createBody=
true,
335 static SimulationObject createCapsule(
const agx::String& name,
341 bool createGeometry=
true,
376 bool createGeometry=
true,
411 bool createGeometry=
true,
445 bool createGeometry=
true,
482 bool createGeometry=
true,
490 osg::ref_ptr<osg::Node> m_node;
#define DEFAULT_DETAIL_RATIO
The geometry representation used by the collision detection engine.
Triangle mesh for geometric intersection tests.
Deprecated, used only for internal examples*.
Simulation is a class that bridges the collision space agxCollide::Space and the dynamic simulation s...
Main material class which acts as a holder of a Surface Material and a Bulk material.
static Material * getDefaultMaterial()
The rigid body class, combining a geometric model and a frame of reference.
MotionControl
The MotionControl enumeration indicates what makes a RigidBody move.
@ STATIC
This body will never move.
@ DYNAMICS
This body moves from the influence of forces.
#define DOXYGEN_END_INTERNAL_BLOCK()
#define DOXYGEN_START_INTERNAL_BLOCK()
This namespace consists of a set of classes for handling geometric intersection tests including boole...
The agxOSG namespace provides functionality for visualizing AGX simulations with OpenSceneGraph.
AGXOSG_EXPORT osg::Geode * createSphere(const agx::Vec3 ¢er, const agx::Vec4 &color, float radius)
Create and return a new Sphere to render.
AGXOSG_EXPORT osg::MatrixTransform * createCylinder(const agx::AffineMatrix4x4 &transform, const agx::Vec4 &color, float radius, float height)
Create and return a new Cylinder to render.
AGXOSG_EXPORT agxCollide::Trimesh * createTrimesh(osg::Node *node)
Extracts mesh data from an osg::Node, creates an agxCollide::Trimesh from it and returns the result.
The agxSDK namespace contain classes to bridge the collision detection system and the dynamical simul...
const Node * getNode(const IteratorCompatibleContainer &container, agx::Real distanceFromStart)
Finds the wire node given current distance from the start of the wire (wire defined to be iterator co...
The agx namespace contains the dynamics/math part of the AGX Dynamics API.