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

nvsg::Drawable Class Reference

Base class of all drawable objects. More...

#include <Drawable.h>

Inheritance diagram for nvsg::Drawable:

Inheritance graph
[legend]
Collaboration diagram for nvsg::Drawable:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual NVSG_API const Drawable * clone (void) const=0
virtual NVSG_API bool isBoundingSphereValid (void) const=0
 Ask if the bounding sphere of this Node is valid. More...

virtual NVSG_API const nvmath::Sphere3fgetBoundingSphere (void) const=0
 Get the bounding sphere of this Node. More...

NVSG_API void invalidateNumberOfFrames (void) const
 Invalidate the number of frames information. More...

virtual NVSG_API size_t getNumberOfFrames (void) const
 Get the number of animation frames. More...

NVSG_API size_t getNumberOfOwners (void) const
 Get the number of owners of this Drawable. More...

NVSG_API const GeoNodegetOwner (size_t index) const
 Get a constant pointer to the owner node at position index. More...

virtual NVSG_API DataID getDataID (void) const
 Get the DataID of the data of this object. More...

virtual NVSG_API bool isDataShared (void) const
 Determine whether the data of this object is shared. More...


Protected Methods

NVSG_API Drawable (void)
 Protected constructor. More...

NVSG_API Drawable (const Drawable &)
virtual NVSG_API ~Drawable (void)
 Protected destructor to prevent explicit creation on stack. More...

virtual NVSG_API void invalidateBoundingSphere (void) const
 Invalidate bounding sphere information. More...


Friends

class GeoNode

Detailed Description

Base class of all drawable objects.

Defines the interface that every drawable object (e.g. GeoSet) has to resolve.


Constructor & Destructor Documentation

NVSG_API nvsg::Drawable::Drawable void    [protected]
 

Protected constructor.

virtual NVSG_API nvsg::Drawable::~Drawable void    [protected, virtual]
 

Protected destructor to prevent explicit creation on stack.


Member Function Documentation

virtual NVSG_API const Drawable* nvsg::Drawable::clone void    const [pure virtual]
 

Returns:
A pointer to the newly created Drawable object.

Implemented in nvsg::AnimatedQuads, nvsg::AnimatedTriangles, nvsg::Quads, nvsg::QuadStrips, nvsg::SkinnedTriangles, nvsg::Triangles, and nvsg::TriStrips.

virtual NVSG_API bool nvsg::Drawable::isBoundingSphereValid void    const [pure virtual]
 

Ask if the bounding sphere of this Node is valid.

If the bounding sphere isn't valid, it is tried to validate it.

Returns:
The valid state of the bounding sphere.

Implemented in nvsg::GeoSet.

virtual NVSG_API const nvmath::Sphere3f& nvsg::Drawable::getBoundingSphere void    const [pure virtual]
 

Get the bounding sphere of this Node.

The bounding sphere of a Node is a sphere that completely contains the Node and all its children.

Note:
It is assumed that the bounding sphere of this Node is valid.
Returns:
A constant reference to the bounding sphere.

Implemented in nvsg::GeoSet.

NVSG_API void nvsg::Drawable::invalidateNumberOfFrames void    const
 

Invalidate the number of frames information.

virtual NVSG_API size_t nvsg::Drawable::getNumberOfFrames void    const [virtual]
 

Get the number of animation frames.

Returns:
0

Reimplemented in nvsg::AnimatedQuads, nvsg::AnimatedTriangles, and nvsg::SkinnedTriangles.

size_t nvsg::Drawable::getNumberOfOwners void    const [inline]
 

Get the number of owners of this Drawable.

Returns:
The number of owners if this Drawable

const GeoNode * nvsg::Drawable::getOwner size_t    index const [inline]
 

Get a constant pointer to the owner node at position index.

Returns:
The constant pointer to the owner node at position index
Parameters:
index  The position to get the owner at

virtual NVSG_API DataID nvsg::Drawable::getDataID void    const [virtual]
 

Get the DataID of the data of this object.

Note:
Every class deriving from Object should reimplement this function in the same way!
Returns:
DataID of the object's data.

Reimplemented from nvsg::Object.

Reimplemented in nvsg::AnimatedQuads, nvsg::AnimatedTriangles, nvsg::GeoSet, nvsg::Quads, nvsg::QuadStrips, nvsg::SkinnedTriangles, nvsg::Triangles, and nvsg::TriStrips.

virtual NVSG_API bool nvsg::Drawable::isDataShared void    const [virtual]
 

Determine whether the data of this object is shared.

Note:
Every class deriving from Object should reimplement this function in the same way!
Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

Reimplemented in nvsg::AnimatedQuads, nvsg::AnimatedTriangles, nvsg::GeoSet, nvsg::Quads, nvsg::QuadStrips, nvsg::SkinnedTriangles, nvsg::Triangles, and nvsg::TriStrips.

virtual NVSG_API void nvsg::Drawable::invalidateBoundingSphere void    const [protected, virtual]
 

Invalidate bounding sphere information.

Reimplemented in nvsg::GeoSet.


The documentation for this class was generated from the following file:
Generated on Tue Mar 1 13:20:25 2005 for NVSGSDK by NVIDIA