Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

osg::CylinderVolume Class Reference

3D cylinder in space defined by axis and radius. More...

#include <OSGCylinderVolume.h>

Inheritance diagram for osg::CylinderVolume:

Inheritance graph
[legend]
Collaboration diagram for osg::CylinderVolume:

Collaboration graph
[legend]
List of all members.

Public Methods

Constructors
 CylinderVolume (void)
 CylinderVolume (const Pnt3f &p, const Vec3f &d, float r)
 CylinderVolume (const CylinderVolume &c)
Destructors
 ~CylinderVolume (void)
Set
void setValue (const Pnt3f &p, const Vec3f &d, float r)
void setAxis (const Pnt3f &p, const Vec3f &d)
void setRadius (float r)
Get
void getAxis (Pnt3f &apos, Vec3f &adir) const
float getRadius (void) const
virtual void getCenter (Pnt3f &center) const
virtual Real32 getScalarVolume (void) const
virtual void getBounds (Pnt3f &min, Pnt3f &max) const
 gives the boundaries of the volume

Extend
virtual void extendBy (const Pnt3f &pt)
 extends (if necessary) to contain the given 3D point

void extendBy (const Volume &volume)
 extends (if necessary) to contain the given 3D point

void extendBy (const CylinderVolume &obj)
 extends (if necessary) to contain the given 3D point

Intersect
virtual bool intersect (const Pnt3f &point) const
 Returns true if intersection of given point and CylinderVolume is not empty.

bool intersect (const Line &line) const
 intersect the CylinderVolume with the given Line

virtual bool intersect (const Line &line, Real32 &enter, Real32 &exit) const
 intersect the volume with the given Line

virtual bool intersect (const Volume &volume) const
 Returns true if intersection of given point and CylinderVolume is not empty.

virtual bool intersect (const CylinderVolume &volume) const
 Returns true if intersection of given point and CylinderVolume is not empty.

virtual bool isOnSurface (const Pnt3f &point) const
 Returns true if intersection of given point and CylinderVolume is not empty.

Transform
virtual void transform (const Matrix &mat)
 transform volume by the given matrix

Output
virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
 print the volume */


Private Attributes

Pnt3f _axisPos
Vec3f _axisDir
float _radius

Detailed Description

3D cylinder in space defined by axis and radius.

This class is used within other classes in ase. It contains data to represent a cylinder by an axis and a radius. The height of the cylinder is defined by the length of the axis, i.e. its apex is at _axisPos + _axisDir.


Constructor & Destructor Documentation

osg::CylinderVolume::CylinderVolume void    [inline]
 

Default Constructor

osg::CylinderVolume::CylinderVolume const Pnt3f   p,
const Vec3f   d,
float    r
[inline]
 

Default Constructor

osg::CylinderVolume::CylinderVolume const CylinderVolume &    c [inline]
 

Default Constructor

osg::CylinderVolume::~CylinderVolume void    [inline]
 


Member Function Documentation

void osg::CylinderVolume::setValue const Pnt3f   p,
const Vec3f   d,
float    r
[inline]
 

void osg::CylinderVolume::setAxis const Pnt3f   p,
const Vec3f   d
[inline]
 

void osg::CylinderVolume::setRadius float    r [inline]
 

void osg::CylinderVolume::getAxis Pnt3f   apos,
Vec3f   adir
const [inline]
 

float osg::CylinderVolume::getRadius void    const [inline]
 

void CylinderVolume::getCenter Pnt3f   center const [virtual]
 

Implements osg::Volume.

Real32 CylinderVolume::getScalarVolume void    const [virtual]
 

Implements osg::Volume.

void CylinderVolume::getBounds Pnt3f   min,
Pnt3f   max
const [virtual]
 

gives the boundaries of the volume

Implements osg::Volume.

void CylinderVolume::extendBy const Pnt3f   pt [virtual]
 

extends (if necessary) to contain the given 3D point

Implements osg::Volume.

void osg::CylinderVolume::extendBy const Volume   volume [inline, virtual]
 

extends (if necessary) to contain the given 3D point

Implements osg::Volume.

void osg::CylinderVolume::extendBy const CylinderVolume &    obj [inline]
 

extends (if necessary) to contain the given 3D point

bool CylinderVolume::intersect const Pnt3f   point const [virtual]
 

Returns true if intersection of given point and CylinderVolume is not empty.

Implements osg::Volume.

bool CylinderVolume::intersect const Line   line const [virtual]
 

intersect the CylinderVolume with the given Line

Implements osg::Volume.

bool CylinderVolume::intersect const Line   line,
Real32   enter,
Real32   exit
const [virtual]
 

intersect the volume with the given Line

Implements osg::Volume.

bool osg::CylinderVolume::intersect const Volume   volume const [inline, virtual]
 

Returns true if intersection of given point and CylinderVolume is not empty.

Implements osg::Volume.

bool osg::CylinderVolume::intersect const CylinderVolume &    volume const [inline, virtual]
 

Returns true if intersection of given point and CylinderVolume is not empty.

bool CylinderVolume::isOnSurface const Pnt3f   point const [virtual]
 

Returns true if intersection of given point and CylinderVolume is not empty.

Implements osg::Volume.

void CylinderVolume::transform const Matrix   mat [virtual]
 

transform volume by the given matrix

Implements osg::Volume.

void CylinderVolume::dump UInt32    uiIndent = 0,
const BitVector    bvFlags = 0
const [virtual]
 

print the volume */

Implements osg::Volume.


Member Data Documentation

Pnt3f osg::CylinderVolume::_axisPos [private]
 

Vec3f osg::CylinderVolume::_axisDir [private]
 

float osg::CylinderVolume::_radius [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Jul 3 16:23:31 2002 for OpenSG by doxygen1.2.16