CEDRIC  Revision_backup-2009-02
Functions
OsgGeometry Namespace Reference

Functions

osg::BoundingBox getBoundingBox (osg::Node *node)
 Compute bounding box. More...
 
void setLineStipple (StateSet *state, int factor, unsigned short pattern)
 
void setLineState (StateSet *state, float linewidth=1.f, bool antialiased=true)
 
osg::Drawable * createCross3D (Vec3 position, float halfsize, Vec4 color)
 
osg::Drawable * createLine (Vec3 v0, Vec3 v1, Vec4 color)
 
osg::Drawable * createLineStrip (Vec3Array *v, Vec4 color)
 
osg::Drawable * createQuad (Vec3 center, Vec3 i, Vec3 j, Vec4 color)
 
void createBoxArray_pushBackBox (osg::Vec3 center, osg::Vec3 hl, osg::Vec3Array *va, osg::UShortArray *fa, osg::Vec3Array *na)
 
osg::Drawable * createBoxArray (osg::Vec3Array *centers, osg::Vec3Array *hls, osg::Vec4 color)
 Put a lot of boxes into one Geometry. More...
 
osg::Drawable * createBox (osg::Vec3 center, osg::Vec3 halfLengths, osg::Vec4 color)
 Create an axis-aligned box. More...
 
osg::Drawable * createBoxWireframe (Vec3 center, Vec3 hl, Vec4 color)
 
osg::Node * createCheckerboard (osg::Vec3 center, osg::Vec3 u, osg::Vec3 v, double checkerSize, float black, float white)
 Create a simple checkerboard. More...
 
void setLineState (osg::StateSet *state, float linewidth, bool antialiased)
 Add linewidth and antialiasing to a stateset. More...
 
void setLineStipple (osg::StateSet *state, int factor=1, unsigned short pattern=0xFF00)
 Add linestipple to a stateset. More...
 
osg::Drawable * createCross3D (osg::Vec3 position, float halfsize, osg::Vec4 color=osg::Vec4(1, 1, 1, 1))
 Create a 3D cross hair marker. More...
 
osg::Drawable * createLine (osg::Vec3 v0, osg::Vec3 v1, osg::Vec4 color)
 Create a single line. More...
 
osg::Drawable * createLineStrip (osg::Vec3Array *v, osg::Vec4 color)
 Create a linestrip. More...
 
osg::Drawable * createQuad (osg::Vec3 center, osg::Vec3 i, osg::Vec3 j, osg::Vec4 color)
 Create simple quad. More...
 
osg::Drawable * createBoxWireframe (osg::Vec3 center, osg::Vec3 hl, osg::Vec4 color)
 Create an axis-aligned box as wireframe. More...
 
osg::Drawable * createCylinder (osg::Vec3 center, float radius, float height)
 Create an axis-aligned cylinder. More...
 

Function Documentation

osg::Drawable * OsgGeometry::createBox ( osg::Vec3  center,
osg::Vec3  hl,
osg::Vec4  color 
)

Create an axis-aligned box.

Referenced by PhastNode::PhastNode().

osg::Drawable * OsgGeometry::createBoxArray ( osg::Vec3Array *  centers,
osg::Vec3Array *  hls,
osg::Vec4  color 
)

Put a lot of boxes into one Geometry.

References createBoxArray_pushBackBox().

Referenced by PhastNode::PhastNode().

void OsgGeometry::createBoxArray_pushBackBox ( osg::Vec3  center,
osg::Vec3  hl,
osg::Vec3Array *  va,
osg::UShortArray *  fa,
osg::Vec3Array *  na 
)

Referenced by createBoxArray().

osg::Drawable* OsgGeometry::createBoxWireframe ( osg::Vec3  center,
osg::Vec3  hl,
osg::Vec4  color 
)

Create an axis-aligned box as wireframe.

osg::Drawable* OsgGeometry::createBoxWireframe ( Vec3  center,
Vec3  hl,
Vec4  color 
)
osg::Node * OsgGeometry::createCheckerboard ( osg::Vec3  center,
osg::Vec3  u,
osg::Vec3  v,
double  checkerSize,
float  black,
float  white 
)

Create a simple checkerboard.

osg::Drawable* OsgGeometry::createCross3D ( osg::Vec3  position,
float  halfsize,
osg::Vec4  color = osg::Vec4(1, 1, 1, 1) 
)

Create a 3D cross hair marker.

osg::Drawable* OsgGeometry::createCross3D ( Vec3  position,
float  halfsize,
Vec4  color 
)
osg::Drawable* OsgGeometry::createCylinder ( osg::Vec3  center,
float  radius,
float  height 
)

Create an axis-aligned cylinder.

osg::Drawable* OsgGeometry::createLine ( osg::Vec3  v0,
osg::Vec3  v1,
osg::Vec4  color 
)

Create a single line.

Not efficient! If one has to draw several lines, one should put them all in a single Geometry object, see createLineStrip()

osg::Drawable* OsgGeometry::createLine ( Vec3  v0,
Vec3  v1,
Vec4  color 
)
osg::Drawable* OsgGeometry::createLineStrip ( osg::Vec3Array *  v,
osg::Vec4  color 
)

Create a linestrip.

osg::Drawable* OsgGeometry::createLineStrip ( Vec3Array *  v,
Vec4  color 
)

Referenced by PhastNode::PhastNode().

osg::Drawable* OsgGeometry::createQuad ( osg::Vec3  center,
osg::Vec3  i,
osg::Vec3  j,
osg::Vec4  color 
)

Create simple quad.

    +--------------------+
    |          ^         |
    |        i |         |
    |          |         |
    |          |         |
    |          x-------->|
    |    Center        j |
    |                    |
    |                    |
    |                    |
    +--------------------+      
osg::Drawable* OsgGeometry::createQuad ( Vec3  center,
Vec3  i,
Vec3  j,
Vec4  color 
)

Referenced by PhastNode::PhastNode().

osg::BoundingBox OsgGeometry::getBoundingBox ( osg::Node *  node)

Compute bounding box.

References GetBoundingBoxVisitor::getBoundingBox().

Referenced by PhastScene::setSetupNode(), and PhastScene::update().

void OsgGeometry::setLineState ( osg::StateSet *  state,
float  linewidth,
bool  antialiased 
)

Add linewidth and antialiasing to a stateset.

void OsgGeometry::setLineState ( StateSet *  state,
float  linewidth = 1.f,
bool  antialiased = true 
)
void OsgGeometry::setLineStipple ( osg::StateSet *  state,
int  factor = 1,
unsigned short  pattern = 0xFF00 
)

Add linestipple to a stateset.

void OsgGeometry::setLineStipple ( StateSet *  state,
int  factor,
unsigned short  pattern 
)