25 #ifndef WFIBERDRAWABLE_H
26 #define WFIBERDRAWABLE_H
31 #include <boost/shared_ptr.hpp>
34 #include <boost/thread.hpp>
37 #include <boost/thread/thread.hpp>
40 #include <osg/Drawable>
81 virtual osg::Object*
clone(
const osg::CopyOp& copyop )
const;
107 using osg::Drawable::setBound;
113 void setBitfield( boost::shared_ptr< std::vector< bool > > bitField );
119 void setStartIndexes( boost::shared_ptr< std::vector< size_t > > idx );
131 void setVerts( boost::shared_ptr< std::vector< float > > verts );
137 void setTangents( boost::shared_ptr< std::vector< float > > tangents );
143 void setColor( boost::shared_ptr< std::vector< float > > color );
152 void drawFibers( osg::RenderInfo& renderInfo )
const;
167 boost::shared_ptr< std::vector< float > >
m_verts;
169 boost::shared_ptr< std::vector< float > >
m_colors;
207 #endif // WFIBERDRAWABLE_H
virtual osg::Object * clone(const osg::CopyOp ©op) const
clones it
void drawTubes() const
Draw fibers as fake tubes.
Class implements an osg::Drawable that paints fiber representations either using lines or tubes...
boost::shared_ptr< std::vector< size_t > > m_pointsPerLine
pointer to the field of points per line
void setUseTubes(bool flag)
toggles drawing of tubes
void setPointsPerLine(boost::shared_ptr< std::vector< size_t > > ppl)
setter
void setTangents(boost::shared_ptr< std::vector< float > > tangents)
setter
boost::shared_ptr< std::vector< float > > m_tangents
pointer to the field of line tangents
void setBitfield(boost::shared_ptr< std::vector< bool > > bitField)
setter
boost::shared_mutex m_recalcLock
lock
virtual void drawImplementation(osg::RenderInfo &renderInfo) const
Real work is done here.
boost::shared_ptr< std::vector< float > > m_verts
pointer to the field of vertexes
void setColor(boost::shared_ptr< std::vector< float > > color)
setter
WFiberDrawable()
The constructor here does nothing.
boost::shared_ptr< std::vector< size_t > > m_startIndexes
pointer to the field of line start indexes
virtual osg::Object * cloneType() const
See osg documentation for this.
void setVerts(boost::shared_ptr< std::vector< float > > verts)
setter
boost::shared_ptr< std::vector< bool > > m_active
pointer to the bitfield of active fibers
void drawFibers(osg::RenderInfo &renderInfo) const
Draw fibers as ordinary lines.
boost::shared_ptr< std::vector< float > > m_colors
pointer to the field of colors per vertex
void setStartIndexes(boost::shared_ptr< std::vector< size_t > > idx)
setter