17#ifndef AGXOSG_CYLINDER_GEOMETRY_SHADER_H
18#define AGXOSG_CYLINDER_GEOMETRY_SHADER_H
26#include <osg/Geometry>
71 const osg::Program*
getProgram()
const {
return m_program; }
The geometry representation used by the collision detection engine.
osg::Vec3Array * getVertexArray()
osg::FloatArray * m_radiusArray
void add(const agx::Vec3 &point, const agx::Quat &zToDir, agx::Real radius, agx::Real redShift=agx::Real(0))
Continuous mesh, for splines.
osg::DrawArrays * m_primitiveSet
osg::Program * getProgram()
const osg::Uniform * getCylinderColorUniform() const
osg::Vec3Array * m_vertexArray
osg::Uniform * getCylinderColorUniform()
const osg::Uniform * getNumCylinderSegmentsUniform() const
void update()
Push the data to the graphics card.
osg::Vec4Array * getQuatsInColorArray()
osg::FloatArray * getRadiusArray()
void resetCounters()
Resets all internal counters.
CylinderGeometryShader(size_t initialBufferSize=256)
void add(const agxCollide::Geometry *geometry)
All compatible shapes in geometry will be rendered.
void setNumActiveElements(size_t numActiveElements)
size_t m_numActiveElements
osg::FloatArray * m_redShiftArray
osg::Uniform * getNumCylinderSegmentsUniform()
osg::Uniform * m_numCylinderSegments
osg::Vec4Array * m_quatsInColorArray
osg::Uniform * m_cylinderColor
void add(const agx::Vec3 &startPoint, const agx::Vec3 &endPoint, agx::Real radius, agx::Vec2 redShift=agx::Vec2(0, 0))
Add cylinder given world start- and end point, and radius.
virtual ~CylinderGeometryShader()
const osg::Program * getProgram() const
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.
osg::ref_ptr< CylinderGeometryShader > CylinderGeometryShaderRef