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

Object.h File Reference

#include "nvsgcommon.h"
#include "nvutil/RCObject.h"
#include "nvutil/SWMRSync.h"
#include "nvsg/DAL.h"
#include <typeinfo>

Include dependency graph for Object.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  nvsg

Typedefs

typedef unsigned long long DataID
 64-bit save DataID.

Enumerations

enum  {
  OC_INVALID = 0xFFFFFFFF, OC_OBJECT = 0, OC_NODE = OC_OBJECT, OC_GEONODE,
  OC_GROUP, OC_LOD, OC_SWITCH, OC_TRANSFORM,
  OC_ANIMATEDTRANSFORM, OC_DIRECTEDLIGHT, OC_POINTLIGHT, OC_SPOTLIGHT,
  OC_DRAWABLES = 0x20, OC_GEOSET, OC_QUADS, OC_ANIMATEDQUADS,
  OC_QUADSTRIPS, OC_TRIANGLES, OC_ANIMATEDTRIANGLES, OC_SKINNEDTRIANGLES,
  OC_TRISTRIPS, OC_STATESET = 0x40, OC_STATEATTRIBUTE, OC_CGFX,
  OC_FACEATTRIBUTE, OC_MATERIAL, OC_TEXTUREATTRIBUTE, OC_TEXTUREATTRIBUTEITEM,
  OC_ANIMATION = 0x60, OC_FRAMEDTRAFOANIMATION, OC_FRAMEDVNVECTORANIMATION, OC_LINEARINTERPOLATEDTRAFOANIMATION,
  OC_LINEARINTERPOLATEDVNVECTORANIMATION, OC_CAMERA = 0x80, OC_JITTERCAMERA, OC_PARALLELCAMERA,
  OC_PERSPECTIVECAMERA, OC_STEREOCAMERA, OC_HIGHLIGHTOBJECT = 0xA0, OC_HIGHLIGHTBOX,
  OC_HIGHLIGHTEDGES, OC_CUSTOMOBJECT = 0xC0
}
 Object Codes for NVCSG Object Type Identification. More...

Functions

template<typename T>
const T * endEdit (const T *&obj)
template<typename T>
bool isTypeOf (const Object *p)
 Detect if the Object pointed to by p is a pointer to a specified (templated) type.
bool areOfSameType (const Object &p0, const Object &p1)
 Detect if the two Objects p0 and p1 are of the same type.


Detailed Description


Typedef Documentation

typedef unsigned long long nvsg::DataID
 

64-bit save DataID.

The DataID is used to identify an instance of an Object.


Enumeration Type Documentation

anonymous enum
 

Object Codes for NVCSG Object Type Identification.

For a custom traverser it is essential to identify all actual scenegraph components while traversing the scenegraph, and to call the corresponding handler routine for a particular object. For this reason, all concrete NVSG object types must be assigned to a unique object code. Secure object codes for custom defined NVSG objects start at OC_CUSTOMOBJECT.

See also: How to Derive a Traverser and How to Derive an NVSG Object for further information.

Note:
Choosing an object code lower than OC_CUSTOMOBJECT for a custom-defined NVSG object results in undefined runtime behavior!
Enumeration values:
OC_INVALID  invalid object code
OC_OBJECT  Object.
OC_NODE  Node = 0x00.
OC_GEONODE  GeoNode.
OC_GROUP  Group.
OC_LOD  LOD.
OC_SWITCH  Switch.
OC_TRANSFORM  Transform.
OC_ANIMATEDTRANSFORM  AnimatedTransform.
OC_DIRECTEDLIGHT  DirectedLight.
OC_POINTLIGHT  PointLight.
OC_SPOTLIGHT  SpotLight.
OC_DRAWABLES  Drawable = 0x20.
OC_GEOSET  GeoSet.
OC_QUADS  Quads.
OC_ANIMATEDQUADS  AnimatedQuads.
OC_QUADSTRIPS  QuadStrips.
OC_TRIANGLES  Triangles.
OC_ANIMATEDTRIANGLES  AnimatedTriangles.
OC_SKINNEDTRIANGLES  SkinnedTriangles.
OC_TRISTRIPS  TriStrips.
OC_STATESET  StateSet = 0x40.
OC_STATEATTRIBUTE  StateAttribute.
OC_CGFX  CgFX.
OC_FACEATTRIBUTE  FaceAttribute.
OC_MATERIAL  Material.
OC_TEXTUREATTRIBUTE  TextureAttribute.
OC_TEXTUREATTRIBUTEITEM  TextureAttributeItem.
OC_ANIMATION  Animation = 0x60.
OC_FRAMEDTRAFOANIMATION  FramedTrafoAnimation.
OC_FRAMEDVNVECTORANIMATION  FramedVectorAnimation.
OC_LINEARINTERPOLATEDTRAFOANIMATION  LinearAnimatedTrafoAnimation.
OC_LINEARINTERPOLATEDVNVECTORANIMATION  LinearInterpolatedVNVectorAnimation.
OC_CAMERA  Camera = 0x80.
OC_JITTERCAMERA  JitterCamera.
OC_PARALLELCAMERA  ParallelCamera.
OC_PERSPECTIVECAMERA  PerspectiveCamera.
OC_STEREOCAMERA  StereoCamera.
OC_HIGHLIGHTOBJECT  HighlightObject = 0xA0.
OC_HIGHLIGHTBOX  HighlightBox.
OC_HIGHLIGHTEDGES  HighlightEdges.
OC_CUSTOMOBJECT  CustomObjects = 0xC0.


Function Documentation

template<typename T>
bool isTypeOf const Object *  p  )  [inline]
 

Detect if the Object pointed to by p is a pointer to a specified (templated) type.

Returns:
true if p is a pointer to the specified type, false otherwise.

bool areOfSameType const Object &  p0,
const Object &  p1
[inline]
 

Detect if the two Objects p0 and p1 are of the same type.

Returns:
true if p0 and p1 are of the same type, false otherwise.


Generated on Tue Mar 1 13:19:51 2005 for NVSGSDK by NVIDIA