NVIDIA Scene Graph Software Development Kit (NVSGSDK)

Version:
NVSGSDK v1.0.11.4

About NVSGSDK

The NVIDIA Scene Graph Software Development Kit (NVSGSDK) is an object-oriented programming library for creating scenegraph-based applications. The NVSGSDK provides a comprehensive set of classes that developers can easily combine and extend to create fast and reliable graphics applications.

About This Documentation

The documentation for the NVSGSDK is an on-line help file. This format provides easy hypertext linking between related topics. The on-line format also allows developers to copy source code from the documentation to paste into plug-ins. This is especially handy in the Reference sections.

Main Section

  • What You Need to Get Started
  • Using the NVSGSDK

Reference Section

  • Understanding the Contents Pane
  • Overview of the Principal Classes
  • Common Problems and Solutions
  • How to Use the Sample Viewer

Copyright (c) 2004 NVIDIA Corporation. All rights reserved.

Generated on Fri Jan 28 09:17:43 2005 for NVSGSDK by NVIDIA


File Index

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

NVSGSDK File List

Here is a list of all documented files with brief descriptions:
Allocator.h [code]
AnimatedQuads.h [code]
AnimatedTransform.h [code]
AnimatedTriangles.h [code]
Animation.h [code]
AnimationCamManip.h [code]
AppTraverser.h [code]
Assert.h [code]
BitMask.h [code]
BoundingSphere.h [code]
Camera.h [code]
CameraManipulator.h [code]
CgFx.h [code]
CondenseTraverser.h [code]
CullData.h [code]
CullTraverser.h [code]
DAL.h [code]
DbgNew.h [code]
DirectedLight.h [code]
Drawable.h [code]
DrawableUnifyTraverser.h [code]
ErrorHandling.h [code]
Face.h [code]
FaceAttribute.h [code]
FlightCamManip.h [code]
FramedAnimation.h [code]
FrustumCullTraverser.h [code]
GeoNode.h [code]
GeoNodeUnifyTraverser.h [code]
GeoSet.h [code]
GLContext.h [code]
glext.h [code]
GLFunctions.h [code]
GLObjects.h [code]
GLTraverser.h [code]
GLWinRenderArea.h [code]
glx.h [code]
glxtokens.h [code]
glxtypes.h [code]
Group.h [code]
GroupUnifyTraverser.h [code]
HighlightBox.h [code]
HighlightEdges.h [code]
HighlightObject.h [code]
IdentityToGroupTraverser.h [code]
Incarnation.h [code]
InterpolatedAnimation.h [code]
IOLayer.h [code]
JitterCamera.h [code]
LightSource.h [code]
LinearInterpolatedAnimation.h [code]
LinuxTypes.h [code]
LOD.h [code]
Log.h [code]
Mat33f.h [code]
Mat44f.h [code]
Material.h [code]
Matnnf.h [code]
MemFunTbl.h [code]
ModelViewTraverser.h [code]
MonoCamera.h [code]
NBF.h [code]
NBFLoader.h [code]
NBFSaver.h [code]
Node.h [code]
nv_attribute.h [code]
NVBLoader.h [code]
NVBLoadTraverser.h [code]
nvgl.h [code]
nvmath.h [code]
NVNVB.h [code]
NVNVB2.h [code]
nvsg.h [code]
nvsgapi.h [code]
nvsgcommon.h [code]
NVSGLoader.h [code]
NVSGSaver.h [code]
NVSGVersion.h [code]
nvsgwindefs.h [code]
nvtraverser.h [code]
nvui.h [code]
nvutil.h [code]
Object.h [code]
OcclusionCullGLTraverser.h [code]
OcclusionCullTraverser.h [code]
ParallelCamera.h [code]
Path.h [code]
PBuffer.h [code]
PerspectiveCamera.h [code]
Plane3f.h [code]
PlugIn.h [code]
PlugInCallback.h [code]
PlugInterface.h [code]
PlugInterfaceID.h [code]
PointLight.h [code]
Quads.h [code]
QuadStrips.h [code]
Quatf.h [code]
RayIntersectTraverser.h [code]
RCObject.h [code]
Registry.h [code]
RenderArea.h [code]
RenderTraverser.h [code]
resource.h [code]
Scene.h [code]
SearchTraverser.h [code]
SimpleCamera.h [code]
Singleton.h [code]
SkinnedTriangles.h [code]
SmoothTraverser.h [code]
Sphere3f.h [code]
SpotLight.h [code]
StateAttribute.h [code]
StateSet.h [code]
StateSetUnifyTraverser.h [code]
Loader/NBFLoader/stdafx.h [code]
Saver/NBFSaver/stdafx.h [code]
StereoCamera.h [code]
StrippingTraverser.h [code]
Switch.h [code]
SWMRSync.h [code]
Texture.h [code]
TextureAttribute.h [code]
Tools.h [code]
Trace.h [code]
Trackball.h [code]
TrackballCamManip.h [code]
Trafo.h [code]
Transform.h [code]
TransformStack.h [code]
TransformUnifyTraverser.h [code]
Traverser.h [code]
Triangles.h [code]
TriangulateTraverser.h [code]
TriStrips.h [code]
Vec2f.h [code]
Vec3f.h [code]
Vec4f.h [code]
Vecnf.h [code]
ViewState.h [code]
VNVector.h [code]
VRMLTypes.h [code]
WalkCamManip.h [code]
wglext.h [code]
WRLLoader.h [code]
WRLLoadTraverser.h [code]
Generated on Fri Jan 28 09:17:43 2005 for NVSGSDK by NVIDIA


Allocator.h File Reference

#include "nvsgcommon.h"
#include <algorithm>
#include <vector>
#include "nvutil/Singleton.h"
#include "nvutil/Trace.h"

Include dependency graph for Allocator.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:17:56 2005 for NVSGSDK by NVIDIA


AnimatedQuads.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"
#include "nvsg/Quads.h"
#include "nvsg/VNVector.h"

Include dependency graph for AnimatedQuads.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:17:57 2005 for NVSGSDK by NVIDIA


AnimatedTransform.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"
#include "nvsg/Transform.h"

Include dependency graph for AnimatedTransform.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:17:57 2005 for NVSGSDK by NVIDIA


AnimatedTriangles.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"
#include "nvsg/Triangles.h"
#include "nvsg/VNVector.h"

Include dependency graph for AnimatedTriangles.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:17:58 2005 for NVSGSDK by NVIDIA


Animation.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Object.h"

Include dependency graph for Animation.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:00 2005 for NVSGSDK by NVIDIA


AnimationCamManip.h File Reference

#include "nvsgcommon.h"
#include "nvui/CameraManipulator.h"

Include dependency graph for AnimationCamManip.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace | nvmath
namespace | nvsg
namespace | nvui

Detailed Description

Generated on Fri Jan 28 09:18:00 2005 for NVSGSDK by NVIDIA


AppTraverser.h File Reference

#include "ModelViewTraverser.h"
#include "nvsgcommon.h"
#include "nvsg/ViewState.h"

Include dependency graph for AppTraverser.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:18:01 2005 for NVSGSDK by NVIDIA


BitMask.h File Reference

#include "nvsgcommon.h"

Include dependency graph for BitMask.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:18:02 2005 for NVSGSDK by NVIDIA


BoundingSphere.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Mat44f.h"
#include "nvmath/Sphere3f.h"

Include dependency graph for BoundingSphere.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:18:04 2005 for NVSGSDK by NVIDIA


Camera.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vec2f.h"
#include "nvmath/Vec3f.h"
#include "nvmath/Quatf.h"
#include "nvsg/Object.h"

Include dependency graph for Camera.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvmath
namespace | nvsg

Detailed Description

Generated on Fri Jan 28 09:18:04 2005 for NVSGSDK by NVIDIA


CameraManipulator.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Camera.h"

Include dependency graph for CameraManipulator.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jan 28 09:18:05 2005 for NVSGSDK by NVIDIA


CgFx.h File Reference

#include "nvsgcommon.h"
#include "CgFX/ICgFXEffect.h"
#include "nvsg/StateAttribute.h"
#include <string>
#include <vector>

Include dependency graph for CgFx.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:07 2005 for NVSGSDK by NVIDIA


CondenseTraverser.h File Reference

#include <valarray>
#include <set>
#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for CondenseTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:18:07 2005 for NVSGSDK by NVIDIA


CullData.h File Reference

#include "nvsgcommon.h"
#include "nvutil/Allocator.h"

Include dependency graph for CullData.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:08 2005 for NVSGSDK by NVIDIA


CullTraverser.h File Reference

#include "nvsgcommon.h"
#include <map>
#include "nvsg/CullData.h"
#include "nvtraverser/ModelViewTraverser.h"

Include dependency graph for CullTraverser.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jan 28 09:18:09 2005 for NVSGSDK by NVIDIA


DAL.h File Reference

#include "nvsgcommon.h"
#include <vector>
#include <map>
#include "nvutil/Singleton.h"

Include dependency graph for DAL.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:10 2005 for NVSGSDK by NVIDIA


DbgNew.h File Reference

#include <new>
#include "nvsgcommon.h"

Include dependency graph for DbgNew.h:

Include dependency graph

Go to the source code of this file.

Functions

void * | operator new (size_t size, const char *src, unsigned int ln)
Dummy overload for objects that don't have an according new operator.

void * | operator new[] (size_t size, const char *src, unsigned int ln)
Dummy overload for arrays of objects that don't have an according new operator.

Detailed Description

Function Documentation

void* operator new | ( | size_t | size,
 |  | const char * | src,
 |  | unsigned int | ln
 | ) | [inline]

Dummy overload for objects that don't have an according new operator.

void* operator new[] | ( | size_t | size,
 |  | const char * | src,
 |  | unsigned int | ln
 | ) | [inline]

Dummy overload for arrays of objects that don't have an according new operator.

Generated on Fri Jan 28 09:18:11 2005 for NVSGSDK by NVIDIA


DirectedLight.h File Reference

#include "nvsgcommon.h"
#include "nvsg/LightSource.h"
#include "nvmath/Vec3f.h"

Include dependency graph for DirectedLight.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:11 2005 for NVSGSDK by NVIDIA


Drawable.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Object.h"

Include dependency graph for Drawable.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvmath
namespace | nvsg

Detailed Description

Generated on Fri Jan 28 09:18:13 2005 for NVSGSDK by NVIDIA


ErrorHandling.h File Reference

#include "nvsgcommon.h"
#include <string>

Include dependency graph for ErrorHandling.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:13 2005 for NVSGSDK by NVIDIA


Face.h File Reference

#include "nvsgcommon.h"

Include dependency graph for Face.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:14 2005 for NVSGSDK by NVIDIA


FaceAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vec3f.h"
#include "nvsg/StateAttribute.h"
#include "nvutil/BitMask.h"

Include dependency graph for FaceAttribute.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:15 2005 for NVSGSDK by NVIDIA


FlightCamManip.h File Reference

#include "nvsgcommon.h"
#include "nvui/CameraManipulator.h"

Include dependency graph for FlightCamManip.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jan 28 09:18:16 2005 for NVSGSDK by NVIDIA


FramedAnimation.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"

Include dependency graph for FramedAnimation.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:17 2005 for NVSGSDK by NVIDIA


FrustumCullTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvsg/CullData.h"
#include "nvtraverser/CullTraverser.h"

Include dependency graph for FrustumCullTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:18:18 2005 for NVSGSDK by NVIDIA


GeoNode.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Node.h"
#include "nvsg/GeoSet.h"
#include "nvsg/StateSet.h"

Include dependency graph for GeoNode.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:19 2005 for NVSGSDK by NVIDIA


GeoSet.h File Reference

#include "nvsgcommon.h"
#include <map>
#include "nvmath/BoundingSphere.h"
#include "nvsg/Drawable.h"
#include "nvsg/HighlightObject.h"

Include dependency graph for GeoSet.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:20 2005 for NVSGSDK by NVIDIA


GLContext.h File Reference

#include "nvsgcommon.h"
#include "nvgl/nvgl.h"
#include "nvutil/RCObject.h"
#include "nvsg/Texture.h"
#include <map>
#include <string>
#include <algorithm>
#include <utility>
#include "nvgl/GLFunctions.h"
#include "nvgl/GLObjects.h"

Include dependency graph for GLContext.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvgl

Detailed Description

Generated on Fri Jan 28 09:18:21 2005 for NVSGSDK by NVIDIA


GLFunctions.h File Reference

#include "nvsgcommon.h"
#include <set>
#include <string>

Include dependency graph for GLFunctions.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvgl

Detailed Description

Generated on Fri Jan 28 09:18:21 2005 for NVSGSDK by NVIDIA


GLObjects.h File Reference

#include "nvsgcommon.h"
#include <set>
#include "nvgl/nvgl.h"
#include "nvutil/RCObject.h"

Include dependency graph for GLObjects.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvgl

Detailed Description

Generated on Fri Jan 28 09:18:22 2005 for NVSGSDK by NVIDIA


GLTraverser.h File Reference

#include "nvsgcommon.h"
#include <list>
#include "nvgl/GLContext.h"
#include "nvtraverser/RenderTraverser.h"
#include "nvsg/GeoSet.h"

Include dependency graph for GLTraverser.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvgl
namespace | nvsg
namespace | nvtraverser

Defines

#define | __ASSERT_CONTEXT()
Use this to make sure that the right OpenGL context is current.

Detailed Description

Define Documentation

#define __ASSERT_CONTEXT ( )

Use this to make sure that the right OpenGL context is current.

Generated on Fri Jan 28 09:18:23 2005 for NVSGSDK by NVIDIA


GLWinRenderArea.h File Reference

#include "nvsgcommon.h"
#include "nvgl/GLContext.h"
#include "nvui/RenderArea.h"

Include dependency graph for GLWinRenderArea.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jan 28 09:18:24 2005 for NVSGSDK by NVIDIA


Group.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Node.h"

Include dependency graph for Group.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:25 2005 for NVSGSDK by NVIDIA


HighlightBox.h File Reference

#include "nvsgcommon.h"
#include "nvsg/HighlightObject.h"
#include "nvmath/BoundingSphere.h"

Include dependency graph for HighlightBox.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:26 2005 for NVSGSDK by NVIDIA


HighlightEdges.h File Reference

#include "nvsgcommon.h"
#include "nvsg/HighlightObject.h"
#include "nvmath/Sphere3f.h"
#include "nvmath/Vec3f.h"

Include dependency graph for HighlightEdges.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:26 2005 for NVSGSDK by NVIDIA


HighlightObject.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Object.h"

Include dependency graph for HighlightObject.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvmath
namespace | nvsg

Detailed Description

Generated on Fri Jan 28 09:18:28 2005 for NVSGSDK by NVIDIA


IdentityToGroupTraverser.h File Reference

#include <map>
#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for IdentityToGroupTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:18:29 2005 for NVSGSDK by NVIDIA


InterpolatedAnimation.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"

Include dependency graph for InterpolatedAnimation.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:30 2005 for NVSGSDK by NVIDIA


IOLayer.h File Reference

#include <string>
#include "nvsgcommon.h"

Include dependency graph for IOLayer.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace | nvutil
namespace | nvutil::IO

Detailed Description

Generated on Fri Jan 28 09:18:30 2005 for NVSGSDK by NVIDIA


JitterCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/SimpleCamera.h"

Include dependency graph for JitterCamera.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:31 2005 for NVSGSDK by NVIDIA


LightSource.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"
#include "nvsg/Node.h"
#include "nvmath/Quatf.h"
#include "nvmath/Trafo.h"

Include dependency graph for LightSource.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:32 2005 for NVSGSDK by NVIDIA


LinearInterpolatedAnimation.h File Reference

#include "nvsgcommon.h"
#include "nvsg/InterpolatedAnimation.h"

Include dependency graph for LinearInterpolatedAnimation.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:33 2005 for NVSGSDK by NVIDIA


LOD.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Group.h"

Include dependency graph for LOD.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:34 2005 for NVSGSDK by NVIDIA


Log.h File Reference

#include "nvsg/nvsgapi.h"
#include <stdarg.h>
#include <string>
#include "nvutil/Singleton.h"

Include dependency graph for Log.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | __LOG_TEST_INIT(TM) nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)
Initialize general test logging.

#define | __LOG_BENCH_TEST_INIT(TM) nvutil::LogBenchTest::instance()->init(TM==nvutil::TM_BENCH_TEST)
Initialize benchmark test logging.

#define | __LOG_SHADER_TEST_INIT(TM) nvutil::LogShaderTest::instance()->init(TM==nvutil::TM_SHADER_TEST)
Ininialize shader test logging.

#define | __LOG_TEST(s) { if ( nvutil::LogTest::instance()->isEnabled() ) { nvutil::LogTest::instance()->format s; } }
Output test relevant format string s if output is enabled.

#define | __LOG_BENCH_TEST(s) { if ( nvutil::LogBenchTest::instance()->isEnabled() ) { nvutil::LogBenchTest::instance()->format s; } }
Output benchmark test relevant format string s if output is enabled.

#define | __LOG_SHADER_TEST(s) { if ( nvutil::LogShaderTest::instance()->isEnabled() ) { nvutil::LogShaderTest::instance()->format s; } }
Output shader test relevant format string s if output is enabled.

#define | __LOG_TEST_ENABLED() nvutil::LogTest::instance()->isEnabled()
Query if any test is enabled.

#define | __LOG_BENCH_TEST_ENABLED() nvutil::LogBenchTest::instance()->isEnabled()
Query if benchmark test is enabled.

#define | __LOG_SHADER_TEST_ENABLED() nvutil::LogShaderTest::instance()->isEnabled()
Query if shader test is enabled.

Variables

NVSG_API std::string | __LOG_FILE__
Global string containing the name of the log file.

Detailed Description

Variable Documentation

NVSG_API std::string __LOG_FILE__

Global string containing the name of the log file.

Generated on Fri Jan 28 09:18:39 2005 for NVSGSDK by NVIDIA


Mat33f.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Matnnf.h"
#include "nvmath/Vec3f.h"

Include dependency graph for Mat33f.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:18:40 2005 for NVSGSDK by NVIDIA


Mat44f.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Mat33f.h"
#include "nvmath/Vec4f.h"

Include dependency graph for Mat44f.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:18:41 2005 for NVSGSDK by NVIDIA


Material.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vec3f.h"
#include "nvsg/StateAttribute.h"

Include dependency graph for Material.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:42 2005 for NVSGSDK by NVIDIA


Matnnf.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vecnf.h"

Include dependency graph for Matnnf.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:18:43 2005 for NVSGSDK by NVIDIA


ModelViewTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"
#include "nvutil/TransformStack.h"

Include dependency graph for ModelViewTraverser.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:18:44 2005 for NVSGSDK by NVIDIA


MonoCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Camera.h"

Include dependency graph for MonoCamera.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:45 2005 for NVSGSDK by NVIDIA


NBF.h File Reference

#include "nvsgcommon.h"

Include dependency graph for NBF.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Classes

struct | str_t
The str_t structure specifies how a string is stored in a .NBF file. More...

struct | texCoordSet_t
The texCoordSet_t structure specifies how a texture coordinate set is stored in a .NBF file. More...

struct | geometrySet_t
The geometrySet_t structure specifies how a geometry set is stored in a .NBF file. More...

struct | indexSet_t
The indexSet_t structure specifies how an index set is stored in a .NBF file. More...

struct | texBinding_t
The texBinding_t structure specifies how a texture binding is stored in a .NBF file. More...

struct | trafo_t
The trafo_t structure specifies how a transfrmation is stored in a .NBF file. More...

struct | tweak_t
The tweak_t structure specifies how a tweakable parameter is stored in a .NBF file. More...

struct | bone_t
The bone_t structure specifies how a bone is stored in a .NBF file. More...

struct | skin_t
The skin_t structure specifies how a skin is stored in a .NBF file. More...

struct | NBFHeader
The NBFHeader structure represents the NBF header format. More...

struct | NBFScene
The NBFScene structure represents a scene in the context of computer graphics. More...

struct | NBFViewState
The NBFViewState represents an optional view state used to render the scene. More...

struct | NBFObject
The NBFObject structure represents general object data. More...

struct | NBFTrafoAnimation
The NBFTrafoAnimation represents an animation that will be applied to trafo_t objects. More...

struct | NBFVNVectorAnimation
The NBFVNVectorAnimation represents an animation that will be applied to VNVector objects. More...

struct | NBFFramedAnimation
The NBFFramedAnimation structure represents a framed animation. More...

struct | NBFFramedTrafoAnimation
The NBFFramedTrafoAnimation structure represents a framed animation that will be applied to trafo_t objects. More...

struct | NBFFramedVNVectorAnimation
The NBFFramedVNVectorAnimation structure represents a framed animation that will be applied to VNVector objects. More...

struct | NBFInterpolatedAnimation
The NBFInterpolatedAnimation structure represents a interpolated animation. More...

struct | NBFInterpolatedTrafoAnimation
The NBFInterpolatedTrafoAnimation structure represents a interpolated animation that will be applied to trafo_t objects. More...

struct | NBFInterpolatedVNVectorAnimation
The NBFInterpolatedVNVectorAnimation structure represents a interpolated animation that will be applied to VNVector objects. More...

struct | NBFCamera
The NBFCamera structure represents a camera. More...

struct | NBFMonoCamera
The NBFMonoCamera structure represents a monoscopic camera. More...

struct | NBFJitterCamera
The NBFJitterCamera structure represents a monoscopic jitter camera. More...

struct | NBFSimpleCamera
The NBFSimpleCamera represents a simple monoscopic camera. More...

struct | NBFParallelCamera
The NBFParallelCamera represents a parallel camera. More...

struct | NBFPerspectiveCamera
The NBFPerspectiveCamera represents a perspective camera. More...

struct | NBFStereoCamera
The NBFStereoCamera represents a stereoscopic camera. More...

struct | NBFDrawable
The NBFDrawable represents any kind of a drawable object. More...

struct | NBFGeoSet
The NBFGeoSet structure represents a set of vertex attributes. More...

struct | NBFTriangles
The NBFTriangles structure represents a set of independent triangles. More...

struct | NBFAnimatedTriangles
The NBFAnimatedTriangles structure represents animated triangles. More...

struct | NBFSkinnedTriangles
The NBFSkinnedTriangles structure represents skin animated triangles. More...

struct | NBFStrips
The NBFStrips structure represents a strip set. More...

struct | NBFQuads
The NBFQuads structure represents a set of independent quads. More...

struct | NBFAnimatedQuads
The NBFAnimatedQuads structure represents animated quads. More...

struct | NBFNode
The NBFNode structure represents a general node. More...

struct | NBFGeoNode
The NBFGeoNode structure represents a geometry node. More...

struct | NBFGroup
The NBFGroup structure represents a group node. More...

struct | NBFLOD
The NBFLOD structure represents a 'Level Of Detail' group node. More...

struct | NBFSwitch
The NBFSwitch structure represents a switch group node. More...

struct | NBFTransform
The NBFTransform structure represents a transform group node. More...

struct | NBFAnimatedTransform
The NBFAnimatedTransform structure represents an animated transform group node. More...

struct | NBFLightSource
The NBFLightSource structure represents a light source node. More...

struct | NBFDirectedLight
struct | NBFPointLight
struct | NBFSpotLight
struct | NBFStateSet
The NBFStateSet structure represents a set of heterogeneous NBFStateAttributes. More...

struct | NBFStateAttribute
The NBFStateAttribute structure represents a state attribute. More...

struct | NBFCgFx
The NBFCgFx structure represents an effect attribute. More...

struct | NBFFaceAttribute
The NBFFaceAttribute structure represents a render mode. More...

struct | NBFMaterial
The NBFMaterial structure represents a material. More...

struct | NBFTextureAttribute
The NBFTextureAttribute structure represents a texture attribute. More...

struct | NBFTextureAttributeItem
The NBFTextureAttributeItem structure represents a single texture object. More...

Defines

#define | PADDING(n) PADDING_i(n,__LINE__)
#define | PADDING_i(n, l) PADDING_ii(n,l)
#define | PADDING_ii(n, l) ubyte_t padding##l[n]

Typedefs

typedef char | byte_t
Specifies an 8-bit signed type.

typedef unsigned char | ubyte_t
Specifies an 8-bit unsigned type.

typedef int | int_t
Specifies a 32-bit signed integer type.

typedef unsigned int | uint_t
Specifies a 32-bit unsigned integer type.

typedef unsigned long long | uint64_t
Specifies a 64-bit unsigned integer type.

typedef float | float2_t [2]
Specifies a 2-component float vector.

typedef float | float3_t [3]
Specifies a 3-component float vector.

typedef float | float4_t [4]
Specifies a 4-component float vector.

Enumerations

enum {
NBF_UNKNOWN = 0x00000000, NBF_TRAFO_ANIMATION = 0x00000100, NBF_VNVECTOR_ANIMATION, NBF_FRAMED_ANIMATION = 0x00000120,
NBF_FRAMED_TRAFO_ANIMATION, NBF_FRAMED_VNVECTOR_ANIMATION, NBF_INTERPOLATED_ANIMATION = 0x00000140, NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION,
NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION, NBF_CAMERA = 0x00000200, NBF_MONO_CAMERA, NBF_JITTER_CAMERA,
NBF_SIMPLE_CAMERA, NBF_PARALLEL_CAMERA, NBF_PERSPECTIVE_CAMERA, NBF_STEREO_CAMERA,
NBF_DRAWABLE = 0x00000300, NBF_GEO_SET, NBF_TRIANGLES, NBF_ANIMATED_TRIANGLES,
NBF_SKINNED_TRIANGLES, NBF_TRISTRIPS, NBF_QUADS, NBF_ANIMATED_QUADS,
NBF_QUADSTRIPS, NBF_NODE = 0x00000400, NBF_GEO_NODE, NBF_GROUP,
NBF_LOD, NBF_SWITCH, NBF_TRANSFORM, NBF_ANIMATED_TRANSFORM,
NBF_LIGHT_SOURCE, NBF_DIRECTED_LIGHT, NBF_POINT_LIGHT, NBF_SPOT_LIGHT,
NBF_STATE_SET = 0x00000500, NBF_STATE_ATTRIBUTE = 0x00000600, NBF_CGFX, NBF_MATERIAL,
NBF_FACE_ATTRIBUTE, NBF_TEXTURE_ATTRIBUTE, NBF_TEXTURE_ATTRIBUTE_ITEM, NBF_CUSTOM_OBJECT
}
Unique NBF Object Codes. More...

Functions

__CTASSERT (sizeof(str_t)%4==0)
__CTASSERT (sizeof(texCoordSet_t)%4==0)
__CTASSERT (sizeof(geometrySet_t)%4==0)
__CTASSERT (sizeof(indexSet_t)%4==0)
__CTASSERT (sizeof(texBinding_t)%4==0)
__CTASSERT (sizeof(trafo_t)%4==0)
__CTASSERT (sizeof(tweak_t)%4==0)
__CTASSERT (sizeof(bone_t)%4==0)
__CTASSERT (sizeof(skin_t)%4==0)
__CTASSERT (sizeof(NBFHeader)%4==0)
__CTASSERT (sizeof(NBFScene)%4==0)
__CTASSERT (sizeof(NBFViewState)%4==0)
__CTASSERT (sizeof(NBFObject)%8==0)
__CTASSERT (sizeof(NBFTrafoAnimation)%8==0)
__CTASSERT (sizeof(NBFVNVectorAnimation)%8==0)
__CTASSERT (sizeof(NBFFramedAnimation)%4==0)
__CTASSERT (sizeof(NBFFramedTrafoAnimation)%8==0)
__CTASSERT (sizeof(NBFFramedVNVectorAnimation)%8==0)
__CTASSERT (sizeof(NBFInterpolatedAnimation)%4==0)
__CTASSERT (sizeof(NBFInterpolatedTrafoAnimation)%8==0)
__CTASSERT (sizeof(NBFInterpolatedVNVectorAnimation)%8==0)
__CTASSERT (sizeof(NBFCamera)%8==0)
__CTASSERT (sizeof(NBFMonoCamera)%8==0)
__CTASSERT (sizeof(NBFJitterCamera)%8==0)
__CTASSERT (sizeof(NBFSimpleCamera)%8==0)
__CTASSERT (sizeof(NBFParallelCamera)%8==0)
__CTASSERT (sizeof(NBFPerspectiveCamera)%8==0)
__CTASSERT (sizeof(NBFStereoCamera)%8==0)
__CTASSERT (sizeof(NBFDrawable)%8==0)
__CTASSERT (sizeof(NBFGeoSet)%8==0)
__CTASSERT (sizeof(NBFTriangles)%8==0)
__CTASSERT (sizeof(NBFAnimatedTriangles)%8==0)
__CTASSERT (sizeof(NBFSkinnedTriangles)%8==0)
__CTASSERT (sizeof(NBFStrips)%8==0)
__CTASSERT (sizeof(NBFQuads)%8==0)
__CTASSERT (sizeof(NBFAnimatedQuads)%8==0)
__CTASSERT (sizeof(NBFNode)%8==0)
__CTASSERT (sizeof(NBFGeoNode)%8==0)
__CTASSERT (sizeof(NBFGroup)%8==0)
__CTASSERT (sizeof(NBFLOD)%8==0)
__CTASSERT (sizeof(NBFSwitch)%8==0)
__CTASSERT (sizeof(NBFTransform)%8==0)
__CTASSERT (sizeof(NBFAnimatedTransform)%8==0)
__CTASSERT (sizeof(NBFLightSource)%8==0)
__CTASSERT (sizeof(NBFDirectedLight)%8==0)
__CTASSERT (sizeof(NBFPointLight)%8==0)
__CTASSERT (sizeof(NBFSpotLight)%8==0)
__CTASSERT (sizeof(NBFStateSet)%8==0)
__CTASSERT (sizeof(NBFStateAttribute)%8==0)
__CTASSERT (sizeof(NBFCgFx)%8==0)
__CTASSERT (sizeof(NBFFaceAttribute)%8==0)
__CTASSERT (sizeof(NBFMaterial)%8==0)
__CTASSERT (sizeof(NBFTextureAttribute)%8==0)
__CTASSERT (sizeof(NBFTextureAttributeItem)%8==0)

Variables

const ubyte_t | NBF_VER_MAJOR = 0x04
NBF major version number.

const ubyte_t | NBF_VER_MINOR = 0x01
NBF version compatibility level.

const ubyte_t | NBF_VER_BUGFIX = 0x00
NBF version bugfix level.

const ubyte_t | NBF_LITTLE_ENDIAN = 0x00
Specifies little endian byte order.

const ubyte_t | NBF_BIG_ENDIAN = 0x01
Specifies big endian byte order.

Detailed Description

Typedef Documentation

typedef char byte_t

Specifies an 8-bit signed type.

typedef unsigned char ubyte_t

Specifies an 8-bit unsigned type.

typedef int int_t

Specifies a 32-bit signed integer type.

typedef unsigned int uint_t

Specifies a 32-bit unsigned integer type.

typedef unsigned long long uint64_t

Specifies a 64-bit unsigned integer type.

typedef float float2_t[2]

Specifies a 2-component float vector.

typedef float float3_t[3]

Specifies a 3-component float vector.

typedef float float4_t[4]

Specifies a 4-component float vector.

Enumeration Type Documentation

anonymous enum

Unique NBF Object Codes.

Each concrete NBFObject type is assigned to a unique NBF object code. This code is a 32-bit unsigned integer value, stored at offset 0, of each concrete NBFObject. The purpose of the unique 'per-object' code is to provide a Load-Time Type Information (LTTI) to resolve concrete NBFObjects while loading NBF files.

Enumeration values:
NBF_UNKNOWN | Unknown, and hence, invalid object code.
NBF_FRAMED_TRAFO_ANIMATION | Identifies an NBFFramedTrafoAnimation object.
NBF_FRAMED_VNVECTOR_ANIMATION | Identifies an NBFFramedVNVectorAnimation object.
NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION | Identifies an NBFInterpolatedTrafoAnimation object.
NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION | Identifies an NBFInterpolatedVNVectorAnimation object.
NBF_PARALLEL_CAMERA | Identifies an NBFParallelCamera object.
NBF_PERSPECTIVE_CAMERA | Identifies an NBFPerspectiveCamera object.
NBF_TRIANGLES | Identifies an NBFTriangles object.
NBF_ANIMATED_TRIANGLES | Identifies an NBFAnimatedTriangles object.
NBF_SKINNED_TRIANGLES | Identifies an NBFSkinnedTriangles object.
NBF_TRISTRIPS | Identifies an NBFStrips object.
NBF_QUADS | Identifies an NBFQuads object (support since v0.3).
NBF_ANIMATED_QUADS | Identifies an NBFAnimatedQuads object (support since v0.4).
NBF_QUADSTRIPS | Identifies an NBFStrips object (support since v0.4).
NBF_GEO_NODE | Identifies a NBFGeoNode object.
NBF_GROUP | Identifies a NBFGroup object.
NBF_LOD | Identifies a NBFLOD object.
NBF_SWITCH | Identifies a NBFSwitch object.
NBF_TRANSFORM | Identifies a NBFTransform object.
NBF_ANIMATED_TRANSFORM | Identifies a NBFAnimatedTransform object.
NBF_DIRECTED_LIGHT | Identifies an NBFDirectedLight object.
NBF_POINT_LIGHT | Identifies an NBFPointLight object.
NBF_SPOT_LIGHT | Identifies an NBFSpotLight object.
NBF_STATE_SET | Identifies an NBFStateSet object.
NBF_CGFX | Identifies an NBFCgFx object.
NBF_MATERIAL | Identifies an NBFMaterial object.
NBF_FACE_ATTRIBUTE | Identifies an NBFFaceAttribute object.
NBF_TEXTURE_ATTRIBUTE | Identifies an NBFTextureAttribute object.
NBF_TEXTURE_ATTRIBUTE_ITEM | Identifies an NBFTextureAttributeItem object.
NBF_CUSTOM_OBJECT | Custom objects must not have codes lower than this.

Variable Documentation

const ubyte_t NBF_VER_MAJOR = 0x04

NBF major version number.

const ubyte_t NBF_VER_MINOR = 0x01

NBF version compatibility level.

const ubyte_t NBF_VER_BUGFIX = 0x00

NBF version bugfix level.

const ubyte_t NBF_LITTLE_ENDIAN = 0x00

Specifies little endian byte order.

const ubyte_t NBF_BIG_ENDIAN = 0x01

Specifies big endian byte order.

Generated on Fri Jan 28 09:18:46 2005 for NVSGSDK by NVIDIA


Node.h File Reference

#include "nvsgcommon.h"
#include "nvmath/BoundingSphere.h"
#include "nvsg/Object.h"

Include dependency graph for Node.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:47 2005 for NVSGSDK by NVIDIA


NVBLoader.h File Reference

#include "nvsg/PlugInterface.h"
#include "nvutil/Tools.h"
#include "inc/NVNVB.h"
#include "inc/NVNVB2.h"

Include dependency graph for NVBLoader.h:

Include dependency graph

Go to the source code of this file.

Classes

class | NVBLoader
A Scene Loader for nvb files. More...

Functions

NVNVB_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.

NVNVB_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

NVNVB_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a NVBLoader. If the PlugIn ID piid equals PIID_NVB_SCENE_LOADER, a NVBLoader is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false
Parameters:
piid | PlugIn ID to create an Interface for
pi | reference to a PlugIn pointer

NVNVB_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_LOADER, the vector piids is filled with one element PIID_NVB_SCENE_LOADER.

Returns:
true, if a PITID_SCENE_LOADER is requested, otherwise false
Parameters:
pitid | PlugIn Type ID to query
piids | vector of PlugIn IDs to fill

Generated on Fri Jan 28 09:18:47 2005 for NVSGSDK by NVIDIA


NVBLoadTraverser.h File Reference

#include "nvmath/Vec2f.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for NVBLoadTraverser.h:

Include dependency graph

Go to the source code of this file.

Classes

class NVBLoadTraverser
Internally used traverser for post-processing a just loaded NVB file. More...

Detailed Description

Generated on Fri Jan 28 09:18:48 2005 for NVSGSDK by NVIDIA


nvmath.h File Reference

#include "nvsgcommon.h"
#include <algorithm>
#include <float.h>
#include "__WIN64__workarounds.h"

Include dependency graph for nvmath.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:18:49 2005 for NVSGSDK by NVIDIA


NVNVB.h File Reference

#include <set>
#include "nvsg/nvsgapi.h"
#include "nvmath/Vec2f.h"
#include "nvsg/Face.h"
#include "nvsg/Scene.h"
#include "nvsg/SkinnedTriangles.h"
#include "nvsg/TextureAttribute.h"
#include "NVBBreaker/inc/NVBLoader.h"

Include dependency graph for NVNVB.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg

Classes

class | NVNVB
Internally used class for loading NVB files. More...

struct | NVNVB::SkinnedTrianglesInfo

Detailed Description

Generated on Fri Jan 28 09:18:49 2005 for NVSGSDK by NVIDIA


NVNVB2.h File Reference

#include <map>
#include "nvsg/nvsgapi.h"
#include "nvmath/Mat44f.h"

Include dependency graph for NVNVB2.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:51 2005 for NVSGSDK by NVIDIA


nvsg.h File Reference

#include "nvsgcommon.h"
#include <string>
#include <vector>

Include dependency graph for nvsg.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:18:52 2005 for NVSGSDK by NVIDIA


NVSGLoader.h File Reference

#include <fstream>
#include "CgFx/ICgFXEffect.h"
#include "nvsg/nvsgapi.h"
#include "nvsg/nvsg.h"
#include "nvsg/PlugInterface.h"
#include "nvsg/SkinnedTriangles.h"
#include "nvsg/TextureAttribute.h"

Include dependency graph for NVSGLoader.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg

Classes

class | NVSGLoader
A Scene Loader for nvsg files. More...

Functions

NVSGLOADER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.

NVSGLOADER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

NVSGLOADER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a NVSGLoader. If the PlugIn ID piid equals PIID_NVSG_SCENE_LOADER, a NVSGLoader is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

NVSGLOADER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_LOADER, the vector piids is filled with one element PIID_NVSG_SCENE_LOADER.

Returns:
true, if a PITID_SCENE_LOADER is requested, otherwise false

Generated on Fri Jan 28 09:18:52 2005 for NVSGSDK by NVIDIA


NVSGSaver.h File Reference

#include "nvsg/nvsgapi.h"
#include "nvtraverser/Traverser.h"
#include "nvsg/AnimatedQuads.h"
#include "nvsg/PlugInterface.h"
#include "nvsg/StateAttribute.h"
#include <set>

Include dependency graph for NVSGSaver.h:

Include dependency graph

Go to the source code of this file.

Classes

class | NVSGSaveTraverser
A Traverser to traverse a scene on saving to nvsg file format. More...

class | NVSGSaver
A Scene Saver for nvsg files. More...

Functions

NVSGSAVER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene saver.

NVSGSAVER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

NVSGSAVER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene saver.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a NVSGSaver. If the PlugIn ID piid equals PIID_NVSG_SCENE_SAVER, a NVSGSaver is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

NVSGSAVER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this Plug In. If the Plug In Type ID pitid equals PITID_SCENE_SAVER, the vector piids is filled with one element PIID_NVSG_SCENE_SAVER.

Returns:
true, if a PITID_SCENE_SAVER is requested, otherwise false

Generated on Fri Jan 28 09:18:53 2005 for NVSGSDK by NVIDIA


NVSGVersion.h File Reference

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

Included by dependency graph

Go to the source code of this file.

Detailed Description

Generated on Fri Jan 28 09:18:53 2005 for NVSGSDK by NVIDIA


nvtraverser.h File Reference

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:18:53 2005 for NVSGSDK by NVIDIA


nvui.h File Reference

#include "nvsgcommon.h"

Include dependency graph for nvui.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jan 28 09:18:54 2005 for NVSGSDK by NVIDIA


nvutil.h File Reference

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

Included by dependency graph

Go to the source code of this file.

Detailed Description

Generated on Fri Jan 28 09:18:58 2005 for NVSGSDK by NVIDIA


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:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:00 2005 for NVSGSDK by NVIDIA


OcclusionCullGLTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/GLTraverser.h"

Include dependency graph for OcclusionCullGLTraverser.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:01 2005 for NVSGSDK by NVIDIA


OcclusionCullTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/CullTraverser.h"
#include "nvtraverser/OcclusionCullGLTraverser.h"

Include dependency graph for OcclusionCullTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:02 2005 for NVSGSDK by NVIDIA


ParallelCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/SimpleCamera.h"

Include dependency graph for ParallelCamera.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:03 2005 for NVSGSDK by NVIDIA


Path.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Node.h"

Include dependency graph for Path.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:03 2005 for NVSGSDK by NVIDIA


PBuffer.h File Reference

#include <vector>
#include "nvgl/nvgl.h"

Include dependency graph for PBuffer.h:

Include dependency graph

Go to the source code of this file.

Detailed Description

Generated on Fri Jan 28 09:19:04 2005 for NVSGSDK by NVIDIA


PerspectiveCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/SimpleCamera.h"

Include dependency graph for PerspectiveCamera.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:05 2005 for NVSGSDK by NVIDIA


Plane3f.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvmath/Vec3f.h"

Include dependency graph for Plane3f.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:19:06 2005 for NVSGSDK by NVIDIA


PlugIn.h File Reference

#include <map>
#include "nvsgcommon.h"
#include "nvutil/PlugInCallback.h"

Include dependency graph for PlugIn.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:07 2005 for NVSGSDK by NVIDIA


PlugInCallback.h File Reference

#include "nvsgcommon.h"
#include "nvutil/RCObject.h"

Include dependency graph for PlugInCallback.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:08 2005 for NVSGSDK by NVIDIA


PlugInterface.h File Reference

#include "nvsgcommon.h"
#include "nvutil/PlugIn.h"

Include dependency graph for PlugInterface.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:09 2005 for NVSGSDK by NVIDIA


PlugInterfaceID.h File Reference

#include "nvsg/NVSGVersion.h"

Include dependency graph for PlugInterfaceID.h:

Include dependency graph

Go to the source code of this file.

Defines

#define | UPITID_VERSION NVSG_VER_MAJOR_STR "." NVSG_VER_MINOR_STR
A string define serving for version safty.

#define | UPITID_SCENE_LOADER 0x0001
Unique Plug-In Type ID for Scene loaders.

#define | UPITID_SCENE_SAVER 0x0002
Unique Plug-In Type ID for Scene savers.

#define | UPITID_TEXTURE_LOADER 0x0004
Unique Plug-In Type ID for texture loaders (not yet implemented).

Detailed Description

Define Documentation

#define UPITID_VERSION NVSG_VER_MAJOR_STR "." NVSG_VER_MINOR_STR

A string define serving for version safty.

#define UPITID_SCENE_LOADER 0x0001

Unique Plug-In Type ID for Scene loaders.

#define UPITID_SCENE_SAVER 0x0002

Unique Plug-In Type ID for Scene savers.

#define UPITID_TEXTURE_LOADER 0x0004

Unique Plug-In Type ID for texture loaders (not yet implemented).

Generated on Fri Jan 28 09:19:09 2005 for NVSGSDK by NVIDIA


PointLight.h File Reference

#include "nvsgcommon.h"
#include "nvsg/LightSource.h"

Include dependency graph for PointLight.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:10 2005 for NVSGSDK by NVIDIA


Quads.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Face.h"
#include "nvsg/GeoSet.h"

Include dependency graph for Quads.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:11 2005 for NVSGSDK by NVIDIA


QuadStrips.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/GeoSet.h"

Include dependency graph for QuadStrips.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:12 2005 for NVSGSDK by NVIDIA


Quatf.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvmath/Vec4f.h"
#include "nvmath/Vec3f.h"
#include "nvmath/Mat33f.h"

Include dependency graph for Quatf.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:19:13 2005 for NVSGSDK by NVIDIA


RayIntersectTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Drawable.h"
#include "nvsg/Path.h"
#include "nvtraverser/ModelViewTraverser.h"

Include dependency graph for RayIntersectTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:14 2005 for NVSGSDK by NVIDIA


RCObject.h File Reference

#include "nvsgcommon.h"
#include "nvutil/Allocator.h"

Include dependency graph for RCObject.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:15 2005 for NVSGSDK by NVIDIA


Registry.h File Reference

#include "nvsg/nvsgapi.h"
#include "nvutil/Assert.h"
#include <string>

Include dependency graph for Registry.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:20 2005 for NVSGSDK by NVIDIA


RenderArea.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Scene.h"
#include "nvsg/ViewState.h"
#include "nvtraverser/AppTraverser.h"
#include "nvtraverser/CullTraverser.h"
#include "nvtraverser/RenderTraverser.h"
#include "nvui/CameraManipulator.h"
#include <vector>

Include dependency graph for RenderArea.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jan 28 09:19:21 2005 for NVSGSDK by NVIDIA


RenderTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/ModelViewTraverser.h"
#include "nvsg/DAL.h"
#include "nvutil/Incarnation.h"

Include dependency graph for RenderTraverser.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:22 2005 for NVSGSDK by NVIDIA


Scene.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"
#include "nvsg/Camera.h"
#include "nvsg/Node.h"

Include dependency graph for Scene.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvmath
namespace | nvsg

Detailed Description

Generated on Fri Jan 28 09:19:23 2005 for NVSGSDK by NVIDIA


SearchTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for SearchTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:24 2005 for NVSGSDK by NVIDIA


SimpleCamera.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vec2f.h"
#include "nvmath/Vec3f.h"
#include "nvmath/Mat44f.h"
#include "nvmath/Quatf.h"
#include "nvsg/MonoCamera.h"

Include dependency graph for SimpleCamera.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:25 2005 for NVSGSDK by NVIDIA


Singleton.h File Reference

#include "nvsg/nvsgapi.h"

Include dependency graph for Singleton.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:30 2005 for NVSGSDK by NVIDIA


SkinnedTriangles.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Trafo.h"
#include "nvsg/Animation.h"
#include "nvsg/Triangles.h"

Include dependency graph for SkinnedTriangles.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:31 2005 for NVSGSDK by NVIDIA


SmoothTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for SmoothTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:32 2005 for NVSGSDK by NVIDIA


Sphere3f.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vec3f.h"

Include dependency graph for Sphere3f.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:19:33 2005 for NVSGSDK by NVIDIA


SpotLight.h File Reference

#include "nvsgcommon.h"
#include "nvsg/LightSource.h"
#include "nvmath/Vec3f.h"

Include dependency graph for SpotLight.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:34 2005 for NVSGSDK by NVIDIA


StateAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Object.h"
#include "nvutil/Incarnation.h"

Include dependency graph for StateAttribute.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:35 2005 for NVSGSDK by NVIDIA


StateSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Object.h"
#include <vector>

Include dependency graph for StateSet.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:36 2005 for NVSGSDK by NVIDIA


StateSetUnifyTraverser.h File Reference

#include <set>
#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for StateSetUnifyTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:38 2005 for NVSGSDK by NVIDIA


StereoCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Camera.h"

Include dependency graph for StereoCamera.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:38 2005 for NVSGSDK by NVIDIA


StrippingTraverser.h File Reference

#include <list>
#include <set>
#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/Face.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for StrippingTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:39 2005 for NVSGSDK by NVIDIA


Switch.h File Reference

#include "nvsgcommon.h"
#include <set>
#include "nvsg/Group.h"

Include dependency graph for Switch.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:40 2005 for NVSGSDK by NVIDIA


SWMRSync.h File Reference

#include "nvsgcommon.h"

Include dependency graph for SWMRSync.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:41 2005 for NVSGSDK by NVIDIA


Texture.h File Reference

#include "nvsgcommon.h"
#include "nvutil/RCObject.h"
#include "nvsg/DAL.h"

Include dependency graph for Texture.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:42 2005 for NVSGSDK by NVIDIA


TextureAttribute.h File Reference

#include "nvsgcommon.h"
#include <map>
#include "nvmath/Plane3f.h"
#include "nvmath/Trafo.h"
#include "nvsg/StateAttribute.h"
#include "nvsg/Texture.h"

Include dependency graph for TextureAttribute.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:42 2005 for NVSGSDK by NVIDIA


Tools.h File Reference

#include "nvsgcommon.h"
#include <vector>
#include "__WIN64__workarounds.h"

Include dependency graph for Tools.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:43 2005 for NVSGSDK by NVIDIA


Trace.h File Reference

#include "nvsg/nvsgapi.h"
#include "nvutil/nvutil.h"
#include <string>
#include <conio.h>
#include "nvutil/Registry.h"

Include dependency graph for Trace.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | TRACE_LOG_FILE "QuadroVR.log" /* log file for debug printouts */
Define for the trace log file name.

#define | __TRACE()
#define | __TRACE_OUT(s)
#define | __TRACE_OUT_F(s)

Variables

NVSG_API const char * | REG_NV_TRACE_SUBKEY
Subkey of Registry where tracing is enabled/disabled on function level.

Detailed Description

Define Documentation

#define TRACE_LOG_FILE "QuadroVR.log" /* log file for debug printouts */

Define for the trace log file name.

Variable Documentation

NVSG_API const char* REG_NV_TRACE_SUBKEY

Subkey of Registry where tracing is enabled/disabled on function level.

Generated on Fri Jan 28 09:19:48 2005 for NVSGSDK by NVIDIA


Trackball.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vec2f.h"
#include "nvmath/Vec3f.h"

Include dependency graph for Trackball.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:49 2005 for NVSGSDK by NVIDIA


TrackballCamManip.h File Reference

#include "nvsgcommon.h"
#include "nvui/CameraManipulator.h"
#include "nvutil/Trackball.h"

Include dependency graph for TrackballCamManip.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jan 28 09:19:50 2005 for NVSGSDK by NVIDIA


Trafo.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Mat44f.h"
#include "nvmath/Quatf.h"

Include dependency graph for Trafo.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:19:51 2005 for NVSGSDK by NVIDIA


Transform.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Trafo.h"
#include "nvsg/Group.h"

Include dependency graph for Transform.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:51 2005 for NVSGSDK by NVIDIA


TransformStack.h File Reference

#include "nvsgcommon.h"
#include <stack>
#include "nvmath/Mat44f.h"

Include dependency graph for TransformStack.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jan 28 09:19:53 2005 for NVSGSDK by NVIDIA


Traverser.h File Reference

#include <stack>
#include "nvsgcommon.h"
#include "nvsg/Object.h"
#include "nvutil/MemFunTbl.h"
#include "nvutil/SWMRSync.h"

Include dependency graph for Traverser.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvmath
namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:54 2005 for NVSGSDK by NVIDIA


Triangles.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Face.h"
#include "nvsg/GeoSet.h"

Include dependency graph for Triangles.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:56 2005 for NVSGSDK by NVIDIA


TriangulateTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for TriangulateTraverser.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jan 28 09:19:57 2005 for NVSGSDK by NVIDIA


TriStrips.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/GeoSet.h"

Include dependency graph for TriStrips.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:19:57 2005 for NVSGSDK by NVIDIA


Vec2f.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vecnf.h"

Include dependency graph for Vec2f.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:19:58 2005 for NVSGSDK by NVIDIA


Vec3f.h File Reference

#include "nvsgcommon.h"
#include <algorithm>
#include <vector>
#include "nvmath/Vecnf.h"
#include "__WIN64__workarounds.h"

Include dependency graph for Vec3f.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:20:00 2005 for NVSGSDK by NVIDIA


Vec4f.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vec3f.h"
#include "nvmath/Vecnf.h"

Include dependency graph for Vec4f.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:20:01 2005 for NVSGSDK by NVIDIA


Vecnf.h File Reference

#include "nvsgcommon.h"
#include "nvutil/Assert.h"
#include <float.h>
#include <math.h>

Include dependency graph for Vecnf.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvmath

Detailed Description

Generated on Fri Jan 28 09:20:02 2005 for NVSGSDK by NVIDIA


ViewState.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/Camera.h"

Include dependency graph for ViewState.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:20:03 2005 for NVSGSDK by NVIDIA


VNVector.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvmath/Vec3f.h"

Include dependency graph for VNVector.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jan 28 09:20:04 2005 for NVSGSDK by NVIDIA


VRMLTypes.h File Reference

#include "nvutil/Assert.h"
#include "nvmath/Quatf.h"
#include "nvmath/Vec2f.h"
#include "nvsg/Object.h"

Include dependency graph for VRMLTypes.h:

Include dependency graph

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

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | vrml

Detailed Description

Generated on Fri Jan 28 09:20:04 2005 for NVSGSDK by NVIDIA


WalkCamManip.h File Reference

#include "nvsgcommon.h"
#include "nvui/CameraManipulator.h"

Include dependency graph for WalkCamManip.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jan 28 09:20:05 2005 for NVSGSDK by NVIDIA


WRLLoader.h File Reference

#include <fstream>
#include <set>
#include "nvsg/nvsg.h"
#include "nvsg/PlugInterface.h"
#include "VRMLTypes.h"

Include dependency graph for WRLLoader.h:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace | nvsg

Classes

class | WRLLoader
A Scene Loader for wrl files. More...

Functions

WRLLOADER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.

WRLLOADER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

WRLLOADER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a WRLLoader. If the PlugIn ID piid equals PIID_WRL_SCENE_LOADER, a WRLLoader is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

WRLLOADER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_LOADER, the vector piids is filled with one element PIID_WRL_SCENE_LOADER.

Returns:
true, if a PITID_SCENE_LOADER is requested, otherwise false

Generated on Fri Jan 28 09:20:06 2005 for NVSGSDK by NVIDIA


WRLLoadTraverser.h File Reference

#include "nvutil/Assert.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for WRLLoadTraverser.h:

Include dependency graph

Go to the source code of this file.

Classes

class WRLLoadTraverser
Internally used traverser for post-processing a just loaded VRML file. More...

Detailed Description

Generated on Fri Jan 28 09:20:07 2005 for NVSGSDK by NVIDIA


Annotated Index

NVSGSDK Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
nvutil::addReference | Convenient helper functor that can be used in STL algorithms to add a reference to reference counted objects
nvutil::Allocator | Internal manager for memory allocations
nvsg::AnimatedQuads | GeoSet for animated Quads
nvsg::AnimatedTransform | Class representing an animated transformation
nvsg::AnimatedTriangles | GeoSet for animated Triangles
nvsg::Animation< T > | Class defining the common interface of an animation
nvui::AnimationCamManip | Animation Camera Manipulator Class
nvtraverser::AppTraverser | AppTraverser Class
nvutil::Bit< n > | Template class for easy definition of a single-bit bitmask
nvsg::Bone | Internal helper class for SkinnedTriangles
bone_t | The bone_t structure specifies how a bone is stored in a .NBF file
nvmath::BoundingSphere | Sphere class that represents the bounding sphere of a set of points
nvsg::Camera | Base class for all camera types
nvui::CameraManipulator | Camera manipulator base class
nvsg::CgFx | Effect attribute
nvutil::Chunk | Chunk of memory for our low level memory managment of fixed size objects
nvtraverser::CondenseTraverser | Traverser that can condense some drawables
nvsg::CullData | Class holding culling information for an object and it's children
nvtraverser::CullTraverser | Base class for different culling implementations
nvsg::DALData | Device Abstraction Link Data
nvsg::DALDataCreator | Creating DALData to be exchanged via a Device Abstraction Link requires this particular interface
nvsg::DALHost | Device Abstraction Link (DAL) Host
nvsg::DALServer | Device Abstraction Link Server
nvsg::DirectedLight | Class representing a directed light
nvsg::Drawable | Base class of all drawable objects
nvtraverser::DrawableUnifyTraverser | Traverser that combines Drawables under one GeoNode
nvsg::Face< n > | Helper class for Quads and Triangles
nvsg::FaceAttribute | StateAttribute that determines the render modes to use for the following geometries
nvsg::FaceAttributeData | Data of a FaceAttribute that is worth sharing
nvutil::FixedAllocator | Manages allocation requests for objects of a certain size only
nvui::FlightCamManip | Flight Camera Manipulator Class
nvsg::FramedAnimation< T > | An Animation that holds a complete data set for each frame
nvtraverser::FrustumCullTraverser | CullTraverser culling on frustum information
geometrySet_t | The geometrySet_t structure specifies how a geometry set is stored in a .NBF file
nvsg::GeoNode | Node to hold a set of geometry
nvtraverser::GeoNodeUnifyTraverser | Traverser that combines multiple GeoNodes under one Transform to a single one
nvsg::GeoSet | Base class for Geometries
nvgl::GLContext | Wrapper for OpenGL functions to provide error handling, caching, and extension handling per context
nvgl::GLFunctions | The GLFunctions class holds the OpenGL extension function pointers
nvgl::GLObjects | The GLObjects class is a container of OpenGL objects
nvtraverser::GLTraverser | RenderTraverser using OpenGL
nvui::GLWinRenderArea | OpenGL render area
nvsg::Group | Group node
nvtraverser::GroupUnifyTraverser | Traverser that deletes unneccessary Groups
nvsg::HighlightBox | Base class for Highlighting objects that can be attached to Geosets
nvsg::HighlightEdges | Base class for Highlighting objects that can be attached to Geosets
nvsg::HighlightObject | Base class for Highlighting objects that can be attached to Geosets
nvutil::IAllocator | An allocator interface
nvtraverser::IdentityToGroupTraverser | Traverser that replaces identity transforms by groups
nvutil::Incarnation | This class abstracts an incarnation count
indexSet_t | The indexSet_t structure specifies how an index set is stored in a .NBF file
nvsg::InterpolatedAnimation< T > | Base class for an interpolating Animation
nvtraverser::Intersection | Intersection class
nvsg::JitterCamera | A jittering camera
nvsg::LightSource | Base class for representing all light sources
nvsg::LinearInterpolatedAnimation< T > | An InterpolatedAnimation that performs linear interpolations between the key frames
nvsg::LOD | Level Of Detail class
nvutil::Log< TestMode, OutputFn > | Logging test results
nvmath::Mat33f | 3x3 matrix class
nvmath::Mat44f | 4x4 matrix class
nvsg::Material | StateAttribute that determines the material properties to use for the following geometries
nvmath::Matnnf< n > | Template for nxn-matrices
nvutil::MemFunTbl< T > | Member Function Table template
nvtraverser::ModelViewTraverser | Traverser that can handle the model view transform stack
nvsg::MonoCamera | A monoscopic camera
NBFAnimatedQuads | The NBFAnimatedQuads structure represents animated quads
NBFAnimatedTransform | The NBFAnimatedTransform structure represents an animated transform group node
NBFAnimatedTriangles | The NBFAnimatedTriangles structure represents animated triangles
NBFCamera | The NBFCamera structure represents a camera
NBFCgFx | The NBFCgFx structure represents an effect attribute
NBFDirectedLight |
NBFDrawable | The NBFDrawable represents any kind of a drawable object
NBFFaceAttribute | The NBFFaceAttribute structure represents a render mode
NBFFramedAnimation | The NBFFramedAnimation structure represents a framed animation
NBFFramedTrafoAnimation | The NBFFramedTrafoAnimation structure represents a framed animation that will be applied to trafo_t objects
NBFFramedVNVectorAnimation | The NBFFramedVNVectorAnimation structure represents a framed animation that will be applied to VNVector objects
NBFGeoNode | The NBFGeoNode structure represents a geometry node
NBFGeoSet | The NBFGeoSet structure represents a set of vertex attributes
NBFGroup | The NBFGroup structure represents a group node
NBFHeader | The NBFHeader structure represents the NBF header format
NBFInterpolatedAnimation | The NBFInterpolatedAnimation structure represents a interpolated animation
NBFInterpolatedTrafoAnimation | The NBFInterpolatedTrafoAnimation structure represents a interpolated animation that will be applied to trafo_t objects
NBFInterpolatedVNVectorAnimation | The NBFInterpolatedVNVectorAnimation structure represents a interpolated animation that will be applied to VNVector objects
NBFJitterCamera | The NBFJitterCamera structure represents a monoscopic jitter camera
NBFLightSource | The NBFLightSource structure represents a light source node
NBFLoader | A Scene Loader for nbf files
NBFLOD | The NBFLOD structure represents a 'Level Of Detail' group node
NBFMaterial | The NBFMaterial structure represents a material
NBFMonoCamera | The NBFMonoCamera structure represents a monoscopic camera
NBFNode | The NBFNode structure represents a general node
NBFObject | The NBFObject structure represents general object data
NBFParallelCamera | The NBFParallelCamera represents a parallel camera
NBFPerspectiveCamera | The NBFPerspectiveCamera represents a perspective camera
NBFPointLight |
NBFQuads | The NBFQuads structure represents a set of independent quads
NBFSaver | A scene saver capable to save a NVSG scene to a "NBF" (Nvsg Binary File format) file
NBFSaveTraverser | A Traverser to traverse a scene on saving to "NBF" binary file format
NBFScene | The NBFScene structure represents a scene in the context of computer graphics
NBFSimpleCamera | The NBFSimpleCamera represents a simple monoscopic camera
NBFSkinnedTriangles | The NBFSkinnedTriangles structure represents skin animated triangles
NBFSpotLight |
NBFStateAttribute | The NBFStateAttribute structure represents a state attribute
NBFStateSet | The NBFStateSet structure represents a set of heterogeneous NBFStateAttributes
NBFStereoCamera | The NBFStereoCamera represents a stereoscopic camera
NBFStrips | The NBFStrips structure represents a strip set
NBFSwitch | The NBFSwitch structure represents a switch group node
NBFTextureAttribute | The NBFTextureAttribute structure represents a texture attribute
NBFTextureAttributeItem | The NBFTextureAttributeItem structure represents a single texture object
NBFTrafoAnimation | The NBFTrafoAnimation represents an animation that will be applied to trafo_t objects
NBFTransform | The NBFTransform structure represents a transform group node
NBFTriangles | The NBFTriangles structure represents a set of independent triangles
NBFViewState | The NBFViewState represents an optional view state used to render the scene
NBFVNVectorAnimation | The NBFVNVectorAnimation represents an animation that will be applied to VNVector objects
nvsg::Node | Base class for all nodes of the scene graph
NVBLoader | A Scene Loader for nvb files
NVBLoadTraverser | Internally used traverser for post-processing a just loaded NVB file
NVNVB | Internally used class for loading NVB files
nvsg::NVSGException |
NVSGLoader | A Scene Loader for nvsg files
NVSGSaver | A Scene Saver for nvsg files
NVSGSaveTraverser | A Traverser to traverse a scene on saving to nvsg file format
nvsg::Object | Base class for all objects
nvtraverser::OcclusionCullGLTraverser | GLTraverser internally used by the OcclusionCullTraverser
nvtraverser::OcclusionCullTraverser | CullTraverser culling on occlusion information
nvsg::ParallelCamera | A parallel camera
nvsg::Path | Path representation in the tree
nvsg::PerspectiveCamera | A perspective camera
nvmath::Plane3f | Plane class
nvutil::PlugIn | Plug-in base class
nvutil::PlugInCallback | PlugInCallback base class
nvutil::PlugInCallback::EmptyTokenInfo | Information structure used for warning PICW_EMPTY_TOKEN
nvutil::PlugInCallback::FileAccessFailedInfo | Information structure used for error PICE_FILE_ACCESS_ERROR
nvutil::PlugInCallback::FileMappingFailedInfo | Information structure used for error PICE_FILE_MAPPING_ERROR
nvutil::PlugInCallback::IncompatibleFileInfo | Information structure used for error PICE_INCOMPATIBLE_FILE
nvutil::PlugInCallback::IncompatibleValueInfo | Information structure used for warning PICW_INCOMPATIBLE_VALUES
nvutil::PlugInCallback::InvalidFileInfo | Information structure used for error PICE_INVALID_FILE
nvutil::PlugInCallback::InvalidValueInfo | Information structure used for warning PICW_INVALID_VALUE
nvutil::PlugInCallback::UndefinedTokenInfo | Information structure used for warning PICW_UNDEFINED_TOKEN
nvutil::PlugInCallback::UnexpectedTokenInfo | Information structure used for error PICE_UNEXPECTED_TOKEN
nvutil::PlugInCallback::UnknownTokenInfo | Information structure used for error PICE_UNKNOWN_TOKEN
nvutil::PlugInCallback::UnsupportedTokenInfo | Information structure used for warning PICW_UNSUPPORTED_TOKEN
nvutil::PlugInServer | Plug-in management
nvsg::PointLight | Class representing a point light
nvsg::Quads | GeoSet for Quads
nvsg::QuadStrips | GeoSet defining quad strips
nvmath::Quatf | Quaternion class
nvtraverser::RayIntersectTraverser | RayIntersectTraverser
nvutil::RCIPtr< T > | A smart pointer template for reference counted objects
nvutil::RCObject | A reference counted object interface
nvutil::RCObject_AutoPtr< T > | AutoPtr for reference counted objects
nvutil::RCPtr< T > | A smart pointer template for reference counted objects
nvutil::RCVector< T > | A reference counted vector of elements
nvutil::RegVal< T > | Template class for easy access to the Registry
nvutil::removeReference | Convenient helper functor that can be used in STL algorithms
nvui::RenderArea | The render area is the place where the actual drawing takes place
nvtraverser::RenderTraverser | Pure virtual render traverser class
nvsg::Scene | Shrink wrap class to subsume all scene related information
nvsg::SceneLoader | Pure virtual base class for NVSG scene loader plug-ins
nvsg::SceneSaver | Pure virtual base class for NVSG scene saver plug-ins
nvtraverser::SearchTraverser | Traverser for searching all objects of one class type
nvsg::SimpleCamera | A simple camera
nvutil::Singleton< T > | A Singleton framework
nvsg::Skin | Internal helper class for SkinnedTriangles
skin_t | The skin_t structure specifies how a skin is stored in a .NBF file
nvsg::SkinnedTriangles | GeoSet for animated Triangles
nvtraverser::SmoothTraverser | Traverser that can smooth some drawables
nvmath::Sphere3f | Sphere class
nvsg::SpotLight | Class representing a spot light
nvsg::StateAttribute | Pure virtual base class of all state attribute objects
nvsg::StateSet | Class to hold a list of StateAttributes
nvtraverser::StateSetUnifyTraverser | Traverser that unifies identical StateSets
nvsg::StereoCamera | A stereoscopic camera
str_t | The str_t structure specifies how a string is stored in a .NBF file
nvtraverser::StrippingTraverser | Traverser to convert Triangles to TriStrips, and Quads to QuadStrips
nvsg::Switch | Switch node
nvutil::SWMRSync | Single write, multiple read synchronization class
texBinding_t | The texBinding_t structure specifies how a texture binding is stored in a .NBF file
texCoordSet_t | The texCoordSet_t structure specifies how a texture coordinate set is stored in a .NBF file
nvsg::Texture | Class to hold a texture
nvsg::TextureAttribute | Texture attribute
nvsg::TextureAttributeItem | Texture attribute item
nvsg::TextureAttributeItemData | Data of a texture attribute item that is worth sharing
nvutil::Trace< Functor > | Trace class template
nvutil::traceConsoleDebugOutput | Output to console _AND_ attached debugger
nvutil::traceConsoleOutput | Output to console
nvutil::traceDebugOutput | Output to attached debugger
nvutil::traceFileConsoleOutput | Output to log file _AND_ console
nvutil::traceFileDebugOutput | Output to log file _AND_ attached debugger
nvutil::traceFileOutput | Output to file
nvutil::TraceFunctor< OutFunctor > | Uses the function given as template argument to print out a given string
nvutil::Trackball | Trackball class for simulating a virtual trackball
nvui::TrackballCamManip | Trackball Camera Manipulator
nvmath::Trafo | Transformation class
trafo_t | The trafo_t structure specifies how a transfrmation is stored in a .NBF file
nvsg::Transform | Transformation node
nvutil::TransformStack | Utility class to hold a stack of concatenated transformation matrices
nvtraverser::TransformUnifyTraverser | Traverser that unifies identical Transforms
nvtraverser::Traverser | Base class providing an interface for read-write traversing of a given scene graph
nvsg::Triangles | GeoSet for Triangles
nvtraverser::TriangulateTraverser | Traverser that converts all flavors of quads to triangles
nvsg::TriStrips | GeoSet defining triangle strips
tweak_t | The tweak_t structure specifies how a tweakable parameter is stored in a .NBF file
nvutil::UPIID | Unique Plug Interface ID
nvutil::UPITID | Unique Plug Interface Type ID
nvmath::Vec2f | 2-component vector class
nvmath::Vec3f | 3-component vector class
nvmath::Vec4f | 4-component vector class
nvmath::Vecnf< n > | Template for n-dimensional vector
nvsg::ViewState | Class to encapsulate the view specific states
nvsg::VNVector | Helper class for use in Animation
nvui::WalkCamManip | Walk Camera Manipulator Class
WRLLoader | A Scene Loader for wrl files
WRLLoadTraverser | Internally used traverser for post-processing a just loaded VRML file
Generated on Fri Jan 28 09:20:07 2005 for NVSGSDK by NVIDIA


nvutil::addReference Struct Reference

Convenient helper functor that can be used in STL algorithms to add a reference to reference counted objects. More...

#include <RCObject.h>

List of all members.

Public Member Functions

template<typename RCOBJPTR> RCOBJPTR operator() (RCOBJPTR pRCObject)
Function call operator for one argument, being the pointer to an object.

template<typename AnyType, typename RCOBJPTR> const std::pair< AnyType,
RCOBJPTR > & 		operator() (std::pair< AnyType, RCOBJPTR > &p)
Function call operator for a pair of arguments.

Detailed Description

Convenient helper functor that can be used in STL algorithms to add a reference to reference counted objects.

With this helper functor it's easy and efficient to add a reference to each object contained in a STL container. To copy a container of reference counted objects and increase their reference count you could do something like that:

   for ( iter=src.begin() ; iter!=src.end() ; ++iter )
   {
     dst.push_back( *iter );
     (*iter)->addRef();
   }
or, equivalently but more efficiently, using this functor:
   transform( src.begin(), src.end(), inserter( dst, dst.begin()), addReference() );

Member Function Documentation

template<typename RCOBJPTR>
RCOBJPTR nvutil::addReference::operator() ( RCOBJPTR pRCObject )

Function call operator for one argument, being the pointer to an object.

The member function addRef() of an RCObject is called on the argument.

Returns:
the argument for usage in the algorithm
Parameters:
pRCObject pointer to reference counted object

template<typename AnyType, typename RCOBJPTR>
const std::pair< AnyType, RCOBJPTR > & nvutil::addReference::operator() ( std::pair< AnyType, RCOBJPTR > & p )

Function call operator for a pair of arguments.

The member function addRef() of an RCObject is called on the second element of the pair of arguments.

Returns:
the argument for usage in the algorithm
Parameters:
p pointer to a pair of any argument and a reference counted object

The documentation for this struct was generated from the following file:
  • RCObject.h
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


nvutil::Allocator Class Reference

Internal manager for memory allocations. More...

#include <Allocator.h>

Collaboration diagram for nvutil::Allocator:

[legend]
List of all members.

Public Member Functions

Allocator ()
Default constructor.

~Allocator ()
Destructor.

void * | alloc (size_t size)
Allocate continuous memory of size size.

void | dealloc (void *p, size_t size)
Deallocate previously allocated memory.

Detailed Description

Internal manager for memory allocations.

This class is used as a Singleton by IAllocator, which is the base of all RCObject classes. It manages the efficient allocation of small objects by using an array of FixedAllocator objects, one for each small size up to maxBlockSize. Allocations larger than that size are redirected to the standard allocation ::new.

Constructor & Destructor Documentation

nvutil::Allocator::Allocator ( )

Default constructor.

Initializes the array of FixedAllocator objects.

nvutil::Allocator::~Allocator ( )

Destructor.

In debug mode warnings on not deleted objects are emitted.

Member Function Documentation

void * nvutil::Allocator::alloc ( size_t size ) [inline]

Allocate continuous memory of size size.

Forwards either to the FixedAllocator of the specified size, or to the global new operator.

Parameters:
size size of memory to allocate

void nvutil::Allocator::dealloc | ( | void * | p,
 |  | size_t | size
 | ) | [inline]

Deallocate previously allocated memory.

Forwards either to the FixedAllocator of the specified size, or to the global delete operator. In debug mode, the corresponding information stored by alloc is erased.

Parameters:
p | pointer to the memory to deallocate
size | size of the allocated memory

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


nvsg::AnimatedQuads Class Reference

GeoSet for animated Quads. More...

#include <AnimatedQuads.h>

Inheritance diagram for nvsg::AnimatedQuads:

[legend]
Collaboration diagram for nvsg::AnimatedQuads:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const AnimatedQuads * | clone (void) const
Create a new AnimatedQuads by copying from this.

NVSG_API const Animation<
VNVector > * 		getAnimation (void) const
Get a constant pointer to the Animation.

NVSG_API void | setAnimation (const Animation< VNVector > *pAnimation)
Set the Animation.

NVSG_API void | setAnimationFrame (size_t frame)
Set the animation frame.

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

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

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

Static Public Member Functions

NVSG_API const AnimatedQuads * | create (const Animation< VNVector > *pAnimation=NULL)
Create an AnimatedQuads.

NVSG_API const AnimatedQuads * | createFromBase (const Quads &rhs, const Animation< VNVector > *pAnimation=NULL)
Create an AnimatedQuads by copying from a Quads.

Protected Member Functions

NVSG_API | AnimatedQuads (const Animation< VNVector > *pAnimation)
Constructor with an Animation.

NVSG_API | AnimatedQuads (const Quads &rhs, const Animation< VNVector > *pAnimation)
Constructor with a Quads and an Animation.

NVSG_API | AnimatedQuads (const AnimatedQuads &rhs)
Copy Constructor.

virtual NVSG_API | ~AnimatedQuads (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API void | onSetVertexAttributeData (void)
Vertex attribute data have been changed.

Detailed Description

GeoSet for animated Quads.

This class is a Quads with an Animation<VNVector>. The Animation defines the vertices and normals for each animation step.

Constructor & Destructor Documentation

NVSG_API nvsg::AnimatedQuads::AnimatedQuads ( const Animation< VNVector > * pAnimation ) [protected]

Constructor with an Animation.

NVSG_API nvsg::AnimatedQuads::AnimatedQuads | ( | const Quads & | rhs,
 |  | const Animation< VNVector > * | pAnimation
 | ) | [protected]

Constructor with a Quads and an Animation.

NVSG_API nvsg::AnimatedQuads::AnimatedQuads ( const AnimatedQuads & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::AnimatedQuads::~AnimatedQuads ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const AnimatedQuads* nvsg::AnimatedQuads::create ( const Animation< VNVector > * pAnimation = NULL ) [static]

Create an AnimatedQuads.

There is an optional argument pAnimation to use a given Animation<VNVector>.

Returns:
a constant pointer to an AnimatedQuads.
Parameters:
pAnimation optional animation to use

NVSG_API const AnimatedQuads* nvsg::AnimatedQuads::createFromBase | ( | const Quads & | rhs,
 |  | const Animation< VNVector > * | pAnimation = NULL
 | ) | [static]

Create an AnimatedQuads by copying from a Quads.

There is an optional argument pAnimation to use a given Animation<VNVector>.

Returns:
a constant pointer to an AnimatedQuads.
Parameters:
rhs | Quads to copy from
pAnimation | optional animation to use

virtual NVSG_API const AnimatedQuads* nvsg::AnimatedQuads::clone ( void ) const [virtual]

Create a new AnimatedQuads by copying from this.

Returns:
a constant pointer to an identical AnimatedQuads.

Reimplemented from nvsg::Quads.

const Animation< VNVector > * nvsg::AnimatedQuads::getAnimation ( void ) const [inline]

Get a constant pointer to the Animation.

Returns:
constant pointer to the animation

NVSG_API void nvsg::AnimatedQuads::setAnimation ( const Animation< VNVector > * pAnimation )

Set the Animation.

Any previous Animation is dereferenced, the new one is referenced, and the animation frame is reset to zero.

Parameters:
pAnimation new animation to use

NVSG_API void nvsg::AnimatedQuads::setAnimationFrame ( size_t frame )

Set the animation frame.

The vertices/normals for animation step frame are used as the current.

Parameters:
frame current animation step

virtual NVSG_API size_t nvsg::AnimatedQuads::getNumberOfFrames ( void ) const [virtual]

Get the number of animation frames.

Returns:
0

Reimplemented from nvsg::Drawable.

virtual NVSG_API DataID nvsg::AnimatedQuads::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Quads.

virtual NVSG_API bool nvsg::AnimatedQuads::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Quads.

virtual NVSG_API void nvsg::AnimatedQuads::onSetVertexAttributeData ( void ) [protected, virtual]

Vertex attribute data have been changed.

This function gets called from the framework, whenever certain vertex attribute data has been changed. Classes that derive from GeoSet may overload this function to add some necessary work after the vertex attribute data has been changed.

Reimplemented from nvsg::GeoSet.

The documentation for this class was generated from the following file:
  • AnimatedQuads.h
Generated on Fri Jan 28 09:20:57 2005 for NVSGSDK by NVIDIA


nvsg::AnimatedTransform Class Reference

Class representing an animated transformation. More...

#include <AnimatedTransform.h>

Inheritance diagram for nvsg::AnimatedTransform:

[legend]
Collaboration diagram for nvsg::AnimatedTransform:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API AnimatedTransform * | clone (void) const
Create a new AnimatedTransforms by copying from this.

NVSG_API const Animation<
nvmath::Trafo > * 		getAnimation (void) const
Get a constant pointer to the animation.

NVSG_API void | setAnimation (const Animation< nvmath::Trafo > *pAnimation)
Set the Animation.

NVSG_API void | setAnimationFrame (size_t frame)
Set the animation frame.

virtual NVSG_API void | setCenter (const nvmath::Vec3f &center)
Set the center of rotation of this transformation.

virtual NVSG_API void | setIdentity (void)
Set the Transform to be the identity.

virtual NVSG_API void | setOrientation (const nvmath::Quatf &orientation)
Set the rotational part of this transformation, using a quaternion.

virtual NVSG_API void | setScaling (const nvmath::Vec3f &scaling)
Set the scaling part of this transformation.

virtual NVSG_API void | setTranslation (const nvmath::Vec3f &translation)
Set the translational part of this transformation.

virtual NVSG_API size_t | getNumberOfFrames (void) const
Get the number of animation frames that are part of this Node.

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

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

Static Public Member Functions

NVSG_API const AnimatedTransform * | create (const Animation< nvmath::Trafo > *pAnimation=NULL)
Create an AnimatedTransform.

NVSG_API const AnimatedTransform * | createFromBase (const Transform &rhs, const Animation< nvmath::Trafo > *pAnimation=NULL)
Create an AnimatedTransform by copying from a Transform.

Protected Member Functions

NVSG_API | AnimatedTransform (const Animation< nvmath::Trafo > *pAnimation)
Constructor with an Animation.

NVSG_API | AnimatedTransform (const Transform &rhs, const Animation< nvmath::Trafo > *pAnimation)
Constructur with a Transform and an Animation.

NVSG_API | AnimatedTransform (const AnimatedTransform &rhs)
Copy Constructor.

virtual NVSG_API | ~AnimatedTransform (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Class representing an animated transformation.

An AnimatedTransform is a Transform that also holds an Animation. The transformation is determined from the Animation with every frame.

Constructor & Destructor Documentation

NVSG_API nvsg::AnimatedTransform::AnimatedTransform ( const Animation< nvmath::Trafo > * pAnimation ) [protected]

Constructor with an Animation.

NVSG_API nvsg::AnimatedTransform::AnimatedTransform | ( | const Transform & | rhs,
 |  | const Animation< nvmath::Trafo > * | pAnimation
 | ) | [protected]

Constructur with a Transform and an Animation.

NVSG_API nvsg::AnimatedTransform::AnimatedTransform ( const AnimatedTransform & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::AnimatedTransform::~AnimatedTransform ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const AnimatedTransform* nvsg::AnimatedTransform::create ( const Animation< nvmath::Trafo > * pAnimation = NULL ) [static]

Create an AnimatedTransform.

There is an optional argument pAnimation to use a given Animation<Trafo>.

Returns:
a constant pointer to an AnimatedQuads.
Parameters:
pAnimation optional animation to use

NVSG_API const AnimatedTransform* nvsg::AnimatedTransform::createFromBase | ( | const Transform & | rhs,
 |  | const Animation< nvmath::Trafo > * | pAnimation = NULL
 | ) | [static]

Create an AnimatedTransform by copying from a Transform.

There is an optional argument pAnimation to use a given Animation<Trafo>.

Returns:
a constant pointer to an AnimatedTransform.
Parameters:
rhs | Transform to copy from
pAnimation | optional animation to use

virtual NVSG_API AnimatedTransform* nvsg::AnimatedTransform::clone ( void ) const [virtual]

Create a new AnimatedTransforms by copying from this.

Returns:
a constant pointer to an identical AnimatedTransform.

Reimplemented from nvsg::Transform.

const Animation< nvmath::Trafo > * nvsg::AnimatedTransform::getAnimation ( void ) const [inline]

Get a constant pointer to the animation.

Returns:
constant pointer to the animation

NVSG_API void nvsg::AnimatedTransform::setAnimation ( const Animation< nvmath::Trafo > * pAnimation )

Set the Animation.

A previous Animation is dereferenced, the new one is referenced, and the animation frame is reset to zero.

Parameters:
pAnimation new animation to use

NVSG_API void nvsg::AnimatedTransform::setAnimationFrame ( size_t frame )

Set the animation frame.

The transformation for animation step frame is calculated and used as the current.

Parameters:
frame current animation step

virtual NVSG_API void nvsg::AnimatedTransform::setCenter ( const nvmath::Vec3f & center ) [virtual]

Set the center of rotation of this transformation.

Reimplemented from nvsg::Transform.

virtual NVSG_API void nvsg::AnimatedTransform::setIdentity ( void ) [virtual]

Set the Transform to be the identity.

Reimplemented from nvsg::Transform.

virtual NVSG_API void nvsg::AnimatedTransform::setOrientation ( const nvmath::Quatf & orientation ) [virtual]

Set the rotational part of this transformation, using a quaternion.

Reimplemented from nvsg::Transform.

virtual NVSG_API void nvsg::AnimatedTransform::setScaling ( const nvmath::Vec3f & scaling ) [virtual]

Set the scaling part of this transformation.

Reimplemented from nvsg::Transform.

virtual NVSG_API void nvsg::AnimatedTransform::setTranslation ( const nvmath::Vec3f & translation ) [virtual]

Set the translational part of this transformation.

Reimplemented from nvsg::Transform.

virtual NVSG_API size_t nvsg::AnimatedTransform::getNumberOfFrames ( void ) const [virtual]

Get the number of animation frames that are part of this Node.

Returns:
The number of animation frames of at least one child.

Reimplemented from nvsg::Group.

virtual NVSG_API DataID nvsg::AnimatedTransform::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Transform.

virtual NVSG_API bool nvsg::AnimatedTransform::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Transform.

The documentation for this class was generated from the following file:
  • AnimatedTransform.h
Generated on Fri Jan 28 09:20:58 2005 for NVSGSDK by NVIDIA


nvsg::AnimatedTriangles Class Reference

GeoSet for animated Triangles. More...

#include <AnimatedTriangles.h>

Inheritance diagram for nvsg::AnimatedTriangles:

[legend]
Collaboration diagram for nvsg::AnimatedTriangles:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const AnimatedTriangles * | clone (void) const
Create a new AnimatedTriangles by copying from this.

NVSG_API const Animation<
VNVector > * 		getAnimation (void) const
Get a constant pointer to the animation.

NVSG_API void | setAnimation (const Animation< VNVector > *pAnimation)
Set the Animation.

NVSG_API void | setAnimationFrame (size_t frame)
Set the animation frame.

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

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

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

Static Public Member Functions

NVSG_API const AnimatedTriangles * | create (const Animation< VNVector > *pAnimation=NULL)
Create an AnimatedTriangles.

NVSG_API const AnimatedTriangles * | createFromBase (const Triangles &rhs, const Animation< VNVector > *pAnimation=NULL)
Create an AnimatedTriangles by copying from a Triangles.

Protected Member Functions

NVSG_API | AnimatedTriangles (const Animation< VNVector > *pAnimation)
Constructor with an Animation.

NVSG_API | AnimatedTriangles (const Triangles &rhs, const Animation< VNVector > *pAnimation)
Constructor with a Triangles and an Animation.

NVSG_API | AnimatedTriangles (const AnimatedTriangles &rhs)
Copy Constructor.

virtual NVSG_API | ~AnimatedTriangles (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API void | onSetVertexAttributeData (void)
Vertex attribute data have been changed.

Detailed Description

GeoSet for animated Triangles.

This class is a Triangles with an Animation<VNVector>. The Animation defines the vertices and normals for each animation step.

Constructor & Destructor Documentation

NVSG_API nvsg::AnimatedTriangles::AnimatedTriangles ( const Animation< VNVector > * pAnimation ) [protected]

Constructor with an Animation.

NVSG_API nvsg::AnimatedTriangles::AnimatedTriangles | ( | const Triangles & | rhs,
 |  | const Animation< VNVector > * | pAnimation
 | ) | [protected]

Constructor with a Triangles and an Animation.

NVSG_API nvsg::AnimatedTriangles::AnimatedTriangles ( const AnimatedTriangles & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::AnimatedTriangles::~AnimatedTriangles ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const AnimatedTriangles* nvsg::AnimatedTriangles::create ( const Animation< VNVector > * pAnimation = NULL ) [static]

Create an AnimatedTriangles.

There is an optional argument pAnimation to use a given Animation<VNVector>.

Returns:
a constant pointer to an AnimatedTriangles.
Parameters:
pAnimation optional animation to use

NVSG_API const AnimatedTriangles* nvsg::AnimatedTriangles::createFromBase | ( | const Triangles & | rhs,
 |  | const Animation< VNVector > * | pAnimation = NULL
 | ) | [static]

Create an AnimatedTriangles by copying from a Triangles.

There is an optional argument pAnimation to use a given Animation<VNVector>.

Returns:
a constant pointer to an AnimatedTriangles.
Parameters:
rhs | Triangles to copy from
pAnimation | optional animation to use

virtual NVSG_API const AnimatedTriangles* nvsg::AnimatedTriangles::clone ( void ) const [virtual]

Create a new AnimatedTriangles by copying from this.

Returns:
a constant pointer to an identical AnimatedTriangles.

Reimplemented from nvsg::Triangles.

const Animation< VNVector > * nvsg::AnimatedTriangles::getAnimation ( void ) const [inline]

Get a constant pointer to the animation.

Returns:
constant pointer to the animation

NVSG_API void nvsg::AnimatedTriangles::setAnimation ( const Animation< VNVector > * pAnimation )

Set the Animation.

A previous Animation is dereferenced, the new one is referenced, and the animation frame is reset to zero.

Parameters:
pAnimation new animation to use

NVSG_API void nvsg::AnimatedTriangles::setAnimationFrame ( size_t frame )

Set the animation frame.

The vertices/normals for animation step frame are used as the current.

Parameters:
frame current animation step

virtual NVSG_API size_t nvsg::AnimatedTriangles::getNumberOfFrames ( void ) const [virtual]

Get the number of animation frames.

Returns:
0

Reimplemented from nvsg::Drawable.

virtual NVSG_API DataID nvsg::AnimatedTriangles::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Triangles.

virtual NVSG_API bool nvsg::AnimatedTriangles::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Triangles.

virtual NVSG_API void nvsg::AnimatedTriangles::onSetVertexAttributeData ( void ) [protected, virtual]

Vertex attribute data have been changed.

This function gets called from the framework, whenever certain vertex attribute data has been changed. Classes that derive from GeoSet may overload this function to add some necessary work after the vertex attribute data has been changed.

Reimplemented from nvsg::GeoSet.

The documentation for this class was generated from the following file:
  • AnimatedTriangles.h
Generated on Fri Jan 28 09:21:00 2005 for NVSGSDK by NVIDIA


Templatenvsg::Animation< T > class Reference

nvsg::Animation< T > Class Template Reference

Class defining the common interface of an animation. More...

#include <Animation.h>

Inheritance diagram for nvsg::Animation< T >:

[legend]
Collaboration diagram for nvsg::Animation< T >:

[legend]
List of all members.

Public Member Functions

virtual const Animation< T > * | clone (void) const=0
Interface for creating a clone of this animation.

virtual size_t | getNumberOfFrames (void) const=0
Get the number of frames in the animation.

virtual const T & | operator[] (size_t i) const=0
Random access operator for more convenient usage, constant version only.

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

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

Protected Member Functions

Animation (void)
Protected constructor.

virtual | ~Animation (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

template<typename T>
class nvsg::Animation< T >

Class defining the common interface of an animation.

An Animation is a pure virtual template class derived from Object that defines the common interface of an animation.

Constructor & Destructor Documentation

template<typename T>
nvsg::Animation< T >::Animation ( void ) [protected]

Protected constructor.

template<typename T>
nvsg::Animation< T >::~Animation ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

template<typename T>
virtual const Animation<T>* nvsg::Animation< T >::clone ( void ) const [pure virtual]

Interface for creating a clone of this animation.

Returns:
pointer to the new animation

Implemented in nvsg::FramedAnimation< T >, and nvsg::LinearInterpolatedAnimation< T >.

template<typename T>
virtual size_t nvsg::Animation< T >::getNumberOfFrames ( void ) const [pure virtual]

Get the number of frames in the animation.

Returns:
number of animation frames

Implemented in nvsg::FramedAnimation< T >, and nvsg::InterpolatedAnimation< T >.

template<typename T>
virtual const T& nvsg::Animation< T >::operator[] ( size_t i ) const [pure virtual]

Random access operator for more convenient usage, constant version only.

Returns:
constant reference to value of frame i

Implemented in nvsg::FramedAnimation< T >, and nvsg::LinearInterpolatedAnimation< T >.

template<typename T>
DataID nvsg::Animation< T >::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.

template<typename T>
bool nvsg::Animation< T >::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.

The documentation for this class was generated from the following file:
  • Animation.h
Generated on Fri Jan 28 09:21:01 2005 for NVSGSDK by NVIDIA


nvui::AnimationCamManip Class Reference

Animation Camera Manipulator Class. More...

#include <AnimationCamManip.h>

Inheritance diagram for nvui::AnimationCamManip:

[legend]
Collaboration diagram for nvui::AnimationCamManip:

[legend]
List of all members.

Public Member Functions

NVSG_API | AnimationCamManip (void)
Default Constructor.

virtual NVSG_API | ~AnimationCamManip (void)
Default Destructor.

virtual NVSG_API void | apply ()
Apply the Trafo of the current animation step to the camera.

NVSG_API void | setAnimationFrame (size_t nFrame)
Set the current animation frame.

NVSG_API void | setAnimation (const nvsg::Animation< nvmath::Trafo > *pAnimation)
Set the Animation to use with this AnimationCamManip.

Protected Attributes

const nvsg::Animation< nvmath::Trafo > * | m_animation
animation information

size_t | m_currentFrame
current animationFrame

Detailed Description

Animation Camera Manipulator Class.

This manipulator controls the camera while an Animation<Trafo> is playing. It converts any mouse input to camera control. A typical usage of an AnimationCamManip looks like this:

 animManip.setAnimation( &myTrafoAnimation );
 animManip.attach( &myCamera );
 while ( isAnimating )
 {
   curFrame = ((++curFrame) % myTrafoAnimation.getNumberOfFrames()) ? curFrame : 0;
   animManip.setAnimationFrame( curFrame );
   animManip.apply();
   // initiate a redraw here
 }
For further details on using an AnimationCamManip, see the AnimationViewer tutorial.

Constructor & Destructor Documentation

NVSG_API nvui::AnimationCamManip::AnimationCamManip ( void )

Default Constructor.

virtual NVSG_API nvui::AnimationCamManip::~AnimationCamManip ( void ) [virtual]

Default Destructor.

If the AnimationCamManip holds an Animation<Trafo>, it is dereferenced.

Member Function Documentation

virtual NVSG_API void nvui::AnimationCamManip::apply ( ) [virtual]

Apply the Trafo of the current animation step to the camera.

Implements nvui::CameraManipulator.

void nvui::AnimationCamManip::setAnimationFrame ( size_t nFrame ) [inline]

Set the current animation frame.

Parameters:
nFrame index of the animation frame

NVSG_API void nvui::AnimationCamManip::setAnimation ( const nvsg::Animation< nvmath::Trafo > * pAnimation )

Set the Animation to use with this AnimationCamManip.

If this AnimationCamManip currently holds an Animation<Trafo>, it's dereferenced. pAnimation is set as the current Animation<Trafo>. If it's not NULL, it is referenced. To "reset" the Animation, use NULL as the argument.

Parameters:
pAnimation pointer to an Animation

Member Data Documentation

const nvsg::Animation<nvmath::Trafo>* nvui::AnimationCamManip::m_animation [protected]

animation information

size_t nvui::AnimationCamManip::m_currentFrame [protected]

current animationFrame

The documentation for this class was generated from the following file:
  • AnimationCamManip.h
Generated on Fri Jan 28 09:22:23 2005 for NVSGSDK by NVIDIA


nvtraverser::AppTraverser Class Reference

AppTraverser Class. More...

#include <AppTraverser.h>

Inheritance diagram for nvtraverser::AppTraverser:

[legend]
Collaboration diagram for nvtraverser::AppTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | AppTraverser ()
Default constructor.

Protected Member Functions

virtual NVSG_API | ~AppTraverser ()
Default destructor.

virtual NVSG_API void | doApply (const nvsg::ViewState *viewState, const nvsg::Scene *scene)
doApply override

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Routine to handle a AnimatedTransform node while traversing the scene graph.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Routine to handle a AnimatedQuads object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Routine to handle a AnimatedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Routine to handle a SkinnedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx attribute while traversing the scene graph.

virtual NVSG_API void | handleHighlightBox (const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet)
Routine to handle a HighlightBox object while traversing the scene graph.

virtual NVSG_API void | traverseLight (const nvsg::LightSource *p)
This function will be called from the framework when a LightSource node is visited.

Protected Attributes

bool | m_bApplyingCgFx
Flag that signals if a CgFX effect needs to be handled (tangentspace calculation).

size_t | m_animationFrame
Current animation frame.

Detailed Description

AppTraverser Class.

This class provides the mechanism to apply changes and update the scene graph. (The 'apply' step of the application.) Use an AppTraverser derived class as a unique entry point for manipulating nodes in the scene, such as data from gadgets, animations, and interactions.

Note:
The current implementation takes care of the animation frames, camera clip planes highlighting, etc...

Constructor & Destructor Documentation

NVSG_API nvtraverser::AppTraverser::AppTraverser ( )

Default constructor.

virtual NVSG_API nvtraverser::AppTraverser::~AppTraverser ( ) [protected, virtual]

Default destructor.

Member Function Documentation

virtual NVSG_API void nvtraverser::AppTraverser::doApply | ( | const nvsg::ViewState * | viewState,
 |  | const nvsg::Scene * | scene
 | ) | [protected, virtual]

doApply override

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

This routine gets called for each GeoNode object that will be visited while traversing the scene graph. The currently visited GeoNode object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Routine to handle a AnimatedTransform node while traversing the scene graph.

This routine gets called for each AnimatedTransform object that will be visited while traversing the scene graph. The currently visited AnimatedTransform object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Routine to handle a AnimatedQuads object while traversing the scene graph.

This routine gets called for each AnimatedQuads object that will be visited while traversing the scene graph. The currently visited AnimatedQuads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Routine to handle a AnimatedTriangles object while traversing the scene graph.

This routine gets called for each AnimatedTriangles object that will be visited while traversing the scene graph. The currently visited AnimatedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Routine to handle a SkinnedTriangles object while traversing the scene graph.

This routine gets called for each SkinnedTriangles object that will be visited while traversing the scene graph. The currently visited SkinnedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx attribute while traversing the scene graph.

This routine gets called for each CgFx object that will be visited while traversing the scene graph. The currently visited CgFx object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::handleHighlightBox | ( | const nvsg::HighlightBox * | p,
 |  | const nvsg::GeoSet * | geoSet
 | ) | [protected, virtual]

Routine to handle a HighlightBox object while traversing the scene graph.

This routine gets called for each HighlightBox object that will be visited while traversing the scene graph. The currently visited Highlight object is pointed to by p.

Remarks:
A HighlighBox always is attached to its corresponding GeoSet object as a HighlightObject .
Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::AppTraverser::traverseLight ( const nvsg::LightSource * p ) [protected, virtual]

This function will be called from the framework when a LightSource node is visited.

remarks Custom traversers can override this function for special tasks that need to be performed when visiting a LightSource node.

Reimplemented from nvtraverser::Traverser.

Member Data Documentation

bool nvtraverser::AppTraverser::m_bApplyingCgFx [protected]

Flag that signals if a CgFX effect needs to be handled (tangentspace calculation).

size_t nvtraverser::AppTraverser::m_animationFrame [protected]

Current animation frame.

The documentation for this class was generated from the following file:
  • AppTraverser.h
Generated on Fri Jan 28 09:21:56 2005 for NVSGSDK by NVIDIA


Templatenvutil::Bit< n > class Reference

nvutil::Bit< n > Class Template Reference

Template class for easy definition of a single-bit bitmask. More...

#include <BitMask.h>

List of all members.

Public Types

enum { mask = 1<<n }

Detailed Description

template<int n>
class nvutil::Bit< n >

Template class for easy definition of a single-bit bitmask.

The documentation for this class was generated from the following file:
  • BitMask.h
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


nvsg::Bone Class Reference

Internal helper class for SkinnedTriangles. More...

#include <SkinnedTriangles.h>

Collaboration diagram for nvsg::Bone:

[legend]
List of all members.

Public Member Functions

Bone (void)
Constructor.

Bone (const Bone &rhs)
Copy constructor.

~Bone (void)
Destructor.

nvmath::Vec4f | operator() (size_t frame, const nvmath::Vec4f &v) const
Calculate a vertex.

const Animation< nvmath::Trafo > * | getAnimation (void) const
Get the Animation.

const nvmath::Mat44f & | getMatrix (size_t frame) const
Get the transformation of the animation step.

float | getWeight (void) const
Get the weight.

NVSG_API void | setAnimation (const Animation< nvmath::Trafo > *pAnimation)
Set the Animation.

void | setInverse (const nvmath::Mat44f &inverse)
Set the base inverse.

void | setMatrix (const nvmath::Mat44f &trafo)
Set the trafo.

void | setWeight (float weight)
Set the weight.

Detailed Description

Internal helper class for SkinnedTriangles.

Instead of the vertices and normals from Triangles, SkinnedTriangles use a special construction that has a vector of "Bones" per vertex, from which the vertices and normals are calculated. This calculation depends on the animation step. A Bone essentially consists of an Animation, an offset, and a weight. Out of these values a vertex is calculated using a vector of Bones.

Constructor & Destructor Documentation

nvsg::Bone::Bone ( void ) [inline]

Constructor.

nvsg::Bone::Bone ( const Bone & rhs ) [inline]

Copy constructor.

nvsg::Bone::~Bone ( void ) [inline]

Destructor.

Member Function Documentation

nvmath::Vec4f nvsg::Bone::operator() | ( | size_t | frame,
 |  | const nvmath::Vec4f & | v
 | ) | const [inline]

Calculate a vertex.

For animation step frame and reference point v, a modified vertex is calculated. All Bones of a Skin equally contribute to the animated vertex this way.

Returns:
An animated vertex relative to v

const Animation< nvmath::Trafo > * nvsg::Bone::getAnimation ( void ) const [inline]

Get the Animation.

Returns:
A pointer to the Animation

const nvmath::Mat44f & nvsg::Bone::getMatrix ( size_t frame ) const [inline]

Get the transformation of the animation step.

Returns:
The animated transform on step frame
Parameters:
frame animation step to get transformation at

float nvsg::Bone::getWeight ( void ) const [inline]

Get the weight.

Returns:
The weight of this Bone

void nvsg::Bone::setAnimation ( const Animation< nvmath::Trafo > * pAnimation ) [inline]

Set the Animation.

Setting the Animation also sets the base inverse as the inverse of the first animation step.

Parameters:
pAnimation new animation for this Bone

void nvsg::Bone::setInverse ( const nvmath::Mat44f & inverse ) [inline]

Set the base inverse.

All animation steps are done relative to this base inverse. Usually it is calculated out of the first animation step.

Parameters:
inverse new base inverse to use

void nvsg::Bone::setMatrix ( const nvmath::Mat44f & trafo ) [inline]

Set the trafo.

Just sets the trafo to use and invalidates the animation step.

Parameters:
trafo trafo to use

void nvsg::Bone::setWeight ( float weight ) [inline]

Set the weight.

The weight is used to weight this Bones contribution to the vertex calculation of a Skin.

Parameters:
weight weight for this bone

The documentation for this class was generated from the following file:
  • SkinnedTriangles.h
Generated on Fri Jan 28 09:21:38 2005 for NVSGSDK by NVIDIA


bone_t Struct Reference

The bone_t structure specifies how a bone is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

float weight
uint_t animation

Detailed Description

The bone_t structure specifies how a bone is stored in a .NBF file.

Bones need to be considered in conjunction with the skin_t structure.

Member Data Documentation

float bone_t::weight

Specifies a weight factor to be applied to the initial vertices and normals of the < actual skin.

uint_t bone_t::animation

Specifies the file offset to the animation to be applied to the initial vertices < and normals of the actual skin.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


nvmath::BoundingSphere Class Reference

Sphere class that represents the bounding sphere of a set of points. More...

#include <BoundingSphere.h>

Inheritance diagram for nvmath::BoundingSphere:

[legend]
Collaboration diagram for nvmath::BoundingSphere:

[legend]
List of all members.

Public Member Functions

BoundingSphere ()
Constructor.

NVSG_API bool | extend (const Sphere3f &sphere)
Extend this BoundingSphere by a sphere.

NVSG_API const Sphere3f & | getSphere (void) const
Get the sphere.

NVSG_API void | setSphere (const Sphere3f &sphere)
Set the sphere.

NVSG_API const Vec3f & | getCenter (void) const
Get the center.

NVSG_API float | getRadius (void) const
Get the radius.

NVSG_API void | invalidate (void)
Invalidate the BoundingSphere.

NVSG_API bool | isValid (void) const
Determine if the BoundingSphere is valid.

NVSG_API bool | set (const Vec3f *vertices, size_t numVertices)
Set the BoundingSphere to include a vector of points.

NVSG_API void | transform (const Mat44f &m)
Transform the BoundingSphere by a matrix.

NVSG_API void | enlarge (float factor)
Enlarge the bounding sphere by a factor.

Detailed Description

Sphere class that represents the bounding sphere of a set of points.

Because determining the optimal bounding sphere of a set of points is rather cumbersome, this BoundingSphere is an approximation that uses the baricenter of a set of points. On extending a BoundingSphere with another, the sphere that includes both and is tangent to them is used.

Constructor & Destructor Documentation

nvmath::BoundingSphere::BoundingSphere ( ) [inline]

Constructor.

Member Function Documentation

bool nvmath::BoundingSphere::extend ( const Sphere3f & sphere ) [inline]

Extend this BoundingSphere by a sphere.

This BoundingSphere is extended to include the given sphere. If they don't include each other the new sphere is tangent to both of them.

Returns:
true if the extended BoundingSphere is valid, otherwise false
Parameters:
sphere sphere to extend with

const Sphere3f & nvmath::BoundingSphere::getSphere ( void ) const [inline]

Get the sphere.

It is assumed that this BoundingSphere is valid.

Returns:
This BoundingSphere as a Sphere3f.

void nvmath::BoundingSphere::setSphere ( const Sphere3f & sphere ) [inline]

Set the sphere.

Makes the BoundingSphere valid.

const Vec3f & nvmath::BoundingSphere::getCenter ( void ) const [inline]

Get the center.

It is assumed that this BoundingSphere is valid.

Returns:
The center of this BoundingSphere.

Reimplemented from nvmath::Sphere3f.

float nvmath::BoundingSphere::getRadius ( void ) const [inline]

Get the radius.

It is assumed that this BoundingSphere is valid.

Returns:
The radius of this BoundingSphere.

Reimplemented from nvmath::Sphere3f.

void nvmath::BoundingSphere::invalidate ( void ) [inline]

Invalidate the BoundingSphere.

Marks this BoundingSphere as invalid. After this, neither center nor radius can be assumed to be valid.

bool nvmath::BoundingSphere::isValid ( void ) const [inline]

Determine if the BoundingSphere is valid.

A BoundingSphere is valid if it has been set with at least two points.

Returns:
true if the BoundingSphere is valid, otherwise false

bool nvmath::BoundingSphere::set | ( | const Vec3f * | vertices,
 |  | size_t | numVertices
 | ) | [inline]

Set the BoundingSphere to include a vector of points.

A BoundingSphere of the given points is calculated by using the baricenter of the points as the center of the BoundingSphere.

Parameters:
vertices | points to be bounded by a sphere
numVertices | number of points

void nvmath::BoundingSphere::transform ( const Mat44f & m ) [inline]

Transform the BoundingSphere by a matrix.

The center of the BoundingSphere is pre-multiplied by the given matrix.

Parameters:
m matrix to use in the transformation

void nvmath::BoundingSphere::enlarge ( float factor ) [inline]

Enlarge the bounding sphere by a factor.

Parameters:
factor factor to use for enlarging the bounding sphere

The documentation for this class was generated from the following file:
  • BoundingSphere.h
Generated on Fri Jan 28 09:20:49 2005 for NVSGSDK by NVIDIA


nvsg::Camera Class Reference

Base class for all camera types. More...

#include <Camera.h>

Inheritance diagram for nvsg::Camera:

[legend]
Collaboration diagram for nvsg::Camera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Camera * | clone (void) const=0
Interface for creating a clone of this camera.

virtual NVSG_API void | addHeadLight (const LightSource *pLight, const nvmath::Vec3f &trans=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f))=0
Interface for adding a headlight to this camera.

virtual NVSG_API bool | removeHeadLight (size_t index=0)=0
Interface for removing a headlight.

virtual NVSG_API size_t | getNumberOfHeadLights () const=0
Interface for getting the number of headlights attached to the camera.

virtual NVSG_API const LightSource * | getHeadLight (size_t index) const=0
Interface for getting a headlight of this camera.

virtual NVSG_API void | getHeadLightTrafo (nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const=0
Interface for getting the position/orientation of a camera's headlight.

virtual NVSG_API bool | setHeadLightTrafo (const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0)=0
Interface for setting the headlight position and orientation relative to the camera.

virtual NVSG_API float | getTargetDistance () const=0
Interface for getting the distance to the target point.

virtual NVSG_API void | setTargetDistance (float td)=0
Interface for setting the distance to the target point.

virtual NVSG_API const nvmath::Vec3f & | getPosition () const=0
Interface for getting the camera position.

virtual NVSG_API void | setPosition (const nvmath::Vec3f &pos)=0
Interface for setting the camera position.

virtual NVSG_API void | setUpVector (const nvmath::Vec3f &up)=0
Interface for setting the up direction.

virtual NVSG_API nvmath::Vec3f | getUpVector () const=0
Interface for getting the up direction.

virtual NVSG_API nvmath::Vec3f | getDirection () const=0
Interface for getting the viewing direction.

virtual NVSG_API void | setDirection (const nvmath::Vec3f &dir)=0
Interface for setting the viewing direction.

virtual NVSG_API void | setOrientation (const nvmath::Quatf &quat)=0
Interface for setting the orientation of the camera.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &dir, const nvmath::Vec3f &up)=0
Interface for setting the orientation of the camera.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &axis, float angle)=0
Interface for setting the orientation of the camera.

virtual NVSG_API nvmath::Quatf | getOrientation (void) const=0
Get the current orientation.

virtual NVSG_API nvmath::Mat44f | getWorldToViewMatrix () const=0
Interface for getting the world-to-view transformation.

virtual NVSG_API nvmath::Mat44f | getViewToWorldMatrix () const=0
Interface for getting the inverse world to view transformation.

virtual NVSG_API const nvmath::Vec2f & | getWindowOffset (void) const=0
Interface for getting the window offset.

virtual NVSG_API void | setWindowOffset (const nvmath::Vec2f &offset)=0
Interface for setting the window offset.

virtual NVSG_API void | getWindowRegion (nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const=0
Interface for getting the relative window region to view.

virtual NVSG_API void | setWindowRegion (const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight)=0
Interface for setting the relative window region to view.

virtual NVSG_API const nvmath::Vec2f & | getWindowSize () const=0
Interface for getting the window size.

virtual NVSG_API void | setWindowSize (const nvmath::Vec2f &size)=0
Interface for setting the window size.

virtual NVSG_API float | getAspectRatio () const=0
Interface for getting the current aspect ratio.

virtual NVSG_API void | setAspectRatio (float ar, bool keepWidth=false)=0
Interface for setting the aspect ratio.

virtual NVSG_API bool | isAutoClipPlanes () const=0
Interface for determining if auto clipping is on.

virtual NVSG_API void | setAutoClipPlanes (bool on)=0
Interface for enabling/disabling automatic clip plane determination.

virtual NVSG_API void | calcNearFarDistances (const nvmath::Sphere3f &sphere)=0
Interface for calculating the near and far clipping distances.

virtual NVSG_API float | getFarDistance () const=0
Interface for getting the far clipping distance.

virtual NVSG_API void | setFarDistance (float fd)=0
Interface for setting the far clipping distance.

virtual NVSG_API float | getNearDistance () const=0
Interface for getting the near clipping distance.

virtual NVSG_API void | setNearDistance (float nd)=0
Interface for setting the near clipping distance.

virtual NVSG_API void | move (const nvmath::Vec3f &delta)=0
Interface for moving the camera.

virtual NVSG_API void | orbit (const nvmath::Vec3f &axis, float rad)=0
Interface for orbiting the camera.

virtual NVSG_API void | rotate (const nvmath::Vec3f &axis, float rad, bool cameraRelative=true)=0
Interface for rotating the camera.

virtual NVSG_API void | zoom (float factor)=0
Interface for zooming by a certain factor.

virtual NVSG_API void | zoom (const nvmath::Sphere3f &sphere, float fovy=-1.0f)=0
Interface for zooming to fit view to a sphere.

void | moveX (float val)
Move the camera to the right/left (camera coordinates).

void | moveY (float val)
Move the camera up/down (camera coordinates).

void | moveZ (float val)
Move the camera back/forth (camera coordinates).

void | orbitX (float rad)
Orbit the camera around the camera's x-axis.

void | orbitY (float rad)
Orbit the camera around the up direction.

void | orbitZ (float rad)
Orbit the camera around the negative view direction.

void | rotateX (float rad, bool cameraRelative=true)
Rotate the camera around the camera's x-axis.

void | rotateY (float rad, bool cameraRelative=true)
Rotate the camera around the up direction.

void | rotateZ (float rad, bool cameraRelative=true)
Rotate the camera around the negative view direction.

Protected Member Functions

NVSG_API | Camera ()
Protected constructor.

virtual NVSG_API | ~Camera (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Base class for all camera types.

Constructor & Destructor Documentation

nvsg::Camera::Camera ( ) [inline, protected]

Protected constructor.

nvsg::Camera::~Camera ( void ) [inline, protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

virtual NVSG_API const Camera* nvsg::Camera::clone ( void ) const [pure virtual]

Interface for creating a clone of this camera.

Returns:
A constant pointer to the new Camera object.

Implemented in nvsg::JitterCamera, nvsg::MonoCamera, nvsg::ParallelCamera, nvsg::PerspectiveCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::addHeadLight | ( | const LightSource * | pLight,
 |  | const nvmath::Vec3f & | trans = nvmath::Vec3f(0.0f, 0.0f, 0.0f),
 |  | const nvmath::Quatf & | quat = nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)
 | ) | [pure virtual]

Interface for adding a headlight to this camera.

Parameters:
pLight | Pointer to the LightSource to add.
trans | Specifies the translation relative to camera.
quat | Specifies the rotation relative to camera.

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API bool nvsg::Camera::removeHeadLight ( size_t index = 0 ) [pure virtual]

Interface for removing a headlight.

Returns:
true if the headlight was removed, otherwise false
Parameters:
index index of head light to remove

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API size_t nvsg::Camera::getNumberOfHeadLights ( ) const [pure virtual]

Interface for getting the number of headlights attached to the camera.

Returns:
Number of headlights attached to this camera.

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API const LightSource* nvsg::Camera::getHeadLight ( size_t index ) const [pure virtual]

Interface for getting a headlight of this camera.

Returns:
A constant pointer to the headlight at index index, or a null pointer if there is no headlight available at index index.
Parameters:
index Index of headlight to get

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::getHeadLightTrafo | ( | nvmath::Vec3f & | trans,
 |  | nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | const [pure virtual]

Interface for getting the position/orientation of a camera's headlight.

Parameters:
trans | The translation relative to the camera will be received here.
quat | The rotation relative to the camera will be received here.
index | Index of the headlight to get transform information from.

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API bool nvsg::Camera::setHeadLightTrafo | ( | const nvmath::Vec3f & | trans,
 |  | const nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | [pure virtual]

Interface for setting the headlight position and orientation relative to the camera.

Returns:
true if a headlight with this index exists, false otherwise.
Parameters:
trans | position of headlight - default is (0,0,0)
quat | orientation of headlight - default is (0,0,0,1)
index | index of headlight

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API float nvsg::Camera::getTargetDistance ( ) const [pure virtual]

Interface for getting the distance to the target point.

Returns:
distance to the target point

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setTargetDistance ( float td ) [pure virtual]

Interface for setting the distance to the target point.

Parameters:
td distance to target point (or viewing plane)

Implemented in nvsg::JitterCamera, nvsg::PerspectiveCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API const nvmath::Vec3f& nvsg::Camera::getPosition ( ) const [pure virtual]

Interface for getting the camera position.

Returns:
position of camera

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setPosition ( const nvmath::Vec3f & pos ) [pure virtual]

Interface for setting the camera position.

Parameters:
pos new camera position

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setUpVector ( const nvmath::Vec3f & up ) [pure virtual]

Interface for setting the up direction.

Parameters:
up up direction (might change viewing direction)

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API nvmath::Vec3f nvsg::Camera::getUpVector ( ) const [pure virtual]

Interface for getting the up direction.

Returns:
up direction of camera

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API nvmath::Vec3f nvsg::Camera::getDirection ( ) const [pure virtual]

Interface for getting the viewing direction.

Returns:
viewing direction

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setDirection ( const nvmath::Vec3f & dir ) [pure virtual]

Interface for setting the viewing direction.

Parameters:
dir new viewing direction (might change upVector)

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setOrientation ( const nvmath::Quatf & quat ) [pure virtual]

Interface for setting the orientation of the camera.

Parameters:
quat quaternion that determines direction and up vector

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setOrientation | ( | const nvmath::Vec3f & | dir,
 |  | const nvmath::Vec3f & | up
 | ) | [pure virtual]

Interface for setting the orientation of the camera.

Parameters:
dir | direction to look at
up | up vector

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setOrientation | ( | const nvmath::Vec3f & | axis,
 |  | float | angle
 | ) | [pure virtual]

Interface for setting the orientation of the camera.

Parameters:
axis | axis to rotate about
angle | angle to rotate

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API nvmath::Quatf nvsg::Camera::getOrientation ( void ) const [pure virtual]

Get the current orientation.

Returns:
quaternion that describes the orientation

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API nvmath::Mat44f nvsg::Camera::getWorldToViewMatrix ( ) const [pure virtual]

Interface for getting the world-to-view transformation.

Returns:
world-to-camera transformation

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API nvmath::Mat44f nvsg::Camera::getViewToWorldMatrix ( ) const [pure virtual]

Interface for getting the inverse world to view transformation.

Returns:
inverse of the world to camera transformation (i.e. camera to world)

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API const nvmath::Vec2f& nvsg::Camera::getWindowOffset ( void ) const [pure virtual]

Interface for getting the window offset.

Returns:
window offset

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setWindowOffset ( const nvmath::Vec2f & offset ) [pure virtual]

Interface for setting the window offset.

Parameters:
offset window ofset to viewing reference point

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::getWindowRegion | ( | nvmath::Vec2f & | lowerLeft,
 |  | nvmath::Vec2f & | upperRight
 | ) | const [pure virtual]

Interface for getting the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setWindowRegion | ( | const nvmath::Vec2f & | lowerLeft,
 |  | const nvmath::Vec2f & | upperRight
 | ) | [pure virtual]

Interface for setting the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API const nvmath::Vec2f& nvsg::Camera::getWindowSize ( ) const [pure virtual]

Interface for getting the window size.

Returns:
window size

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setWindowSize ( const nvmath::Vec2f & size ) [pure virtual]

Interface for setting the window size.

Parameters:
size window size (world coordinates)

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API float nvsg::Camera::getAspectRatio ( ) const [pure virtual]

Interface for getting the current aspect ratio.

Returns:
width versus height of the camera window

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setAspectRatio | ( | float | ar,
 |  | bool | keepWidth = false
 | ) | [pure virtual]

Interface for setting the aspect ratio.

Parameters:
ar | new aspect ratio
keepWidth | keep width or height constant

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API bool nvsg::Camera::isAutoClipPlanes ( ) const [pure virtual]

Interface for determining if auto clipping is on.

If auto clipping is on, the camera determines the optimal near and front clipping distances from the scene. If the user has additional information about the scene that might help clipping, it should be turned off.

Returns:
true if auto clip is on, otherwise false

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setAutoClipPlanes ( bool on ) [pure virtual]

Interface for enabling/disabling automatic clip plane determination.

Parameters:
on true to enable, false to disable

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::calcNearFarDistances ( const nvmath::Sphere3f & sphere ) [pure virtual]

Interface for calculating the near and far clipping distances.

Parameters:
sphere bounding sphere of the world to look at

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API float nvsg::Camera::getFarDistance ( ) const [pure virtual]

Interface for getting the far clipping distance.

Returns:
distance to the far clipping plane

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setFarDistance ( float fd ) [pure virtual]

Interface for setting the far clipping distance.

Parameters:
fd far clipping distance

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API float nvsg::Camera::getNearDistance ( ) const [pure virtual]

Interface for getting the near clipping distance.

Returns:
distance to the near clipping plane

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::setNearDistance ( float nd ) [pure virtual]

Interface for setting the near clipping distance.

Parameters:
nd near clipping distance

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::move ( const nvmath::Vec3f & delta ) [pure virtual]

Interface for moving the camera.

Parameters:
delta delta to move the camera (camera coordinates)

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::orbit | ( | const nvmath::Vec3f & | axis,
 |  | float | rad
 | ) | [pure virtual]

Interface for orbiting the camera.

Parameters:
axis | axis to orbit around (camera coordinates)
rad | angle to orbit (radians)

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::rotate | ( | const nvmath::Vec3f & | axis,
 |  | float | rad,
 |  | bool | cameraRelative = true
 | ) | [pure virtual]

Interface for rotating the camera.

Parameters:
axis | axis to rotate around
rad | angle to rotate (radians)
cameraRelative | flag to indicate if the axis is camera or world relative

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::zoom ( float factor ) [pure virtual]

Interface for zooming by a certain factor.

Parameters:
factor zoom in/out by this factor; changes windowSize

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

virtual NVSG_API void nvsg::Camera::zoom | ( | const nvmath::Sphere3f & | sphere,
 |  | float | fovy = -1.0f
 | ) | [pure virtual]

Interface for zooming to fit view to a sphere.

Parameters:
sphere | sphere to zoom on
fovy | field of view; if negative, keep the current field of view

Implemented in nvsg::JitterCamera, nvsg::SimpleCamera, and nvsg::StereoCamera.

void nvsg::Camera::moveX ( float val ) [inline]

Move the camera to the right/left (camera coordinates).

Parameters:
val coordinate delta to move

void nvsg::Camera::moveY ( float val ) [inline]

Move the camera up/down (camera coordinates).

Parameters:
val coordinate delta to move

void nvsg::Camera::moveZ ( float val ) [inline]

Move the camera back/forth (camera coordinates).

Parameters:
val coordinate delta to move

void nvsg::Camera::orbitX ( float rad ) [inline]

Orbit the camera around the camera's x-axis.

Parameters:
rad angle to orbit (radians)

void nvsg::Camera::orbitY ( float rad ) [inline]

Orbit the camera around the up direction.

Parameters:
rad angle to orbit (radians)

void nvsg::Camera::orbitZ ( float rad ) [inline]

Orbit the camera around the negative view direction.

Parameters:
rad angle to orbit (radians)

void nvsg::Camera::rotateX | ( | float | rad,
 |  | bool | cameraRelative = true
 | ) | [inline]

Rotate the camera around the camera's x-axis.

Parameters:
rad | angle to rotate (radians)
cameraRelative | flag to indicate if the axis is camera or world relative

void nvsg::Camera::rotateY | ( | float | rad,
 |  | bool | cameraRelative = true
 | ) | [inline]

Rotate the camera around the up direction.

Parameters:
rad | angle to rotate (radians)
cameraRelative | flag to indicate if the axis is camera or world relative

void nvsg::Camera::rotateZ | ( | float | rad,
 |  | bool | cameraRelative = true
 | ) | [inline]

Rotate the camera around the negative view direction.

Parameters:
rad | angle to rotate (radians)
cameraRelative | flag to indicate if the axis is camera or world relative

The documentation for this class was generated from the following file:
  • Camera.h
Generated on Fri Jan 28 09:21:02 2005 for NVSGSDK by NVIDIA


nvui::CameraManipulator Class Reference

Camera manipulator base class. More...

#include <CameraManipulator.h>

Inheritance diagram for nvui::CameraManipulator:

[legend]
Collaboration diagram for nvui::CameraManipulator:

[legend]
List of all members.

Public Types

enum {
_NO_BTN_KEY = 0x0000, _LEFT_MOUSE_BTN = 0x0001, _MIDDLE_MOUSE_BTN = 0x0002, _RIGHT_MOUSE_BTN = 0x0004,
_SHIFT_KEY = 0x0100, _CONTROL_KEY = 0x0200
}
Key and button definitions. More...

Public Member Functions

NVSG_API | CameraManipulator (void)
Default Constructor.

virtual NVSG_API | ~CameraManipulator (void)
Destructor.

virtual NVSG_API void | apply ()=0
Apply the states to the camera.

virtual NVSG_API void | keyDown (UINT key)
Handle key down.

virtual NVSG_API void | keyUp (UINT key)
Handle key up.

virtual NVSG_API void | keyRepeat ()
Handle key repeats.

virtual NVSG_API void | mouseButtonDown (UINT btn, int x, int y)
Handle mouse button down.

virtual NVSG_API void | mouseButtonUp (UINT btn, int x, int y)
Handle mouse button up.

virtual NVSG_API void | mouseMotion (int x, int y)
Handle mouse motion.

UINT | getKeyState (void) const
Determine the key state.

void | resetKeyState (void)
Reset the current button state.

UINT | getButtonState (void) const
Determine the button state.

void | resetButtonState (void)
Reset the current button state.

void | attach (const nvsg::Camera *pCamera)
Attach camera to manipulator.

const nvsg::Camera * | getAttachedCamera (void)
Get the attached camera.

void | setViewportSize (size_t width, size_t height)
Set the viewport size.

Protected Member Functions

virtual NVSG_API UINT | convertKey (UINT key)
Convert the key.

virtual NVSG_API UINT | convertMouseButton (UINT btn)
Convert the mouse button.

Protected Attributes

bool | m_dragAndThrowAnim
Drag & Throw animation flag (Not implemented yet).

UINT | m_buttonState
Current button mask.

UINT | m_keyState
Current key mask.

const nvsg::Camera * | m_camera
Attached camera. Could be NULL.

int | m_mouseX
Current mouse x position.

int | m_mouseY
Current mouse y position.

int | m_mouseXlast
Last mouse x position.

int | m_mouseYlast
Last mouse y position.

int | m_mouseXstart
Mouse start x position. Set in mouse button pressed handler.

int | m_mouseYstart
Mouse start y position. Set in mouse button pressed handler.

size_t | m_vpWidth
Current viewport width.

size_t | m_vpHeight
Current viewport height.

Detailed Description

Camera manipulator base class.

This class should be used as a base class for your own camera manipulators. A camera manipulater is an object that controls the camera in a very specific way Trackball, walk, flight, and animation are examples of camera controls. You can attach a camera to the manipulator and the manipulator converts actions, such as the movement of the mouse or button events, into camera data. You can also write manipulators that work with other kinds of inputs and input devices.

Member Enumeration Documentation

anonymous enum

Key and button definitions.

These values are used for the button/key state handling of the manipulator.

Enumeration values:
_NO_BTN_KEY | No key or button.
_LEFT_MOUSE_BTN | Left mouse button.
_MIDDLE_MOUSE_BTN | Middle mouse button.
_RIGHT_MOUSE_BTN | Right mouse button.
_SHIFT_KEY | Shift key.
_CONTROL_KEY | Control key.

Constructor & Destructor Documentation

NVSG_API nvui::CameraManipulator::CameraManipulator ( void )

Default Constructor.

virtual NVSG_API nvui::CameraManipulator::~CameraManipulator ( void ) [virtual]

Destructor.

Member Function Documentation

virtual NVSG_API void nvui::CameraManipulator::apply ( ) [pure virtual]

Apply the states to the camera.

Recalculate the camera with respect to the manipulator states.

Implemented in nvui::AnimationCamManip, nvui::FlightCamManip, nvui::TrackballCamManip, and nvui::WalkCamManip.

virtual NVSG_API void nvui::CameraManipulator::keyDown ( UINT key ) [virtual]

Handle key down.

Adapt key pressed events (shift, ...)

Note:
Calls keyReapeat()
Parameters:
key Pressed key (e.g. _SHIFT_KEY or _CONTROL_KEY)

virtual NVSG_API void nvui::CameraManipulator::keyUp ( UINT key ) [virtual]

Handle key up.

Adapt key release events (shift, ...)

Parameters:
key Released key (e.g. _SHIFT_KEY or _CONTROL_KEY)

virtual NVSG_API void nvui::CameraManipulator::keyRepeat ( ) [virtual]

Handle key repeats.

Adapt key repeats.

Reimplemented in nvui::FlightCamManip, and nvui::WalkCamManip.

virtual NVSG_API void nvui::CameraManipulator::mouseButtonDown | ( | UINT | btn,
 |  | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse button down.

Adapt mouse button pressed events.

Parameters:
btn | Pressed button (e.g. _LEFT_MOUSE_BTN|_MIDDLE_MOUSE_BTN)
x | Position of the mouse.
y | Position of the mouse.

virtual NVSG_API void nvui::CameraManipulator::mouseButtonUp | ( | UINT | btn,
 |  | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse button up.

Adapt mouse button release events.

Parameters:
btn | Released buttons (e.g. _LEFT_MOUSE_BTN|_MIDDLE_MOUSE_BTN)
x | Position of the mouse.
y | Position of the mouse.

virtual NVSG_API void nvui::CameraManipulator::mouseMotion | ( | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse motion.

Adapt mouse motion events while mouse buttons are pressed.

Parameters:
x | Position of the mouse.
y | Position of the mouse.

UINT nvui::CameraManipulator::getKeyState ( void ) const [inline]

Determine the key state.

Return the current key state mask.

Returns:
Concatenation of the current key states

void nvui::CameraManipulator::resetKeyState ( void ) [inline]

Reset the current button state.

UINT nvui::CameraManipulator::getButtonState ( void ) const [inline]

Determine the button state.

Return the current button state mask.

Returns:
Concatenation of the current button states

void nvui::CameraManipulator::resetButtonState ( void ) [inline]

Reset the current button state.

void nvui::CameraManipulator::attach ( const nvsg::Camera * pCamera ) [inline]

Attach camera to manipulator.

Attach a camera to this manipulator. Attach to NULL to detach.

Parameters:
pCamera camera to work with. Manipulator takes care of ref/deref-ing the camera object.

const nvsg::Camera * nvui::CameraManipulator::getAttachedCamera ( void ) [inline]

Get the attached camera.

Return the currently attached camera object.

Returns:
Pointer to the attached camera. This pointer could be NULL. If you want to use this camera, make sure to ref/deref the camera.

void nvui::CameraManipulator::setViewportSize | ( | size_t | width,
 |  | size_t | height
 | ) | [inline]

Set the viewport size.

Adapt resize of the render area.

Note:
Call this method on every resize, or if you create/initialize the manipulator.
Parameters:
width | viewport width
height | viewport height

Reimplemented in nvui::TrackballCamManip.

virtual NVSG_API UINT nvui::CameraManipulator::convertKey ( UINT key ) [protected, virtual]

Convert the key.

Translate a key to the CameraManipulator key.

Returns:
Corresponding key id.
Parameters:
key Currently pressed mouse button (e.g. MK_LBUTTON)

Reimplemented in nvui::FlightCamManip, and nvui::WalkCamManip.

virtual NVSG_API UINT nvui::CameraManipulator::convertMouseButton ( UINT btn ) [protected, virtual]

Convert the mouse button.

Translate a button to the CameraManipulator mouse button.

Returns:
Corresponding mouse button id.
Parameters:
btn Currently pressed mouse button (e.g. MK_LBUTTON)

Member Data Documentation

bool nvui::CameraManipulator::m_dragAndThrowAnim [protected]

Drag & Throw animation flag (Not implemented yet).

UINT nvui::CameraManipulator::m_buttonState [protected]

Current button mask.

UINT nvui::CameraManipulator::m_keyState [protected]

Current key mask.

const nvsg::Camera* nvui::CameraManipulator::m_camera [protected]

Attached camera. Could be NULL.

int nvui::CameraManipulator::m_mouseX [protected]

Current mouse x position.

int nvui::CameraManipulator::m_mouseY [protected]

Current mouse y position.

int nvui::CameraManipulator::m_mouseXlast [protected]

Last mouse x position.

int nvui::CameraManipulator::m_mouseYlast [protected]

Last mouse y position.

int nvui::CameraManipulator::m_mouseXstart [protected]

Mouse start x position. Set in mouse button pressed handler.

int nvui::CameraManipulator::m_mouseYstart [protected]

Mouse start y position. Set in mouse button pressed handler.

size_t nvui::CameraManipulator::m_vpWidth [protected]

Current viewport width.

size_t nvui::CameraManipulator::m_vpHeight [protected]

Current viewport height.

The documentation for this class was generated from the following file:
  • CameraManipulator.h
Generated on Fri Jan 28 09:22:24 2005 for NVSGSDK by NVIDIA


nvsg::CgFx Class Reference

Effect attribute. More...

#include <CgFx.h>

Inheritance diagram for nvsg::CgFx:

[legend]
Collaboration diagram for nvsg::CgFx:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const CgFx * | clone (void) const
Get a clone of this CgFx attribute.

NVSG_API bool | createEffectFromFile (const std::string &file)
Create effect from file.

NVSG_API bool | isEffectValid (void) const
Detect whether the embedded effect is valid.

NVSG_API const std::string & | getEffectFile (void) const
Get effect file.

NVSG_API size_t | getNumberOfTransforms (void) const
Get the number of transforms.

NVSG_API const CgFxTransform & | getTransform (size_t index) const
Get transform by index.

NVSG_API size_t | getNumberOfTweakables (void) const
Get the number of tweakables.

NVSG_API CgFxParameterHandle | getTweakable (size_t index) const
Get tweakable by index.

NVSG_API CgFxParameterHandle | getTweakable (const std::string &name) const
Get tweakable by name.

NVSG_API size_t | getNumberOfAnnotations (CgFxEntityHandle hdl) const
Get the number of Annotations.

NVSG_API CgFxAnnotationHandle | getAnnotation (CgFxEntityHandle hdl, size_t index) const
Get annotation by index.

NVSG_API CgFxAnnotationHandle | getAnnotation (CgFxEntityHandle hdl, const std::string &name) const
Get annotation by name.

template<typename ValueType> void | getValue (CgFxParameterHandle hdl, ValueType &value) const
Get a CgFxParameter's value.

template<typename ValueType> void | getValue (CgFxParameterHandle hdl, ValueType *value) const
getValue specialization for general pointer types.

NVSG_API void | getValue (CgFxParameterHandle hdl, const char **value) const
getValue specialization for 'pointer to char pointer' types.

NVSG_API void | getValue (CgFxParameterHandle hdl, std::string &value) const
getValue specialization for string types.

template<typename ValueType> void | setValue (CgFxParameterHandle hdl, const ValueType &value)
Set a CgFxParameter's value.

template<typename ValueType> void | setValue (CgFxParameterHandle hdl, const ValueType &value) const
template<typename ValueType> void | setValue (CgFxParameterHandle hdl, const ValueType *value)
setValue specialization for general pointer types.

template<typename ValueType> void | setValue (CgFxParameterHandle hdl, const ValueType *value) const
NVSG_API void | setValue (CgFxParameterHandle hdl, const char *value)
setValue specialization for 'pointer to char' types.

NVSG_API void | setValue (CgFxParameterHandle hdl, const char *value) const
NVSG_API void | setValue (CgFxParameterHandle hdl, const std::string &value)
setValue specialization for string types.

NVSG_API void | setValue (CgFxParameterHandle hdl, const std::string &value) const
NVSG_API size_t | getNumberOfTechniques (void) const
Get the number of techniques.

NVSG_API CgFxTechniqueHandle | getTechnique (size_t index) const
Get the technique by index.

NVSG_API size_t | getCurrentTechnique (void) const
NVSG_API void | setCurrentTechnique (size_t index)
NVSG_API bool | validateCurrentTechnique (void) const
Validate the current technique.

NVSG_API bool | isCurrentTechniqueValid (void) const
Determine if the current technique is valid.

NVSG_API bool | isCurrentTechniqueValidationPending (void) const
Detect whether validation of the current technique is pending.

NVSG_API size_t | getNumberOfPasses (CgFxTechniqueHandle hdl) const
Get the number of render passes.

NVSG_API CgFxPassHandle | getPass (CgFxTechniqueHandle hdl, size_t index) const
Get the render pass by index.

NVSG_API bool | passFirstPass (void) const
Initiate the first rendering pass.

NVSG_API bool | passNextPass (void) const
Introduce subsequent rendering passes.

virtual NVSG_API DataID | getDataID (void) const
Shared data identifier.

virtual NVSG_API bool | isDataShared (void) const
Data sharing.

Static Public Member Functions

NVSG_API const CgFx * | create (void)
Create a CgFx.

NVSG_API const CgFx * | createFromBase (const StateAttribute &rhs)
Create a CgFx by copying from a StateAttribute.

Protected Member Functions

NVSG_API | CgFx (void)
Default Constructor.

NVSG_API | CgFx (const StateAttribute &rhs)
Partial Constructor.

NVSG_API | CgFx (const CgFx &rhs)
Copy Constructor.

Detailed Description

Effect attribute.

A special state attribute describing a CgFX effect.

Constructor & Destructor Documentation

NVSG_API nvsg::CgFx::CgFx ( void ) [protected]

Default Constructor.

NVSG_API nvsg::CgFx::CgFx ( const StateAttribute & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::CgFx::CgFx ( const CgFx & rhs ) [protected]

Copy Constructor.

Member Function Documentation

NVSG_API const CgFx* nvsg::CgFx::create ( void ) [static]

Create a CgFx.

Returns:
a constant pointer to a CgFx.

NVSG_API const CgFx* nvsg::CgFx::createFromBase ( const StateAttribute & rhs ) [static]

Create a CgFx by copying from a StateAttribute.

Returns:
a constant pointer to a CgFx.
Parameters:
rhs StateAttribute to copy from

virtual NVSG_API const CgFx* nvsg::CgFx::clone ( void ) const [virtual]

Get a clone of this CgFx attribute.

Returns:
A constant pointer to the new created clone.

Implements nvsg::StateAttribute.

NVSG_API bool nvsg::CgFx::createEffectFromFile ( const std::string & file )

Create effect from file.

This function creates an effect from an effect file given by file.

Returns:
true if creation was successfull, false otherwise.
Parameters:
file Name of the effect file.

bool nvsg::CgFx::isEffectValid ( void ) const [inline]

Detect whether the embedded effect is valid.

Returns:
true if the embedded effect is valid, false otherwise.

const std::string & nvsg::CgFx::getEffectFile ( void ) const [inline]

Get effect file.

Returns:
The filename of the effect file that was taken to create the effect.

size_t nvsg::CgFx::getNumberOfTransforms ( void ) const [inline]

Get the number of transforms.

Returns:
The number of transform parameters for this effect.

const CgFxTransform & nvsg::CgFx::getTransform ( size_t index ) const [inline]

Get transform by index.

Returns:
A reference to the CgFxTransform object at index index.
Parameters:
index Zero based index.

size_t nvsg::CgFx::getNumberOfTweakables ( void ) const [inline]

Get the number of tweakables.

Returns:
The number of tweakable parameters for this effect.

CgFxParameterHandle nvsg::CgFx::getTweakable ( size_t index ) const [inline]

Get tweakable by index.

Returns:
A handle for the tweakable parameter at index index.
Parameters:
index Zero based index.

NVSG_API CgFxParameterHandle nvsg::CgFx::getTweakable ( const std::string & name ) const

Get tweakable by name.

Returns:
A handle for the tweakable parameter if found, NULL otherwise.
Parameters:
name name of the tweakable parameter.

size_t nvsg::CgFx::getNumberOfAnnotations ( CgFxEntityHandle hdl ) const [inline]

Get the number of Annotations.

Returns:
The number of annotations for an entity identified by hdl
Parameters:
hdl Handle for the object holding annotations.

CgFxAnnotationHandle nvsg::CgFx::getAnnotation | ( | CgFxEntityHandle | hdl,
 |  | size_t | index
 | ) | const [inline]

Get annotation by index.

Returns:
A handle for the annotation if successful, NULL otherwise.
Parameters:
hdl | Handle for the object holding annotations.
index | Zero based index of the annotation.

NVSG_API CgFxAnnotationHandle nvsg::CgFx::getAnnotation | ( | CgFxEntityHandle | hdl,
 |  | const std::string & | name
 | ) | const

Get annotation by name.

Returns:
A handle for the annotation if successful, a NULL otherwise.
Parameters:
hdl | Handle for the object holding annotations.
name | Name of the annotation.

template<typename ValueType>
void nvsg::CgFx::getValue | ( | CgFxParameterHandle | hdl,
 |  | ValueType & | value
 | ) | const [inline]

Get a CgFxParameter's value.

A function of this function family obtains the current value for a CgFxParameter identified by by hdl.

Note:
ValueType must be convertible to the embedded parameter's type. The embedded parameter's type arises out of the parameter's base type and the parameter's dimension.
Parameters:
hdl | Handle for the target parameter object.
value | Reference to an object of type ValueType to receive the value.

template<typename ValueType>
void nvsg::CgFx::getValue | ( | CgFxParameterHandle | hdl,
 |  | ValueType * | value
 | ) | const [inline]

getValue specialization for general pointer types.

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to an object of type ValueType to receive the value.

void nvsg::CgFx::getValue | ( | CgFxParameterHandle | hdl,
 |  | const char ** | value
 | ) | const [inline]

getValue specialization for 'pointer to char pointer' types.

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to a 'C'-string to receive the string.

void nvsg::CgFx::getValue | ( | CgFxParameterHandle | hdl,
 |  | std::string & | value
 | ) | const [inline]

getValue specialization for string types.

Parameters:
hdl | Handle for the target parameter object.
value | Reference to a string object to receive the string.

template<typename ValueType>
void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const ValueType & | value
 | ) | [inline]

Set a CgFxParameter's value.

A function of this family updates the current value for a CgFxParameter identified by hdl.

Note:
ValueType must be convertible to the embedded parameter's type. The embedded parameter's type arises out of the parameter's base type and the parameter's dimension.
Parameters:
hdl | Handle for the target parameter object.
value | Reference to an object of type ValueType which holds the value to set.

template<typename ValueType>
void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const ValueType & | value
 | ) | const [inline]

Parameters:
hdl | Handle for the target parameter object.
value | Reference to an object of type ValueType which holds the value to set.

template<typename ValueType>
void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const ValueType * | value
 | ) | [inline]

setValue specialization for general pointer types.

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to an object of type ValueType which holds the value to set.

template<typename ValueType>
void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const ValueType * | value
 | ) | const [inline]

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to an object of type ValueType which holds the value to set.

void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const char * | value
 | ) | [inline]

setValue specialization for 'pointer to char' types.

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to a 'C'-string which holds the string to set.

void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const char * | value
 | ) | const [inline]

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to a 'C'-string which holds the string to set.

void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const std::string & | value
 | ) | [inline]

setValue specialization for string types.

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to a string object which holds the string to set.

void nvsg::CgFx::setValue | ( | CgFxParameterHandle | hdl,
 |  | const std::string & | value
 | ) | const [inline]

Parameters:
hdl | Handle for the target parameter object.
value | Pointer to a string object which holds the string to set.

size_t nvsg::CgFx::getNumberOfTechniques ( void ) const [inline]

Get the number of techniques.

Returns:
The number of techniques available for this effect.

CgFxTechniqueHandle nvsg::CgFx::getTechnique ( size_t index ) const [inline]

Get the technique by index.

Returns:
A handle for the CgFxTechnique object at index index.
Parameters:
index Zero based index of the technique.

size_t nvsg::CgFx::getCurrentTechnique ( void ) const [inline]

Returns:
The zero based index of the technique currently used for rendering.

void nvsg::CgFx::setCurrentTechnique ( size_t index ) [inline]

Makes the technique at index index the current one for subsequent rendering.

Parameters:
index Zero based index of the technique.

NVSG_API bool nvsg::CgFx::validateCurrentTechnique ( void ) const

Validate the current technique.

Validates the current technique for subsequent rendering.

Returns:
true if validation was successfull, false otherwise.

bool nvsg::CgFx::isCurrentTechniqueValid ( void ) const [inline]

Determine if the current technique is valid.

Returns:
true if the current technique is valid, false otherwise.

bool nvsg::CgFx::isCurrentTechniqueValidationPending ( void ) const [inline]

Detect whether validation of the current technique is pending.

Returns:
true if the current technique was not validated before, false otherwise.

size_t nvsg::CgFx::getNumberOfPasses ( CgFxTechniqueHandle hdl ) const [inline]

Get the number of render passes.

Returns:
The number of render passes required for the technique identified by by tech.
Parameters:
hdl Handle for the technique to query.

CgFxPassHandle nvsg::CgFx::getPass | ( | CgFxTechniqueHandle | hdl,
 |  | size_t | index
 | ) | const [inline]

Get the render pass by index.

Returns:
A handle for the CgFxPass object at index index of the technique identified by by tech.
Parameters:
hdl | Handle for the technique to query.
index | Zero base index of the render pass.

NVSG_API bool nvsg::CgFx::passFirstPass ( void ) const

Initiate the first rendering pass.

Initiates the first render pass for the current technique. Before the client code sends vertex data to the hardware for rendering, this call is needed to a.) set up the current technique for subsequent application on a per-pass basis, and b.) to apply the state for the first rendering pass.

Returns:
true if successful, false otherwise.

NVSG_API bool nvsg::CgFx::passNextPass ( void ) const

Introduce subsequent rendering passes.

Applies the state for the very next rendering pass if available. If no subsequent rendering pass is available, this function properly ends the application of the current technique.

Returns:
true if supsequent rendering passes are available, false otherwise.

virtual NVSG_API DataID nvsg::CgFx::getDataID ( void ) const [virtual]

Shared data identifier.

Data that is shared between different CgFx attributes will be unambiguously identified by its data ID.

Returns:
The data ID for the underlying data.

Reimplemented from nvsg::StateAttribute.

virtual NVSG_API bool nvsg::CgFx::isDataShared ( void ) const [virtual]

Data sharing.

A CgFX attribute can share its data with annother CgFx attribute to save memory.

Returns:
Whether the underlying data is shared.

Reimplemented from nvsg::StateAttribute.

The documentation for this class was generated from the following file:
  • CgFx.h
Generated on Fri Jan 28 09:21:03 2005 for NVSGSDK by NVIDIA


nvutil::Chunk Class Reference

Chunk of memory for our low level memory managment of fixed size objects. More...

#include <Allocator.h>

List of all members.

Public Member Functions

Chunk (size_t blockSize)
construct a chunk of blockSize bytes

bool | operator== (const Chunk &rhs) const
provide comparison of chunks

bool | operator!= (const Chunk &rhs) const
void * | alloc ()
memory management interface

void | dealloc (void *p)
void | freeMemory ()
explicitely free memory

unsigned char | blocksAvailable () const
provide number of blocks available in this chunk

bool | isUnused () const
for cleanup purposes, provide check if chunk is entirely unused

bool | isInsideBounds (void *p) const
provide address checking

Detailed Description

Chunk of memory for our low level memory managment of fixed size objects.

Constructor & Destructor Documentation

nvutil::Chunk::Chunk ( size_t blockSize )

construct a chunk of blockSize bytes

Member Function Documentation

bool nvutil::Chunk::operator== ( const Chunk & rhs ) const [inline]

provide comparison of chunks

Chunk::operator==()

returns true if rhs equals this chunk

bool nvutil::Chunk::operator!= ( const Chunk & rhs ) const [inline]

Chunk::operator!=()

returns true if rhs not equals this chunk

void * nvutil::Chunk::alloc ( ) [inline]

memory management interface

Chunk::alloc()

get one block from chunk; returns NULL if no blocks available

void nvutil::Chunk::dealloc ( void * p ) [inline]

Chunk::dealloc()

deallocate a block pointed to by p

void nvutil::Chunk::freeMemory ( ) [inline]

explicitely free memory

Chunk::freeMemory()

explicitely free chunk's raw memory

unsigned char nvutil::Chunk::blocksAvailable ( ) const [inline]

provide number of blocks available in this chunk

Chunk::blocksAvailable()

provides number of blocks available in this chunk

bool nvutil::Chunk::isUnused ( ) const [inline]

for cleanup purposes, provide check if chunk is entirely unused

Chunk::isUnused()

for cleanup purposes, provide check if chunk is entirely unused

bool nvutil::Chunk::isInsideBounds ( void * p ) const [inline]

provide address checking

Chunk::isInsideBounds()

returns true if the address given belongs to this chunk; false otherwise

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


nvtraverser::CondenseTraverser Class Reference

Traverser that can condense some drawables. More...

#include <CondenseTraverser.h>

Inheritance diagram for nvtraverser::CondenseTraverser:

[legend]
Collaboration diagram for nvtraverser::CondenseTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | CondenseTraverser (void)
Constructor.

NVSG_API void | setEpsilon (float epsilon)
Set the epsilon to use to distinguish vertex values.

Protected Member Functions

virtual NVSG_API | ~CondenseTraverser (void)
Proteced destructor to prevent instantiation of a CondenseTraverser on stack.

virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Initiate traversal of the scene with a view state.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Condense all Quads and Triangles of a GeoNode.

Detailed Description

Traverser that can condense some drawables.

Currently, this CondenseTraverser supports Triangles only.

Constructor & Destructor Documentation

NVSG_API nvtraverser::CondenseTraverser::CondenseTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::CondenseTraverser::~CondenseTraverser ( void ) [protected, virtual]

Proteced destructor to prevent instantiation of a CondenseTraverser on stack.

Member Function Documentation

void nvtraverser::CondenseTraverser::setEpsilon ( float epsilon ) [inline]

Set the epsilon to use to distinguish vertex values.

This epsilon multiplied by the size of the scene gives the tolerance for detecting equal vertices.

Parameters:
epsilon Epsilon to use

virtual NVSG_API void nvtraverser::CondenseTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Initiate traversal of the scene with a view state.

Calculates the tolerance for the scene and calls the Traverser::doApply().

Parameters:
pViewState | ViewState to handle
pScene | Scene to traverse and handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CondenseTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Condense all Quads and Triangles of a GeoNode.

Parameters:
p GeoNode to condense

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • CondenseTraverser.h
Generated on Fri Jan 28 09:21:57 2005 for NVSGSDK by NVIDIA


nvsg::CullData Class Reference

Class holding culling information for an object and it's children. More...

#include <CullData.h>

Inheritance diagram for nvsg::CullData:

[legend]
Collaboration diagram for nvsg::CullData:

[legend]
List of all members.

Public Member Functions

NVSG_API | CullData (CullCode cullCode)
Constructor.

virtual NVSG_API | ~CullData (void)
Destructor.

NVSG_API void | balance (void)
Balance the CullData tree.

NVSG_API void | addChild (CullData *cd)
Add a child to this CullData.

NVSG_API const CullData * | getChild (size_t i) const
Get the i'th child of this CullData.

NVSG_API CullCode | getCullCode (void) const
Get the CullCode of this CullData.

NVSG_API size_t | getNumberOfChildren (void) const
Get the number of children of this CullData.

Detailed Description

Class holding culling information for an object and it's children.

With CullData, a CullTraverser can build a (somewhat simplified) mirror of a scene tree. Each CullData corresponds to one object in a scene tree. Such a CullData tree is used in the Traverser to determine if parts of the scene tree are to be traversed.

Constructor & Destructor Documentation

nvsg::CullData::CullData ( CullCode cullCode ) [inline]

Constructor.

virtual NVSG_API nvsg::CullData::~CullData ( void ) [virtual]

Destructor.

Member Function Documentation

NVSG_API void nvsg::CullData::balance ( void )

Balance the CullData tree.

After having constructed a CullData tree, it might be of value to improve it. When CullData has a CullCode of CC_PART and the children of CullData have a CullCode of CC_IN to CC_IN, then this function removes these children.

void nvsg::CullData::addChild ( CullData * cd ) [inline]

Add a child to this CullData.

CullData builds a somewhat simplified mirror of a scene tree. With addChild , the CullData of a child object can be added to the parent object to which the current CullData belongs.

Parameters:
cd CullData to add to the back of the parent object's CullData

const CullData * nvsg::CullData::getChild ( size_t i ) const [inline]

Get the i'th child of this CullData.

It is assumed that this child does exist.

Parameters:
i Index of children to get

CullCode nvsg::CullData::getCullCode ( void ) const [inline]

Get the CullCode of this CullData.

Returns:
CullCode of this CullData.

size_t nvsg::CullData::getNumberOfChildren ( void ) const [inline]

Get the number of children of this CullData.

Returns:
Number of children of this CullData. This should be zero or the same as the number of children of the scene tree object that this CullData represents.

The documentation for this class was generated from the following file:
  • CullData.h
Generated on Fri Jan 28 09:21:03 2005 for NVSGSDK by NVIDIA


nvtraverser::CullTraverser Class Reference

Base class for different culling implementations. More...

#include <CullTraverser.h>

Inheritance diagram for nvtraverser::CullTraverser:

[legend]
Collaboration diagram for nvtraverser::CullTraverser:

[legend]
List of all members.

Protected Member Functions

NVSG_API | CullTraverser ()
Constructor (protected to prevent explicit instantiation).

virtual NVSG_API | ~CullTraverser (void)
Destructor.

virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Drawable *p) const
determine the CullCode of a Drawable.

virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Node *p) const
Determine the CullCode of a Node.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Determine the CullCode of each Drawable of p.

virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Determine the CullCode of all children of p.

virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Determine the CullCode of all children of p.

virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Determine the CullCode of all children of p.

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Determine the CullCode of all children of p.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Determine the CullCode of the Quads p.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Determine the CullCode of the QuadStrips p.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Determine the CullCode of the Triangles p.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Determine the CullCode of the TriStrips p.

virtual NVSG_API void | traverseLight (const nvsg::LightSource *p)
Set the CullCode of the LightSource p.

virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Initiate traversing a given scene graph.

Detailed Description

Base class for different culling implementations.

Use this class as the base class for cull traversers. /**

Note:
A CullTraverser doesn't change anything in the scene graph, but might be used by a modifying traverser. therefore, it gets the readOnly flag as a parameter to pass to ModelViewTraverser.

Constructor & Destructor Documentation

NVSG_API nvtraverser::CullTraverser::CullTraverser ( ) [protected]

Constructor (protected to prevent explicit instantiation).

virtual NVSG_API nvtraverser::CullTraverser::~CullTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

virtual NVSG_API nvsg::CullCode nvtraverser::CullTraverser::cullCode ( const nvsg::Drawable * p ) const [protected, virtual]

determine the CullCode of a Drawable.

The default implementation returns CC_IN.

Returns:
CullCode for Drawable p.
Parameters:
p pointer to Drawable for determining the CullCode

Reimplemented in nvtraverser::FrustumCullTraverser, and nvtraverser::OcclusionCullTraverser.

virtual NVSG_API nvsg::CullCode nvtraverser::CullTraverser::cullCode ( const nvsg::Node * p ) const [protected, virtual]

Determine the CullCode of a Node.

The default implementaion returns CC_IN.

Returns:
CullCode for Node p.
Parameters:
p pointer to Node for determining the CullCode

Reimplemented in nvtraverser::FrustumCullTraverser, and nvtraverser::OcclusionCullTraverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Determine the CullCode of each Drawable of p.

If the GeoNode p is partially visible, the CullCode of each of it's Drawable is determined and then traversed.

Parameters:
p GeoNode to traverse

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Determine the CullCode of all children of p.

If the Group p is partially visible, the CullCode of each of it's children is determined and then traversed.

Parameters:
p Group to traverse

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Determine the CullCode of all children of p.

If the LOD p is partially visible, the CullCode of each of it's children is determined and then traversed.

Parameters:
p LOD to traverse

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Determine the CullCode of all children of p.

If the Switch p is partially visible, the CullCode of each of it's children is determined and then traversed.

Parameters:
p Switch to traverse

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Determine the CullCode of all children of p.

If the Transform p is partially visible, the CullCode of each of it's children is determined and then traversed.

Parameters:
p Transform to traverse

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Determine the CullCode of the Quads p.

The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.

Parameters:
p Quads to determine CullData for

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Determine the CullCode of the QuadStrips p.

The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.

Parameters:
p QuadStrips for determining the CullData

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Determine the CullCode of the Triangles p.

The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.

Parameters:
p Triangles for determining the CullData

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Determine the CullCode of the TriStrips p.

The CullCode is determined and added to the Object to CullData map on top of the ObjectCullDataMapStack.

Parameters:
p TriStrips for determining the CullData

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::traverseLight ( const nvsg::LightSource * p ) [protected, virtual]

Set the CullCode of the LightSource p.

All lights are always considered to be in.

Parameters:
p Points to the LightSource currently traversed.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::CullTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Initiate traversing a given scene graph.

This overloadable function is called from the traverser's entry point apply . The base implementation first initiates the traversing of the scene's global states, if available. After that the scene itself is traversed. If an optional ViewState ViewState is passed through viewState, it is applied prior to traversing the scene.

Custom traversers may override this function in order to implement initial work to be done before traversing the scene. For derived classes to ensure proper traversing of the scene, it is recommended to always call the base implementation after the initial work has been done.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullTraverser.

The documentation for this class was generated from the following file:
  • CullTraverser.h
Generated on Fri Jan 28 09:21:58 2005 for NVSGSDK by NVIDIA


nvsg::DALData Class Reference

Device Abstraction Link Data. More...

#include <DAL.h>

Inheritance diagram for nvsg::DALData:

[legend]
List of all members.

Protected Member Functions

DALData (DALDataCreator *creator, const DALHost *host)
Initializes a DALData object.

virtual void deleteThis ()
Induces the deletion of this DALData object.

Detailed Description

Device Abstraction Link Data.

DALData can be used to abstract device dependent data that will be linked to device independent data via a Device Abstraction Link (DAL).

Note that only a DALDataCreator is permitted to create DALData. DALData can be attached to a DAL using the procedural interface for either a DALServer or a DALHost.

Constructor & Destructor Documentation

nvsg::DALData::DALData | ( | DALDataCreator * | creator,
 |  | const DALHost * | host
 | ) | [protected]

Initializes a DALData object.

Parameters:
creator | The creator of this DALData.
host | The host of this DALData.

Member Function Documentation

virtual void nvsg::DALData::deleteThis ( void ) [inline, protected, virtual]

Induces the deletion of this DALData object.

This function will be called from the DALServer framework when this DALData object is going to be released from a Device Abstraction Link.

The default implementation calls delete on the this pointer. If a custom memory manager is used, in particular a memory manager that does not issue new and delete for creating and deleting a DALData object, it is recommended to override this function, so the deletion of the DALData object will be performed in the correct way.

The documentation for this class was generated from the following file:
  • DAL.h
Generated on Fri Jan 28 09:21:04 2005 for NVSGSDK by NVIDIA


nvsg::DALDataCreator Class Reference

Creating DALData to be exchanged via a Device Abstraction Link requires this particular interface. More...

#include <DAL.h>

Inheritance diagram for nvsg::DALDataCreator:

[legend]
List of all members.

Public Member Functions

virtual void | onReleaseDAL (HDAL hDAL)
Called from the framework immediately before the Device Abstraktion Link (DAL) becomes invalid.

Protected Member Functions

DALDataCreator ()
DALDataCreator serves as base class only.

NVSG_API void | releaseDeviceAbstractionLinkData (HDAL hDAL, unsigned int dataID)
Releases Device Abstraction Link Data.

Detailed Description

Creating DALData to be exchanged via a Device Abstraction Link requires this particular interface.

Constructor & Destructor Documentation

nvsg::DALDataCreator::DALDataCreator ( ) [inline, protected]

DALDataCreator serves as base class only.

Member Function Documentation

virtual void nvsg::DALDataCreator::onReleaseDAL ( HDAL hDAL ) [inline, virtual]

Called from the framework immediately before the Device Abstraktion Link (DAL) becomes invalid.

Called from the framework to inform creators that the DAL identified by hDAL immediately becomes invalid. This is for example the case when the object that host the DAL will be deleted.

A concrete DALDataCreator ususally overrides this function to dismiss all temporary stored handles to the DALs that creator has attached DALData to. Note that the creator must not explicitely delete the attached data! The deletetion of the attached data will be performed by the framework, immediately after this function was called.

Reimplemented in nvtraverser::GLTraverser.

void nvsg::DALDataCreator::releaseDeviceAbstractionLinkData | ( | HDAL | hDAL,
 |  | unsigned int | dataID
 | ) | [inline, protected]

Releases Device Abstraction Link Data.

Releases the data identified by dataID that was attached to the Device Abstraction Link identified by hDAL.

This function should be called immediately befor this creator becomes invalid, to free all the data that was created by this creator and attached to the DAL identified by hDAL. The function deletes the data and removes the according entry from the DAL.

The documentation for this class was generated from the following file:
  • DAL.h
Generated on Fri Jan 28 09:21:04 2005 for NVSGSDK by NVIDIA


nvsg::DALHost Class Reference

Device Abstraction Link (DAL) Host. More...

#include <DAL.h>

Inheritance diagram for nvsg::DALHost:

[legend]
List of all members.

Public Member Functions

NVSG_API HDAL | storeDeviceAbstractionLinkData (unsigned int dataID, DALData *data) const
Stores Device Abstraction Link Data.

NVSG_API void | releaseDeviceAbstractionLinkData ()
Releases Device Abstraction Link Data.

NVSG_API bool | getDeviceAbstractionLinkData (unsigned int dataID, std::vector< DALData * > &data) const
Passes back Device Abstraction Link Data.

NVSG_API DALData * | getLastRecentlyUsedDeviceAbstractionLinkData () const
Returns the last recently used Device Abstraction Link Data.

NVSG_API void | setLastRecentlyUsedDeviceAbstractionLinkData (DALData *lastRecentlyUsed) const
Sets the last recently used Device Abstraction Link Data.

Detailed Description

Device Abstraction Link (DAL) Host.

A DALHost can host arbitrary DALData. DALData can be used to abstract device dependent data that will be linked to device independent data via a Device Abstraction Link (DAL).

Member Function Documentation

HDAL nvsg::DALHost::storeDeviceAbstractionLinkData | ( | unsigned int | dataID,
 |  | DALData * | data
 | ) | const [inline]

Stores Device Abstraction Link Data.

Attaches the data identified by dataID and pointed to by data to the host's internal Device Abstraction Link (DAL).

Note:
It is an error to store the same DALData object twice, even with a different host. Doing so will result in undefined behavior!
Returns:
A handle to the Device Abstraction Link the data was attached to, or DAL_INVALID if the function fails.

void nvsg::DALHost::releaseDeviceAbstractionLinkData ( ) [inline]

Releases Device Abstraction Link Data.

Releases the host's internal Device Abstraction link with all DALData atached to it.

bool nvsg::DALHost::getDeviceAbstractionLinkData | ( | unsigned int | dataID,
 |  | std::vector< DALData * > & | data
 | ) | const [inline]

Passes back Device Abstraction Link Data.

Fills the vector data with pointers to DALData objects that are identified by dataID, and that are attached to the host's internal Device Abstraction Link (DAL).

Returns:
true if any requested data was passed back, false otherwise.

DALData * nvsg::DALHost::getLastRecentlyUsedDeviceAbstractionLinkData ( ) const [inline]

Returns the last recently used Device Abstraction Link Data.

Returns:
A pointer to the DALData object that was last set through setLastRecentlyUsedDeviceAbstractionLinkData for this host, or NULL if that data has become invalid in between.

void nvsg::DALHost::setLastRecentlyUsedDeviceAbstractionLinkData ( DALData * lastRecentlyUsed ) const [inline]

Sets the last recently used Device Abstraction Link Data.

Sets the the last recently used Device Abstraction Link Data attached to this host. This is intended to perform faster DALData lookups.

The documentation for this class was generated from the following file:
  • DAL.h
Generated on Fri Jan 28 09:21:04 2005 for NVSGSDK by NVIDIA


nvsg::DALServer Class Reference

Device Abstraction Link Server. More...

#include <DAL.h>

List of all members.

Friends

class | DALDataCreator
class | DALHost

Detailed Description

Device Abstraction Link Server.

The documentation for this class was generated from the following file:
  • DAL.h
Generated on Fri Jan 28 09:21:04 2005 for NVSGSDK by NVIDIA


nvsg::DirectedLight Class Reference

Class representing a directed light. More...

#include <DirectedLight.h>

Inheritance diagram for nvsg::DirectedLight:

[legend]
Collaboration diagram for nvsg::DirectedLight:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const DirectedLight * | clone (void) const
Get a clone of this DirectedLight.

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

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

Static Public Member Functions

NVSG_API const DirectedLight * | create (void)
Create a DirectedLight.

NVSG_API const DirectedLight * | createFromBase (const LightSource &rhs)
Create a DirectedLight by copying from a LightSource.

Protected Member Functions

NVSG_API | DirectedLight (void)
Default Constructor.

NVSG_API | DirectedLight (const LightSource &rhs)
Partial Constructor.

NVSG_API | DirectedLight (const DirectedLight &rhs)
Copy Constructor.

virtual NVSG_API | ~DirectedLight (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Class representing a directed light.

Directed light is just that - directed. Directed light always has direction and color, and is a factor in shading algorithms such as Gouraud shading.

Note:
The default light direction is (0,0,-1).

Constructor & Destructor Documentation

NVSG_API nvsg::DirectedLight::DirectedLight ( void ) [protected]

Default Constructor.

NVSG_API nvsg::DirectedLight::DirectedLight ( const LightSource & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::DirectedLight::DirectedLight ( const DirectedLight & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::DirectedLight::~DirectedLight ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const DirectedLight* nvsg::DirectedLight::create ( void ) [static]

Create a DirectedLight.

Returns:
a constant pointer to a DirectedLight.

NVSG_API const DirectedLight* nvsg::DirectedLight::createFromBase ( const LightSource & rhs ) [static]

Create a DirectedLight by copying from a LightSource.

Returns:
a constant pointer to a DirectedLight.
Parameters:
rhs LightSource to copy from

virtual NVSG_API const DirectedLight* nvsg::DirectedLight::clone ( void ) const [virtual]

Get a clone of this DirectedLight.

Returns:
A constant pointer to the new created clone.

Implements nvsg::Node.

virtual NVSG_API DataID nvsg::DirectedLight::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::LightSource.

virtual NVSG_API bool nvsg::DirectedLight::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::LightSource.

The documentation for this class was generated from the following file:
  • DirectedLight.h
Generated on Fri Jan 28 09:21:06 2005 for NVSGSDK by NVIDIA


nvsg::Drawable Class Reference

Base class of all drawable objects. More...

#include <Drawable.h>

Inheritance diagram for nvsg::Drawable:

[legend]
Collaboration diagram for nvsg::Drawable:

[legend]
List of all members.

Public Member Functions

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.

virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (void) const=0
Get the bounding sphere of this Node.

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

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

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

NVSG_API const GeoNode * | getOwner (size_t index) const
Get a constant pointer to the owner node at position index.

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

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

Protected Member Functions

NVSG_API | Drawable (void)
Protected constructor.

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

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

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:
  • Drawable.h
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


nvtraverser::DrawableUnifyTraverser Class Reference

Traverser that combines Drawables under one GeoNode. More...

#include <DrawableUnifyTraverser.h>

Inheritance diagram for nvtraverser::DrawableUnifyTraverser:

[legend]
Collaboration diagram for nvtraverser::DrawableUnifyTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | DrawableUnifyTraverser (void)
Constructor.

NVSG_API bool | getIgnoreNames (void) const
Get the 'ignore names' flag.

NVSG_API void | setIgnoreNames (bool ignore)
Set the 'ignore names' flags.

Protected Member Functions

virtual NVSG_API | ~DrawableUnifyTraverser (void)
Protected destructor to prevent instantiation of a DrawableUnifyTraverser on stack.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.

virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Routine to handle a AnimatedQuads object while traversing the scene graph.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Routine to handle a AnimatedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Routine to handle a SkinnedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.

void | combine (nvsg::GeoSet *p0, const nvsg::GeoSet *p1)
void | combine (nvsg::Quads *p0, const nvsg::Quads *p1)
void | combine (nvsg::QuadStrips *p0, const nvsg::QuadStrips *p1)
void | combine (nvsg::Triangles *p0, const nvsg::Triangles *p1)
void | combine (nvsg::TriStrips *p0, const nvsg::TriStrips *p1)

Detailed Description

Traverser that combines Drawables under one GeoNode.

All Drawables of the same type that are bound to the same StateSet are combined to one Drawable.

Constructor & Destructor Documentation

NVSG_API nvtraverser::DrawableUnifyTraverser::DrawableUnifyTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::DrawableUnifyTraverser::~DrawableUnifyTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a DrawableUnifyTraverser on stack.

Member Function Documentation

bool nvtraverser::DrawableUnifyTraverser::getIgnoreNames ( void ) const [inline]

Get the 'ignore names' flag.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Returns:
true if the names will be ignored, otherwise false

void nvtraverser::DrawableUnifyTraverser::setIgnoreNames ( bool ignore ) [inline]

Set the 'ignore names' flags.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Parameters:
ignore set true to ignore names on comparison

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

After traversing, drawables of the same type bound to the same StateSet are combined.

Parameters:
p Points to the currently visited GeoNode object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

Just holds the StateSet as the current one for subsequent comparisons.

Parameters:
p Points to the currently visited StateSet object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

If the Quads p is bound to the same StateSet as a previously traversed one, they are marked for combining.

Parameters:
p Points to the currently visited Quads object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Routine to handle a AnimatedQuads object while traversing the scene graph.

AnimatedQuads are explicitly ignored here!

Parameters:
p Points to the currently visited AnimatedQuads object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

If the QuadStrips p is bound to the same StateSet as a previously traversed one, they are marked for combining.

Parameters:
p Points to the currently visited QuadStrips object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

If the Triangles p is bound to the same StateSet as a previously traversed one, they are marked for combining.

Parameters:
p Points to the currently visited Triangles object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Routine to handle a AnimatedTriangles object while traversing the scene graph.

AnimatedTriangles are explicitly ignored here!

Parameters:
p Points to the currently visited AnimatedTriangles object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Routine to handle a SkinnedTriangles object while traversing the scene graph.

SkinnedTriangles are explicitly ignored here!

Parameters:
p Points to the currently visited SkinnedTriangles object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::DrawableUnifyTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

If the TriStrips p is bound to the same StateSet as a previously traversed one, they are marked for combining.

Parameters:
p Points to the currently visited TriStrips object.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • DrawableUnifyTraverser.h
Generated on Fri Jan 28 09:21:59 2005 for NVSGSDK by NVIDIA


Templatenvsg::Face< n > struct Reference

nvsg::Face< n > Struct Template Reference

Helper class for Quads and Triangles. More...

#include <Face.h>

List of all members.

Public Member Functions

unsigned int & | operator[] (size_t i)
Random access operator for more convenient usage.

const unsigned int & | operator[] (size_t i) const
Random access operator for more convenient usage, constant version.

Public Attributes

unsigned int | indices [n]

Detailed Description

template<size_t n>
struct nvsg::Face< n >

Helper class for Quads and Triangles.

A Face consists of indices into a vertex array, forming a face.

Member Function Documentation

template<size_t n>
unsigned int& nvsg::Face< n >::operator[] ( size_t i ) [inline]

Random access operator for more convenient usage.

Returns:
index of vertex i of this Face in a vertex array
Parameters:
i index into the Face<n> (0,1,...,n-1)

template<size_t n>
const unsigned int& nvsg::Face< n >::operator[] ( size_t i ) const [inline]

Random access operator for more convenient usage, constant version.

Returns:
index of vertex i of this Face in a vertex array
Parameters:
i index into the Face<n> (0,1,...,n-1)

Member Data Documentation

template<size_t n>
unsigned int nvsg::Face< n >::indices[n]

Array of indices into a vertex array. < Indices have a precision of 32-bits!

The documentation for this struct was generated from the following file:
  • Face.h
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


nvsg::FaceAttribute Class Reference

StateAttribute that determines the render modes to use for the following geometries. More...

#include <FaceAttribute.h>

Inheritance diagram for nvsg::FaceAttribute:

[legend]
Collaboration diagram for nvsg::FaceAttribute:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const FaceAttribute * | clone (void) const
Get a clone of this render mode.

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

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

NVSG_API const nvmath::Vec3f & | getAmbientColor (void) const
Get the ambient color.

NVSG_API float | getPolygonOffsetFactor (void) const
Get the polygon offset scale factor.

NVSG_API float | getPolygonOffsetUnits (void) const
Get the polygon offset units.

NVSG_API bool | isBackFaceCulling (void) const
Get the back face culling state.

NVSG_API bool | isPolygonOffset (void) const
Get the polygon offset state.

NVSG_API bool | isTwoSidedLighting (void) const
Get the two sided lighting state.

NVSG_API void | setAmbientColor (const nvmath::Vec3f &color)
Set the ambient color.

NVSG_API void | setBackFaceCulling (bool onOff)
Set the back face culling state.

NVSG_API void | setPolygonOffset (bool onOff)
Set the polygon offset state.

NVSG_API void | setPolygonOffset (float factor, float units)
Set the polygon offset scale factor and units.

NVSG_API void | setTwoSidedLighting (bool onOff)
Set the two sided lighting state.

Static Public Member Functions

NVSG_API const FaceAttribute * | create (void)
Create a FaceAttribute.

NVSG_API const FaceAttribute * | createFromBase (const StateAttribute &rhs)
Create a FaceAttribute by copying from a StateAttribute.

Protected Member Functions

NVSG_API | FaceAttribute ()
Default constructor.

NVSG_API | FaceAttribute (const StateAttribute &rhs)
Partial Constructor.

NVSG_API | FaceAttribute (const FaceAttribute &rhs)
Copy Constructor.

virtual NVSG_API | ~FaceAttribute (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

StateAttribute that determines the render modes to use for the following geometries.

Constructor & Destructor Documentation

NVSG_API nvsg::FaceAttribute::FaceAttribute ( ) [protected]

Default constructor.

NVSG_API nvsg::FaceAttribute::FaceAttribute ( const StateAttribute & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::FaceAttribute::FaceAttribute ( const FaceAttribute & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::FaceAttribute::~FaceAttribute ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const FaceAttribute* nvsg::FaceAttribute::create ( void ) [static]

Create a FaceAttribute.

Returns:
a constant pointer to a FaceAttribute.

NVSG_API const FaceAttribute* nvsg::FaceAttribute::createFromBase ( const StateAttribute & rhs ) [static]

Create a FaceAttribute by copying from a StateAttribute.

Returns:
a constant pointer to a FaceAttribute.

virtual NVSG_API const FaceAttribute* nvsg::FaceAttribute::clone ( void ) const [virtual]

Get a clone of this render mode.

Returns:
a constant pointer to a FaceAttribute.

Implements nvsg::StateAttribute.

virtual NVSG_API bool nvsg::FaceAttribute::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::StateAttribute.

virtual NVSG_API DataID nvsg::FaceAttribute::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::StateAttribute.

const nvmath::Vec3f & nvsg::FaceAttribute::getAmbientColor ( void ) const [inline]

Get the ambient color.

This is the constant light for the following geometries. It lights all object vertices the same because it is not dependent on any other lighting factors such as vertex normals, light direction, light position, range, or attenuation. The default is (0.2,0.2,0.2).

Returns:
The current ambient color

float nvsg::FaceAttribute::getPolygonOffsetFactor ( void ) const [inline]

Get the polygon offset scale factor.

The PolygonOffsetFactor is a scale factor that is used to create a variable depth offset for each polygon. The default is 0.0.

Returns:
The current polygon offset scale factor

float nvsg::FaceAttribute::getPolygonOffsetUnits ( void ) const [inline]

Get the polygon offset units.

The PolygonOffsetUnits specifies a value that is multiplied by an implementation-specific value to create a constant depth offset. The default is 0.0.

Returns:
The current polygon offset units

bool nvsg::FaceAttribute::isBackFaceCulling ( void ) const [inline]

Get the back face culling state.

The back face culling state specifies how back-facing facets are handled. If it is disabled, back-facing facets are drawn regulary. Otherwise, back-facing facets are not drawn. Lines and points are not affected by this state. The default is true.

Returns:
The current back face culling state

bool nvsg::FaceAttribute::isPolygonOffset ( void ) const [inline]

Get the polygon offset state.

The polygon offset state specifies how polygon offsets are handled. If it is disabled, no polygon offsets are used. Otherwise, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The offset is added before the depth test is performed and before the value is written into the depth buffer. The default is false.

Returns:
The current polygon offset state

bool nvsg::FaceAttribute::isTwoSidedLighting ( void ) const [inline]

Get the two sided lighting state.

The two sided lighting state specifies whether one or two-sided lighting calculations are performed for polygons. It has no effect on the lighting calculations for points, lines, or bitmaps. If it is disabled, one-sided lighting is specified. Otherwise, two-sided lighting is specified. In this case, vertices of back-facing polygons are lighted, and have their normals reversed before the lighting equation is evaluated. Vertices of front-facing polygons are always lighted, with no change to their normals. The default is false.

Returns:
The current two sided lighting state

void nvsg::FaceAttribute::setAmbientColor ( const nvmath::Vec3f & color ) [inline]

Set the ambient color.

This is the constant light for the following geometries. It lights all object vertices the same because it is not dependent on any other lighting factors such as vertex normals, light direction, light position, range, or attenuation. The default is (0.2,0.2,0.2).

Parameters:
color ambient color to set

void nvsg::FaceAttribute::setBackFaceCulling ( bool onOff ) [inline]

Set the back face culling state.

The back face culling state specifies how back-facing facets are handled. If it is disabled, back-facing facets are drawn regulary. Otherwise, back-facing facets are not drawn. Lines and points are not affected by this state. The default is true.

Parameters:
onOff true to switch back face culling on, false to switch it off

void nvsg::FaceAttribute::setPolygonOffset ( bool onOff ) [inline]

Set the polygon offset state.

The polygon offset state specifies how polygon offsets are handled. If it is disabled, no polygon offsets are used. Otherwise, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The offset is added before the depth test is performed and before the value is written into the depth buffer. The default is false.

Parameters:
onOff true to switch polygon offset on, false to switch it off

void nvsg::FaceAttribute::setPolygonOffset | ( | float | factor,
 |  | float | units
 | ) | [inline]

Set the polygon offset scale factor and units.

The PolygonOffset factor is a scale factor that is used to create a variable depth offset for each polygon. The default is 0.0. The PolygonOffset units specifies a value that is multiplied by an implementation-specific value to create a constant depth offset. The default is 0.0.

Parameters:
factor | polygon offset scale factor to use
units | polygon offset units to use

void nvsg::FaceAttribute::setTwoSidedLighting ( bool onOff ) [inline]

Set the two sided lighting state.

The two sided lighting state specifies whether one or two-sided lighting calculations are performed for polygons. It has no effect on the lighting calculations for points, lines, or bitmaps. If it is disabled, one-sided lighting is specified. Otherwise, two-sided lighting is specified. In this case, vertices of back-facing polygons are lighted, and have their normals reversed before the lighting equation is evaluated. Vertices of front-facing polygons are always lighted, with no change to their normals. The default is false.

Parameters:
onOff true to switch two sided lighting on, false to switch it off

The documentation for this class was generated from the following file:
  • FaceAttribute.h
Generated on Fri Jan 28 09:21:08 2005 for NVSGSDK by NVIDIA


nvsg::FaceAttributeData Class Reference

Data of a FaceAttribute that is worth sharing. More...

#include <FaceAttribute.h>

Inheritance diagram for nvsg::FaceAttributeData:

[legend]
Collaboration diagram for nvsg::FaceAttributeData:

[legend]
List of all members.

Public Member Functions

NVSG_API | FaceAttributeData (const FaceAttributeData &rhs)
Copy constructor.

Friends

class | FaceAttribute

Detailed Description

Data of a FaceAttribute that is worth sharing.

Constructor & Destructor Documentation

NVSG_API nvsg::FaceAttributeData::FaceAttributeData ( const FaceAttributeData & rhs )

Copy constructor.

The documentation for this class was generated from the following file:
  • FaceAttribute.h
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


nvutil::FixedAllocator Class Reference

Manages allocation requests for objects of a certain size only. More...

#include <Allocator.h>

Collaboration diagram for nvutil::FixedAllocator:

[legend]
List of all members.

Public Member Functions

FixedAllocator ()
default constructs a FixedAllocator object

~FixedAllocator ()
destructor - last chunk memory cleanup

void * | alloc ()
Allocate one memory block of size blockSize.

void | dealloc (void *p)
Free the single memory block pointed to by p.

void | init (size_t blockSize)
one time initialization

Detailed Description

Manages allocation requests for objects of a certain size only.

Constructor & Destructor Documentation

nvutil::FixedAllocator::FixedAllocator ( )

default constructs a FixedAllocator object

nvutil::FixedAllocator::~FixedAllocator ( )

destructor - last chunk memory cleanup

Member Function Documentation

void* nvutil::FixedAllocator::alloc ( )

Allocate one memory block of size blockSize.

void nvutil::FixedAllocator::dealloc ( void * p )

Free the single memory block pointed to by p.

void nvutil::FixedAllocator::init ( size_t blockSize ) [inline]

one time initialization

FixedAllocator::init()

one time initialization

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


nvui::FlightCamManip Class Reference

Flight Camera Manipulator Class. More...

#include <FlightCamManip.h>

Inheritance diagram for nvui::FlightCamManip:

[legend]
Collaboration diagram for nvui::FlightCamManip:

[legend]
List of all members.

Public Types

enum | { _W_KEY = 0x0400, _S_KEY = 0x0800 }
Additional keys for flying. More...

Public Member Functions

NVSG_API | FlightCamManip (void)
Default constructor.

NVSG_API | ~FlightCamManip (void)
Default destructor.

virtual NVSG_API void | apply (void)
Apply the states to the camera.

virtual NVSG_API void | keyRepeat ()
Handle key repeats.

bool | isFly (void)
Signals if the manipulator is in fly mode.

void | setScreenSize (UINT x, UINT y)
Set the screen size.

void | setWorldUpVector (nvmath::Vec3f up)
Set the world up-vector.

const nvmath::Vec3f & | getWorldUpVector ()
Get the world up-vector.

void | setSpeedIncreaseFactor (float factor)
Define speed increase factor.

float | getSpeedIncreaseFactor ()
Get the speed increase factor.

void | setHSensitivity (float sensitivity)
Define horizontal sensitivity.

float | getHSensitivity ()
Get the horizontal sensitivity.

void | setVSensitivity (float sensitivity)
Define vertical sensitivity.

float | getVSensitivity ()
Get the vertical sensitivity.

void | setSpeed (float speed)
Set the speed.

float | getSpeed ()
Get the movement speed.

Protected Member Functions

virtual NVSG_API UINT | convertKey (UINT key)
Map your keys.

void | fly (void)
Do the camera fly.

bool | isFlyForward (void)
Signals if the manipulator is in forward flying mode.

bool | isFlyBackward (void)
Signals if the manipulator is in backward flying mode.

Protected Attributes

UINT | m_ScreenSizeX
Width of the screen (pixels).

UINT | m_ScreenSizeY
Height of the screen (pixels).

nvmath::Vec3f m_worldUpVector
Up-vector of the world.

float | m_speedIncreaseFactor
Factor that influences the stepping. Default: 2.0 NOTE: This factor must not be 0!

float | m_hSensitivity
Factor that influences the horizontal rotation. Default: 1.0.

float | m_vSensitivity
Factor that influences the vertical rotation. Default: 1.0.

float | m_speed
Flight speed. Controlled via key or button input. Default: 1.0.

Static Protected Attributes

NVSG_API const UINT | FLYFORWARD
Key/button configuration flying.

NVSG_API const UINT | FLYBACKWARD
Key/button configuration flying.

NVSG_API const UINT | INCREASESPEED
Key/button configuration flying.

NVSG_API const UINT | DECREASESPEED
Key/button configuration flying.

NVSG_API const float | AREAOFPEACE
Size if the area where the mouse does not trigger the manipulator.

Detailed Description

Flight Camera Manipulator Class.

This manipulator is a special CameraManipulator that interpretes/converts mouse movement into fly-through camera movements.

Keys & Buttons
Left mouse button : Fly forward.
Middle mouse button : Fly backward.
W-key : Increase speed.
S-key : Decrease speed.

Note:
If you use this manipulator, then your application must use a mechanism (such as a small thread that triggers redraw, etc.) that provides continuous camera updates when walking forward or backward.

If you implement your own manipulator, refer to the button state configuration to see how to add additional button combinations.

Member Enumeration Documentation

anonymous enum

Additional keys for flying.

Enumeration values:
_W_KEY | Fly forward.
_S_KEY | Fly backward.

Constructor & Destructor Documentation

NVSG_API nvui::FlightCamManip::FlightCamManip ( void )

Default constructor.

NVSG_API nvui::FlightCamManip::~FlightCamManip ( void )

Default destructor.

Member Function Documentation

virtual NVSG_API void nvui::FlightCamManip::apply ( void ) [virtual]

Apply the states to the camera.

Recalculate the camera regarding the manipulator states.

Implements nvui::CameraManipulator.

virtual NVSG_API void nvui::FlightCamManip::keyRepeat ( ) [virtual]

Handle key repeats.

Adapt key repeats.

Reimplemented from nvui::CameraManipulator.

bool nvui::FlightCamManip::isFly ( void ) [inline]

Signals if the manipulator is in fly mode.

This method compares the current button/key state with the configured button states of this object. e.g. FLYFORWARD

Returns:
true: manipulator is in walk mode

void nvui::FlightCamManip::setScreenSize | ( | UINT | x,
 |  | UINT | y
 | ) | [inline]

Set the screen size.

Set the screen resolution. The resolution is needed for the sensitivity of the manipulator. Default is 1280x1024.

Parameters:
x | width of the screen (pixels) - must not be 0
y | height of the screen (pixels) - must not be 0

void nvui::FlightCamManip::setWorldUpVector ( nvmath::Vec3f up ) [inline]

Set the world up-vector.

Define where the 'sky' is.

Parameters:
up World up-vector

const nvmath::Vec3f & nvui::FlightCamManip::getWorldUpVector ( ) [inline]

Get the world up-vector.

Returns:
Up-vector of the world pointing to the 'sky'

void nvui::FlightCamManip::setSpeedIncreaseFactor ( float factor ) [inline]

Define speed increase factor.

The current speed will be multiplied or divided by this factor

Parameters:
factor Speed increase factor - default 2.f
Note:
This factor must not be 0!

float nvui::FlightCamManip::getSpeedIncreaseFactor ( ) [inline]

Get the speed increase factor.

Returns:
Speed increase factor.

void nvui::FlightCamManip::setHSensitivity ( float sensitivity ) [inline]

Define horizontal sensitivity.

The horizontal sensitivity is a factor that influences how sensitive the manipulator reacts to horizontal rotation changes

Parameters:
sensitivity Sensitivity factor - default 1.f

float nvui::FlightCamManip::getHSensitivity ( ) [inline]

Get the horizontal sensitivity.

Returns:
Horizontal sensitivity factor.

void nvui::FlightCamManip::setVSensitivity ( float sensitivity ) [inline]

Define vertical sensitivity.

The vertical sensitivity is a factor that influences how sensitive the manipulator reacts to vertical rotation changes

Parameters:
sensitivity Sensitivity factor - default 1.f

float nvui::FlightCamManip::getVSensitivity ( ) [inline]

Get the vertical sensitivity.

Returns:
Vertical sensitivity factor.

void nvui::FlightCamManip::setSpeed ( float speed ) [inline]

Set the speed.

This parameter controls the speed of the camera movement

Parameters:
speed Speed value - default 1.f

float nvui::FlightCamManip::getSpeed ( ) [inline]

Get the movement speed.

Returns:
Speed value.

virtual NVSG_API UINT nvui::FlightCamManip::convertKey ( UINT key ) [protected, virtual]

Map your keys.

Returns:
Manipulator key code
Parameters:
key External key code.

Reimplemented from nvui::CameraManipulator.

void nvui::FlightCamManip::fly ( void ) [protected]

Do the camera fly.

Fly forward or backward. You can simply replace it with your own way to handle this.

bool nvui::FlightCamManip::isFlyForward ( void ) [inline, protected]

Signals if the manipulator is in forward flying mode.

This method compares the current button or key state with the configured button states of this object. e.g. FLYFORWARD

Returns:
true: manipulator is in forward walking mode

bool nvui::FlightCamManip::isFlyBackward ( void ) [inline, protected]

Signals if the manipulator is in backward flying mode.

This method compares the current button or key state with the configured button states of this object. e.g. FLYFORWARD

Returns:
true: manipulator is in forward walking mode

Member Data Documentation

UINT nvui::FlightCamManip::m_ScreenSizeX [protected]

Width of the screen (pixels).

UINT nvui::FlightCamManip::m_ScreenSizeY [protected]

Height of the screen (pixels).

nvmath::Vec3f nvui::FlightCamManip::m_worldUpVector [protected]

Up-vector of the world.

float nvui::FlightCamManip::m_speedIncreaseFactor [protected]

Factor that influences the stepping. Default: 2.0 NOTE: This factor must not be 0!

float nvui::FlightCamManip::m_hSensitivity [protected]

Factor that influences the horizontal rotation. Default: 1.0.

float nvui::FlightCamManip::m_vSensitivity [protected]

Factor that influences the vertical rotation. Default: 1.0.

float nvui::FlightCamManip::m_speed [protected]

Flight speed. Controlled via key or button input. Default: 1.0.

NVSG_API const UINT nvui::FlightCamManip::FLYFORWARD [static, protected]

Key/button configuration flying.

NVSG_API const UINT nvui::FlightCamManip::FLYBACKWARD [static, protected]

Key/button configuration flying.

NVSG_API const UINT nvui::FlightCamManip::INCREASESPEED [static, protected]

Key/button configuration flying.

NVSG_API const UINT nvui::FlightCamManip::DECREASESPEED [static, protected]

Key/button configuration flying.

NVSG_API const float nvui::FlightCamManip::AREAOFPEACE [static, protected]

Size if the area where the mouse does not trigger the manipulator.

The documentation for this class was generated from the following file:
  • FlightCamManip.h
Generated on Fri Jan 28 09:22:25 2005 for NVSGSDK by NVIDIA


Templatenvsg::FramedAnimation< T > class Reference

nvsg::FramedAnimation< T > Class Template Reference

An Animation that holds a complete data set for each frame. More...

#include <FramedAnimation.h>

Inheritance diagram for nvsg::FramedAnimation< T >:

[legend]
Collaboration diagram for nvsg::FramedAnimation< T >:

[legend]
List of all members.

Public Member Functions

virtual const FramedAnimation<
T > * 		clone (void) const
Create a new FramedAnimation by copying from this.

virtual void | setNumberOfFrames (size_t count)
Set the number of frames in the animation.

virtual T & | operator[] (size_t i)
Random access operator for more convenient usage.

virtual size_t | getNumberOfFrames (void) const
Get the number of frames in the animation.

virtual const T & | operator[] (size_t i) const
Random access operator for more convenient usage, constant version only.

Static Public Member Functions

const FramedAnimation< T > * | create (void)
Create a FramedAnimation.

const FramedAnimation< T > * | createFromBase (const Animation< T > &rhs)
Create a FramedAnimation by copying from an Animation.

Protected Member Functions

NVSG_API | FramedAnimation (void)
Default Constructor.

NVSG_API | FramedAnimation (const Animation< T > &rhs)
Partial Constructor.

NVSG_API | FramedAnimation (const FramedAnimation< T > &rhs)
Copy Constructor.

virtual | ~FramedAnimation (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

template<typename T>
class nvsg::FramedAnimation< T >

An Animation that holds a complete data set for each frame.

Note:
Currently the only supported types for FramedAnimation are Trafo and VNVector.

Constructor & Destructor Documentation

template<typename T>
NVSG_API nvsg::FramedAnimation< T >::FramedAnimation ( void ) [protected]

Default Constructor.

template<typename T>
NVSG_API nvsg::FramedAnimation< T >::FramedAnimation ( const Animation< T > & rhs ) [protected]

Partial Constructor.

template<typename T>
NVSG_API nvsg::FramedAnimation< T >::FramedAnimation ( const FramedAnimation< T > & rhs ) [protected]

Copy Constructor.

template<typename T>
nvsg::FramedAnimation< T >::~FramedAnimation ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

template<typename T>
const FramedAnimation< T > * nvsg::FramedAnimation< T >::create ( void ) [static]

Create a FramedAnimation.

Returns:
a constant pointer to an FramedAnimation.

template<typename T>
const FramedAnimation< T > * nvsg::FramedAnimation< T >::createFromBase ( const Animation< T > & rhs ) [static]

Create a FramedAnimation by copying from an Animation.

Returns:
a constant pointer to a FramedAnimation.
Parameters:
rhs Animation to copy from

template<typename T>
const FramedAnimation< T > * nvsg::FramedAnimation< T >::clone ( void ) const [virtual]

Create a new FramedAnimation by copying from this.

Returns:
a constant pointer to an identical FramedAnimation.

Implements nvsg::Animation< T >.

template<typename T>
void nvsg::FramedAnimation< T >::setNumberOfFrames ( size_t count ) [virtual]

Set the number of frames in the animation.

Resizes the array of animation values. On growing this array, the new elements are not initialized.

template<typename T>
T & nvsg::FramedAnimation< T >::operator[] ( size_t i ) [virtual]

Random access operator for more convenient usage.

Returns:
reference to value of frame i

template<typename T>
size_t nvsg::FramedAnimation< T >::getNumberOfFrames ( void ) const [virtual]

Get the number of frames in the animation.

Returns:
number of animation frames

Implements nvsg::Animation< T >.

template<typename T>
const T & nvsg::FramedAnimation< T >::operator[] ( size_t i ) const [virtual]

Random access operator for more convenient usage, constant version only.

Returns:
constant reference to value of frame i

Implements nvsg::Animation< T >.

The documentation for this class was generated from the following file:
  • FramedAnimation.h
Generated on Fri Jan 28 09:21:09 2005 for NVSGSDK by NVIDIA


nvtraverser::FrustumCullTraverser Class Reference

CullTraverser culling on frustum information. More...

#include <FrustumCullTraverser.h>

Inheritance diagram for nvtraverser::FrustumCullTraverser:

[legend]
Collaboration diagram for nvtraverser::FrustumCullTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | FrustumCullTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~FrustumCullTraverser (void)
Destructor.

virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root)
Handles actions to take just before the scene is traversed.

virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Drawable *p) const
determine the CullCode of a Drawable.

virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Node *p) const
Determine the CullCode of a Node.

virtual NVSG_API bool | preTraverseTransform (const nvsg::Transform *p)
Handles actions to take between transform stack adjustment and traversal.

virtual NVSG_API void | postTraverseTransform (const nvsg::Transform *p)
Handles actions to take between traversal and transform stack adjustment.

Detailed Description

CullTraverser culling on frustum information.

This CullTraverser gathers information on all Node s in the tree whether it's inside, outside or partially within the current viewing frustum. All Node s (and potentially subtrees) that are completely outside are marked as such and can be skipped on subsequent traversals.

Constructor & Destructor Documentation

NVSG_API nvtraverser::FrustumCullTraverser::FrustumCullTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::FrustumCullTraverser::~FrustumCullTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

virtual NVSG_API bool nvtraverser::FrustumCullTraverser::preTraverseRoot | ( | const nvsg::SimpleCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Handles actions to take just before the scene is traversed.

This initializes the camera related part of the transform stack (after traversal of the headlights).

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API nvsg::CullCode nvtraverser::FrustumCullTraverser::cullCode ( const nvsg::Drawable * p ) const [protected, virtual]

determine the CullCode of a Drawable.

The default implementation returns CC_IN.

Returns:
CullCode for Drawable p.

Reimplemented from nvtraverser::CullTraverser.

virtual NVSG_API nvsg::CullCode nvtraverser::FrustumCullTraverser::cullCode ( const nvsg::Node * p ) const [protected, virtual]

Determine the CullCode of a Node.

The default implementaion returns CC_IN.

Returns:
CullCode for Node p.

Reimplemented from nvtraverser::CullTraverser.

virtual NVSG_API bool nvtraverser::FrustumCullTraverser::preTraverseTransform ( const nvsg::Transform * p ) [protected, virtual]

Handles actions to take between transform stack adjustment and traversal.

In this base class, this is a NOP.

Parameters:
p Transform node to traverse next

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API void nvtraverser::FrustumCullTraverser::postTraverseTransform ( const nvsg::Transform * p ) [protected, virtual]

Handles actions to take between traversal and transform stack adjustment.

When this function returns true, the subtree beneath is traversed. Otherwise it isn't.

Returns:
true
Parameters:
p Transform node just traversed

Reimplemented from nvtraverser::ModelViewTraverser.

The documentation for this class was generated from the following file:
  • FrustumCullTraverser.h
Generated on Fri Jan 28 09:22:00 2005 for NVSGSDK by NVIDIA


geometrySet_t Struct Reference

The geometrySet_t structure specifies how a geometry set is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t drawable
Specifies the file offset to the actual NBFDrawable object.

uint_t stateSet
Specifies the file offset to the corresponding NBFStateSet object.

Detailed Description

The geometrySet_t structure specifies how a geometry set is stored in a .NBF file.

Geometry sets, in this context, need to be considered in conjunction with NBFGeoNode objects.

Member Data Documentation

uint_t geometrySet_t::drawable

Specifies the file offset to the actual NBFDrawable object.

uint_t geometrySet_t::stateSet

Specifies the file offset to the corresponding NBFStateSet object.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


nvsg::GeoNode Class Reference

Node to hold a set of geometry. More...

#include <GeoNode.h>

Inheritance diagram for nvsg::GeoNode:

[legend]
Collaboration diagram for nvsg::GeoNode:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API GeoNode * | clone (void) const
Create a new GeoNode by copying from this.

NVSG_API bool | addGeometry (const Drawable *pDrawable, const StateSet *pStateSet)
Add a Geometry to the GeoNode.

NVSG_API size_t | getNumberOfGeometries (void) const
Get the number of Geometries of this GeoNode.

NVSG_API const Drawable * | getDrawable (size_t index) const
Returns the Drawable at position index.

NVSG_API size_t | getDrawables (std::vector< const Drawable * > &v, const StateSet *pStateSet=NULL) const
Get the Drawables that use a given StateSet.

NVSG_API size_t | getNumberOfDrawables (void) const
Get the number of Drawables in this GeoNode.

NVSG_API void | replaceDrawable (const Drawable *newDrawable, const Drawable *oldDrawable)
Replace all occurrences of a specified Drawable.

NVSG_API const StateSet * | getStateSet (size_t index) const
Returns the StateSet at position index.

NVSG_API const StateSet * | getStateSet (const Drawable *pDrawable) const
Returns the StateSet of a specified Drawable.

NVSG_API size_t | getStateSets (std::vector< const StateSet * > &v) const
Get all StateSets used.

NVSG_API size_t | getNumberOfStateSets (void) const
Get the number of (different) StateSets in this GeoNode.

NVSG_API void | replaceStateSet (const StateSet *newStateSet, const StateSet *oldStateSet)
Replace all occurrences of a specified StateSet.

NVSG_API void | replaceStateSet (const StateSet *newStateSet, const Drawable *drawable)
Replace the StateSet for a specified Drawable.

NVSG_API bool | removeGeometry (const Drawable *pDrawable, const StateSet *pStateSet=NULL)
Remove one Geometry from this GeoNode.

NVSG_API void | removeGeometry (size_t index)
Remove the Geometry at position index.

NVSG_API bool | removeGeometries (const StateSet *pStateSet=NULL)
Remove the Geometries with a given StateSet.

NVSG_API void | generateTexCoords (TextureCoordType tct, size_t tu=0)
Generate texture coordinates on all geometries.

NVSG_API void | calculateTangentSpace (size_t tu=0, size_t tg=1, size_t bn=2)
Generate tangents and binormals for all geometries.

virtual NVSG_API bool | containsCgFx (void) const
Ask if this GeoNode contains any CgFx attributes.

virtual NVSG_API void | invalidateCgFxContainment (void)
Invalidate the CgFx containment cache.

virtual NVSG_API bool | containsTransparentMaterial (void) const
Ask if this GeoNode contains any transparent Material attributes.

virtual NVSG_API void | invalidateTransparentMaterialContainment (void)
Invalidate the transparent Material containment cache.

virtual NVSG_API bool | containsTransparentTexture (void) const
Ask if this GeoNode contains any transparent Texture.

virtual NVSG_API void | invalidateTransparentTextureContainment (void)
Invalidate the transparent Texture containment cache.

virtual NVSG_API void | invalidateNumberOfFrames (void) const
Invalidate the number of animation frames cache.

virtual NVSG_API size_t | getNumberOfFrames (void) const
Get the number of animation frames that are part of this Node.

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

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

Static Public Member Functions

NVSG_API const GeoNode * | create (void)
Create a GeoNode.

NVSG_API const GeoNode * | createFromBase (const Node &rhs)
Create a GeoNode by copying from a Node.

Protected Member Functions

NVSG_API | GeoNode (void)
Default Constructor.

NVSG_API | GeoNode (const Node &rhs)
Partial Constructor.

NVSG_API | GeoNode (const GeoNode &rhs)
Copy Constructor.

virtual NVSG_API | ~GeoNode (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API bool | calcBoundingSphere (void) const
Calculate the bounding sphere of this GeoNode.

NVSG_API void | invalidateCaches (const StateSet *pStateSet, bool insert)
Invalidate all caches of this GeoNode, maybe depending on the added or removed StateSet.

Detailed Description

Node to hold a set of geometry.

A GeoNode holds a number of geometries. A Geometry consists of a Drawable - defining the topology, and a StateSet - defining the visual appearance.

Constructor & Destructor Documentation

NVSG_API nvsg::GeoNode::GeoNode ( void ) [protected]

Default Constructor.

NVSG_API nvsg::GeoNode::GeoNode ( const Node & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::GeoNode::GeoNode ( const GeoNode & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::GeoNode::~GeoNode ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const GeoNode* nvsg::GeoNode::create ( void ) [static]

Create a GeoNode.

Returns:
a constant pointer to a GeoNode.

NVSG_API const GeoNode* nvsg::GeoNode::createFromBase ( const Node & rhs ) [static]

Create a GeoNode by copying from a Node.

Returns:
a constant pointer to a GeoNode.
Parameters:
rhs Node to copy from

virtual NVSG_API GeoNode* nvsg::GeoNode::clone ( void ) const [virtual]

Create a new GeoNode by copying from this.

Returns:
a constant pointer to an identical GeoNode.

Implements nvsg::Node.

NVSG_API bool nvsg::GeoNode::addGeometry | ( | const Drawable * | pDrawable,
 |  | const StateSet * | pStateSet
 | ) |

Add a Geometry to the GeoNode.

If the GeoNode already holds a geometry with the same Drawable, no geometry is added. Otherwise the pair of pDrawable and pStateSet is added to the set of geometries.

Returns:
true, if the pair is added, otherwise false
Parameters:
pDrawable | Drawable to add
pStateSet | StateSet to add

size_t nvsg::GeoNode::getNumberOfGeometries ( void ) const [inline]

Get the number of Geometries of this GeoNode.

Note:
The number of Drawables is equal to the number of Geometries. /**
Returns:
number of Geometries

const Drawable * nvsg::GeoNode::getDrawable ( size_t index ) const [inline]

Returns the Drawable at position index.

Returns:
A pointer to a constant Drawable at position index.
Note:
The behaviour is undefined if called with an invalid index. You should call getNumberOfDrawables prior to this call to determine a valid range of indices that can be passed to this function.
Parameters:
index Zero-based index of Drawable to get

NVSG_API size_t nvsg::GeoNode::getDrawables | ( | std::vector< const Drawable * > & | v,
 |  | const StateSet * | pStateSet = NULL
 | ) | const

Get the Drawables that use a given StateSet.

Fills the vector v with the pointers to all const Drawables. If pStateSet is not NULL, only the Drawables that use that StateSet are returned.

Returns:
number of Drawables that are collected into v.
Parameters:
v | Receive requested Drawables here.
pStateSet | If not NULL, only drawables with the specified StateSet will be copied to v.

size_t nvsg::GeoNode::getNumberOfDrawables ( void ) const [inline]

Get the number of Drawables in this GeoNode.

Note:
The number of Drawables is equal to the number of Geometries.
Returns:
number of Drawables.

NVSG_API void nvsg::GeoNode::replaceDrawable | ( | const Drawable * | newDrawable,
 |  | const Drawable * | oldDrawable
 | ) |

Replace all occurrences of a specified Drawable.

The function replaces all occurrences of oldDrawable by newDrawable.

Note:
The behavior is undefined when passing an invalid pointer for newDrawable.
Parameters:
newDrawable | Specifies the new Drawable.
oldDrawable | Specifies the Drawable to be replaced by newDrawable.

const StateSet * nvsg::GeoNode::getStateSet ( size_t index ) const [inline]

Returns the StateSet at position index.

Returns:
pointer to const StateSet at position index.
Parameters:
index Zero-based index of StateSet to get

NVSG_API const StateSet* nvsg::GeoNode::getStateSet ( const Drawable * pDrawable ) const

Returns the StateSet of a specified Drawable.

Returns:
A pointer to the const StateSet corresponding to the Drawable pDrawable, or NULL, if pDrawable is not part of this GeoNode.
Parameters:
pDrawable Drawable to get associated StateSet from.

NVSG_API size_t nvsg::GeoNode::getStateSets ( std::vector< const StateSet * > & v ) const

Get all StateSets used.

Fills the vector v with the constant pointers to all (different) StateSets.

Returns:
number of (different) StateSets that are collected into v.
Parameters:
v Receive requested StateSets here

size_t nvsg::GeoNode::getNumberOfStateSets ( void ) const [inline]

Get the number of (different) StateSets in this GeoNode.

Returns:
number of (different) StateSets.

NVSG_API void nvsg::GeoNode::replaceStateSet | ( | const StateSet * | newStateSet,
 |  | const StateSet * | oldStateSet
 | ) |

Replace all occurrences of a specified StateSet.

The function replaces all occurrences of oldStateSet by newStateSet.

Parameters:
newStateSet | Specifies the new StateSet.
oldStateSet | Specifies the StateSet to be replaced by newStateSet.

NVSG_API void nvsg::GeoNode::replaceStateSet | ( | const StateSet * | newStateSet,
 |  | const Drawable * | drawable
 | ) |

Replace the StateSet for a specified Drawable.

The function replaces the StateSet currently assigned to drawable by newStateSet.

Parameters:
newStateSet | Specifies the new StateSet.
drawable | Specifies the Drawable whose current StateSet is to be replaced by newStateSet.

NVSG_API bool nvsg::GeoNode::removeGeometry | ( | const Drawable * | pDrawable,
 |  | const StateSet * | pStateSet = NULL
 | ) |

Remove one Geometry from this GeoNode.

Removes the Geometry with Drawable pDrawable from the GeoNode. If pStateSet is not NULL, the Geometry is only removed if it corresponds to pDrawable.

Returns:
true, if a Geometry is removed, otherwise false.
Parameters:
pDrawable | Specifies the Drawable of the geometry to be removed.
pStateSet | Conditional StateSet. Remove the geometry only if pDrawable and pStateSet are associated.

NVSG_API void nvsg::GeoNode::removeGeometry ( size_t index )

Remove the Geometry at position index.

Note:
The behaviour is undefined if called with an invalid index.
Parameters:
index Zero-based index of the geometry to be removed.

NVSG_API bool nvsg::GeoNode::removeGeometries ( const StateSet * pStateSet = NULL )

Remove the Geometries with a given StateSet.

If pStateSet is given, all Geometries that use that StateSet are removed. Otherwise all Geometries are removed (i.e. the GeoNode is cleared).

Returns:
true if at least one Geometry was removed, otherwise false.
Parameters:
pStateSet Conditional StateSet. If not NULL, only geometries associated with pStateSet will be removed from the GeoNode.

NVSG_API void nvsg::GeoNode::generateTexCoords | ( | TextureCoordType | tct,
 |  | size_t | tu = 0
 | ) |

Generate texture coordinates on all geometries.

There are three different methods for texture generation: TCT_CYLINDRICAL, TCT_PLANAR, and TCT_SPHERICAL.

Parameters:
tct | texture coordinate type to create
tu | texture unit to create coords for

NVSG_API void nvsg::GeoNode::calculateTangentSpace | ( | size_t | tu = 0,
 |  | size_t | tg = 1,
 |  | size_t | bn = 2
 | ) |

Generate tangents and binormals for all geometries.

To generate tangents and binormals there have to be texture coordinates.

Parameters:
tu | texture unit that holds the texture coordinates to use for generation
tg | texture unit to create tangents in
bn | texture unit to create binormals in

virtual NVSG_API bool nvsg::GeoNode::containsCgFx ( void ) const [virtual]

Ask if this GeoNode contains any CgFx attributes.

Returns:
true if the GeoNode contains Geometry with a CgFx attribute, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::GeoNode::invalidateCgFxContainment ( void ) [virtual]

Invalidate the CgFx containment cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::GeoNode::containsTransparentMaterial ( void ) const [virtual]

Ask if this GeoNode contains any transparent Material attributes.

Returns:
true if the GeoNode contains Geometry with a transparent Material attribute, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::GeoNode::invalidateTransparentMaterialContainment ( void ) [virtual]

Invalidate the transparent Material containment cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::GeoNode::containsTransparentTexture ( void ) const [virtual]

Ask if this GeoNode contains any transparent Texture.

Returns:
true if the GeoNode contains Geometry with a transparent Texture, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::GeoNode::invalidateTransparentTextureContainment ( void ) [virtual]

Invalidate the transparent Texture containment cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::GeoNode::invalidateNumberOfFrames ( void ) const [virtual]

Invalidate the number of animation frames cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API size_t nvsg::GeoNode::getNumberOfFrames ( void ) const [virtual]

Get the number of animation frames that are part of this Node.

Returns:
0

Reimplemented from nvsg::Node.

virtual NVSG_API DataID nvsg::GeoNode::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::GeoNode::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::GeoNode::calcBoundingSphere ( void ) const [protected, virtual]

Calculate the bounding sphere of this GeoNode.

The bounding sphere of a GeoNode is calculated by combining the bounding spheres of all its geometries.

Returns:
true if the calculated bounding sphere is valid, otherwise false.

Implements nvsg::Node.

NVSG_API void nvsg::GeoNode::invalidateCaches | ( | const StateSet * | pStateSet,
 |  | bool | insert
 | ) | [protected]

Invalidate all caches of this GeoNode, maybe depending on the added or removed StateSet.

Invalidates the bounding sphere of this GeoNode. If the CgFx containment changes by adding/removing pStateSet, the CgFx cache is invalidated.

Parameters:
pStateSet | StateSet that has been added or removed
insert | Assigns whether pSateSet has been added or removed

The documentation for this class was generated from the following file:
  • GeoNode.h
Generated on Fri Jan 28 09:21:10 2005 for NVSGSDK by NVIDIA


nvtraverser::GeoNodeUnifyTraverser Class Reference

Traverser that combines multiple GeoNodes under one Transform to a single one. More...

#include <GeoNodeUnifyTraverser.h>

Inheritance diagram for nvtraverser::GeoNodeUnifyTraverser:

[legend]
Collaboration diagram for nvtraverser::GeoNodeUnifyTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | GeoNodeUnifyTraverser (void)
Constructor.

NVSG_API bool | getIgnoreNames (void) const
Get the 'ignore names' flag.

NVSG_API void | setIgnoreNames (bool ignore)
Set the 'ignore names' flags.

Protected Member Functions

virtual NVSG_API | ~GeoNodeUnifyTraverser (void)
Protected destructor to prevent instantiation of a GeoNodeUnifyTraverser on stack.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.

virtual NVSG_API void | preTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately before a Group is to be traversed.

virtual NVSG_API void | postTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately after a Group has been traversed.

Detailed Description

Traverser that combines multiple GeoNodes under one Transform to a single one.

All geometries of all GeoNodes unter one Transform are reparented to a single GeoNode.

Constructor & Destructor Documentation

NVSG_API nvtraverser::GeoNodeUnifyTraverser::GeoNodeUnifyTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::GeoNodeUnifyTraverser::~GeoNodeUnifyTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a GeoNodeUnifyTraverser on stack.

Member Function Documentation

bool nvtraverser::GeoNodeUnifyTraverser::getIgnoreNames ( void ) const [inline]

Get the 'ignore names' flag.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Returns:
true if the names will be ignored, otherwise false

void nvtraverser::GeoNodeUnifyTraverser::setIgnoreNames ( bool ignore ) [inline]

Set the 'ignore names' flags.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Parameters:
ignore set true to ignore names on comparison

virtual NVSG_API void nvtraverser::GeoNodeUnifyTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

This routine just records all GeoNodes beneath a Group for reparenting.

Parameters:
p Points to the currently visited GeoNode object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::GeoNodeUnifyTraverser::preTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately before a Group is to be traversed.

Before traversing the Group, a list of the contained GeoNodes is created.

Parameters:
p Points to the Group that will be traversed immediately after this call.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::GeoNodeUnifyTraverser::postTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately after a Group has been traversed.

After traversing the Group, all it's children that are GeoNodes are combined.

Parameters:
p Points to the Group that was traversed immediately before this call.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • GeoNodeUnifyTraverser.h
Generated on Fri Jan 28 09:22:01 2005 for NVSGSDK by NVIDIA


nvsg::GeoSet Class Reference

Base class for Geometries. More...

#include <GeoSet.h>

Inheritance diagram for nvsg::GeoSet:

[legend]
Collaboration diagram for nvsg::GeoSet:

[legend]
List of all members.

Public Types

enum {
VERTEX_POSITION = 0, VERTEX_WEIGHTS, NORMAL, PRIMARY_COLOR,
SECONDARY_COLOR, FOG_COORDINATE, UNUSED_1, UNUSED_2,
TEXTURE_COORD_0, TEXTURE_COORD_1, TEXTURE_COORD_2, TEXTURE_COORD_3,
TEXTURE_COORD_4, TEXTURE_COORD_5, TEXTURE_COORD_6, TEXTURE_COORD_7,
NUMBER_OF_VERTEX_ATTRIBUTES
}
Vertex Attribute Register Numbers. More...

Public Member Functions

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

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

NVSG_API bool | isBoundingSphereValid (void) const
Ask if the bounding sphere of this GeoSet is valid.

NVSG_API const nvmath::Sphere3f & | getBoundingSphere (void) const
Get the bounding sphere of this GeoSet.

NVSG_API size_t | getNumberOfVertexAttributeBytes (size_t attrib) const
Get amount of data bytes currently stored in the vertex attribute specified by attrib.

NVSG_API const float * | getVertexAttributeData (size_t attrib) const
Get float data stored in the vertex attribute specified by attrib.

NVSG_API unsigned int | getVertexAttributeDataDim (size_t attrib) const
Determine the dimension, in terms of float, of the data stored in the vertex attribute specified by attrib.

NVSG_API size_t | getNumberOfVertexAttributeData (size_t attrib) const
Determine if data is available for a vertex attribute specified by attrib.

NVSG_API void | setVertexAttributeData (size_t attrib, unsigned int fdim, const float *fdata, size_t count)
Set data for the vertex attribute specified by attrib.

NVSG_API void | setVertexAttributeData (size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count)
Set data for the vertex attribute specified by attrib.

NVSG_API size_t | getNumberOfVertices (void) const
Get number of vertices.

NVSG_API const nvmath::Vec3f * | getVertices (void) const
Get vertices.

NVSG_API void | setVertices (const nvmath::Vec3f *verts, size_t count)
Set vertices for this GeoSet.

NVSG_API void | setVertices (size_t pos, const nvmath::Vec3f *verts, size_t count)
Set vertices for this GeoSet.

NVSG_API size_t | getNumberOfNormals (void) const
Get number of normals.

NVSG_API const nvmath::Vec3f * | getNormals (void) const
Get normals.

NVSG_API void | setNormals (const nvmath::Vec3f *nor, size_t count)
Set normals for this GeoSet.

NVSG_API void | setNormals (size_t pos, const nvmath::Vec3f *nor, size_t count)
Set normals for this GeoSet.

NVSG_API bool | hasTexCoords (void) const
Determine if at least one texture coordinate array has valid texture coordinates.

NVSG_API size_t | getNumberOfTexCoords (size_t texUnit) const
Get number of texture coordinates in a specified texture unit.

NVSG_API const float * | getTexCoords (size_t texUnit) const
Get texture coordinates for a specified texture unit.

NVSG_API unsigned int | getTexCoordsDim (size_t texUnit) const
Get the dimension of the texture coordinates stored in the specified texture unit.

NVSG_API void | setTexCoords (size_t texUnit, unsigned int fdim, const float *coords, size_t count)
Set the texture coordinates for a specified texture unit.

NVSG_API void | setTexCoords (size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count)
Set the texture coordinates for a specified texture unit.

NVSG_API void | generateTexCoords (TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0)
Generate texture coordinates into a texture unit.

NVSG_API size_t | getNumberOfColors (void) const
Get number of colors.

NVSG_API const float * | getColors (void) const
Get constant pointer to colors.

NVSG_API unsigned int | getColorsDim (void) const
Get the dimension of the colors.

NVSG_API void | setColors (unsigned int fdim, const float *cols, size_t count)
Set colors for this GeoSet.

NVSG_API void | setColors (unsigned int fdim, size_t pos, const float *cols, size_t count)
Set colors for this GeoSet.

NVSG_API size_t | getNumberOfSecondaryColors (void) const
Get number of secondary colors.

NVSG_API const float * | getSecondaryColors (void) const
Get constant pointer to secondary colors.

NVSG_API unsigned int | getSecondaryColorsDim (void) const
Get the dimension of the secondary colors.

NVSG_API void | setSecondaryColors (unsigned int fdim, const float *cols, size_t count)
Set secondary colors for this GeoSet.

NVSG_API void | setSecondaryColors (unsigned int fdim, size_t pos, const float *cols, size_t count)
Set secondary colors for this GeoSet.

NVSG_API size_t | getNumberOfFogCoords (void) const
Get number of fog coordinates.

NVSG_API const float * | getFogCoords (void) const
Get fog coordinates.

NVSG_API void | setFogCoords (const float *coords, size_t count)
Set the fog coordinates.

NVSG_API void | setFogCoords (size_t pos, const float *coords, size_t count)
Set the fog coordinates.

virtual NVSG_API void | calculateTangentSpace (size_t tu=0, size_t tg=1, size_t bn=2)=0
Interface for calculating tangents and binormals.

NVSG_API void | attachHighlightObject (const HighlightObject *pObj=NULL) const
Will attach pObj as Highlight object for visualization.

NVSG_API const HighlightObject * | getHighlightObject (void) const
Get the currently attached pObj Highlight object for visualization.

Protected Member Functions

NVSG_API | GeoSet (void)
Instantiate a default constructed GeoSet object.

NVSG_API | GeoSet (const GeoSet &rhs)
Instantiate a copy of the GeoSet refered to by rhs.

virtual NVSG_API | ~GeoSet (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API void | onSetVertexAttributeData (void)
Vertex attribute data have been changed.

virtual NVSG_API void | invalidateBoundingSphere (void) const
Invalidate the BoundingSphere (of the parent geo node also).

Friends

class | CachedGeometry

Detailed Description

Base class for Geometries.

This class only holds the vertex and attribute data. Any information about how they are connected has to be provided by the derived topology classes (such as Triangles, etc ...).

Member Enumeration Documentation

anonymous enum

Vertex Attribute Register Numbers.

These represent valid indices identifying a certain vertex attribute.

Constructor & Destructor Documentation

NVSG_API nvsg::GeoSet::GeoSet ( void ) [protected]

Instantiate a default constructed GeoSet object.

Note:
A GeoSet naturally will not be instantiated directly, but through instantiating a derived topology object like Triangles or TriStrips for example.

NVSG_API nvsg::GeoSet::GeoSet ( const GeoSet & rhs ) [protected]

Instantiate a copy of the GeoSet refered to by rhs.

Note:
A GeoSet naturally will not be instantiated directly, but through instantiating a derived topology object like Triangles or TriStrips for example.

virtual NVSG_API nvsg::GeoSet::~GeoSet ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

virtual NVSG_API bool nvsg::GeoSet::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, false otherwise.

Reimplemented from nvsg::Drawable.

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

virtual NVSG_API DataID nvsg::GeoSet::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
The DataID of the object's data.

Reimplemented from nvsg::Drawable.

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

NVSG_API bool nvsg::GeoSet::isBoundingSphereValid ( void ) const [virtual]

Ask if the bounding sphere of this GeoSet is valid.

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

Returns:
The valid state of the bounding sphere.

Implements nvsg::Drawable.

NVSG_API const nvmath::Sphere3f& nvsg::GeoSet::getBoundingSphere ( void ) const [virtual]

Get the bounding sphere of this GeoSet.

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.

Implements nvsg::Drawable.

NVSG_API size_t nvsg::GeoSet::getNumberOfVertexAttributeBytes ( size_t attrib ) const

Get amount of data bytes currently stored in the vertex attribute specified by attrib.

Returns:
The number of bytes used.
Note:
The behavior is undefined when passing an invalid index for attrib. Valid indices are:
GeoSet::VERTEX_POSITION
GeoSet::VERTEX_WEIGHTS
GeoSet::NORMAL
GeoSet::PRIMARY_COLOR
GeoSet::SECONDARY_COLOR
GeoSet::FOG_COORDINATE
GeoSet::UNUSED_1
GeoSet::UNUSED_2
GeoSet::TEXTURE_COORD_0
GeoSet::TEXTURE_COORD_1
GeoSet::TEXTURE_COORD_2
GeoSet::TEXTURE_COORD_3
GeoSet::TEXTURE_COORD_4
GeoSet::TEXTURE_COORD_5
GeoSet::TEXTURE_COORD_6
GeoSet::TEXTURE_COORD_7
The indices listed here are a contiguous set of indices and range from 0 to 15.
Parameters:
attrib Zero based index identifying the target vertex attribute.

const float * nvsg::GeoSet::getVertexAttributeData ( size_t attrib ) const [inline]

Get float data stored in the vertex attribute specified by attrib.

Returns:
A valid pointer to the vertex attribute's data if data was stored in the vertex attribute, a NULL pointer otherwise.
Note:
The behavior is undefined when passing an invalid index for attrib. Valid indices are:
GeoSet::VERTEX_POSITION
GeoSet::VERTEX_WEIGHTS
GeoSet::NORMAL
GeoSet::PRIMARY_COLOR
GeoSet::SECONDARY_COLOR
GeoSet::FOG_COORDINATE
GeoSet::UNUSED_1
GeoSet::UNUSED_2
GeoSet::TEXTURE_COORD_0
GeoSet::TEXTURE_COORD_1
GeoSet::TEXTURE_COORD_2
GeoSet::TEXTURE_COORD_3
GeoSet::TEXTURE_COORD_4
GeoSet::TEXTURE_COORD_5
GeoSet::TEXTURE_COORD_6
GeoSet::TEXTURE_COORD_7
The indices listed here are a contiguous set of indices and range from 0 to 15.
Parameters:
attrib Zero based index identifying the target vertex attribute.

unsigned int nvsg::GeoSet::getVertexAttributeDataDim ( size_t attrib ) const [inline]

Determine the dimension, in terms of float, of the data stored in the vertex attribute specified by attrib.

The native data format for data stored in a vertex attribute is float, thus the reason for expressing a data element's dimension in terms of float. A single vertex position, for example, is of dimension 3, which is one single-precision float value for representing a direction in a 3-dimensional space.

Returns:
The dimension, in terms of float, of the data elements stored in the specified vertex attribute. If there is no data currently stored in that vertex attribute, the function returns 0.
Note:
The behavior is undefined when passing an invalid index for attrib. Valid indices are:
GeoSet::VERTEX_POSITION
GeoSet::VERTEX_WEIGHTS
GeoSet::NORMAL
GeoSet::PRIMARY_COLOR
GeoSet::SECONDARY_COLOR
GeoSet::FOG_COORDINATE
GeoSet::UNUSED_1
GeoSet::UNUSED_2
GeoSet::TEXTURE_COORD_0
GeoSet::TEXTURE_COORD_1
GeoSet::TEXTURE_COORD_2
GeoSet::TEXTURE_COORD_3
GeoSet::TEXTURE_COORD_4
GeoSet::TEXTURE_COORD_5
GeoSet::TEXTURE_COORD_6
GeoSet::TEXTURE_COORD_7
The indices listed here are a contiguous set of indices and range from 0 to 15.
Parameters:
attrib Identifies the target vertex attribute.

size_t nvsg::GeoSet::getNumberOfVertexAttributeData ( size_t attrib ) const [inline]

Determine if data is available for a vertex attribute specified by attrib.

Returns:
The number of stored data elements.
Note:
The behavior is undefined when passing an invalid index for attrib. Valid indices are:
GeoSet::VERTEX_POSITION
GeoSet::VERTEX_WEIGHTS
GeoSet::NORMAL
GeoSet::PRIMARY_COLOR
GeoSet::SECONDARY_COLOR
GeoSet::FOG_COORDINATE
GeoSet::UNUSED_1
GeoSet::UNUSED_2
GeoSet::TEXTURE_COORD_0
GeoSet::TEXTURE_COORD_1
GeoSet::TEXTURE_COORD_2
GeoSet::TEXTURE_COORD_3
GeoSet::TEXTURE_COORD_4
GeoSet::TEXTURE_COORD_5
GeoSet::TEXTURE_COORD_6
GeoSet::TEXTURE_COORD_7
The indices listed here are a contiguous set of indices and range from 0 to 15.
Parameters:
attrib Identifies the target vertex attribute.

NVSG_API void nvsg::GeoSet::setVertexAttributeData | ( | size_t | attrib,
 |  | unsigned int | fdim,
 |  | const float * | fdata,
 |  | size_t | count
 | ) |

Set data for the vertex attribute specified by attrib.

The function copies fdim * count float values from the location pointed to by fdata to the vertex attribute specified by attrib. Pre-existing data of the specified vertex attribute will be entirely erased.

Note:
The behavior is undefined when passing an invalid index for attrib. Valid indices are:
GeoSet::VERTEX_POSITION
GeoSet::VERTEX_WEIGHTS
GeoSet::NORMAL
GeoSet::PRIMARY_COLOR
GeoSet::SECONDARY_COLOR
GeoSet::FOG_COORDINATE
GeoSet::UNUSED_1
GeoSet::UNUSED_2
GeoSet::TEXTURE_COORD_0
GeoSet::TEXTURE_COORD_1
GeoSet::TEXTURE_COORD_2
GeoSet::TEXTURE_COORD_3
GeoSet::TEXTURE_COORD_4
GeoSet::TEXTURE_COORD_5
GeoSet::TEXTURE_COORD_6
GeoSet::TEXTURE_COORD_7
The indices listed here are a contiguous set of indices and range from 0 to 15.
The behavior is also undefined if either fdim doesn't match the correct dimension, in terms of float, of the data pointed to by fdata, or if fdata is an invalid pointer, or if count exceeds the actual number of source data elements.
Parameters:
attrib | Identifies the target vertex attribute.
fdim | Dimension, in terms of float, of the source data elements.
fdata | Address of source data.
count | Number of source data elements.

NVSG_API void nvsg::GeoSet::setVertexAttributeData | ( | size_t | attrib,
 |  | unsigned int | fdim,
 |  | size_t | pos,
 |  | const float * | fdata,
 |  | size_t | count
 | ) |

Set data for the vertex attribute specified by attrib.

The function copies fdim * count float values from the location pointed to by fdata to the vertex attribute specified by attrib, starting at position pos of the pre-existing vertex data. Pre-existing vertex data in the range [pos, pos + count) will be replaced. Pre-existing data outside this range remains untouched.

If you specify -1 for pos or if pos specifies the number of elements currently stored for the vertex attribute specified by attrib, the data pointed to by fdata will be appended to the pre-existing vertex data.

If you not specify -1 for pos or pos neither specifies the number of elements currently stored for the specified vertex attribute nor does it specify a valid position inside the range of pre-existing data, the behaviour is undefined!

Note:
The behavior is undefined when passing an invalid index for attrib. Valid indices are:
GeoSet::VERTEX_POSITION
GeoSet::VERTEX_WEIGHTS
GeoSet::NORMAL
GeoSet::PRIMARY_COLOR
GeoSet::SECONDARY_COLOR
GeoSet::FOG_COORDINATE
GeoSet::UNUSED_1
GeoSet::UNUSED_2
GeoSet::TEXTURE_COORD_0
GeoSet::TEXTURE_COORD_1
GeoSet::TEXTURE_COORD_2
GeoSet::TEXTURE_COORD_3
GeoSet::TEXTURE_COORD_4
GeoSet::TEXTURE_COORD_5
GeoSet::TEXTURE_COORD_6
GeoSet::TEXTURE_COORD_7
The indices listed here are a contiguous set of indices and range from 0 to 15.
The behavior is also undefined if either fdim doesn't match the correct dimension, in terms of float, of the data element currently stored for the specified vertex attribute, or if fdata is an invalid pointer.
Parameters:
attrib | Identifies the target vertex attribute.
fdim | Dimension, in terms of float, of the source data element.
pos | Position in contigious memory of the vertex attribute's data set.
fdata | Address of source data.
count | Number of source data elements.

size_t nvsg::GeoSet::getNumberOfVertices ( void ) const [inline]

Get number of vertices.

Returns:
The number of vertices.
Note:
Calling this function has the same effect as calling getNumberOfVertexAttributeData(VERTEX_POSITION).

const nvmath::Vec3f * nvsg::GeoSet::getVertices ( void ) const [inline]

Get vertices.

Returns:
A pointer to the vertices.
Note:
Calling this function has the same effect as calling getVertexAttributeData(VERTEX_POSITION). The only difference is, that this function returns a const Vec3f* rather than a const float* to reflect a vertex position's dimension. One must keep this in mind when it comes to pointer arithmetics!

void nvsg::GeoSet::setVertices | ( | const nvmath::Vec3f * | verts,
 |  | size_t | count
 | ) | [inline]

Set vertices for this GeoSet.

Copies count vertices from the location pointed to by verts into this GeoSet. Pre-existing vertices will be entirely erased.

Note:
The behaviour is undefined if either verts is invalid, or if count exceeds the actual number of vertices stored at verts.
Parameters:
verts | vertices to set
count | number of vertices

void nvsg::GeoSet::setVertices | ( | size_t | pos,
 |  | const nvmath::Vec3f * | verts,
 |  | size_t | count
 | ) | [inline]

Set vertices for this GeoSet.

Copies count vertices from the location pointed to by verts into this GeoSet, starting at position pos inside the range of pre-existing vertices. Pre-existing vertices in the range [pos, pos + count) will be replaced. Pre-existing vertices outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of vertices currently stored the vertices pointed to by verts will be appended to the pre-existing vertices.

If you not specify -1 for pos or pos neither specifies the number of vertices currently stored nor does it specify a valid position inside the range of pre-existing vertices, the behaviour is undefined!

Note:
The behaviour is undefined if either verts is invalid, or if count exceeds the actual number of vertices stored at verts.
Parameters:
pos | Start position inside the range of pre-existing vertices.
verts | Start address of vertices to set.
count | Number of vertices to copy.

size_t nvsg::GeoSet::getNumberOfNormals ( void ) const [inline]

Get number of normals.

Returns:
The number of normals.
Note:
Calling this function has the same effect as calling getNumberOfVertexAttributeData(NORMAL).

const nvmath::Vec3f * nvsg::GeoSet::getNormals ( void ) const [inline]

Get normals.

Returns:
A pointer to the normals.
Note:
Calling this function has the same effect as calling getVertexAttributeData(NORMAL). The only difference is, that this function returns a const Vec3f* rather than a const float* to reflect a normal's dimension. One must keep this in mind when it comes to pointer arithmetics!

void nvsg::GeoSet::setNormals | ( | const nvmath::Vec3f * | nor,
 |  | size_t | count
 | ) | [inline]

Set normals for this GeoSet.

Copies count normals from the location pointed to by nor into this GeoSet. Pre-existing normals will be entirely erased.

Note:
The behaviour is undefined if either nor is invalid, or if count exceeds the actual number of normals stored at nor.
Parameters:
nor | Address of source normals.
count | Number of normals to set.

Reimplemented in nvsg::SkinnedTriangles.

void nvsg::GeoSet::setNormals | ( | size_t | pos,
 |  | const nvmath::Vec3f * | nor,
 |  | size_t | count
 | ) | [inline]

Set normals for this GeoSet.

Copies count normals from the location pointed to by nor into this GeoSet, starting at position pos inside the range of pre-existing normals. Pre-existing normals in the range [pos, pos + count) will be replaced. Pre-existing normals outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of normals currently stored, the normals pointed to by nor will be appended to the pre-existing normals.

If you not specify -1 for pos or pos neither specifies the number of normals currently stored nor does it specify a valid position inside the range of pre-existing normals, the behaviour is undefined!

Note:
The behaviour is undefined if either nor is invalid, or if count exceeds the actual number of normals stored at nor.
Parameters:
pos | Start position inside the range of pre-existing normals.
nor | Start address of normals to set.
count | Number of normals to copy.

Reimplemented in nvsg::SkinnedTriangles.

bool nvsg::GeoSet::hasTexCoords ( void ) const [inline]

Determine if at least one texture coordinate array has valid texture coordinates.

Returns:
true, if this GeoSet has texture coordinates, false otherwise.

size_t nvsg::GeoSet::getNumberOfTexCoords ( size_t texUnit ) const [inline]

Get number of texture coordinates in a specified texture unit.

Returns:
The number of texture coordinates in texture unit texUnit.
Note:
Calling the function has the same effect as calling getNumberOfVertexAttributeData(TEXTURE_COORD_0 + texUnit).

The behavior is undefined if texUnit specifies an invalid index. A valid index ranges from 0 to 7.

Parameters:
texUnit The zero based index of the texture unit.

const float * nvsg::GeoSet::getTexCoords ( size_t texUnit ) const [inline]

Get texture coordinates for a specified texture unit.

Returns:
A pointer to the texture coords.
Note:
Texture coordinates can be either 1, 2, 3, or 4-dimensional in terms of float. Call either getTexCoordDim(texUnit) or getVertexAttributeDataDim(TEXTURE_COORD_0 + texUnit) to determine the dimension of the texture coordinates stored in texture unit texUnit.

The behavior is undefined if texUnit specifies an invalid index. A valid index ranges from 0 to 7.

Parameters:
texUnit The zero based index of the texture unit.

unsigned int nvsg::GeoSet::getTexCoordsDim ( size_t texUnit ) const [inline]

Get the dimension of the texture coordinates stored in the specified texture unit.

The dimension of texture coordinates is meant in terms of floats. Texture coordinates can be either 1, 2, 3, or 4-dimensional.

Returns:
The dimension of the texture coordinates stored in texture unit texUnit. If there are no texture coordinates stored in that texture unit, the function returns 0.
Note:
The behavior is undefined if texUnit specifies an invalid index. A valid index ranges from 0 to 7.
Parameters:
texUnit The zero based index of the texture unit.

void nvsg::GeoSet::setTexCoords | ( | size_t | texUnit,
 |  | unsigned int | fdim,
 |  | const float * | coords,
 |  | size_t | count
 | ) | [inline]

Set the texture coordinates for a specified texture unit.

Copies count texture coordinates of dimension dim from the location pointed to by coords into the texture unit texUnit of this GeoSet.
Valid values for fdim are either 1, 2, 3, or 4. A valid index for texUnit ranges from 0 to 7.

Note:
The behavior is undefined if either texUnit specifies an invalid index, or fdim doesn't match the correct dimension, in terms of float, of the data pointed to by coords, or coords is an invalid pointer, or count exceeds the actual number of source coordinates.
Parameters:
texUnit | The zero based index of the texture unit.
fdim | Dimension of coordinates, in terms of float
coords | Address of source coordinates
count | Number of coordinates to copy

void nvsg::GeoSet::setTexCoords | ( | size_t | texUnit,
 |  | unsigned int | fdim,
 |  | size_t | pos,
 |  | const float * | coords,
 |  | size_t | count
 | ) | [inline]

Set the texture coordinates for a specified texture unit.

Copies count texture coordinates of dimension dim from the location pointed to by coords into the texture unit texUnit of this GeoSet, starting at position pos inside the range of pre-existing texture coordinates. Valid values for fdim are either 1, 2, 3, or 4. A valid index for texUnit ranges from 0 to 7.

Pre-existing coordinates in the range [pos, pos + count) will be replaced. Pre-existing coordinates outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of coordinates currently stored the coordinates pointed to by coords will be appended to the pre-existing coordinates.

If you not specify -1 for pos or pos neither specifies the number of coordinates currently stored nor does it specify a valid position inside the range of pre-existing coordinates, the behaviour is undefined!

Note:
The behavior is undefined if either texUnit specifies an invalid index, or fdim doesn't match the correct dimension, in terms of float, of the data pointed to by coords, or coords is an invalid pointer, or count exceeds the actual number of source coordinates.
Parameters:
texUnit | The zero based index of the texture unit.
fdim | Dimension of coordinates, in terms of float
pos | Start position inside the range of pre-existing texture coordinates.
coords | Address of source coordinates
count | Number of coordinates to copy

NVSG_API void nvsg::GeoSet::generateTexCoords | ( | TextureCoordType | tct,
 |  | const nvmath::Sphere3f & | sphere,
 |  | size_t | tu = 0
 | ) |

Generate texture coordinates into a texture unit.

Calculates either spherical, cylindrical, or planar two-dimensional texture coordinates into texture unit tu. The sphere can be either the bounding sphere of this GeoSet to calculate local texture coordinates or some other for non-local texture coordinates.

Parameters:
tct | type of texture coordinates to generate
sphere | bounding sphere to map coordinates to
tu | texture unit to generate the coordinates in

size_t nvsg::GeoSet::getNumberOfColors ( void ) const [inline]

Get number of colors.

Returns:
The number of colors.

const float * nvsg::GeoSet::getColors ( void ) const [inline]

Get constant pointer to colors.

Note:
It is a mistake to call getColors on a GeoSet that has no colors available. For this reason, the client code should either call hasColors or getNumberOfColors on that GeoSet to ensure that colors are available for that GeoSet.
Returns:
A constant pointer to The colors.

unsigned int nvsg::GeoSet::getColorsDim ( void ) const [inline]

Get the dimension of the colors.

The dimension of colors is conveyed in terms of floats. With this in mind, colors can be either 3-dimensional - occupying 3 floating point values per color, or 4-dimensional - occupying 4 floating point values per color.

Returns:
The dimension of the colors stored. If there are no colors stored, the function return 0.

void nvsg::GeoSet::setColors | ( | unsigned int | fdim,
 |  | const float * | cols,
 |  | size_t | count
 | ) | [inline]

Set colors for this GeoSet.

Copies count colors of dimension fdim from the location pointed to by cols to this GeoSet.
Valid values for fdim are 3 and 4.

Note:
The behavior is undefined if either fdim doesn't match the correct dimension, in terms of float, of the colors pointed to by cols, or cols is an invalid pointer, or count exceeds the actual number of source colors.
Parameters:
fdim | Dimension of colors, in terms of float
cols | Address of source colors
count | Number of colors to copy

void nvsg::GeoSet::setColors | ( | unsigned int | fdim,
 |  | size_t | pos,
 |  | const float * | cols,
 |  | size_t | count
 | ) | [inline]

Set colors for this GeoSet.

Copies count colors of dimension fdim from the location pointed to by cols to this GeoSet, starting at position pos inside the range of pre-existing colors. Valid values for fdim are 3 and 4.

Pre-existing colors in the range [pos, pos + count) will be replaced. Pre-existing colors outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of colors currently stored the colors pointed to by cols will be appended to the pre-existing colors.

If you not specify -1 for pos or pos neither specifies the number of colors currently stored nor does it specify a valid position inside the range of pre-existing colors, the behaviour is undefined!

Note:
The behavior is undefined if either fdim doesn't match the correct dimension, in terms of float, of the colors pointed to by cols, or cols is an invalid pointer, or count exceeds the actual number of source colors.
Parameters:
fdim | Dimension of colors, in terms of float
pos | Start position inside the range of pre-existing colors.
cols | Address of source colors
count | Number of colors to copy

size_t nvsg::GeoSet::getNumberOfSecondaryColors ( void ) const [inline]

Get number of secondary colors.

Returns:
The number of secondary colors.

const float * nvsg::GeoSet::getSecondaryColors ( void ) const [inline]

Get constant pointer to secondary colors.

Returns:
A pointer to the secondary colors.

unsigned int nvsg::GeoSet::getSecondaryColorsDim ( void ) const [inline]

Get the dimension of the secondary colors.

Returns:
The dimension of the secondary colors stored. If there are no secondary colors stored, the function returns 0.

void nvsg::GeoSet::setSecondaryColors | ( | unsigned int | fdim,
 |  | const float * | cols,
 |  | size_t | count
 | ) | [inline]

Set secondary colors for this GeoSet.

Copies count colors of dimension fdim from the location pointed to by cols to this GeoSet.
Valid values for fdim are 3 and 4.

Note:
The behavior is undefined if either fdim doesn't match the correct dimension, in terms of float, of the colors pointed to by cols, or if cols is an invalid pointer, or if count exceeds the actual number of source colors.
Parameters:
fdim | Dimension of colors, in terms of float.
cols | Address of source colors.
count | Number of colors to copy.

void nvsg::GeoSet::setSecondaryColors | ( | unsigned int | fdim,
 |  | size_t | pos,
 |  | const float * | cols,
 |  | size_t | count
 | ) | [inline]

Set secondary colors for this GeoSet.

Copies count colors of dimension fdim from the location pointed to by cols to this GeoSet, starting at position pos inside the range of pre-existing colors. Valid values for fdim are 3 and 4.

Pre-existing colors in the range [pos, pos + count) will be replaced. Pre-existing colors outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of colors currently stored the colors pointed to by cols will be appended to the pre-existing colors.

If you not specify -1 for pos or pos neither specifies the number of colors currently stored nor does it specify a valid position inside the range of pre-existing colors, the behaviour is undefined!

Note:
The behavior is undefined if either fdim doesn't match the correct dimension, in terms of float, of the colors pointed to by cols, or cols is an invalid pointer, or count exceeds the actual number of source colors.
Parameters:
fdim | Dimension of colors, in terms of float
pos | Start position inside the range of pre-existing colors.
cols | Address of source colors
count | Number of colors to copy

size_t nvsg::GeoSet::getNumberOfFogCoords ( void ) const [inline]

Get number of fog coordinates.

Returns:
The number of fog coordinates.

const float * nvsg::GeoSet::getFogCoords ( void ) const [inline]

Get fog coordinates.

Returns:
A pointer to the fog coordiantes.

void nvsg::GeoSet::setFogCoords | ( | const float * | coords,
 |  | size_t | count
 | ) | [inline]

Set the fog coordinates.

Copies count fog coordinates from the location pointed to by coords to this GeoSet.

Note:
The behaviour is undefined if either coords is an invalid pointer, or count exceeds the actual number of source coordinates.
Parameters:
coords | Address of source coordinates.
count | Number of coordinates to copy.

void nvsg::GeoSet::setFogCoords | ( | size_t | pos,
 |  | const float * | coords,
 |  | size_t | count
 | ) | [inline]

Set the fog coordinates.

Copies count fog coordinates from the location pointed to by coords to this GeoSet, starting at position pos inside the range of pre-existing coordinates.

Pre-existing coordinates in the range [pos, pos + count) will be replaced. Pre-existing coordinates outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of coordinates currently stored the coordinates pointed to by coords will be appended to the pre-existing coordinates.

If you not specify -1 for pos or pos neither specifies the number of coordinates currently stored nor does it specify a valid position inside the range of pre-existing coordinates, the behaviour is undefined!

Note:
The behaviour is undefined if either coords is an invalid pointer, or count exceeds the actual number of source coordinates.
Parameters:
pos | Start position inside the range of pre-existing coordinates
coords | Address of source coordinates.
count | Number of coordinates to copy.

virtual NVSG_API void nvsg::GeoSet::calculateTangentSpace | ( | size_t | tu = 0,
 |  | size_t | tg = 1,
 |  | size_t | bn = 2
 | ) | [pure virtual]

Interface for calculating tangents and binormals.

The texture coordinates out of texture unit tu are used as the parameterization for the calculation. The tangents are written to texture unit tg and the binormals to texture unit bn.

Parameters:
tu | texture unit to get parameterizing coords
tg | texture unit to write tangents to
bn | texture unit to write binormals to

Implemented in nvsg::Quads, nvsg::QuadStrips, nvsg::Triangles, and nvsg::TriStrips.

NVSG_API void nvsg::GeoSet::attachHighlightObject ( const HighlightObject * pObj = NULL ) const

Will attach pObj as Highlight object for visualization.

Pass NULL to remove any attached object.

const HighlightObject * nvsg::GeoSet::getHighlightObject ( void ) const [inline]

Get the currently attached pObj Highlight object for visualization.

Returns:
A pointer to the highlight object.

virtual NVSG_API void nvsg::GeoSet::onSetVertexAttributeData ( void ) [protected, virtual]

Vertex attribute data have been changed.

This function gets called from the framework, whenever certain vertex attribute data has been changed. Classes that derive from GeoSet may overload this function to add some necessary work after the vertex attribute data has been changed.

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

virtual NVSG_API void nvsg::GeoSet::invalidateBoundingSphere ( void ) const [protected, virtual]

Invalidate the BoundingSphere (of the parent geo node also).

Reimplemented from nvsg::Drawable.

The documentation for this class was generated from the following file:
  • GeoSet.h
Generated on Fri Jan 28 09:21:13 2005 for NVSGSDK by NVIDIA


nvgl::GLContext Class Reference

Wrapper for OpenGL functions to provide error handling, caching, and extension handling per context. More...

#include <GLContext.h>

Collaboration diagram for nvgl::GLContext:

[legend]
List of all members.

Public Attributes

GLFunctions * m_glFunctions
Pointer to OpenGL functions wrapper object.

GLenum | m_fontFaceMode

Friends

NVSG_API void | GLAccum (GLenum op, GLfloat value)
Replacement of glAccum.

NVSG_API void | GLActiveTexture (GLenum texture)
Replacement of glActiveTexture.

NVSG_API void | GLAlphaFunc (GLenum func, GLclampf ref)
Replacement of glAlphaFunc.

NVSG_API GLboolean | GLAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences)
Replacement of glAreTexturesResident.

NVSG_API void | GLArrayElement (GLint i)
Replacement of glArrayElement.

NVSG_API void | GLBegin (GLenum mode)
Replacement of glBegin.

NVSG_API void | GLBeginOcclusionQuery (GLuint id)
Replacement of glBeginOcclusionQueryNV.

NVSG_API void | GLBindBufferARB (GLenum target, GLuint id)
Replacement of glBindBufferARB.

NVSG_API void | GLBufferDataARB (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage)
Replacement of glBufferDataARB.

NVSG_API void | GLBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data)
Replacement of glBufferSubDataARB.

NVSG_API void | GLDeleteBuffersARB (GLsizei n, const GLuint *buffers)
Replacement of glDeleteBuffersARB.

NVSG_API void | GLGenBuffersARB (GLsizei n, GLuint *buffers)
Replacement of glGenBuffersARB.

NVSG_API GLvoid * | GLMapBufferARB (GLenum target, GLenum access)
Replacement of glMapBufferARB.

NVSG_API GLboolean | GLUnmapBufferARB (GLenum target)
Replacement of glUnmapBufferARB.

NVSG_API GLboolean | GLIsBufferARB (GLuint name)
Replacement of glIsBufferARB.

NVSG_API void | GLBindProgram (GLenum target, GLuint id)
Replacement of glBindProgramNV.

NVSG_API void | GLBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
Replacement of glBitmap.

NVSG_API void | GLBlendFunc (GLenum sfactor, GLenum dfactor)
Replacement of glBlendFunc.

NVSG_API void | GLBindTexture (GLenum target, GLuint texture)
Replacement of glBindTexture.

NVSG_API void | GLCallList (GLuint list)
Replacement of glCallList.

NVSG_API void | GLCallLists (GLsizei n, GLenum type, const GLvoid *lists)
Replacement of glCallLists.

NVSG_API void | GLClear (GLbitfield mask)
Replacement of glClear.

NVSG_API void | GLClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glClearAccum.

NVSG_API void | GLClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glClearColor.

NVSG_API void | GLClearDepth (GLclampd depth)
Replacement of glClearDepth.

NVSG_API void | GLClearIndex (GLfloat c)
Replacement of glClearIndex.

NVSG_API void | GLClearStencil (GLint s)
Replacement of glClearStencil.

NVSG_API void | GLClientActiveTexture (GLenum texture)
Replacement of glClientActiveTexture.

NVSG_API void | GLClipPlane (GLenum plane, const GLdouble *equation)
Replacement of glClipPlane.

NVSG_API void | GLColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glColor3b.

NVSG_API void | GLColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glColor3d.

NVSG_API void | GLColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glColor3f.

NVSG_API void | GLColor3fv (const GLfloat *v)
Replacement of glColor3fv.

NVSG_API void | GLColor3i (GLint red, GLint green, GLint blue)
Replacement of glColor3i.

NVSG_API void | GLColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glColor3s.

NVSG_API void | GLColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glColor3ub.

NVSG_API void | GLColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glColor3ui.

NVSG_API void | GLColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glColor3us.

NVSG_API void | GLColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
Replacement of glColor4b.

NVSG_API void | GLColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
Replacement of glColor4d.

NVSG_API void | GLColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glColor4f.

NVSG_API void | GLColor4i (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glColor4i.

NVSG_API void | GLColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha)
Replacement of glColor4s.

NVSG_API void | GLColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
Replacement of glColor4ub.

NVSG_API void | GLColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glColor4ui.

NVSG_API void | GLColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha)
Replacement of glColor4us.

NVSG_API void | GLColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
Replacement of glColorMask.

NVSG_API void | GLColorMaterial (GLenum face, GLenum mode)
Replacement of glColorMaterial.

NVSG_API void | GLColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glColorPointer.

NVSG_API void | GLCompressedTexImage1D (GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage1D.

NVSG_API void | GLCompressedTexImage2D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage2D.

NVSG_API void | GLCompressedTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage3D.

NVSG_API void | GLCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
Replacement of glCopyPixels.

NVSG_API void | GLCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border)
Replacement of glCopyTexImage1D.

NVSG_API void | GLCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
Replacement of glCopyTexImage2D.

NVSG_API void | GLCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
Replacement of glCopyTexSubImage1D.

NVSG_API void | GLCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.

NVSG_API void | GLCullFace (GLenum mode)
Replacement of glCullFace.

NVSG_API void | GLDeleteLists (GLuint list, GLsizei range)
Replacement of glDeleteLists.

NVSG_API void | GLDeleteOcclusionQueries (GLsizei n, const GLuint *ids)
Replacement of glDeleteOcclusionQueriesNV.

NVSG_API void | GLDeletePrograms (GLsizei n, const GLuint *ids)
Replacement of glDeleteProgramsNV.

NVSG_API void | GLDeleteQueries (GLsizei n, const GLuint *ids)
Replacement of glDeleteQueriesARB.

NVSG_API void | GLDeleteTextures (GLsizei n, const GLuint *textures)
Replacement of glDeleteTextures.

NVSG_API void | GLDepthFunc (GLenum func)
Replacement of glDepthFunc.

NVSG_API void | GLDepthMask (GLboolean flag)
Replacement of glDepthMask.

NVSG_API void | GLDepthRange (GLclampd znear, GLclampd zfar)
Replacement of glDepthRange.

NVSG_API void | GLDisable (GLenum cap)
Replacement of glDisable.

NVSG_API void | GLDisableClientState (GLenum array)
Replacement of glDisableClientState.

NVSG_API void | GLDrawArrays (GLenum mode, GLint first, GLsizei count)
Replacement of glDrawArrays.

NVSG_API void | GLDrawBuffer (GLenum mode)
Replacement of glDrawBuffer.

NVSG_API void | GLDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawElements.

NVSG_API void | GLMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
Replacement of glMultiDrawElements.

NVSG_API void | GLDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glDrawPixels.

NVSG_API void | GLDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawRangeElements.

NVSG_API void | GLEdgeFlagPointer (GLsizei stride, const GLboolean *pointer)
Replacement of glEdgeFlagPointer.

NVSG_API void | GLEdgeFlag (GLboolean flag)
Replacement of glEdgeFlag.

NVSG_API void | GLEdgeFlagv (const GLboolean *flag)
Replacement of glEdgeFlagv.

NVSG_API void | GLEnable (GLenum cap)
Replacement of glEnable.

NVSG_API void | GLEnableClientState (GLenum array)
Replacement of glEnableClientState.

NVSG_API void | GLEnd (void)
Replacement of glEnd.

NVSG_API void | GLEndList (void)
Replacement of glEndList.

NVSG_API void | GLEndOcclusionQuery (void)
Replacement of glEndOcclusionQueryNV.

NVSG_API void | GLEvalCoord1d (GLdouble u)
Replacement of glEvalCoord1d.

NVSG_API void | GLEvalCoord1f (GLfloat u)
Replacement of glEvalCoord1f.

NVSG_API void | GLEvalCoord2d (GLdouble u, GLdouble v)
Replacement of glEvalCoord2d.

NVSG_API void | GLEvalCoord2f (GLfloat u, GLfloat v)
Replacement of glEvalCoord2f.

NVSG_API void | GLEvalMesh1 (GLenum mode, GLint i1, GLint i2)
Replacement of glEvalMesh1.

NVSG_API void | GLEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
Replacement of glEvalMesh2.

NVSG_API void | GLEvalPoint1 (GLint i)
Replacement of glEvalPoint1.

NVSG_API void | GLEvalPoint2 (GLint i, GLint j)
Replacement of glEvalPoint2.

NVSG_API void | GLFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer)
Replacement of glFeedbackBuffer.

NVSG_API void | GLFinish (void)
Replacement of glFinish.

NVSG_API void | GLFlush (void)
Replacement of glFlush.

NVSG_API void | GLFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glFogCoordPointer.

NVSG_API void | GLFogf (GLenum pname, GLfloat param)
Replacement of glFogf.

NVSG_API void | GLFogfv (GLenum pname, const GLfloat *params)
Replacement of glFogfv.

NVSG_API void | GLFogi (GLenum pname, GLint param)
Replacement of glFogi.

NVSG_API void | GLFogiv (GLenum pname, const GLint *params)
Replacement of glFogiv.

NVSG_API void | GLFrontFace (GLenum mode)
Replacement of glFrontFace.

NVSG_API void | GLFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glFrustum.

NVSG_API GLuint | GLGenLists (GLsizei range)
Replacement of glGenLists.

NVSG_API void | GLGenOcclusionQueries (GLsizei n, GLuint *ids)
Replacement of glGenOcclusionQueriesNV.

NVSG_API void | GLGenPrograms (GLsizei n, GLuint *ids)
Replacement of glGenProgramsNV.

NVSG_API void | GLGenQueries (GLsizei n, GLuint *ids)
Replacement of glGenQueriesARB.

NVSG_API void | GLGenTextures (GLsizei n, GLuint *textures)
Replacement of glGenTextures.

NVSG_API void | GLGetBooleanv (GLenum pname, GLboolean *params)
Replacement of glGetBooleanv.

NVSG_API void | GLGetDoublev (GLenum pname, GLdouble *params)
Replacement of glGetDoublev.

NVSG_API void | GLGetFloatv (GLenum pname, GLfloat *params)
Replacement of glGetFloatv.

NVSG_API void | GLGetIntegerv (GLenum pname, GLint *params)
Replacement of glGetIntegerv.

NVSG_API void | GLGetClipPlane (GLenum plane, GLdouble *equation)
Replacement of glGetClipPlane.

NVSG_API void | GLGetLightfv (GLenum light, GLenum pname, GLfloat *params)
Replacement of glGetLightfv.

NVSG_API void | GLGetLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glGetLightiv.

NVSG_API void | GLGetMapdv (GLenum target, GLenum query, GLdouble *v)
Replacement of glGetMapdv.

NVSG_API void | GLGetMapfv (GLenum target, GLenum query, GLfloat *v)
Replacement of glGetMapfv.

NVSG_API void | GLGetMapiv (GLenum target, GLenum query, GLint *v)
Replacement of glGetMapiv.

NVSG_API void | GLGetMaterialfv (GLenum face, GLenum pname, GLfloat *params)
Replacement of glGetMaterialfv.

NVSG_API void | GLGetMaterialiv (GLenum face, GLenum pname, GLint *params)
Replacement of glGetMaterialiv.

NVSG_API void | GLGetOcclusionQueryuiv (GLuint id, GLenum pname, GLuint *params)
Replacement of glGetOcclusionQueryuivNV.

NVSG_API void | GLGetPixelMapfv (GLenum map, GLfloat *values)
Replacement of glGetPixelMapfv.

NVSG_API void | GLGetPixelMapuiv (GLenum map, GLuint *values)
Replacement of glGetPixelMapuiv.

NVSG_API void | GLGetPixelMapusv (GLenum map, GLushort *values)
Replacement of glGetPixelMapusv.

NVSG_API void | GLGetPointerv (GLenum pname, GLvoid **params)
Replacement of glGetPointerv.

NVSG_API void | GLGetPolygonStipple (GLubyte *mask)
Replacement of glGetPolygonStipple.

NVSG_API const GLubyte * | GLGetString (GLenum name)
Replacement of glGetString.

NVSG_API void | GLGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexEnvfv.

NVSG_API void | GLGetTexEnviv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexEnviv.

NVSG_API void | GLGetTexGendv (GLenum coord, GLenum pname, GLdouble *params)
Replacement of glGetTexGendv.

NVSG_API void | GLGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params)
Replacement of glGetTexGenfv.

NVSG_API void | GLGetTexGeniv (GLenum coord, GLenum pname, GLint *params)
Replacement of glGetTexGeniv.

NVSG_API void | GLGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glGetTexImage.

NVSG_API void | GLGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params)
Replacement of glGetTexLevelParameterfv.

NVSG_API void | GLGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params)
Replacement of glGetTexLevelParameteriv.

NVSG_API void | GLGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexParameterfv.

NVSG_API void | GLGetTexParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameteriv.

NVSG_API void | GLHint (GLenum target, GLenum mode)
Replacement of glHint.

NVSG_API void | GLIndexd (GLdouble c)
Replacement of glIndexd.

NVSG_API void | GLIndexf (GLfloat c)
Replacement of glIndexf.

NVSG_API void | GLIndexi (GLint c)
Replacement of glIndexi.

NVSG_API void | GLIndexMask (GLuint mask)
Replacement of glIndexMask.

NVSG_API void | GLIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glIndexPointer.

NVSG_API void | GLIndexs (GLshort c)
Replacement of glIndexs.

NVSG_API void | GLIndexub (GLubyte c)
Replacement of glIndexub.

NVSG_API void | GLInitNames (void)
Replacement of glInitNames.

NVSG_API void | GLInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer)
Replacement of glInterleavedArrays.

NVSG_API GLboolean | GLIsEnabled (GLenum cap)
Replacement of glIsEnabled.

NVSG_API GLboolean | GLIsList (GLuint list)
Replacement of glIsList.

NVSG_API GLboolean | GLIsOcclusionQuery (GLuint id)
Replacement of glIsOcclusionQueryNV.

NVSG_API GLboolean | GLIsProgram (GLuint id)
Replacement of glIsProgramNV.

NVSG_API GLboolean | GLIsQuery (GLuint id)
Replacement of glIsQueryARB.

NVSG_API GLboolean | GLIsTexture (GLuint texture)
Replacement of glIsTexture.

NVSG_API void | GLLightf (GLenum light, GLenum pname, GLfloat param)
Replacement of glLightf.

NVSG_API void | GLLightfv (GLenum light, GLenum pname, const GLfloat *params)
Replacement of glLightfv.

NVSG_API void | GLLighti (GLenum light, GLenum pname, GLint param)
Replacement of glLighti.

NVSG_API void | GLLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glLightiv.

NVSG_API void | GLLightModelf (GLenum pname, GLfloat param)
Replacement of glLightModelf.

NVSG_API void | GLLightModelfv (GLenum pname, const GLfloat *params)
Replacement of glLightModelfv.

NVSG_API void | GLLightModeli (GLenum pname, GLint param)
Replacement of glLightModeli.

NVSG_API void | GLLightModeliv (GLenum pname, const GLint *params)
Replacement of glLightModeliv.

NVSG_API void | GLLineStipple (GLint factor, GLushort pattern)
Replacement of glLineStipple.

NVSG_API void | GLLineWidth (GLfloat width)
Replacement of glLineWidth.

NVSG_API void | GLListBase (GLuint base)
Replacement of glListBase.

NVSG_API void | GLLoadIdentity (void)
Replacement of glLoadItentity.

NVSG_API void | GLLoadMatrixd (const GLdouble *m)
Replacement of glLoadMatrixd.

NVSG_API void | GLLoadMatrixf (const GLfloat *m)
Replacement of glLoadMatrixf.

NVSG_API void | GLLoadName (GLuint name)
Replacement of glLoadName.

NVSG_API void | GLLoadProgram (GLenum target, GLuint id, GLsizei len, const GLubyte *program)
Replacement of glLoadProgramNV.

NVSG_API void | GLLogicOp (GLenum opcode)
Replacement of glLogicOp.

NVSG_API void | GLMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
Replacement of glMap1d.

NVSG_API void | GLMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
Replacement of glMap1f.

NVSG_API void | GLMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
Replacement of glMap2d.

NVSG_API void | GLMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
Replacement of glMap2f.

NVSG_API void | GLMapGrid1d (GLint un, GLdouble u1, GLdouble u2)
Replacement of glMapGrid1d.

NVSG_API void | GLMapGrid1f (GLint un, GLfloat u1, GLfloat u2)
Replacement of glMapGrid1f.

NVSG_API void | GLMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
Replacement of glMapGrid2d.

NVSG_API void | GLMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
Replacement of glMapGrid2f.

NVSG_API void | GLMaterialf (GLenum face, GLenum pname, const GLfloat param)
Replacement of glMaterialf.

NVSG_API void | GLMaterialfv (GLenum face, GLenum pname, const GLfloat *params)
Replacement of glMaterialfv.

NVSG_API void | GLMateriali (GLenum face, GLenum pname, const GLint param)
Replacement of glMateriali.

NVSG_API void | GLMaterialiv (GLenum face, GLenum pname, const GLint *params)
Replacement of glMaterialiv.

NVSG_API void | GLMatrixMode (GLenum mode)
Replacement of glMatrixMode.

NVSG_API void | GLMultiTexCoord2f (GLenum texture, GLfloat tx, GLfloat ty)
Replacement of glMultiTexCoord2f.

NVSG_API void | GLMultMatrixd (const GLdouble *m)
Replacement of glMultMatrixd.

NVSG_API void | GLMultMatrixf (const GLfloat *m)
Replacement of glMultMatrixf.

NVSG_API void | GLNewList (GLuint list, GLenum mode)
Replacement of glNewList.

NVSG_API void | GLNormal3b (GLbyte nx, GLbyte ny, GLbyte nz)
Replacement of glNormal3b.

NVSG_API void | GLNormal3bv (const GLbyte *v)
Replacement of glNormal3bv.

NVSG_API void | GLNormal3d (GLdouble nx, GLdouble ny, GLdouble nz)
Replacement of glNormal3d.

NVSG_API void | GLNormal3dv (const GLdouble *v)
Replacement of glNormal3dv.

NVSG_API void | GLNormal3f (GLfloat nx, GLfloat ny, GLfloat nz)
Replacement of glNormal3f.

NVSG_API void | GLNormal3fv (const GLfloat *v)
Replacement of glNormal3fv.

NVSG_API void | GLNormal3i (GLint nx, GLint ny, GLint nz)
Replacement of glNormal3i.

NVSG_API void | GLNormal3iv (const GLint *v)
Replacement of glNormal3iv.

NVSG_API void | GLNormal3s (GLshort nx, GLshort ny, GLshort nz)
Replacement of glNormal3s.

NVSG_API void | GLNormal3sv (const GLshort *v)
Replacement of glNormal3sv.

NVSG_API void | GLNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glNormalPointer.

NVSG_API void | GLOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glOrtho.

NVSG_API void | GLPassThrough (GLfloat token)
Replacement of glPassThrough.

NVSG_API void | GLPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values)
Replacement of glPixelMapufv.

NVSG_API void | GLPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values)
Replacement of glPixelMapuiv.

NVSG_API void | GLPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values)
Replacement of glPixelMapusv.

NVSG_API void | GLPixelStoref (GLenum pname, GLfloat param)
Replacement of glPixelStoref.

NVSG_API void | GLPixelStorei (GLenum pname, GLint param)
Replacement of glPixelStorei.

NVSG_API void | GLPixelTransferf (GLenum pname, GLfloat param)
Replacement of glPixelTransferf.

NVSG_API void | GLPixelTransferi (GLenum pname, GLint param)
Replacement of glPixelTransferi.

NVSG_API void | GLPixelZoom (GLfloat xfactor, GLfloat yfactor)
Replacement of glPixelZoom.

NVSG_API void | GLPointSize (GLfloat size)
Replacement of glPointSize.

NVSG_API void | GLPolygonMode (GLenum face, GLenum mode)
Replacement of glPolygonMode.

NVSG_API void | GLPolygonOffset (GLfloat factor, GLfloat units)
Replacement of glPolygonOffset.

NVSG_API void | GLPolygonStipple (const GLubyte *mask)
Replacement of glPolygonStipple.

NVSG_API void | GLPopAttrib (void)
Replacement of glPopAttrib.

NVSG_API void | GLPopClientAttrib (void)
Replacement of glPopClientAttrib.

NVSG_API void | GLPopMatrix (void)
Replacement of glPopMatrix.

NVSG_API void | GLPopName (void)
Replacement of glPopName.

NVSG_API void | GLPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities)
Replacement of glPrioritizeTextures.

NVSG_API void | GLProgramNamedParameter4f (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramNamedParameter4fNV.

NVSG_API void | GLPushAttrib (GLbitfield mask)
Replacement of glPushAttrib.

NVSG_API void | GLPushClientAttrib (GLbitfield mask)
Replacement of glPushClientAttrib.

NVSG_API void | GLPushMatrix (void)
Replacement of glPushMatrix.

NVSG_API void | GLPushName (GLuint name)
Replacement of glPushName.

NVSG_API void | GLRasterPos2d (GLdouble x, GLdouble y)
Replacement of glRasterPos2d.

NVSG_API void | GLRasterPos2f (GLfloat x, GLfloat y)
Replacement of glRasterPos2f.

NVSG_API void | GLRasterPos2i (GLint x, GLint y)
Replacement of glRasterPos2i.

NVSG_API void | GLRasterPos2s (GLshort x, GLshort y)
Replacement of glRasterPos2s.

NVSG_API void | GLRasterPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glRasterPos3d.

NVSG_API void | GLRasterPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glRasterPos3f.

NVSG_API void | GLRasterPos3i (GLint x, GLint y, GLint z)
Replacement of glRasterPos3i.

NVSG_API void | GLRasterPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glRasterPos3s.

NVSG_API void | GLRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glRasterPos4d.

NVSG_API void | GLRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glRasterPos4f.

NVSG_API void | GLRasterPos4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glRasterPos4i.

NVSG_API void | GLRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glRasterPos4s.

NVSG_API void | GLReadBuffer (GLenum mode)
Replacement of glReadBuffer.

NVSG_API void | GLReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glReadPixels.

NVSG_API void | GLRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
Replacement of glRectd.

NVSG_API void | GLRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Replacement of glRectf.

NVSG_API void | GLRecti (GLint x1, GLint y1, GLint x2, GLint y2)
Replacement of glRecti.

NVSG_API void | GLRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2)
Replacement of glRects.

NVSG_API void | GLRenderMode (GLenum mode)
Replacement of glRenderMode.

NVSG_API void | GLRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
Replacement of glRotated.

NVSG_API void | GLRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
Replacement of glRotatef.

NVSG_API void | GLScaled (GLdouble x, GLdouble y, GLdouble z)
Replacement of glScaled.

NVSG_API void | GLScalef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glScalef.

NVSG_API void | GLScissor (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glScissor.

NVSG_API void | GLSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glSecondaryColorPointer.

NVSG_API void | GLSelectBuffer (GLsizei size, GLuint *buffer)
Replacement of glSelectBuffer.

NVSG_API void | GLSetWindowStereoMode (GLboolean displayMode)
Replacement of glSetWindowStereoModeNV.

NVSG_API void | GLShadeModel (GLenum mode)
Replacement of glShadeModel.

NVSG_API void | GLStencilFunc (GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFunc.

NVSG_API void | GLStencilMask (GLuint mask)
Replacement of glStencilMask.

NVSG_API void | GLStencilOp (GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOp.

NVSG_API void | GLTexCoord1d (GLdouble s)
Replacement of glTexCoord1d.

NVSG_API void | GLTexCoord1f (GLfloat s)
Replacement of glTexCoord1f.

NVSG_API void | GLTexCoord1i (GLint s)
Replacement of glTexCoord1i.

NVSG_API void | GLTexCoord1s (GLshort s)
Replacement of glTexCoord1s.

NVSG_API void | GLTexCoord2d (GLdouble s, GLdouble t)
Replacement of glTexCoord2d.

NVSG_API void | GLTexCoord2f (GLfloat s, GLfloat t)
Replacement of glTexCoord2f.

NVSG_API void | GLTexCoord2fv (const GLfloat *v)
Replacement of glTexCoord2fv.

NVSG_API void | GLTexCoord2i (GLint s, GLint t)
Replacement of glTexCoord2i.

NVSG_API void | GLTexCoord2s (GLshort s, GLshort t)
Replacement of glTexCoord2s.

NVSG_API void | GLTexCoord3d (GLdouble s, GLdouble t, GLdouble r)
Replacement of glTexCoord3d.

NVSG_API void | GLTexCoord3f (GLfloat s, GLfloat t, GLfloat r)
Replacement of glTexCoord3f.

NVSG_API void | GLTexCoord3i (GLint s, GLint t, GLint r)
Replacement of glTexCoord3i.

NVSG_API void | GLTexCoord3s (GLshort s, GLshort t, GLshort r)
Replacement of glTexCoord3s.

NVSG_API void | GLTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glTexCoord4d.

NVSG_API void | GLTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glTexCoord4f.

NVSG_API void | GLTexCoord4i (GLint s, GLint t, GLint r, GLint q)
Replacement of glTexCoord4i.

NVSG_API void | GLTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glTexCoord4s.

NVSG_API void | GLTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glTexCoordPointer.

NVSG_API void | GLTexEnvf (GLenum target, GLenum pname, GLfloat param)
Replacement of glTexEnvf.

NVSG_API void | GLTexEnvfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glTexEnvfv.

NVSG_API void | GLTexEnvi (GLenum target, GLenum pname, GLint param)
Replacement of glTexEnvi.

NVSG_API void | GLTexEnviv (GLenum target, GLenum pname, const GLint *params)
Replacement of glTexEnviv.

NVSG_API void | GLTexGend (GLenum coord, GLenum pname, GLdouble param)
Replacement of glTexGend.

NVSG_API void | GLTexGenf (GLenum coord, GLenum pname, GLfloat param)
Replacement of glTexGenf.

NVSG_API void | GLTexGenfv (GLenum coord, GLenum pname, const GLfloat *param)
Replacement of glTexGenfv.

NVSG_API void | GLTexGeni (GLenum coord, GLenum pname, GLint param)
Replacement of glTexGeni.

NVSG_API void | GLTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage1D.

NVSG_API void | GLTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage2D.

NVSG_API void | GLTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void *pixels)
Replacement of glTexImage3D.

NVSG_API void | GLTexParameterf (GLenum target, GLenum pname, GLfloat param)
Replacement of glTexParameterf.

NVSG_API void | GLTexParameteri (GLenum target, GLenum pname, GLint param)
Replacement of glTexParameteri.

NVSG_API void | GLTexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glTexParameterfv.

NVSG_API void | GLTexParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glTexParameteriv.

NVSG_API void | GLTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImate1D.

NVSG_API void | GLTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImate2D.

NVSG_API void | GLTranslated (GLdouble x, GLdouble y, GLdouble z)
Replacement of glTranslated.

NVSG_API void | GLTranslatef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glTranslatef.

NVSG_API void | GLVertex2d (GLdouble x, GLdouble y)
Replacement of glVertex2d.

NVSG_API void | GLVertex2f (GLfloat x, GLfloat y)
Replacement of glVertex2f.

NVSG_API void | GLVertex2i (GLint x, GLint y)
Replacement of glVertex2i.

NVSG_API void | GLVertex2s (GLshort x, GLshort y)
Replacement of glVertex2s.

NVSG_API void | GLVertex3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertex3d.

NVSG_API void | GLVertex3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertex3f.

NVSG_API void | GLVertex3fv (const GLfloat *v)
Replacement of glVertex3fv.

NVSG_API void | GLVertex3i (GLint x, GLint y, GLint z)
Replacement of glVertex3i.

NVSG_API void | GLVertex3s (GLshort x, GLshort y, GLshort z)
Replacement of glVertex3s.

NVSG_API void | GLVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertex4d.

NVSG_API void | GLVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertex4f.

NVSG_API void | GLVertex4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glVertex4i.

NVSG_API void | GLVertex4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertex4s.

NVSG_API void | GLVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexPointer.

NVSG_API void | GLViewport (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glViewport.

NVSG_API GLboolean | GLCgFXSetDevice ()
NVSG_API void | GLCgFXFreeDevice ()
NVSG_API void | GLAddTextureFileForLookup (const std::string &file, const nvsg::Texture *tex)
NVSG_API void | GLRemoveTextureFileFromLookup (const std::string &file)
NVSG_API const nvsg::Texture * | GLLookupTexture (const std::string &file)
NVSG_API GLint | GLGetMaxTexCoords ()
NVSG_API GLint | GLGetMaxTexUnits ()
NVSG_API GLboolean | GLIsExtensionAvailable (const std::string &extension)
Test if a given extension is available on the current context.

NVSG_API GLboolean | GLIsExtensionExported (const std::string &extension)
Test if a given extension is exported on the current context.

Detailed Description

Wrapper for OpenGL functions to provide error handling, caching, and extension handling per context.

Friends And Related Function Documentation

NVSG_API void GLAccum | ( | GLenum | op,
 |  | GLfloat | value
 | ) | [friend]

Replacement of glAccum.

This function asserts on the result before returning.

NVSG_API void GLActiveTexture ( GLenum texture ) [friend]

Replacement of glActiveTexture.

This function stores the texture to activate for subsequent texture operations.

NVSG_API void GLAlphaFunc | ( | GLenum | func,
 |  | GLclampf | ref
 | ) | [friend]

Replacement of glAlphaFunc.

This function caches the alpha function settings and asserts on the result before returning.

NVSG_API GLboolean GLAreTexturesResident | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | GLboolean * | residences
 | ) | [friend]

Replacement of glAreTexturesResident.

This function asserts on the result before returning.

NVSG_API void GLArrayElement ( GLint i ) [friend]

Replacement of glArrayElement.

This function asserts on the result before returning.

NVSG_API void GLBegin ( GLenum mode ) [friend]

Replacement of glBegin.

This function asserts on the result before returning.

NVSG_API void GLBeginOcclusionQuery ( GLuint id ) [friend]

Replacement of glBeginOcclusionQueryNV.

This function hides the extension character of glBeginOcclusionQueryNV and asserts on the result before returning.

NVSG_API void GLBindBufferARB | ( | GLenum | target,
 |  | GLuint | id
 | ) | [friend]

Replacement of glBindBufferARB.

This function hides the extension character of glBindBufferARB and asserts on the result before returning.

NVSG_API void GLBufferDataARB | ( | GLenum | target,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data,
 |  | GLenum | usage
 | ) | [friend]

Replacement of glBufferDataARB.

This function hides the extension character of glBufferDataARB and asserts on the result before returning.

NVSG_API void GLBufferSubDataARB | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data
 | ) | [friend]

Replacement of glBufferSubDataARB.

This function hides the extension character of glBufferSubDataARB and asserts on the result before returning.

NVSG_API void GLDeleteBuffersARB | ( | GLsizei | n,
 |  | const GLuint * | buffers
 | ) | [friend]

Replacement of glDeleteBuffersARB.

This function hides the extension character of glDeleteBuffersARB and asserts on the result before returning.

NVSG_API void GLGenBuffersARB | ( | GLsizei | n,
 |  | GLuint * | buffers
 | ) | [friend]

Replacement of glGenBuffersARB.

This function hides the extension character of glGenBuffersARB and asserts on the result before returning.

NVSG_API GLvoid* GLMapBufferARB | ( | GLenum | target,
 |  | GLenum | access
 | ) | [friend]

Replacement of glMapBufferARB.

This function hides the extension character of glMapBufferARB and asserts on the result before returning.

NVSG_API GLboolean GLUnmapBufferARB ( GLenum target ) [friend]

Replacement of glUnmapBufferARB.

This function hides the extension character of glUnmapBufferARB and asserts on the result before returning.

NVSG_API GLboolean GLIsBufferARB ( GLuint name ) [friend]

Replacement of glIsBufferARB.

This function tests if for the current render context, name denotes a valid vertex buffer object.

NVSG_API void GLBindProgram | ( | GLenum | target,
 |  | GLuint | id
 | ) | [friend]

Replacement of glBindProgramNV.

This function hides the extension character of glBindProgramNV and asserts on the result before returning.

NVSG_API void GLBitmap | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLfloat | xorig,
 |  | GLfloat | yorig,
 |  | GLfloat | xmove,
 |  | GLfloat | ymove,
 |  | const GLubyte * | bitmap
 | ) | [friend]

Replacement of glBitmap.

This function asserts on the result before returning.

NVSG_API void GLBlendFunc | ( | GLenum | sfactor,
 |  | GLenum | dfactor
 | ) | [friend]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

NVSG_API void GLBindTexture | ( | GLenum | target,
 |  | GLuint | texture
 | ) | [friend]

Replacement of glBindTexture.

This function activates the texture unit if necessary, calls glBindTexture and asserts on the result before returning.

NVSG_API void GLCallList ( GLuint list ) [friend]

Replacement of glCallList.

This function asserts on the result before returning.

NVSG_API void GLCallLists | ( | GLsizei | n,
 |  | GLenum | type,
 |  | const GLvoid * | lists
 | ) | [friend]

Replacement of glCallLists.

This function asserts on the result before returning.

NVSG_API void GLClear ( GLbitfield mask ) [friend]

Replacement of glClear.

This function asserts on the result before returning.

NVSG_API void GLClearAccum | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [friend]

Replacement of glClearAccum.

This function asserts on the result before returning.

NVSG_API void GLClearColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [friend]

Replacement of glClearColor.

This function caches the clear color settings and asserts on the result before returning.

NVSG_API void GLClearDepth ( GLclampd depth ) [friend]

Replacement of glClearDepth.

This function caches the clear depth setting and asserts on the result before returning.

NVSG_API void GLClearIndex ( GLfloat c ) [friend]

Replacement of glClearIndex.

This function asserts on the result before returning.

NVSG_API void GLClearStencil ( GLint s ) [friend]

Replacement of glClearStencil.

This function asserts on the result before returning.

NVSG_API void GLClientActiveTexture ( GLenum texture ) [friend]

Replacement of glClientActiveTexture.

This functions stores the next active texture unit.

NVSG_API void GLClipPlane | ( | GLenum | plane,
 |  | const GLdouble * | equation
 | ) | [friend]

Replacement of glClipPlane.

This function caches the clip plane settings and asserts on the result before returning.

NVSG_API void GLColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [friend]

Replacement of glColor3b.

This function asserts on the result before returning.

NVSG_API void GLColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [friend]

Replacement of glColor3d.

This function asserts on the result before returning.

NVSG_API void GLColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [friend]

Replacement of glColor3f.

This function asserts on the result before returning.

NVSG_API void GLColor3fv ( const GLfloat * v ) [friend]

Replacement of glColor3fv.

This function asserts on the result before returning.

NVSG_API void GLColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [friend]

Replacement of glColor3i.

This function asserts on the result before returning.

NVSG_API void GLColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [friend]

Replacement of glColor3s.

This function asserts on the result before returning.

NVSG_API void GLColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [friend]

Replacement of glColor3ub.

This function asserts on the result before returning.

NVSG_API void GLColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [friend]

Replacement of glColor3ui.

This function asserts on the result before returning.

NVSG_API void GLColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [friend]

Replacement of glColor3us.

This function asserts on the result before returning.

NVSG_API void GLColor4b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue,
 |  | GLbyte | alpha
 | ) | [friend]

Replacement of glColor4b.

This function asserts on the result before returning.

NVSG_API void GLColor4d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue,
 |  | GLdouble | alpha
 | ) | [friend]

Replacement of glColor4d.

This function asserts on the result before returning.

NVSG_API void GLColor4f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [friend]

Replacement of glColor4f.

This function asserts on the result before returning.

NVSG_API void GLColor4i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [friend]

Replacement of glColor4i.

This function asserts on the result before returning.

NVSG_API void GLColor4s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue,
 |  | GLshort | alpha
 | ) | [friend]

Replacement of glColor4s.

This function asserts on the result before returning.

NVSG_API void GLColor4ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue,
 |  | GLubyte | alpha
 | ) | [friend]

Replacement of glColor4ub.

This function asserts on the result before returning.

NVSG_API void GLColor4ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [friend]

Replacement of glColor4ui.

This function asserts on the result before returning.

NVSG_API void GLColor4us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue,
 |  | GLushort | alpha
 | ) | [friend]

Replacement of glColor4us.

This function asserts on the result before returning.

NVSG_API void GLColorMask | ( | GLboolean | red,
 |  | GLboolean | green,
 |  | GLboolean | blue,
 |  | GLboolean | alpha
 | ) | [friend]

Replacement of glColorMask.

This function asserts on the result before returning.

NVSG_API void GLColorMaterial | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glColorMaterial.

This function asserts on the result before returning.

NVSG_API void GLColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glColorPointer.

This function caches the color pointer settings and asserts on the result before returning.

NVSG_API void GLCompressedTexImage1D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [friend]

Replacement of glCompressedTexImage1D.

This function hides the extension character of glCompressedTexImage1D and asserts on the result before returning.

NVSG_API void GLCompressedTexImage2D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [friend]

Replacement of glCompressedTexImage2D.

This function hides the extension character of glCompressedTexImage2D and asserts on the result before returning.

NVSG_API void GLCompressedTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [friend]

Replacement of glCompressedTexImage3D.

This function hides the extension character of glCompressedTexImage3D and asserts on the result before returning.

NVSG_API void GLCopyPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | type
 | ) | [friend]

Replacement of glCopyPixels.

This function asserts on the result before returning.

NVSG_API void GLCopyTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalFormat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLint | border
 | ) | [friend]

Replacement of glCopyTexImage1D.

This function asserts on the result before returning.

NVSG_API void GLCopyTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalFormat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border
 | ) | [friend]

Replacement of glCopyTexImage2D.

This function asserts on the result before returning.

NVSG_API void GLCopyTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [friend]

Replacement of glCopyTexSubImage1D.

This function asserts on the result before returning.

NVSG_API void GLCopyTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glCopyTexSubImage2D.

This function asserts on the result before returning.

NVSG_API void GLCullFace ( GLenum mode ) [friend]

Replacement of glCullFace.

This function caches the cull face setting and asserts on the result before returning.

NVSG_API void GLDeleteLists | ( | GLuint | list,
 |  | GLsizei | range
 | ) | [friend]

Replacement of glDeleteLists.

This function asserts on the result before returning.

NVSG_API void GLDeleteOcclusionQueries | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [friend]

Replacement of glDeleteOcclusionQueriesNV.

This function hides the extension character of glDeleteOcclusionQueriesNV and asserts on the result before returning.

NVSG_API void GLDeletePrograms | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [friend]

Replacement of glDeleteProgramsNV.

This function hides the extension character of glDeleteProgramsNV and asserts on the result before returning.

NVSG_API void GLDeleteQueries | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [friend]

Replacement of glDeleteQueriesARB.

This function hides the extension character of glDeleteQueriesARB and asserts on the result before returning.

NVSG_API void GLDeleteTextures | ( | GLsizei | n,
 |  | const GLuint * | textures
 | ) | [friend]

Replacement of glDeleteTextures.

This function asserts on the result before returning.

NVSG_API void GLDepthFunc ( GLenum func ) [friend]

Replacement of glDepthFunc.

This function caches the depth function setting and asserts on the result before returning.

NVSG_API void GLDepthMask ( GLboolean flag ) [friend]

Replacement of glDepthMask.

This function caches the depth mask setting and asserts on the result before returning.

NVSG_API void GLDepthRange | ( | GLclampd | znear,
 |  | GLclampd | zfar
 | ) | [friend]

Replacement of glDepthRange.

This function caches the depth range settings and asserts on the result before returning.

NVSG_API void GLDisable ( GLenum cap ) [friend]

Replacement of glDisable.

This function caches the settings and asserts on the result before returning.

NVSG_API void GLDisableClientState ( GLenum array ) [friend]

Replacement of glDisableClientState.

This function caches the client state settings and asserts on the result before returning.

NVSG_API void GLDrawArrays | ( | GLenum | mode,
 |  | GLint | first,
 |  | GLsizei | count
 | ) | [friend]

Replacement of glDrawArrays.

This function asserts on the result before returning.

NVSG_API void GLDrawBuffer ( GLenum mode ) [friend]

Replacement of glDrawBuffer.

This function asserts on the result before returning.

NVSG_API void GLDrawElements | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [friend]

Replacement of glDrawElements.

This function asserts on the result before returning.

NVSG_API void GLMultiDrawElements | ( | GLenum | mode,
 |  | const GLsizei * | count,
 |  | GLenum | type,
 |  | const GLvoid ** | indices,
 |  | GLsizei | primcount
 | ) | [friend]

Replacement of glMultiDrawElements.

This function asserts on the result before returning.

NVSG_API void GLDrawPixels | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glDrawPixels.

This function asserts on the result before returning.

NVSG_API void GLDrawRangeElements | ( | GLenum | mode,
 |  | GLuint | start,
 |  | GLuint | end,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [friend]

Replacement of glDrawRangeElements.

This function asserts on the result before returning.

NVSG_API void GLEdgeFlagPointer | ( | GLsizei | stride,
 |  | const GLboolean * | pointer
 | ) | [friend]

Replacement of glEdgeFlagPointer.

This function caches the edge flag pointer setting and asserts on the result before returning.

NVSG_API void GLEdgeFlag ( GLboolean flag ) [friend]

Replacement of glEdgeFlag.

This function asserts on the result before returning.

NVSG_API void GLEdgeFlagv ( const GLboolean * flag ) [friend]

Replacement of glEdgeFlagv.

This function asserts on the result before returning.

NVSG_API void GLEnable ( GLenum cap ) [friend]

Replacement of glEnable.

This function caches the settings and asserts on the result before returning.

NVSG_API void GLEnableClientState ( GLenum array ) [friend]

Replacement of glEnableClientState.

This function caches the client state settings and asserts on the result before returning.

NVSG_API void GLEnd ( void ) [friend]

Replacement of glEnd.

This function asserts on the result before returning.

NVSG_API void GLEndList ( void ) [friend]

Replacement of glEndList.

This function asserts on the result before returning.

NVSG_API void GLEndOcclusionQuery ( void ) [friend]

Replacement of glEndOcclusionQueryNV.

This function hides the extension character of glEndOcclusionQueryNV and asserts on the result before returning.

NVSG_API void GLEvalCoord1d ( GLdouble u ) [friend]

Replacement of glEvalCoord1d.

This function asserts on the result before returning.

NVSG_API void GLEvalCoord1f ( GLfloat u ) [friend]

Replacement of glEvalCoord1f.

This function asserts on the result before returning.

NVSG_API void GLEvalCoord2d | ( | GLdouble | u,
 |  | GLdouble | v
 | ) | [friend]

Replacement of glEvalCoord2d.

This function asserts on the result before returning.

NVSG_API void GLEvalCoord2f | ( | GLfloat | u,
 |  | GLfloat | v
 | ) | [friend]

Replacement of glEvalCoord2f.

This function asserts on the result before returning.

NVSG_API void GLEvalMesh1 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2
 | ) | [friend]

Replacement of glEvalMesh1.

This function asserts on the result before returning.

NVSG_API void GLEvalMesh2 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2,
 |  | GLint | j1,
 |  | GLint | j2
 | ) | [friend]

Replacement of glEvalMesh2.

This function asserts on the result before returning.

NVSG_API void GLEvalPoint1 ( GLint i ) [friend]

Replacement of glEvalPoint1.

This function asserts on the result before returning.

NVSG_API void GLEvalPoint2 | ( | GLint | i,
 |  | GLint | j
 | ) | [friend]

Replacement of glEvalPoint2.

This function asserts on the result before returning.

NVSG_API void GLFeedbackBuffer | ( | GLsizei | size,
 |  | GLenum | type,
 |  | GLfloat * | buffer
 | ) | [friend]

Replacement of glFeedbackBuffer.

This function asserts on the result before returning.

NVSG_API void GLFinish ( void ) [friend]

Replacement of glFinish.

This function asserts on the result before returning.

NVSG_API void GLFlush ( void ) [friend]

Replacement of glFlush.

This function asserts on the result before returning.

NVSG_API void GLFogCoordPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glFogCoordPointer.

This function caches the fog coordinate pointer setting and asserts on the result before returning.

NVSG_API void GLFogf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glFogf.

This function caches the fog settings and asserts on the result before returning.

NVSG_API void GLFogfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glFogfv.

This function caches the fog settings and asserts on the result before returning.

NVSG_API void GLFogi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glFogi.

This function caches the fog settings and asserts on the result before returning.

NVSG_API void GLFogiv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glFogiv.

This function asserts on the result before returning.

NVSG_API void GLFrontFace ( GLenum mode ) [friend]

Replacement of glFrontFace.

This function caches the front face setting and asserts on the result before returning.

NVSG_API void GLFrustum | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [friend]

Replacement of glFrustum.

This function asserts on the result before returning.

NVSG_API GLuint GLGenLists ( GLsizei range ) [friend]

Replacement of glGenLists.

This function asserts on the result before returning.

NVSG_API void GLGenOcclusionQueries | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [friend]

Replacement of glGenOcclusionQueriesNV.

This function hides the extension character of glGenOcclusionQueriesNV and asserts on the result before returning.

NVSG_API void GLGenPrograms | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [friend]

Replacement of glGenProgramsNV.

This function hides the extension character of glGenProgramsNV and asserts on the result before returning.

NVSG_API void GLGenQueries | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [friend]

Replacement of glGenQueriesARB.

This function hides the extension character of glGenQueriesARB and asserts on the result before returning.

NVSG_API void GLGenTextures | ( | GLsizei | n,
 |  | GLuint * | textures
 | ) | [friend]

Replacement of glGenTextures.

This function asserts on the result before returning.

NVSG_API void GLGetBooleanv | ( | GLenum | pname,
 |  | GLboolean * | params
 | ) | [friend]

Replacement of glGetBooleanv.

This function asserts on the result before returning.

NVSG_API void GLGetDoublev | ( | GLenum | pname,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetDoublev.

This function asserts on the result before returning.

NVSG_API void GLGetFloatv | ( | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetFloatv.

This function asserts on the result before returning.

NVSG_API void GLGetIntegerv | ( | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetIntegerv.

This function asserts on the result before returning.

NVSG_API void GLGetClipPlane | ( | GLenum | plane,
 |  | GLdouble * | equation
 | ) | [friend]

Replacement of glGetClipPlane.

This function asserts on the result before returning.

NVSG_API void GLGetLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetLightfv.

This function asserts on the result before returning.

NVSG_API void GLGetLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetLightiv.

This function asserts on the result before returning.

NVSG_API void GLGetMapdv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLdouble * | v
 | ) | [friend]

Replacement of glGetMapdv.

This function asserts on the result before returning.

NVSG_API void GLGetMapfv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLfloat * | v
 | ) | [friend]

Replacement of glGetMapfv.

This function asserts on the result before returning.

NVSG_API void GLGetMapiv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLint * | v
 | ) | [friend]

Replacement of glGetMapiv.

This function asserts on the result before returning.

NVSG_API void GLGetMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetMaterialfv.

This function asserts on the result before returning.

NVSG_API void GLGetMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetMaterialiv.

This function asserts on the result before returning.

NVSG_API void GLGetOcclusionQueryuiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [friend]

Replacement of glGetOcclusionQueryuivNV.

This function hides the extension character of glGetOcclusionQueryuivNV and asserts on the result before returning.

NVSG_API void GLGetPixelMapfv | ( | GLenum | map,
 |  | GLfloat * | values
 | ) | [friend]

Replacement of glGetPixelMapfv.

This function asserts on the result before returning.

NVSG_API void GLGetPixelMapuiv | ( | GLenum | map,
 |  | GLuint * | values
 | ) | [friend]

Replacement of glGetPixelMapuiv.

This function asserts on the result before returning.

NVSG_API void GLGetPixelMapusv | ( | GLenum | map,
 |  | GLushort * | values
 | ) | [friend]

Replacement of glGetPixelMapusv.

This function asserts on the result before returning.

NVSG_API void GLGetPointerv | ( | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [friend]

Replacement of glGetPointerv.

This function asserts on the result before returning.

NVSG_API void GLGetPolygonStipple ( GLubyte * mask ) [friend]

Replacement of glGetPolygonStipple.

This function asserts on the result before returning.

NVSG_API const GLubyte* GLGetString ( GLenum name ) [friend]

Replacement of glGetString.

This function asserts on the result before returning.

NVSG_API void GLGetTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexEnvfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexEnviv.

This function asserts on the result before returning.

NVSG_API void GLGetTexGendv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetTexGendv.

This function asserts on the result before returning.

NVSG_API void GLGetTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexGenfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexGeniv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexGeniv.

This function asserts on the result before returning.

NVSG_API void GLGetTexImage | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [friend]

Replacement of glGetTexImage.

This function asserts on the result before returning.

NVSG_API void GLGetTexLevelParameterfv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexLevelParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexLevelParameteriv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexLevelParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexParameteriv.

This function asserts on the result before returning.

NVSG_API void GLHint | ( | GLenum | target,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glHint.

This function asserts on the result before returning.

NVSG_API void GLIndexd ( GLdouble c ) [friend]

Replacement of glIndexd.

This function asserts on the result before returning.

NVSG_API void GLIndexf ( GLfloat c ) [friend]

Replacement of glIndexf.

This function asserts on the result before returning.

NVSG_API void GLIndexi ( GLint c ) [friend]

Replacement of glIndexi.

This function asserts on the result before returning.

NVSG_API void GLIndexMask ( GLuint mask ) [friend]

Replacement of glIndexMask.

This function asserts on the result before returning.

NVSG_API void GLIndexPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glIndexPointer.

This function asserts on the result before returning.

NVSG_API void GLIndexs ( GLshort c ) [friend]

Replacement of glIndexs.

This function asserts on the result before returning.

NVSG_API void GLIndexub ( GLubyte c ) [friend]

Replacement of glIndexub.

This function asserts on the result before returning.

NVSG_API void GLInitNames ( void ) [friend]

Replacement of glInitNames.

This function asserts on the result before returning.

NVSG_API void GLInterleavedArrays | ( | GLenum | format,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glInterleavedArrays.

This function asserts on the result before returning.

NVSG_API GLboolean GLIsEnabled ( GLenum cap ) [friend]

Replacement of glIsEnabled.

This function returns the cached state of the queried capability.

NVSG_API GLboolean GLIsList ( GLuint list ) [friend]

Replacement of glIsList.

This function tests if for the current context, list denotes a valid display list.

NVSG_API GLboolean GLIsOcclusionQuery ( GLuint id ) [friend]

Replacement of glIsOcclusionQueryNV.

This function tests if for the current context, id denotes a valid query.

NVSG_API GLboolean GLIsProgram ( GLuint id ) [friend]

Replacement of glIsProgramNV.

This function tests if for the current context, id denotes a valid program.

NVSG_API GLboolean GLIsQuery ( GLuint id ) [friend]

Replacement of glIsQueryARB.

This function tests if for the current context, id denotes a valid query.

NVSG_API GLboolean GLIsTexture ( GLuint texture ) [friend]

Replacement of glIsTexture.

This function asserts on the result before returning.

NVSG_API void GLLightf | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glLightf.

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glLightfv.

This function caches the light settings and asserts on the result before returning.

Note:
GL_POSITION and GL_SPOT_DIRECTION are not cached, because they depend on the GL_MODELVIEW.

NVSG_API void GLLighti | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glLighti.

This function asserts on the result before returning.

NVSG_API void GLLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glLightiv.

This function asserts on the result before returning.

NVSG_API void GLLightModelf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glLightModelf.

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLightModelfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glLightModelfv.

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLightModeli | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glLightModeli.

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLightModeliv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glLightModeliv.

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLineStipple | ( | GLint | factor,
 |  | GLushort | pattern
 | ) | [friend]

Replacement of glLineStipple.

This function caches the line stipple settings and asserts on the result before returning.

NVSG_API void GLLineWidth ( GLfloat width ) [friend]

Replacement of glLineWidth.

This function caches the line width setting and asserts on the result before returning.

NVSG_API void GLListBase ( GLuint base ) [friend]

Replacement of glListBase.

This function asserts on the result before returning.

NVSG_API void GLLoadIdentity ( void ) [friend]

Replacement of glLoadItentity.

This function asserts on the result before returning.

NVSG_API void GLLoadMatrixd ( const GLdouble * m ) [friend]

Replacement of glLoadMatrixd.

This function asserts on the result before returning.

NVSG_API void GLLoadMatrixf ( const GLfloat * m ) [friend]

Replacement of glLoadMatrixf.

This function asserts on the result before returning.

NVSG_API void GLLoadName ( GLuint name ) [friend]

Replacement of glLoadName.

This function asserts on the result before returning.

NVSG_API void GLLoadProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | program
 | ) | [friend]

Replacement of glLoadProgramNV.

This function hides the extension character of glLoadProgramNV and asserts on the result before returning.

NVSG_API void GLLogicOp ( GLenum opcode ) [friend]

Replacement of glLogicOp.

This function asserts on the result before returning.

NVSG_API void GLMap1d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLdouble * | points
 | ) | [friend]

Replacement of glMap1d.

This function asserts on the result before returning.

NVSG_API void GLMap1f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLfloat * | points
 | ) | [friend]

Replacement of glMap1f.

This function asserts on the result before returning.

NVSG_API void GLMap2d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLdouble | v1,
 |  | GLdouble | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLdouble * | points
 | ) | [friend]

Replacement of glMap2d.

This function asserts on the result before returning.

NVSG_API void GLMap2f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLfloat * | points
 | ) | [friend]

Replacement of glMap2f.

This function asserts on the result before returning.

NVSG_API void GLMapGrid1d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2
 | ) | [friend]

Replacement of glMapGrid1d.

This function asserts on the result before returning.

NVSG_API void GLMapGrid1f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2
 | ) | [friend]

Replacement of glMapGrid1f.

This function asserts on the result before returning.

NVSG_API void GLMapGrid2d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | vn,
 |  | GLdouble | v1,
 |  | GLdouble | v2
 | ) | [friend]

Replacement of glMapGrid2d.

This function asserts on the result before returning.

NVSG_API void GLMapGrid2f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | vn,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [friend]

Replacement of glMapGrid2f.

This function asserts on the result before returning.

NVSG_API void GLMaterialf | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLfloat | param
 | ) | [friend]

Replacement of glMaterialf.

This function caches the material settings and asserts on the result before returning.

NVSG_API void GLMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glMaterialfv.

This function caches the material settings and asserts on the result before returning.

NVSG_API void GLMateriali | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLint | param
 | ) | [friend]

Replacement of glMateriali.

This function caches the material settings and asserts on the result before returning.

NVSG_API void GLMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glMaterialiv.

This function caches the material settings and asserts on the result before returning.

NVSG_API void GLMatrixMode ( GLenum mode ) [friend]

Replacement of glMatrixMode.

This function caches the matrix mode setting and asserts on the result before returning.

NVSG_API void GLMultiTexCoord2f | ( | GLenum | texture,
 |  | GLfloat | tx,
 |  | GLfloat | ty
 | ) | [friend]

Replacement of glMultiTexCoord2f.

This function hides the extension character of glMultiTexCoord2f and asserts on the result before returning.

NVSG_API void GLMultMatrixd ( const GLdouble * m ) [friend]

Replacement of glMultMatrixd.

This function asserts on the result before returning.

NVSG_API void GLMultMatrixf ( const GLfloat * m ) [friend]

Replacement of glMultMatrixf.

This function asserts on the result before returning.

NVSG_API void GLNewList | ( | GLuint | list,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glNewList.

This function asserts on the result before returning.

NVSG_API void GLNormal3b | ( | GLbyte | nx,
 |  | GLbyte | ny,
 |  | GLbyte | nz
 | ) | [friend]

Replacement of glNormal3b.

This function asserts on the result before returning.

NVSG_API void GLNormal3bv ( const GLbyte * v ) [friend]

Replacement of glNormal3bv.

This function asserts on the result before returning.

NVSG_API void GLNormal3d | ( | GLdouble | nx,
 |  | GLdouble | ny,
 |  | GLdouble | nz
 | ) | [friend]

Replacement of glNormal3d.

This function asserts on the result before returning.

NVSG_API void GLNormal3dv ( const GLdouble * v ) [friend]

Replacement of glNormal3dv.

This function asserts on the result before returning.

NVSG_API void GLNormal3f | ( | GLfloat | nx,
 |  | GLfloat | ny,
 |  | GLfloat | nz
 | ) | [friend]

Replacement of glNormal3f.

This function asserts on the result before returning.

NVSG_API void GLNormal3fv ( const GLfloat * v ) [friend]

Replacement of glNormal3fv.

This function asserts on the result before returning.

NVSG_API void GLNormal3i | ( | GLint | nx,
 |  | GLint | ny,
 |  | GLint | nz
 | ) | [friend]

Replacement of glNormal3i.

This function asserts on the result before returning.

NVSG_API void GLNormal3iv ( const GLint * v ) [friend]

Replacement of glNormal3iv.

This function asserts on the result before returning.

NVSG_API void GLNormal3s | ( | GLshort | nx,
 |  | GLshort | ny,
 |  | GLshort | nz
 | ) | [friend]

Replacement of glNormal3s.

This function asserts on the result before returning.

NVSG_API void GLNormal3sv ( const GLshort * v ) [friend]

Replacement of glNormal3sv.

This function asserts on the result before returning.

NVSG_API void GLNormalPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glNormalPointer.

This function caches the normal pointer setings and asserts on the result before returning.

NVSG_API void GLOrtho | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [friend]

Replacement of glOrtho.

This function asserts on the result before returning.

NVSG_API void GLPassThrough ( GLfloat token ) [friend]

Replacement of glPassThrough.

This function asserts on the result before returning.

NVSG_API void GLPixelMapfv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLfloat * | values
 | ) | [friend]

Replacement of glPixelMapufv.

This function asserts on the result before returning.

NVSG_API void GLPixelMapuiv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLuint * | values
 | ) | [friend]

Replacement of glPixelMapuiv.

This function asserts on the result before returning.

NVSG_API void GLPixelMapusv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLushort * | values
 | ) | [friend]

Replacement of glPixelMapusv.

This function asserts on the result before returning.

NVSG_API void GLPixelStoref | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glPixelStoref.

This function asserts on the result before returning.

NVSG_API void GLPixelStorei | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glPixelStorei.

This function asserts on the result before returning.

NVSG_API void GLPixelTransferf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glPixelTransferf.

This function asserts on the result before returning.

NVSG_API void GLPixelTransferi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glPixelTransferi.

This function asserts on the result before returning.

NVSG_API void GLPixelZoom | ( | GLfloat | xfactor,
 |  | GLfloat | yfactor
 | ) | [friend]

Replacement of glPixelZoom.

This function asserts on the result before returning.

NVSG_API void GLPointSize ( GLfloat size ) [friend]

Replacement of glPointSize.

This function caches the point size setting and asserts on the result before returning.

NVSG_API void GLPolygonMode | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glPolygonMode.

This function caches the polygon mode setting and asserts on the result before returning.

NVSG_API void GLPolygonOffset | ( | GLfloat | factor,
 |  | GLfloat | units
 | ) | [friend]

Replacement of glPolygonOffset.

This function caches the polygon offset settings and asserts on the result before returning.

NVSG_API void GLPolygonStipple ( const GLubyte * mask ) [friend]

Replacement of glPolygonStipple.

This function asserts on the result before returning.

NVSG_API void GLPopAttrib ( void ) [friend]

Replacement of glPopAttrib.

This function asserts on the result before returning.

NVSG_API void GLPopClientAttrib ( void ) [friend]

Replacement of glPopClientAttrib.

This function asserts on the result before returning.

NVSG_API void GLPopMatrix ( void ) [friend]

Replacement of glPopMatrix.

This function asserts on the result before returning.

NVSG_API void GLPopName ( void ) [friend]

Replacement of glPopName.

This function asserts on the result before returning.

NVSG_API void GLPrioritizeTextures | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | const GLclampf * | priorities
 | ) | [friend]

Replacement of glPrioritizeTextures.

This function asserts on the result before returning.

NVSG_API void GLProgramNamedParameter4f | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glProgramNamedParameter4fNV.

This function hides the extension character of glProgramNamedParameter4fNV and asserts on the result before returning.

NVSG_API void GLPushAttrib ( GLbitfield mask ) [friend]

Replacement of glPushAttrib.

This function asserts on the result before returning.

NVSG_API void GLPushClientAttrib ( GLbitfield mask ) [friend]

Replacement of glPushClientAttrib.

This function asserts on the result before returning.

NVSG_API void GLPushMatrix ( void ) [friend]

Replacement of glPushMatrix.

This function asserts on the result before returning.

NVSG_API void GLPushName ( GLuint name ) [friend]

Replacement of glPushName.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [friend]

Replacement of glRasterPos2d.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [friend]

Replacement of glRasterPos2f.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [friend]

Replacement of glRasterPos2i.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [friend]

Replacement of glRasterPos2s.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glRasterPos3d.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glRasterPos3f.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [friend]

Replacement of glRasterPos3i.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [friend]

Replacement of glRasterPos3s.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glRasterPos4d.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glRasterPos4f.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [friend]

Replacement of glRasterPos4i.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [friend]

Replacement of glRasterPos4s.

This function asserts on the result before returning.

NVSG_API void GLReadBuffer ( GLenum mode ) [friend]

Replacement of glReadBuffer.

This function asserts on the result before returning.

NVSG_API void GLReadPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [friend]

Replacement of glReadPixels.

This function asserts on the result before returning.

NVSG_API void GLRectd | ( | GLdouble | x1,
 |  | GLdouble | y1,
 |  | GLdouble | x2,
 |  | GLdouble | y2
 | ) | [friend]

Replacement of glRectd.

This function asserts on the result before returning.

NVSG_API void GLRectf | ( | GLfloat | x1,
 |  | GLfloat | y1,
 |  | GLfloat | x2,
 |  | GLfloat | y2
 | ) | [friend]

Replacement of glRectf.

This function asserts on the result before returning.

NVSG_API void GLRecti | ( | GLint | x1,
 |  | GLint | y1,
 |  | GLint | x2,
 |  | GLint | y2
 | ) | [friend]

Replacement of glRecti.

This function asserts on the result before returning.

NVSG_API void GLRects | ( | GLshort | x1,
 |  | GLshort | y1,
 |  | GLshort | x2,
 |  | GLshort | y2
 | ) | [friend]

Replacement of glRects.

This function asserts on the result before returning.

NVSG_API void GLRenderMode ( GLenum mode ) [friend]

Replacement of glRenderMode.

This function asserts on the result before returning.

NVSG_API void GLRotated | ( | GLdouble | angle,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glRotated.

This function asserts on the result before returning.

NVSG_API void GLRotatef | ( | GLfloat | angle,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glRotatef.

This function asserts on the result before returning.

NVSG_API void GLScaled | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glScaled.

This function asserts on the result before returning.

NVSG_API void GLScalef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glScalef.

This function asserts on the result before returning.

NVSG_API void GLScissor | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glScissor.

This function caches the scissor settings and asserts on the result before returning.

NVSG_API void GLSecondaryColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glSecondaryColorPointer.

This function caches the secondary color pointer setting and asserts on the result before returning.

NVSG_API void GLSelectBuffer | ( | GLsizei | size,
 |  | GLuint * | buffer
 | ) | [friend]

Replacement of glSelectBuffer.

This function asserts on the result before returning.

NVSG_API void GLSetWindowStereoMode ( GLboolean displayMode ) [friend]

Replacement of glSetWindowStereoModeNV.

This function hides the extension character of glSetWindowStereoModeNV and asserts on the result before returning.

NVSG_API void GLShadeModel ( GLenum mode ) [friend]

Replacement of glShadeModel.

This function caches the shade model setting and asserts on the result before returning.

NVSG_API void GLStencilFunc | ( | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [friend]

Replacement of glStencilFunc.

This function caches the stencil fuctnion setting and asserts on the result before returning.

NVSG_API void GLStencilMask ( GLuint mask ) [friend]

Replacement of glStencilMask.

This function caches the stencil mask setting and asserts on the result before returning.

NVSG_API void GLStencilOp | ( | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [friend]

Replacement of glStencilOp.

This function caches the stencil operation setting and asserts on the result before returning.

NVSG_API void GLTexCoord1d ( GLdouble s ) [friend]

Replacement of glTexCoord1d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1f ( GLfloat s ) [friend]

Replacement of glTexCoord1f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1i ( GLint s ) [friend]

Replacement of glTexCoord1i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1s ( GLshort s ) [friend]

Replacement of glTexCoord1s.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2d | ( | GLdouble | s,
 |  | GLdouble | t
 | ) | [friend]

Replacement of glTexCoord2d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2f | ( | GLfloat | s,
 |  | GLfloat | t
 | ) | [friend]

Replacement of glTexCoord2f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2fv ( const GLfloat * v ) [friend]

Replacement of glTexCoord2fv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2i | ( | GLint | s,
 |  | GLint | t
 | ) | [friend]

Replacement of glTexCoord2i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2s | ( | GLshort | s,
 |  | GLshort | t
 | ) | [friend]

Replacement of glTexCoord2s.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [friend]

Replacement of glTexCoord3d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [friend]

Replacement of glTexCoord3f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [friend]

Replacement of glTexCoord3i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [friend]

Replacement of glTexCoord3s.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [friend]

Replacement of glTexCoord4d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [friend]

Replacement of glTexCoord4f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [friend]

Replacement of glTexCoord4i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [friend]

Replacement of glTexCoord4s.

This function asserts on the result before returning.

NVSG_API void GLTexCoordPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glTexCoordPointer.

This function caches the tex coord pointer setting and asserts on the result before returning.

NVSG_API void GLTexEnvf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glTexEnvf.

This function asserts on the result before returning.

NVSG_API void GLTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glTexEnvfv.

This function asserts on the result before returning.

NVSG_API void GLTexEnvi | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glTexEnvi.

This function asserts on the result before returning.

NVSG_API void GLTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glTexEnviv.

This function asserts on the result before returning.

NVSG_API void GLTexGend | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble | param
 | ) | [friend]

Replacement of glTexGend.

This function asserts on the result before returning.

NVSG_API void GLTexGenf | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glTexGenf.

This function asserts on the result before returning.

NVSG_API void GLTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | const GLfloat * | param
 | ) | [friend]

Replacement of glTexGenfv.

This function asserts on the result before returning.

NVSG_API void GLTexGeni | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glTexGeni.

This function asserts on the result before returning.

NVSG_API void GLTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexImage1D.

This function asserts on the result before returning.

NVSG_API void GLTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexImage2D.

This function asserts on the result before returning.

NVSG_API void GLTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const void * | pixels
 | ) | [friend]

Replacement of glTexImage3D.

This function hides the extension character of glTexImage3D and asserts on the result before returning.

NVSG_API void GLTexParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glTexParameterf.

This function asserts on the result before returning.

NVSG_API void GLTexParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glTexParameteri.

This function asserts on the result before returning.

NVSG_API void GLTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glTexParameterfv.

This function asserts on the result before returning.

NVSG_API void GLTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glTexParameteriv.

This function asserts on the result before returning.

NVSG_API void GLTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexSubImate1D.

This function asserts on the result before returning.

NVSG_API void GLTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexSubImate2D.

This function asserts on the result before returning.

NVSG_API void GLTranslated | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glTranslated.

This function asserts on the result before returning.

NVSG_API void GLTranslatef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glTranslatef.

This function asserts on the result before returning.

NVSG_API void GLVertex2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [friend]

Replacement of glVertex2d.

This function asserts on the result before returning.

NVSG_API void GLVertex2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [friend]

Replacement of glVertex2f.

This function asserts on the result before returning.

NVSG_API void GLVertex2i | ( | GLint | x,
 |  | GLint | y
 | ) | [friend]

Replacement of glVertex2i.

This function asserts on the result before returning.

NVSG_API void GLVertex2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [friend]

Replacement of glVertex2s.

This function asserts on the result before returning.

NVSG_API void GLVertex3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glVertex3d.

This function asserts on the result before returning.

NVSG_API void GLVertex3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glVertex3f.

This function asserts on the result before returning.

NVSG_API void GLVertex3fv ( const GLfloat * v ) [friend]

Replacement of glVertex3fv.

This function asserts on the result before returning.

NVSG_API void GLVertex3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [friend]

Replacement of glVertex3i.

This function asserts on the result before returning.

NVSG_API void GLVertex3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [friend]

Replacement of glVertex3s.

This function asserts on the result before returning.

NVSG_API void GLVertex4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glVertex4d.

This function asserts on the result before returning.

NVSG_API void GLVertex4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glVertex4f.

This function asserts on the result before returning.

NVSG_API void GLVertex4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [friend]

Replacement of glVertex4i.

This function asserts on the result before returning.

NVSG_API void GLVertex4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [friend]

Replacement of glVertex4s.

This function asserts on the result before returning.

NVSG_API void GLVertexPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glVertexPointer.

This function caches the vertex pointer setting and asserts on the result before returning.

NVSG_API void GLViewport | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glViewport.

This function caches the viewport settings and asserts on the result before returning.

NVSG_API GLboolean GLIsExtensionAvailable ( const std::string & extension ) [friend]

Test if a given extension is available on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if all functions of extension are available, otherwise false

NVSG_API GLboolean GLIsExtensionExported ( const std::string & extension ) [friend]

Test if a given extension is exported on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if extension is exported, otherwise false

Member Data Documentation

GLFunctions* nvgl::GLContext::m_glFunctions

Pointer to OpenGL functions wrapper object.

The documentation for this class was generated from the following file:
  • GLContext.h
Generated on Fri Jan 28 09:20:48 2005 for NVSGSDK by NVIDIA


nvgl::GLFunctions Class Reference

The GLFunctions class holds the OpenGL extension function pointers. More...

#include <GLFunctions.h>

List of all members.

Public Member Functions

~GLFunctions (void)
Constructor Destructor.

bool | isAvailable (const std::string &extension) const
Test if a given extension is available on the current context.

bool | isExported (const std::string &extension) const
Test if a given extension is exported on the current context.

Detailed Description

The GLFunctions class holds the OpenGL extension function pointers.

For every OpenGL context (HGLRC) there might exist a different set of extension functions. A GLFunctions holds all function pointers of one context. If you're using the uppercase WGL prefix-functions WGLCreateContext, WGLMakeCurrent, and WGLDeleteContext (see GLCache), one GLFunctions object is maintained per OpenGL context and switched accordingly.

Constructor & Destructor Documentation

nvgl::GLFunctions::~GLFunctions ( void )

Constructor Destructor.

Member Function Documentation

bool nvgl::GLFunctions::isAvailable ( const std::string & extension ) const [inline]

Test if a given extension is available on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if all functions of extension are available, otherwise false

bool nvgl::GLFunctions::isExported ( const std::string & extension ) const [inline]

Test if a given extension is exported on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if extension is exported, otherwise c\ false

The documentation for this class was generated from the following file:
  • GLFunctions.h
Generated on Fri Jan 28 09:20:48 2005 for NVSGSDK by NVIDIA


nvgl::GLObjects Class Reference

The GLObjects class is a container of OpenGL objects. More...

#include <GLObjects.h>

List of all members.

Public Member Functions

void | addBuffers (GLsizei n, const GLuint *names)
Add VBO buffers to the set of shareable objects.

void | removeBuffers (GLsizei n, const GLuint *names)
Remove VBO buffers to the set of shareable objects.

void | addLists (GLsizei n, GLuint first)
Add display lists to the set of shareable objects.

void | removeLists (GLsizei n, GLuint first)
Remove display lists from the set of shareable objects.

void | addPrograms (GLsizei n, const GLuint *names)
Add programs to the set of shareable objects.

void | removePrograms (GLsizei n, const GLuint *names)
Remove programs from the set of shareable objects.

void | addTextures (GLsizei n, const GLuint *names)
Add textures to the set of shareable objects.

void | removeTextures (GLsizei n, const GLuint *names)
Remove textures from the set of shareable objects.

void | addOcclusionQueries (GLsizei n, const GLuint *names)
Add occlusion queries to the set of non-shareable objects.

void | removeOcclusionQueries (GLsizei n, const GLuint *names)
Remove occlusion queries from the set of non-shareable objects.

void | addQueries (GLsizei n, const GLuint *names)
Add queries to the set of non-shareable objects.

void | removeQueries (GLsizei n, const GLuint *names)
Remove queries from the set of non-shareable objects.

Friends

class | GLContext

Detailed Description

The GLObjects class is a container of OpenGL objects.

Member Function Documentation

void nvgl::GLObjects::addBuffers | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Add VBO buffers to the set of shareable objects.

void nvgl::GLObjects::removeBuffers | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Remove VBO buffers to the set of shareable objects.

void nvgl::GLObjects::addLists | ( | GLsizei | n,
 |  | GLuint | first
 | ) | [inline]

Add display lists to the set of shareable objects.

void nvgl::GLObjects::removeLists | ( | GLsizei | n,
 |  | GLuint | first
 | ) | [inline]

Remove display lists from the set of shareable objects.

void nvgl::GLObjects::addPrograms | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Add programs to the set of shareable objects.

void nvgl::GLObjects::removePrograms | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Remove programs from the set of shareable objects.

void nvgl::GLObjects::addTextures | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Add textures to the set of shareable objects.

void nvgl::GLObjects::removeTextures | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Remove textures from the set of shareable objects.

void nvgl::GLObjects::addOcclusionQueries | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Add occlusion queries to the set of non-shareable objects.

void nvgl::GLObjects::removeOcclusionQueries | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Remove occlusion queries from the set of non-shareable objects.

void nvgl::GLObjects::addQueries | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Add queries to the set of non-shareable objects.

void nvgl::GLObjects::removeQueries | ( | GLsizei | n,
 |  | const GLuint * | names
 | ) | [inline]

Remove queries from the set of non-shareable objects.

The documentation for this class was generated from the following file:
  • GLObjects.h
Generated on Fri Jan 28 09:20:48 2005 for NVSGSDK by NVIDIA


nvtraverser::GLTraverser Class Reference

RenderTraverser using OpenGL. More...

#include <GLTraverser.h>

Inheritance diagram for nvtraverser::GLTraverser:

[legend]
Collaboration diagram for nvtraverser::GLTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | GLTraverser (void)
Constructor.

virtual NVSG_API JitterTechnique | getJitterTechnique (void) const
Get the current jitter technique.

virtual NVSG_API bool | isJitterTechniqueSupported (JitterTechnique jt) const
Test on supported jitter techniques.

virtual NVSG_API bool | setJitterTechnique (JitterTechnique jt)
Set the jitter technique the render should use.

virtual NVSG_API RenderTechnique | getRenderTechnique (void) const
Get the current render technique.

virtual NVSG_API bool | isRenderTechniqueSupported (RenderTechnique rt) const
Test on supported render techhniques.

virtual NVSG_API bool | setRenderTechnique (RenderTechnique rt)
Set the render technique the render should use.

virtual NVSG_API TransparencyTechnique | getTransparencyTechnique (void) const
Get the current transparency technique.

virtual NVSG_API bool | isTransparencyTechniqueSupported (TransparencyTechnique tt) const
Test on supported transparency techhniques.

virtual NVSG_API bool | setTransparencyTechnique (TransparencyTechnique tt)
Set the transparency technique the render should use.

virtual NVSG_API OITTechnique | getOITTechnique (void) const
Get the current OIT (Order Independent Transparency) technique.

virtual NVSG_API bool | isOITTechniqueSupported (OITTechnique ot) const
Test on supported OIT techhniques.

virtual NVSG_API bool | setOITTechnique (OITTechnique ot)
Set the OIT technique the render should use.

virtual NVSG_API size_t | getOITMaxPasses (void) const
Get maximum OIT passes.

virtual NVSG_API bool | setOITMaxPasses (size_t maxPasses)
Set the number of maxumum passes to archieve the desired transparency effect.

virtual NVSG_API float | getOITThreshold (void) const
Get the current threshold.

virtual NVSG_API bool | setOITThreshold (float threshold)
Set the threshold.

virtual NVSG_API GeometryCacheTechnique | getGeometryCacheTechnique (void) const
Get the current geoemtry caching technique.

virtual NVSG_API bool | isGeometryCacheTechniqueSupported (GeometryCacheTechnique gct) const
Test on supported geometry caching techhniques.

virtual NVSG_API bool | setGeometryCacheTechnique (GeometryCacheTechnique gct)
Set the geometry caching technique the render should use.

virtual NVSG_API void | getTextureSizeLimits (size_t &width, size_t &height) const
Get the texture size limits.

virtual NVSG_API void | setTextureSizeLimits (size_t width, size_t height)
Set the texture size limits.

virtual NVSG_API void | onReleaseDAL (nvsg::HDAL hDAL)
Called from the framework immediately before the Device Abstraktion Link (DAL) becomes invalid.

Protected Member Functions

virtual NVSG_API | ~GLTraverser (void)
Destructor.

virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Initiate traversing a given scene graph.

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Routine to handle a Transform node while traversing the scene graph.

virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p)
Routine to handle a DirectedLight node while traversing the scene graph.

virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p)
Routine to handle a PointLight node while traversing the scene graph.

virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p)
Routine to handle a SpotLight node while traversing the scene graph.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Routine to handle a AnimatedQuads object while traversing the scene graph.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Routine to handle a AnimatedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Routine to handle a SkinnedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.

virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.

virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx attribute while traversing the scene graph.

virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Routine to handle a FaceAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Routine to handle a Material attribute while traversing the scene graph.

virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Routine to handle a TextureAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t tu)
Routine to handle a TextureAttributeItem object while traversing the scene graph.

virtual NVSG_API void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root)
Routine to handle a JitterCamera object while traversing the scene graph.

virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root)
Routine to handle a ParallelCamera object while traversing the scene graph.

virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root)
Routine to handle a PerspectiveCamera object while traversing the scene graph.

virtual NVSG_API void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root)
Routine to handle a StereoCamera object while traversing the scene graph.

virtual NVSG_API void | handleHighlightBox (const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet)
Routine to handle a HighlightBox object while traversing the scene graph.

virtual NVSG_API void | handleHighlightEdges (const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet)
Routine to handle a HighlightEdges object while traversing the scene graph.

virtual NVSG_API bool | preTraverseTransform (const nvsg::Transform *p)
Handles stuff to do between transform stack adjustment and traversal.

virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root)
Handles stuff to do just before the scene is traversed.

virtual NVSG_API bool | preTraverseDrawable (const nvsg::Drawable *p)
Handles stuff to do just before a Drawable is traversed.

virtual NVSG_API void | disableLightSource (const nvsg::LightSource *p)
This function is called from the RenderTraverser framework whenever a LightSource is to be disabled.

Protected Attributes

const nvsg::CgFx * | m_effect
bool | m_resetStateAttribute

Detailed Description

RenderTraverser using OpenGL.

Constructor & Destructor Documentation

NVSG_API nvtraverser::GLTraverser::GLTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::GLTraverser::~GLTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

virtual NVSG_API JitterTechnique nvtraverser::GLTraverser::getJitterTechnique ( void ) const [virtual]

Get the current jitter technique.

Returns:
The currently used technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::isJitterTechniqueSupported ( JitterTechnique jt ) const [virtual]

Test on supported jitter techniques.

Use this method to test if this special jitter technique is currently available.

Returns:
true - supported, false - not supported
Parameters:
jt Jitter technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::setJitterTechnique ( JitterTechnique jt ) [virtual]

Set the jitter technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
jt Jitter technique

Implements nvtraverser::RenderTraverser.

virtual NVSG_API RenderTechnique nvtraverser::GLTraverser::getRenderTechnique ( void ) const [virtual]

Get the current render technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::isRenderTechniqueSupported ( RenderTechnique rt ) const [virtual]

Test on supported render techhniques.

Use this technique to test if this special render technique is currently available.

Returns:
true - supported, false - not supported.
Parameters:
rt Render technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::setRenderTechnique ( RenderTechnique rt ) [virtual]

Set the render technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
rt Render technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API TransparencyTechnique nvtraverser::GLTraverser::getTransparencyTechnique ( void ) const [virtual]

Get the current transparency technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::isTransparencyTechniqueSupported ( TransparencyTechnique tt ) const [virtual]

Test on supported transparency techhniques.

Use this technique to test if this special transparency technique is currently available.

Returns:
true - supported, jalse - not supported.
Parameters:
tt Transparency technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::setTransparencyTechnique ( TransparencyTechnique tt ) [virtual]

Set the transparency technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
tt Transparency technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API OITTechnique nvtraverser::GLTraverser::getOITTechnique ( void ) const [virtual]

Get the current OIT (Order Independent Transparency) technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::isOITTechniqueSupported ( OITTechnique ot ) const [virtual]

Test on supported OIT techhniques.

Use this technique to test if this special OIT technique is currently available.

Returns:
true - supported, jalse - not supported.
Parameters:
ot OIT technique

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::setOITTechnique ( OITTechnique ot ) [virtual]

Set the OIT technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
ot OIT technique

Implements nvtraverser::RenderTraverser.

virtual NVSG_API size_t nvtraverser::GLTraverser::getOITMaxPasses ( void ) const [virtual]

Get maximum OIT passes.

Returns:
Maximum rendering passes to archive the desired effect.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::setOITMaxPasses ( size_t maxPasses ) [virtual]

Set the number of maxumum passes to archieve the desired transparency effect.

Returns:
true - everything went fine, false - not set
Parameters:
maxPasses Maximum passes to render, even when threshold is not reached.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API float nvtraverser::GLTraverser::getOITThreshold ( void ) const [virtual]

Get the current threshold.

Returns:
threshold [0,1]

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::setOITThreshold ( float threshold ) [virtual]

Set the threshold.

The thereshold tells the refinement step of the OIT algorithm if it needs another pass or if it is good enough to show the rendered result. The value lies between 0 and 1 (0%-100%). The refinement step compares the percentage of drawn pixels with the threshold and stops if it is smaller than the user defined value.

Returns:
true - everything went fine, false - not set
Parameters:
threshold Threshold [0,1]

Implements nvtraverser::RenderTraverser.

virtual NVSG_API GeometryCacheTechnique nvtraverser::GLTraverser::getGeometryCacheTechnique ( void ) const [virtual]

Get the current geoemtry caching technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::isGeometryCacheTechniqueSupported ( GeometryCacheTechnique gct ) const [virtual]

Test on supported geometry caching techhniques.

Returns:
true - supported, false - not supported.
Parameters:
gct GeometryCache technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::setGeometryCacheTechnique ( GeometryCacheTechnique gct ) [virtual]

Set the geometry caching technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
gct GeometryCache technique.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::getTextureSizeLimits | ( | size_t & | width,
 |  | size_t & | height
 | ) | const [virtual]

Get the texture size limits.

Textures are downscaled to those limits if they are larger.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::setTextureSizeLimits | ( | size_t | width,
 |  | size_t | height
 | ) | [virtual]

Set the texture size limits.

Textures are downscaled to those limits if they are larger.

Note:
Setting width or height to 0 (zero), disables the respective texture size limit.

Implements nvtraverser::RenderTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::onReleaseDAL ( nvsg::HDAL hDAL ) [virtual]

Called from the framework immediately before the Device Abstraktion Link (DAL) becomes invalid.

Called from the framework to inform creators that the DAL identified by hDAL immediately becomes invalid. This is for example the case when the object that host the DAL will be deleted.

A concrete DALDataCreator ususally overrides this function to dismiss all temporary stored handles to the DALs that creator has attached DALData to. Note that the creator must not explicitely delete the attached data! The deletetion of the attached data will be performed by the framework, immediately after this function was called.

Reimplemented from nvsg::DALDataCreator.

virtual NVSG_API void nvtraverser::GLTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Initiate traversing a given scene graph.

This overloadable function is called from the traverser's entry point apply . The base implementation first initiates the traversing of the scene's global states, if available. After that the scene itself is traversed. If an optional ViewState ViewState is passed through viewState, it is applied prior to traversing the scene.

Custom traversers may override this function in order to implement initial work to be done before traversing the scene. For derived classes to ensure proper traversing of the scene, it is recommended to always call the base implementation after the initial work has been done.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Routine to handle a Transform node while traversing the scene graph.

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Routine to handle a DirectedLight node while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Routine to handle a PointLight node while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Routine to handle a SpotLight node while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Routine to handle a AnimatedQuads object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Routine to handle a AnimatedTriangles object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Routine to handle a SkinnedTriangles object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx attribute while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Routine to handle a FaceAttribute attribute while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Routine to handle a Material attribute while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Routine to handle a TextureAttribute attribute while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleTextureAttributeItem | ( | const nvsg::TextureAttributeItem * | p,
 |  | size_t | tu
 | ) | [protected, virtual]

Routine to handle a TextureAttributeItem object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleJitterCamera | ( | const nvsg::JitterCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a JitterCamera object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleParallelCamera | ( | const nvsg::ParallelCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a ParallelCamera object while traversing the scene graph.

Reimplemented from nvtraverser::RenderTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handlePerspectiveCamera | ( | const nvsg::PerspectiveCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a PerspectiveCamera object while traversing the scene graph.

Reimplemented from nvtraverser::RenderTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleStereoCamera | ( | const nvsg::StereoCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a StereoCamera object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleHighlightBox | ( | const nvsg::HighlightBox * | p,
 |  | const nvsg::GeoSet * | geoSet
 | ) | [protected, virtual]

Routine to handle a HighlightBox object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::GLTraverser::handleHighlightEdges | ( | const nvsg::HighlightEdges * | p,
 |  | const nvsg::GeoSet * | geoSet
 | ) | [protected, virtual]

Routine to handle a HighlightEdges object while traversing the scene graph.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::preTraverseTransform ( const nvsg::Transform * p ) [protected, virtual]

Handles stuff to do between transform stack adjustment and traversal.

The model view matrix stack is already adjusted, so we can load it to the GL-engine.

Returns:
result of the base class (RenderTraverser)

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::preTraverseRoot | ( | const nvsg::SimpleCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Handles stuff to do just before the scene is traversed.

This initializes the camera related part of the transform stack (after traversal of the headlights).

Reimplemented from nvtraverser::ModelViewTraverser.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API bool nvtraverser::GLTraverser::preTraverseDrawable ( const nvsg::Drawable * p ) [protected, virtual]

Handles stuff to do just before a Drawable is traversed.

This tests, if the Drawable is to be drawn regarding the current render states.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::GLTraverser::disableLightSource ( const nvsg::LightSource * p ) [protected, virtual]

This function is called from the RenderTraverser framework whenever a LightSource is to be disabled.

Implements nvtraverser::RenderTraverser.

The documentation for this class was generated from the following file:
  • GLTraverser.h
Generated on Fri Jan 28 09:22:03 2005 for NVSGSDK by NVIDIA


nvui::GLWinRenderArea Class Reference

OpenGL render area. More...

#include <GLWinRenderArea.h>

Inheritance diagram for nvui::GLWinRenderArea:

[legend]
Collaboration diagram for nvui::GLWinRenderArea:

[legend]
List of all members.

Public Member Functions

NVSG_API | GLWinRenderArea (void)
Default constructor.

virtual NVSG_API | ~GLWinRenderArea (void)
Default destructor.

virtual NVSG_API bool | attachWindow (HWND hWnd)
Attach a window to the render area.

virtual NVSG_API bool | init (RenderArea *shareArea=NULL)
Create the render area.

virtual NVSG_API void | destroy (void)
Destroy the render area.

NVSG_API void | makeCurrent (void)
Make OpenGL context current.

virtual NVSG_API void | mouseButtonDown (UINT flags, int x, int y)
Handle mouse button down.

virtual NVSG_API void | mouseButtonUp (UINT flags, int x, int y)
Handle mouse button up.

virtual NVSG_API void | mouseMotion (int x, int y)
Handle mouse motion.

virtual NVSG_API void | setViewportSize (size_t x, size_t y)
Handle the viewport resizing.

NVSG_API bool | shareLists (GLWinRenderArea *ra)
Share the OpenGL lists.

virtual NVSG_API void | renderScene (void)
Trigger a redraw of the scene.

virtual NVSG_API void | triggerRedraw (void)

Protected Member Functions

virtual NVSG_API bool | initGL (void)
Initialize additional OpenGL features.

NVSG_API UINT | determinePixelFormat (void)
Get the Pixelformat index.

Protected Attributes

HGLRC | m_hglrc
Our OpenGL context.

HDC | m_hdc
Our device context.

Detailed Description

OpenGL render area.

This class is responsible for MS Windows specific OpenGL functionality. It sets up and destroys the OpenGL context, handles the creation, pixelformat, refresh, mouse input, etc.

Constructor & Destructor Documentation

NVSG_API nvui::GLWinRenderArea::GLWinRenderArea ( void )

Default constructor.

virtual NVSG_API nvui::GLWinRenderArea::~GLWinRenderArea ( void ) [virtual]

Default destructor.

Member Function Documentation

virtual NVSG_API bool nvui::GLWinRenderArea::attachWindow ( HWND hWnd ) [virtual]

Attach a window to the render area.

You have to create an OpenGL capable window and attach it before calling init(), or you can derive from this class to integrate the functionality.

Parameters:
hWnd The window handle of an existing window

virtual NVSG_API bool nvui::GLWinRenderArea::init ( RenderArea * shareArea = NULL ) [virtual]

Create the render area.

This method creates and initializes the render area.

Returns:
true - everything went fine
Note:
Create and attach a valid Window before calling this function.
Parameters:
shareArea Pointer to a render area with which to share display lists, textures, vertex programs, etc.

Reimplemented from nvui::RenderArea.

virtual NVSG_API void nvui::GLWinRenderArea::destroy ( void ) [virtual]

Destroy the render area.

This method destroys and cleans up the render area.

Reimplemented from nvui::RenderArea.

NVSG_API void nvui::GLWinRenderArea::makeCurrent ( void )

Make OpenGL context current.

This is a more clever way to make the context current. This method minimizes wglMakeCurrent calls.

Note:
Use only this method instead of wglMakeCurrent so we save time.

virtual NVSG_API void nvui::GLWinRenderArea::mouseButtonDown | ( | UINT | flags,
 |  | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse button down.

React on mouse button down events (for example, report it to the current camera manipulator).

Parameters:
flags | Concatenation of pressed buttons (Windows: MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
x | Current x position of the mouse
y | Current y position of the mouse

Reimplemented from nvui::RenderArea.

virtual NVSG_API void nvui::GLWinRenderArea::mouseButtonUp | ( | UINT | flags,
 |  | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse button up.

React on mouse button up events (for example, report it to the current camera manipulator.

Parameters:
flags | Concatenation of released buttons (Windows: MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
x | Current x position of the mouse
y | Current y position of the mouse

Reimplemented from nvui::RenderArea.

virtual NVSG_API void nvui::GLWinRenderArea::mouseMotion | ( | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse motion.

React on mouse motion events (for example, report it to the current camera manipulator.

Parameters:
x | Current x position of the mouse
y | Current y position of the mouse

Reimplemented from nvui::RenderArea.

virtual NVSG_API void nvui::GLWinRenderArea::setViewportSize | ( | size_t | x,
 |  | size_t | y
 | ) | [virtual]

Handle the viewport resizing.

Resize the viewport. React on parent window size changes. Report to OpenGL, to the render window, or to the camera manipulator.

Parameters:
x | Width of the viewport
y | Height of the viewport

Reimplemented from nvui::RenderArea.

NVSG_API bool nvui::GLWinRenderArea::shareLists ( GLWinRenderArea * ra )

Share the OpenGL lists.

Share display lists, textures, vertex programs, etc. with another rendering context.

Returns:
true - everything went fine

virtual NVSG_API void nvui::GLWinRenderArea::renderScene ( void ) [virtual]

Trigger a redraw of the scene.

Do the rendering of the entire scene. (app, cull, draw the whole tree) If you want to trigger this method, use TriggerRedraw() to force a redraw of the scene.

Reimplemented from nvui::RenderArea.

virtual NVSG_API void nvui::GLWinRenderArea::triggerRedraw ( void ) [virtual]

Note:
Use this method to trigger a redraw instead of calling the drawing method directly!

Reimplemented from nvui::RenderArea.

virtual NVSG_API bool nvui::GLWinRenderArea::initGL ( void ) [protected, virtual]

Initialize additional OpenGL features.

This is a handy method that is called from create. Deriving from this class simplifies the initialization of special features like HW swap locking, etc.

Returns:
true - everything went fine

NVSG_API UINT nvui::GLWinRenderArea::determinePixelFormat ( void ) [protected]

Get the Pixelformat index.

Determine the OpenGL pixelformat index with respect to the requested features, such as stereo, multisample, etc..

Returns:
Pixel format index. Error: 0

Member Data Documentation

HGLRC nvui::GLWinRenderArea::m_hglrc [protected]

Our OpenGL context.

HDC nvui::GLWinRenderArea::m_hdc [protected]

Our device context.

The documentation for this class was generated from the following file:
  • GLWinRenderArea.h
Generated on Fri Jan 28 09:22:26 2005 for NVSGSDK by NVIDIA


nvsg::Group Class Reference

Group node. More...

#include <Group.h>

Inheritance diagram for nvsg::Group:

[legend]
Collaboration diagram for nvsg::Group:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Group * | clone (void) const
Get a clone of this Group object.

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

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

NVSG_API size_t | getNumberOfChildren (void) const
Returns the number of children in this group.

NVSG_API size_t | addChild (const Node *pChild, size_t position=0xFFFFFFFF)
Add a child to this group.

NVSG_API const Node * | getChild (size_t index) const
Returns a pointer to the const child Node at position index.

NVSG_API bool | removeChild (const Node *pChild)
Remove a child from this group.

NVSG_API bool | removeChild (size_t position)
Remove the child at given position.

NVSG_API bool | replaceChild (const Node *newChild, const Node *oldChild)
Replace a child of this Group by an other.

NVSG_API bool | replaceChild (const Node *newChild, size_t position)
Replace a child of this Group by an other.

NVSG_API bool | hasChild (const Node *node) const
Check if node is a child of this group.

NVSG_API bool | getIndex (const Node *node, size_t &index) const
virtual NVSG_API bool | containsCgFx (void) const
Ask if this Group contains any CgFx attributes.

virtual NVSG_API void | invalidateCgFxContainment (void)
Invalidate the CgFx containment cache.

virtual NVSG_API bool | containsLight (void) const
Ask if this Group contains any LightSource.

virtual NVSG_API void | invalidateLightContainment (void)
Invalidate the LightSource containment cache.

virtual NVSG_API bool | containsTransparentMaterial (void) const
Ask if this Group contains any transparent Material attributes.

virtual NVSG_API void | invalidateTransparentMaterialContainment (void)
Invalidate the transparent Material containment cache.

virtual NVSG_API bool | containsTransparentTexture (void) const
Ask if this Group contains any transparent Texture.

virtual NVSG_API void | invalidateTransparentTextureContainment (void)
Invalidate the transparent Texture containment cache.

virtual NVSG_API size_t | getNumberOfFrames (void) const
Get the number of animation frames that are part of this Node.

virtual NVSG_API void | invalidateNumberOfFrames (void) const
Invalidate the number of animation frames cache.

Static Public Member Functions

NVSG_API const Group * | create (void)
Create a Group.

NVSG_API const Group * | createFromBase (const Node &rhs)
Create a Group by copying from a Node.

Protected Member Functions

NVSG_API | Group (void)
Protected constructor.

NVSG_API | Group (const Node &rhs)
Partial Constructor.

NVSG_API | Group (const Group &rhs)
Protected copy constructor.

virtual NVSG_API | ~Group (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API bool | calcBoundingSphere (void) const
Calculate the bounding sphere of this group.

void | invalidateCaches (const Node *pChild, bool insert)
Invalidate all caches of this Group, possibly depending on the added or removed Node.

Detailed Description

Group node.

A Group is a base class for grouping nodes that contain children, such as Transform or Switch - in other words, nodes that are defined relative to this node.

Constructor & Destructor Documentation

NVSG_API nvsg::Group::Group ( void ) [protected]

Protected constructor.

NVSG_API nvsg::Group::Group ( const Node & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::Group::Group ( const Group & rhs ) [protected]

Protected copy constructor.

virtual NVSG_API nvsg::Group::~Group ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const Group* nvsg::Group::create ( void ) [static]

Create a Group.

Returns:
a constant pointer to a Group.

Reimplemented in nvsg::LOD, nvsg::Switch, and nvsg::Transform.

NVSG_API const Group* nvsg::Group::createFromBase ( const Node & rhs ) [static]

Create a Group by copying from a Node.

Returns:
a constant pointer to a Group.
Parameters:
rhs Node to copy from

virtual NVSG_API const Group* nvsg::Group::clone ( void ) const [virtual]

Get a clone of this Group object.

Returns:
A constant pointer to the new created clone.

Implements nvsg::Node.

Reimplemented in nvsg::AnimatedTransform, nvsg::LOD, nvsg::Switch, and nvsg::Transform.

virtual NVSG_API bool nvsg::Group::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Node.

Reimplemented in nvsg::AnimatedTransform, nvsg::Switch, and nvsg::Transform.

virtual NVSG_API DataID nvsg::Group::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Node.

Reimplemented in nvsg::AnimatedTransform, nvsg::Switch, and nvsg::Transform.

size_t nvsg::Group::getNumberOfChildren ( void ) const [inline]

Returns the number of children in this group.

Returns:
The number of children in this group.

NVSG_API size_t nvsg::Group::addChild | ( | const Node * | pChild,
 |  | size_t | position = 0xFFFFFFFF
 | ) |

Add a child to this group.

Adds the node pChild at position position. If position is larger than the group size, the child is added to the end. By default, the child is added to the end.

Returns:
The actual position of added child
Note:
The reference count of the new child will be incremented, while the reference count of the former child will be decremented.
Parameters:
pChild | child to add to this group
position | position to put pChild in the list

const Node * nvsg::Group::getChild ( size_t index ) const [inline]

Returns a pointer to the const child Node at position index.

Returns:
A pointer to the const Node at position index.
Note:
the behaviour is undefined if called with an invalid index.
Parameters:
index Zero-based index to get child at.

NVSG_API bool nvsg::Group::removeChild ( const Node * pChild )

Remove a child from this group.

Returns:
true if the child pChild was removed, otherwise false
Note:
The reference count of the removed child will be decremented.
Parameters:
pChild child node to remove from this group

NVSG_API bool nvsg::Group::removeChild ( size_t position )

Remove the child at given position.

If the position is not valid in this group, nothing is removed.

Returns:
true on successful removal, otherwise false
Note:
The reference count of the removed child will be decremented.
Parameters:
position position of child to remove from this group

NVSG_API bool nvsg::Group::replaceChild | ( | const Node * | newChild,
 |  | const Node * | oldChild
 | ) |

Replace a child of this Group by an other.

Replaces the oldChild by the newChild, keeping the position in the Group constant. If oldChild is not a child of this Group, nothing is changed and false is returned.

Returns:
true on successful replacement, otherwise false
Parameters:
newChild | new child
oldChild | child to be replaced

NVSG_API bool nvsg::Group::replaceChild | ( | const Node * | newChild,
 |  | size_t | position
 | ) |

Replace a child of this Group by an other.

Replaces the child at index by newChild. If the index is not valid, nothing is changed and false is returned.

Returns:
true on successful replacement, otherwise false
Parameters:
newChild | new child
position | position of child to be replaced

NVSG_API bool nvsg::Group::hasChild ( const Node * node ) const

Check if node is a child of this group.

Returns:
true - The node is in this group; false - The node is not in this group.
Parameters:
node Node pointer.

NVSG_API bool nvsg::Group::getIndex | ( | const Node * | node,
 |  | size_t & | index
 | ) | const

Returns:
true - The node is a child of this group; false - The node is not a child of this group.
The result of index is not defined when the return value is false.
Note:
This method only retrieves the first appearance of the node in this group!
Parameters:
node | Node pointer.
index | Resulting index.

virtual NVSG_API bool nvsg::Group::containsCgFx ( void ) const [virtual]

Ask if this Group contains any CgFx attributes.

Returns:
true if the Group contains a child with a CgFx attribute, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::Group::invalidateCgFxContainment ( void ) [virtual]

Invalidate the CgFx containment cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::Group::containsLight ( void ) const [virtual]

Ask if this Group contains any LightSource.

Returns:
true if the Group contains a LightSource as a child, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::Group::invalidateLightContainment ( void ) [virtual]

Invalidate the LightSource containment cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::Group::containsTransparentMaterial ( void ) const [virtual]

Ask if this Group contains any transparent Material attributes.

Returns:
true if the Group contains a child with a transparent Material attribute, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::Group::invalidateTransparentMaterialContainment ( void ) [virtual]

Invalidate the transparent Material containment cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::Group::containsTransparentTexture ( void ) const [virtual]

Ask if this Group contains any transparent Texture.

Returns:
true if the Group contains a child with a transparent Texture, otherwise false.

Reimplemented from nvsg::Node.

virtual NVSG_API void nvsg::Group::invalidateTransparentTextureContainment ( void ) [virtual]

Invalidate the transparent Texture containment cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API size_t nvsg::Group::getNumberOfFrames ( void ) const [virtual]

Get the number of animation frames that are part of this Node.

Returns:
The number of animation frames of at least one child.

Reimplemented from nvsg::Node.

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API void nvsg::Group::invalidateNumberOfFrames ( void ) const [virtual]

Invalidate the number of animation frames cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented from nvsg::Node.

virtual NVSG_API bool nvsg::Group::calcBoundingSphere ( void ) const [protected, virtual]

Calculate the bounding sphere of this group.

If this group doesn't contain any real geometry (for example only light sources without a bounding sphere), it doesn't have a valid bounding sphere.

Returns:
true if the calculated bounding sphere is valid, otherwise false.

Implements nvsg::Node.

Reimplemented in nvsg::Switch, and nvsg::Transform.

void nvsg::Group::invalidateCaches | ( | const Node * | pChild,
 |  | bool | insert
 | ) | [inline, protected]

Invalidate all caches of this Group, possibly depending on the added or removed Node.

Invalidates the bounding sphere of this Group. If the CgFx containment or the LightSource containment changes by adding/removing pChild, the corresponding caches are invalidated.

Parameters:
pChild | Node that has been added or removed
insert | true, if the Node has been added, otherwise false

The documentation for this class was generated from the following file:
  • Group.h
Generated on Fri Jan 28 09:21:14 2005 for NVSGSDK by NVIDIA


nvtraverser::GroupUnifyTraverser Class Reference

Traverser that deletes unneccessary Groups. More...

#include <GroupUnifyTraverser.h>

Inheritance diagram for nvtraverser::GroupUnifyTraverser:

[legend]
Collaboration diagram for nvtraverser::GroupUnifyTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | GroupUnifyTraverser (void)
Constructor.

NVSG_API bool | getIgnoreNames (void) const
Get the 'ignore names' flag.

NVSG_API void | setIgnoreNames (bool ignore)
Set the 'ignore names' flags.

Protected Member Functions

virtual NVSG_API | ~GroupUnifyTraverser (void)
Protected destructor to prevent instantiation of a GroupUnifyTraverser on stack.

virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Routine to handle a Group while traversing the scene graph.

virtual NVSG_API void | preTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately before a Group is to be traversed.

virtual NVSG_API void | postTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately after a Group has been traversed.

Detailed Description

Traverser that deletes unneccessary Groups.

A Group is unneccessary if it holds only one child. In that case, that child replaces the group in it's parent.

Constructor & Destructor Documentation

NVSG_API nvtraverser::GroupUnifyTraverser::GroupUnifyTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::GroupUnifyTraverser::~GroupUnifyTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a GroupUnifyTraverser on stack.

Member Function Documentation

bool nvtraverser::GroupUnifyTraverser::getIgnoreNames ( void ) const [inline]

Get the 'ignore names' flag.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Returns:
true if the names will be ignored, otherwise false

void nvtraverser::GroupUnifyTraverser::setIgnoreNames ( bool ignore ) [inline]

Set the 'ignore names' flags.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Parameters:
ignore set true to ignore names on comparison

virtual NVSG_API void nvtraverser::GroupUnifyTraverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Routine to handle a Group while traversing the scene graph.

This routine records all Groups with one child.

Parameters:
p Points to the currently visited Group object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::GroupUnifyTraverser::preTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately before a Group is to be traversed.

Before traversing a Group, a list of Groups holding one child is created.

Parameters:
p Points to the Group that will be traversed immediately after this call.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::GroupUnifyTraverser::postTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately after a Group has been traversed.

After traversing a Group, children with one child are replaced by that child.

Parameters:
p Points to the Group that was traversed immediately before this call.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • GroupUnifyTraverser.h
Generated on Fri Jan 28 09:22:04 2005 for NVSGSDK by NVIDIA


nvsg::HighlightBox Class Reference

Base class for Highlighting objects that can be attached to Geosets. More...

#include <HighlightBox.h>

Inheritance diagram for nvsg::HighlightBox:

[legend]
Collaboration diagram for nvsg::HighlightBox:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const HighlightBox * | clone (void) const
Create a HighlightBox by cloning this.

virtual NVSG_API bool | isBoundingSphereValid (void) const
Ask if the bounding sphere of this HighlightBox is valid.

virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (void) const
Get the bounding sphere of this HighlightObject.

NVSG_API void | setVertices (nvmath::Vec3f *vertices)
set the vertices (edges) of the bounding box

NVSG_API const nvmath::Vec3f * | getVertices () const
return the vertices (edges) of the bounding box

NVSG_API float | getLineWidth () const
return the line width used for drawing the box

NVSG_API const nvmath::Vec3f & | getColor () const
return the line width used for drawing the box

Static Public Member Functions

NVSG_API const HighlightBox * | create (float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f))
Create a HighlightBox.

NVSG_API const HighlightBox * | createFromBase (const HighlightObject &rhs, float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f))
Create a HighlightBox by copying from a HighlightObject.

Protected Member Functions

NVSG_API | HighlightBox (float width, nvmath::Vec3f color)
Constructor with line width and color.

NVSG_API | HighlightBox (const HighlightObject &rhs, float width, nvmath::Vec3f color)
Partial Constructor.

NVSG_API | HighlightBox (const HighlightBox &rhs)
Copy Constructor.

Protected Attributes

nvmath::Vec3f | m_vertices [8]
the box's edges

float | m_lineWidth
line width used for drawing the bounding box

nvmath::Vec3f m_color
color used for drawing

nvmath::BoundingSphere m_boundingSphere
the box's bounding sphere

Detailed Description

Base class for Highlighting objects that can be attached to Geosets.

Constructor & Destructor Documentation

NVSG_API nvsg::HighlightBox::HighlightBox | ( | float | width,
 |  | nvmath::Vec3f | color
 | ) | [protected]

Constructor with line width and color.

NVSG_API nvsg::HighlightBox::HighlightBox | ( | const HighlightObject & | rhs,
 |  | float | width,
 |  | nvmath::Vec3f | color
 | ) | [protected]

Partial Constructor.

NVSG_API nvsg::HighlightBox::HighlightBox ( const HighlightBox & rhs ) [protected]

Copy Constructor.

Member Function Documentation

NVSG_API const HighlightBox* nvsg::HighlightBox::create | ( | float | width = 2.0f,
 |  | nvmath::Vec3f | color = nvmath::Vec3f(1.0f, 0.0f, 0.0f)
 | ) | [static]

Create a HighlightBox.

Returns:
a constant pointer to a HighlightBox.
Parameters:
width | default line width
color | default line color

NVSG_API const HighlightBox* nvsg::HighlightBox::createFromBase | ( | const HighlightObject & | rhs,
 |  | float | width = 2.0f,
 |  | nvmath::Vec3f | color = nvmath::Vec3f(1.0f, 0.0f, 0.0f)
 | ) | [static]

Create a HighlightBox by copying from a HighlightObject.

Returns:
a constant pointer to a HighlightBox.
Parameters:
rhs | HighlightObject to copy from
width | default line width
color | default line color

virtual NVSG_API const HighlightBox* nvsg::HighlightBox::clone ( void ) const [virtual]

Create a HighlightBox by cloning this.

Returns:
a constant pointer to a HighlightBox.

bool nvsg::HighlightBox::isBoundingSphereValid ( void ) const [inline, virtual]

Ask if the bounding sphere of this HighlightBox is valid.

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

Returns:
The valid state of the bounding sphere.

Implements nvsg::HighlightObject.

const nvmath::Sphere3f & nvsg::HighlightBox::getBoundingSphere ( void ) const [inline, virtual]

Get the bounding sphere of this HighlightObject.

The bounding sphere of a Node is a sphere that completely contains the HighlightObject.

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

Implements nvsg::HighlightObject.

NVSG_API void nvsg::HighlightBox::setVertices ( nvmath::Vec3f * vertices )

set the vertices (edges) of the bounding box

const nvmath::Vec3f * nvsg::HighlightBox::getVertices ( ) const [inline]

return the vertices (edges) of the bounding box

float nvsg::HighlightBox::getLineWidth ( ) const [inline]

return the line width used for drawing the box

const nvmath::Vec3f & nvsg::HighlightBox::getColor ( ) const [inline]

return the line width used for drawing the box

Member Data Documentation

nvmath::Vec3f nvsg::HighlightBox::m_vertices[8] [protected]

the box's edges

float nvsg::HighlightBox::m_lineWidth [protected]

line width used for drawing the bounding box

nvmath::Vec3f nvsg::HighlightBox::m_color [protected]

color used for drawing

nvmath::BoundingSphere nvsg::HighlightBox::m_boundingSphere [protected]

the box's bounding sphere

The documentation for this class was generated from the following file:
  • HighlightBox.h
Generated on Fri Jan 28 09:21:15 2005 for NVSGSDK by NVIDIA


nvsg::HighlightEdges Class Reference

Base class for Highlighting objects that can be attached to Geosets. More...

#include <HighlightEdges.h>

Inheritance diagram for nvsg::HighlightEdges:

[legend]
Collaboration diagram for nvsg::HighlightEdges:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const HighlightEdges * | clone (void) const
Create a HighlightEdges by cloning this.

virtual NVSG_API bool | isBoundingSphereValid (void) const
This object does not hold any geometry, so it's bounding sphere is not valid.

virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (void) const
Get the bounding sphere of this HighlightObject.

NVSG_API float | getLineWidth (void) const
return the line width used for drawing the box

NVSG_API const nvmath::Vec3f & | getColor (void) const
return the line width used for drawing the box

Static Public Member Functions

NVSG_API const HighlightEdges * | create (float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f))
Create a HighlightEdges.

NVSG_API const HighlightEdges * | createFromBase (const HighlightObject &rhs, float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f))
Create a HighlightEdges by copying from a HighlightObject.

Protected Member Functions

NVSG_API | HighlightEdges (float width, nvmath::Vec3f color)
Constructor with line width and color.

NVSG_API | HighlightEdges (const HighlightObject &rhs, float width, nvmath::Vec3f color)
Partial Constructor.

NVSG_API | HighlightEdges (const HighlightEdges &rhs)
Copy Constructor.

Protected Attributes

float | m_lineWidth
line width used for drawing the bounding box

nvmath::Vec3f m_color
color used for drawing

Detailed Description

Base class for Highlighting objects that can be attached to Geosets.

Constructor & Destructor Documentation

NVSG_API nvsg::HighlightEdges::HighlightEdges | ( | float | width,
 |  | nvmath::Vec3f | color
 | ) | [protected]

Constructor with line width and color.

NVSG_API nvsg::HighlightEdges::HighlightEdges | ( | const HighlightObject & | rhs,
 |  | float | width,
 |  | nvmath::Vec3f | color
 | ) | [protected]

Partial Constructor.

NVSG_API nvsg::HighlightEdges::HighlightEdges ( const HighlightEdges & rhs ) [protected]

Copy Constructor.

Member Function Documentation

NVSG_API const HighlightEdges* nvsg::HighlightEdges::create | ( | float | width = 2.0f,
 |  | nvmath::Vec3f | color = nvmath::Vec3f(1.0f, 0.0f, 0.0f)
 | ) | [static]

Create a HighlightEdges.

Returns:
a constant pointer to a HighlightEdges.
Parameters:
width | default line width
color | default line color

NVSG_API const HighlightEdges* nvsg::HighlightEdges::createFromBase | ( | const HighlightObject & | rhs,
 |  | float | width = 2.0f,
 |  | nvmath::Vec3f | color = nvmath::Vec3f(1.0f, 0.0f, 0.0f)
 | ) | [static]

Create a HighlightEdges by copying from a HighlightObject.

Returns:
a constant pointer to a HighlightBox.
Parameters:
rhs | HighlightObject to copy from
width | default line width
color | default line color

virtual NVSG_API const HighlightEdges* nvsg::HighlightEdges::clone ( void ) const [virtual]

Create a HighlightEdges by cloning this.

Returns:
a constant pointer to a HighlightEdges.

bool nvsg::HighlightEdges::isBoundingSphereValid ( void ) const [inline, virtual]

This object does not hold any geometry, so it's bounding sphere is not valid.

Returns:
false

Implements nvsg::HighlightObject.

const nvmath::Sphere3f & nvsg::HighlightEdges::getBoundingSphere ( void ) const [inline, virtual]

Get the bounding sphere of this HighlightObject.

A HighlightEdges object does not have a bounding sphere, therefor this function shouldn't be used.

Implements nvsg::HighlightObject.

float nvsg::HighlightEdges::getLineWidth ( void ) const [inline]

return the line width used for drawing the box

const nvmath::Vec3f & nvsg::HighlightEdges::getColor ( void ) const [inline]

return the line width used for drawing the box

Member Data Documentation

float nvsg::HighlightEdges::m_lineWidth [protected]

line width used for drawing the bounding box

nvmath::Vec3f nvsg::HighlightEdges::m_color [protected]

color used for drawing

The documentation for this class was generated from the following file:
  • HighlightEdges.h
Generated on Fri Jan 28 09:21:16 2005 for NVSGSDK by NVIDIA


nvsg::HighlightObject Class Reference

Base class for Highlighting objects that can be attached to Geosets. More...

#include <HighlightObject.h>

Inheritance diagram for nvsg::HighlightObject:

[legend]
Collaboration diagram for nvsg::HighlightObject:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | isBoundingSphereValid (void) const=0
Ask if the bounding sphere of this HighlightObject is valid.

virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (void) const=0
Get the bounding sphere of this HighlightObject.

virtual NVSG_API bool | isValid (void) const
Tells us whether the highlight object needs to be recalculated.

virtual NVSG_API void | invalidate (void)
Invalidate highlight geometry, so that it will be recalculated.

Protected Member Functions

NVSG_API | HighlightObject (void)
Constructor.

Protected Attributes

bool | m_invalid
set if the highlight needs to be recalculated

Detailed Description

Base class for Highlighting objects that can be attached to Geosets.

Constructor & Destructor Documentation

nvsg::HighlightObject::HighlightObject ( void ) [inline, protected]

Constructor.

Member Function Documentation

virtual NVSG_API bool nvsg::HighlightObject::isBoundingSphereValid ( void ) const [pure virtual]

Ask if the bounding sphere of this HighlightObject 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::HighlightBox, and nvsg::HighlightEdges.

virtual NVSG_API const nvmath::Sphere3f& nvsg::HighlightObject::getBoundingSphere ( void ) const [pure virtual]

Get the bounding sphere of this HighlightObject.

The bounding sphere of a Node is a sphere that completely contains the HighlightObject.

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

Implemented in nvsg::HighlightBox, and nvsg::HighlightEdges.

bool nvsg::HighlightObject::isValid ( void ) const [inline, virtual]

Tells us whether the highlight object needs to be recalculated.

Calculation is required before first rendering, and every time the associated geometry is changed.

void nvsg::HighlightObject::invalidate ( void ) [inline, virtual]

Invalidate highlight geometry, so that it will be recalculated.

Member Data Documentation

bool nvsg::HighlightObject::m_invalid [protected]

set if the highlight needs to be recalculated

The documentation for this class was generated from the following file:
  • HighlightObject.h
Generated on Fri Jan 28 09:21:17 2005 for NVSGSDK by NVIDIA


nvutil::IAllocator Class Reference

An allocator interface. More...

#include <Allocator.h>

Inheritance diagram for nvutil::IAllocator:

[legend]
List of all members.

Public Types

typedef Singleton< Allocator > | theAllocator
Convenient typedef.

Public Member Functions

IAllocator ()
Default constructor.

virtual | ~IAllocator ()
Destructor.

NVSG_API void * | operator new (size_t size)
Operator new overload.

NVSG_API void * | operator new (size_t size, void *p)
Placement operator new overload.

NVSG_API void | operator delete (void *p, size_t size)
Operator delete overload.

Detailed Description

An allocator interface.

The IAllocator interface provides overloads of the new and delete operators for heap allocation. This overloads make use of a specialized memory manager, that is highly optimized for small object allocation. For large objects, i.e. objects greater than 128 bytes, the IAllocator interface utilizes the default memory manager.

Note:
Typically a user defined class utilizes this interface through public inheritance.

Member Typedef Documentation

typedef Singleton<Allocator> nvutil::IAllocator::theAllocator

Convenient typedef.

Constructor & Destructor Documentation

nvutil::IAllocator::IAllocator ( ) [inline]

Default constructor.

Default constructs an IAllocator object.

virtual nvutil::IAllocator::~IAllocator ( ) [inline, virtual]

Destructor.

Member Function Documentation

void * nvutil::IAllocator::operator new ( size_t size ) [inline]

Operator new overload.

Allocates a memory block of size bytes from heap. Returns start address of allocated memory block.

void * nvutil::IAllocator::operator new | ( | size_t | size,
 |  | void * | p
 | ) | [inline]

Placement operator new overload.

Provides object creation at a specified memory address.

p must point to a valid block of memory, large enough to hold an object of size bytes.

Return start address of the specified memory block.

void nvutil::IAllocator::operator delete | ( | void * | p,
 |  | size_t | size
 | ) | [inline]

Operator delete overload.

Frees size bytes of memory at address p.

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


nvtraverser::IdentityToGroupTraverser Class Reference

Traverser that replaces identity transforms by groups. More...

#include <IdentityToGroupTraverser.h>

Inheritance diagram for nvtraverser::IdentityToGroupTraverser:

[legend]
Collaboration diagram for nvtraverser::IdentityToGroupTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | IdentityToGroupTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~IdentityToGroupTraverser (void)
Protected destructor to prevent instantiation of an IdentityToGroupTraverser on stack.

virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Routine to handle a AnimatedTransform object while traversing the scene graph.

virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Routine to handle a Group object while traversing the scene graph.

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Routine to handle a Transform object while traversing the scene graph.

Detailed Description

Traverser that replaces identity transforms by groups.

Identical StateSets are recognized and linked to the same one. Identical StateAttributes are recognized and linked to the same one. This way, redundant objects are removed, thereby reducing storage space as well as run time.

Constructor & Destructor Documentation

NVSG_API nvtraverser::IdentityToGroupTraverser::IdentityToGroupTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::IdentityToGroupTraverser::~IdentityToGroupTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of an IdentityToGroupTraverser on stack.

Member Function Documentation

virtual NVSG_API void nvtraverser::IdentityToGroupTraverser::handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Routine to handle a AnimatedTransform object while traversing the scene graph.

Explicitly go to Traverser::handleTransform() to prevent handling in handleTransform.

Parameters:
p points to the currently visited AnimatedTransform object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::IdentityToGroupTraverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Routine to handle a Group object while traversing the scene graph.

Replaces any Transform in it's list of children that is to be replaced by a Group.

Parameters:
p points to the currently visited Group

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::IdentityToGroupTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Routine to handle a Transform object while traversing the scene graph.

After traversing the Transform p, this handler compares it to the identity transform. If it is the identity, all it's children are moved to a Group, the pair <p,Group> are stored for handling in handleGroup.

Parameters:
p points to the currently visited Transform object.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • IdentityToGroupTraverser.h
Generated on Fri Jan 28 09:22:05 2005 for NVSGSDK by NVIDIA


nvutil::Incarnation Class Reference

This class abstracts an incarnation count. More...

#include <Incarnation.h>

List of all members.

Public Member Functions

Incarnation ()
Default constructor.

Incarnation (int incarnation)
Alternative constructor.

Incarnation & | operator= (const Incarnation &rhs)
Asignment operator.

Incarnation & | operator= (int incarnation)
Asignment operator.

bool | operator== (const Incarnation &rhs)
Comparison operator.

bool | operator!= (const Incarnation &rhs)
Comparison operator.

Incarnation & operator++ ()
Preincrement operator.

const Incarnation | operator++ (int)
Postincrement operator.

Detailed Description

This class abstracts an incarnation count.

The main feature is that the embedded counter will always be initialized to a defined value. This class also provides convenient assignment, comparison and incrementation of the embedded counter.

Constructor & Destructor Documentation

nvutil::Incarnation::Incarnation ( ) [inline]

Default constructor.

The embedded counter will be initialized to -1.

nvutil::Incarnation::Incarnation ( int incarnation ) [inline, explicit]

Alternative constructor.

The embedded counter will be initialized to incarnation.

Member Function Documentation

Incarnation & nvutil::Incarnation::operator= ( const Incarnation & rhs ) [inline]

Asignment operator.

Overrides this object's data with that of the Incarnation object referenced by rhs.

Incarnation & nvutil::Incarnation::operator= ( int incarnation ) [inline]

Asignment operator.

Overrides the value of the embedded counter with incarnation.

bool nvutil::Incarnation::operator== ( const Incarnation & rhs ) [inline]

Comparison operator.

Returns:
true if the embedded counter of the Incarnation object referenced by rhs is equal to this object's embedded counter, false otherwise.

bool nvutil::Incarnation::operator!= ( const Incarnation & rhs ) [inline]

Comparison operator.

Returns:
true if the embedded counter of the Incarnation object referenced by rhs is not equal to this object's embedded counter, false otherwise.

Incarnation & nvutil::Incarnation::operator++ ( ) [inline]

Preincrement operator.

Increments the embedded counter by one.

Returns:
This object as a l-value object.

const Incarnation nvutil::Incarnation::operator++ ( int ) [inline]

Postincrement operator.

Increments the embedded counter by one.

Returns:
A const Incarnation object of which the embedded counter's value is equal to the value, the embedded counter of this object had immediately prior to the call to this operator.

The documentation for this class was generated from the following file:
  • Incarnation.h
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


indexSet_t Struct Reference

The indexSet_t structure specifies how an index set is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numIndices
Specifies the number of indices in the actual index set.

uint_t indices

Detailed Description

The indexSet_t structure specifies how an index set is stored in a .NBF file.

Index sets, in this context, need to be considered in conjunction with NBFStrips objects.

Member Data Documentation

uint_t indexSet_t::numIndices

Specifies the number of indices in the actual index set.

uint_t indexSet_t::indices

Specifies the file offset to the indices. As specified by the NBF format, < a index is a 32-bit unsigned integer value.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Templatenvsg::InterpolatedAnimation< T > class Reference

nvsg::InterpolatedAnimation< T > Class Template Reference

Base class for an interpolating Animation. More...

#include <InterpolatedAnimation.h>

Inheritance diagram for nvsg::InterpolatedAnimation< T >:

[legend]
Collaboration diagram for nvsg::InterpolatedAnimation< T >:

[legend]
List of all members.

Public Member Functions

virtual size_t | getNumberOfFrames (void) const
Get the number of frames in the animation.

size_t | getNumberOfKeys (void) const
Get the number of key frames in the animation.

void | setNumberOfKeys (size_t count)
Set the number of key frames in the animation.

void | setKeyFrame (size_t key, unsigned int frame, const T &value)
Set the frame and value of key key.

unsigned int | getCurrentFrame (void) const
Get the index of the current frame.

const T & | getCurrentValue (void) const
Get the value at the current frame.

unsigned int | getFrame (size_t key) const
Get the index of key frame key.

const T & | getValue (size_t key) const
Get the value on key key.

size_t | getKey (unsigned int frame) const
Get the key above or equal to frame frame.

Protected Member Functions

InterpolatedAnimation (void)
Default Constructor.

InterpolatedAnimation (const InterpolatedAnimation &rhs)
Copy Constructor.

virtual | ~InterpolatedAnimation (void)
Protected destructor to prevent explicit creation on stack.

void | setCurrent (size_t key) const
Set the current frame and value on key.

void | setCurrent (unsigned int frame, const T &value) const
Set the current frame and value.

Detailed Description

template<typename T>
class nvsg::InterpolatedAnimation< T >

Base class for an interpolating Animation.

An InterpolatedAnimation holds the information for a key-frame based animation. It provides the interface needed for an interpolated animation, but does not perform any interpolations. Interpolations must be performed by a class that is derived from this, such as LinearInterpolatedAnimation.

Constructor & Destructor Documentation

template<typename T>
nvsg::InterpolatedAnimation< T >::InterpolatedAnimation ( void ) [inline, protected]

Default Constructor.

template<typename T>
nvsg::InterpolatedAnimation< T >::InterpolatedAnimation ( const InterpolatedAnimation< T > & rhs ) [inline, protected]

Copy Constructor.

Parameters:
rhs InterpolatedAnimation to copy

template<typename T>
nvsg::InterpolatedAnimation< T >::~InterpolatedAnimation ( void ) [inline, protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

template<typename T>
size_t nvsg::InterpolatedAnimation< T >::getNumberOfFrames ( void ) const [inline, virtual]

Get the number of frames in the animation.

Returns:
number of animation frames

Implements nvsg::Animation< T >.

template<typename T>
size_t nvsg::InterpolatedAnimation< T >::getNumberOfKeys ( void ) const [inline]

Get the number of key frames in the animation.

Returns:
The number of animation key frames

template<typename T>
void nvsg::InterpolatedAnimation< T >::setNumberOfKeys ( size_t count ) [inline]

Set the number of key frames in the animation.

Resizes the array of key animation values. On growing this array, the new elements are not initialized.

Parameters:
count number of keys

template<typename T>
void nvsg::InterpolatedAnimation< T >::setKeyFrame | ( | size_t | key,
 |  | unsigned int | frame,
 |  | const T & | value
 | ) | [inline]

Set the frame and value of key key.

Note:
There is no non-constant operator[] for an InterpolatedAnimation!
Parameters:
key | index of the key frame to set (not the frame index!)
frame | frame index to set
value | frame value to set

template<typename T>
unsigned int nvsg::InterpolatedAnimation< T >::getCurrentFrame ( void ) const [inline]

Get the index of the current frame.

Returns:
The index of the current frame.

template<typename T>
const T & nvsg::InterpolatedAnimation< T >::getCurrentValue ( void ) const [inline]

Get the value at the current frame.

Returns:
The value of the current frame.

template<typename T>
unsigned int nvsg::InterpolatedAnimation< T >::getFrame ( size_t key ) const [inline]

Get the index of key frame key.

Returns:
The frame index at the key th keyframe.

template<typename T>
const T & nvsg::InterpolatedAnimation< T >::getValue ( size_t key ) const [inline]

Get the value on key key.

Returns:
The frame value at the key th keyframe.

template<typename T>
size_t nvsg::InterpolatedAnimation< T >::getKey ( unsigned int frame ) const [inline]

Get the key above or equal to frame frame.

Returns:
The key index above or equal to the frame index frame.

template<typename T>
void nvsg::InterpolatedAnimation< T >::setCurrent ( size_t key ) const [inline, protected]

Set the current frame and value on key.

template<typename T>
void nvsg::InterpolatedAnimation< T >::setCurrent | ( | unsigned int | frame,
 |  | const T & | value
 | ) | const [inline, protected]

Set the current frame and value.

The documentation for this class was generated from the following file:
  • InterpolatedAnimation.h
Generated on Fri Jan 28 09:21:18 2005 for NVSGSDK by NVIDIA


nvtraverser::Intersection Class Reference

Intersection class. More...

#include <RayIntersectTraverser.h>

Collaboration diagram for nvtraverser::Intersection:

[legend]
List of all members.

Public Member Functions

NVSG_API | Intersection (const nvsg::Path *pPath, const nvsg::Drawable *pDrawable, const nvmath::Vec3f &isp, const float &dist)
Contructor.

NVSG_API | Intersection (const Intersection &rhs)
Copy constructor.

virtual NVSG_API | ~Intersection (void)
Default destructor.

NVSG_API Intersection & | operator= (const Intersection &rhs)
Assignment operator.

NVSG_API const nvsg::Path * | getPath () const
Get the Path to the intersected drawable.

NVSG_API const nvsg::Drawable * | getDrawable () const
Get the intersected drawable.

NVSG_API const nvmath::Vec3f & | getIsp () const
Get the intersection point on the intersected drawable.

NVSG_API const float & | getDist () const
Get the distance from the ray origin to the intersection point.

Protected Member Functions

NVSG_API | Intersection (void)
Default contructor.

NVSG_API void | clone (const Intersection &rhs)
Clone the whole object.

Protected Attributes

const nvsg::Drawable * | m_pDrawable
Intersected drawable.

const nvsg::Path * | m_pPath
Path to the intersected drawable.

nvmath::Vec3f m_isp
Intersection point on the intersected drawable.

float | m_dist
Distance from the ray origin to the intersection point.

Detailed Description

Intersection class.

This class is used to store intersection results generated by the RayIntersectTraverser. It should only be used with classes derived from RayIntersectTraveser because some information like the distance makes sense only when knowing the ray data.

Constructor & Destructor Documentation

nvtraverser::Intersection::Intersection | ( | const nvsg::Path * | pPath,
 |  | const nvsg::Drawable * | pDrawable,
 |  | const nvmath::Vec3f & | isp,
 |  | const float & | dist
 | ) | [inline]

Contructor.

This contructor creates an intersection object from the given data. It also performs an addRef() on the given path and drawable.

Parameters:
pPath | Path to the intersected drawable.
pDrawable | Intersected drawable.
isp | Intersection point on the drawable.
dist | Distance from the ray origin to the drawable.

nvtraverser::Intersection::Intersection ( const Intersection & rhs ) [inline]

Copy constructor.

Creates a new Intersection object from the given one.

Parameters:
rhs Intersection object to copy from.

nvtraverser::Intersection::~Intersection ( void ) [inline, virtual]

Default destructor.

NVSG_API nvtraverser::Intersection::Intersection ( void ) [inline, protected]

Default contructor.

The user has to use the other constructors!

Member Function Documentation

Intersection & nvtraverser::Intersection::operator= ( const Intersection & rhs ) [inline]

Assignment operator.

const nvsg::Path * nvtraverser::Intersection::getPath ( ) const [inline]

Get the Path to the intersected drawable.

Returns:
Path to the drawable.

const nvsg::Drawable * nvtraverser::Intersection::getDrawable ( ) const [inline]

Get the intersected drawable.

Returns:
Intersected drawable.

const nvmath::Vec3f & nvtraverser::Intersection::getIsp ( ) const [inline]

Get the intersection point on the intersected drawable.

Returns:
Intersection Point.

const float & nvtraverser::Intersection::getDist ( ) const [inline]

Get the distance from the ray origin to the intersection point.

Returns:
Distance from ray origin to intersection point.

void nvtraverser::Intersection::clone ( const Intersection & rhs ) [inline, protected]

Clone the whole object.

Use this, for example, for the copy constructor.

Parameters:
rhs Object to clone.

Member Data Documentation

const nvsg::Drawable* nvtraverser::Intersection::m_pDrawable [protected]

Intersected drawable.

const nvsg::Path* nvtraverser::Intersection::m_pPath [protected]

Path to the intersected drawable.

nvmath::Vec3f nvtraverser::Intersection::m_isp [protected]

Intersection point on the intersected drawable.

float nvtraverser::Intersection::m_dist [protected]

Distance from the ray origin to the intersection point.

The documentation for this class was generated from the following file:
  • RayIntersectTraverser.h
Generated on Fri Jan 28 09:22:10 2005 for NVSGSDK by NVIDIA


nvsg::JitterCamera Class Reference

A jittering camera. More...

#include <JitterCamera.h>

Inheritance diagram for nvsg::JitterCamera:

[legend]
Collaboration diagram for nvsg::JitterCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const JitterCamera * | clone (void) const
Create a clone of this JitterCamera.

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

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

NVSG_API void | getJitters (std::vector< nvmath::Vec2f > &jitters) const
Get the jitters.

NVSG_API void | setJitters (const std::vector< nvmath::Vec2f > &jitters)
Set the jitters.

NVSG_API size_t | getNumberOfPasses () const
Get the number of passes.

NVSG_API void | updateSimpleCameras (size_t vpWidth, size_t vpHeight) const
Update the simple base cameras with the current camera settings and the viewport size.

NVSG_API const SimpleCamera * | getBaseCamera () const
Get the base camera.

NVSG_API const SimpleCamera * | getCamera (size_t index) const
Get camera.

virtual NVSG_API nvmath::Mat44f | getProjection () const
Get the projection matrix.

virtual NVSG_API float | getProjectionDx () const
Get the projection translation (used with stereo only).

virtual NVSG_API nvmath::Mat44f | getInverseProjection () const
Get the inverse projection matrix.

virtual NVSG_API void | setProjectionDx (float dx)
Set the projection translation (used with stereo only).

virtual NVSG_API void | addHeadLight (const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f))
Interface for adding a headlight to this camera.

virtual NVSG_API bool | removeHeadLight (size_t index=0)
Interface for removing a headlight.

virtual NVSG_API size_t | getNumberOfHeadLights () const
Interface for getting the number of headlights attached to the camera.

virtual NVSG_API const LightSource * | getHeadLight (size_t index) const
Interface for getting a headlight of this camera.

virtual NVSG_API void | getHeadLightTrafo (nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const
Interface for getting the position/orientation of a camera's headlight.

virtual NVSG_API bool | setHeadLightTrafo (const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0)
Interface for setting the headlight position and orientation relative to the camera.

virtual NVSG_API nvmath::Vec3f | getDirection () const
Interface for getting the viewing direction.

virtual NVSG_API void | setDirection (const nvmath::Vec3f &dir)
Interface for setting the viewing direction.

virtual NVSG_API float | getTargetDistance () const
Interface for getting the distance to the target point.

virtual NVSG_API void | setTargetDistance (float td)
Interface for setting the distance to the target point.

virtual NVSG_API const nvmath::Vec3f & | getPosition () const
Interface for getting the camera position.

virtual NVSG_API void | setPosition (const nvmath::Vec3f &pos)
Interface for setting the camera position.

virtual NVSG_API void | setUpVector (const nvmath::Vec3f &up)
Interface for setting the up direction.

virtual NVSG_API nvmath::Vec3f | getUpVector () const
Interface for getting the up direction.

virtual NVSG_API void | setOrientation (const nvmath::Quatf &quat)
Interface for setting the camera orientation.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &dir, const nvmath::Vec3f &up)
Interface for setting the camera orientation.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &axis, float angle)
Interface for setting the camera orientation.

virtual NVSG_API nvmath::Quatf | getOrientation (void) const
Get the current orientation.

virtual NVSG_API nvmath::Mat44f | getWorldToViewMatrix () const
Interface for getting the world-to-view transformation.

virtual NVSG_API nvmath::Mat44f | getViewToWorldMatrix () const
Interface for getting the inverse world-to-view transformation.

virtual NVSG_API const nvmath::Vec2f & | getWindowOffset () const
Interface for getting the window offset.

virtual NVSG_API void | setWindowOffset (const nvmath::Vec2f &offset)
Interface for setting the window offset.

virtual NVSG_API void | getWindowRegion (nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const
Interface for getting the relative window region to view.

virtual NVSG_API void | setWindowRegion (const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight)
Interface for setting the relative window region to view.

virtual NVSG_API const nvmath::Vec2f & | getWindowSize () const
Interface for getting the window size.

virtual NVSG_API void | setWindowSize (const nvmath::Vec2f &size)
Interface for setting the window size.

virtual NVSG_API float | getAspectRatio () const
Interface for getting the current aspect ratio.

virtual NVSG_API void | setAspectRatio (float ar, bool keepWidth=false)
Interface for setting the aspect ratio.

virtual NVSG_API bool | isAutoClipPlanes () const
Interface for determining if auto clipping is on.

virtual NVSG_API void | setAutoClipPlanes (bool on)
Interface for enabling/disabling automatic clip plane determination.

virtual NVSG_API void | calcNearFarDistances (const nvmath::Sphere3f &sphere)
Interface for calculating the near and far clipping distances.

virtual NVSG_API float | getFarDistance () const
Interface for getting the far clipping distance.

virtual NVSG_API void | setFarDistance (float fd)
Interface for setting the far clipping distance.

virtual NVSG_API float | getNearDistance () const
Interface for getting the near clipping distance.

virtual NVSG_API void | setNearDistance (float nd)
Interface for setting the near clipping distance.

virtual NVSG_API void | move (const nvmath::Vec3f &delta)
Interface for moving the camera.

virtual NVSG_API void | orbit (const nvmath::Vec3f &axis, float rad)
Interface for orbiting the camera.

virtual NVSG_API void | rotate (const nvmath::Vec3f &axis, float rad, bool cameraRelative=true)
Interface for rotating the camera.

virtual NVSG_API void | zoom (float factor)
Interface for zooming by a factor.

virtual NVSG_API void | zoom (const nvmath::Sphere3f &sphere, float fovy=-1.0f)
Interface for zooming to fit view to a sphere.

Static Public Member Functions

NVSG_API const JitterCamera * | create (const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters)
Create a JitterCamera.

NVSG_API const JitterCamera * | createFromBase (const MonoCamera &rhs, const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters)

Protected Member Functions

NVSG_API | JitterCamera (const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters)
Constructor.

NVSG_API | JitterCamera (const MonoCamera &rhs, const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters)
Partial Constructur.

NVSG_API | JitterCamera (const JitterCamera &rhs)
Copy constructor.

virtual NVSG_API | ~JitterCamera (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

A jittering camera.

A JitterCamera is a MonoCamera that produces an average of a number of slightly jittered projections. This results in full-scene antialiased images.

Jittering
If you need to take nine or sixteen samples to antialias an image, you might think that the best choice of points is an equally spaced grid across the pixel. Surprisingly, this is not necessarily true. In fact, sometimes it's a good idea to take points that lie in adjacent pixels. You might want a uniform distribution or a normalized distribution, clustering toward the center of the pixel. Following is a short example code showing how to set jitters for a JitterCamera:
   vector<Vec2f> jitters;
   jitters.resize(2);
   jitters[0] = Vec2f( 0.25f, 0.75f );
   jitters[1] = Vec2f( 0.75f, 0.25f );
   jitterCamera->setJitters( jitters );
Following are a few sets of reasonable jitter values to use for selected sample counts. All of these examples are uniformly distributed in the pixel and all lie within the pixel.
   Count   Values
     2     { 0.25,  0.75 }, { 0.75,  0.25 }
     4     { 0.375, 0.25 }, { 0.125, 0.75 }, { 0.875, 0.25 }, { 0.625, 075 }
     8     { 0.5625, 0.4375 }, { 0.0625, 0.9375 }, { 0.3125, 0.6875 }, { 0.6875, 0.8125 },
           { 0.8125, 0.1875 }, { 0.9375, 0.5625 }, { 0.4375, 0.0625 }, { 0.1875, 0.3125 }

Constructor & Destructor Documentation

NVSG_API nvsg::JitterCamera::JitterCamera | ( | const SimpleCamera & | base,
 |  | const std::vector< nvmath::Vec2f > & | jitters
 | ) | [protected]

Constructor.

Constructs a JitterCamera with the SimpleCamera base as it's base. The size of jitters gives the numbers of passes to make, and the Vec2f elements determine the amount to jitter in each pass. The units of the jitters are pixels.

Parameters:
base | base camera to use
jitters | vector of jitters

NVSG_API nvsg::JitterCamera::JitterCamera | ( | const MonoCamera & | rhs,
 |  | const SimpleCamera & | base,
 |  | const std::vector< nvmath::Vec2f > & | jitters
 | ) | [protected]

Partial Constructur.

NVSG_API nvsg::JitterCamera::JitterCamera ( const JitterCamera & rhs ) [protected]

Copy constructor.

Parameters:
rhs source camera object

virtual NVSG_API nvsg::JitterCamera::~JitterCamera ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const JitterCamera* nvsg::JitterCamera::create | ( | const SimpleCamera & | base,
 |  | const std::vector< nvmath::Vec2f > & | jitters
 | ) | [static]

Create a JitterCamera.

Returns:
a constant pointer to a JitterCamera.
Parameters:
base | base camera to use
jitters | vectors of jitter

NVSG_API const JitterCamera* nvsg::JitterCamera::createFromBase | ( | const MonoCamera & | rhs,
 |  | const SimpleCamera & | base,
 |  | const std::vector< nvmath::Vec2f > & | jitters
 | ) | [static]

Parameters:
rhs | MonoCamera to copy from
base | base camera to use
jitters | vectors of jitter

virtual NVSG_API const JitterCamera* nvsg::JitterCamera::clone ( void ) const [virtual]

Create a clone of this JitterCamera.

Returns:
const pointer to the new JitterCamera as a pointer to a MonoCamera

Implements nvsg::MonoCamera.

virtual NVSG_API bool nvsg::JitterCamera::isDataShared ( ) const [virtual]

Determine whether the data of this object is shared.

Returns:
c\ true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

virtual NVSG_API DataID nvsg::JitterCamera::getDataID ( ) const [virtual]

Get the DataID of the data of this object.

Returns:
The DataID of the object's data.

Reimplemented from nvsg::Object.

void nvsg::JitterCamera::getJitters ( std::vector< nvmath::Vec2f > & jitters ) const [inline]

Get the jitters.

The jitter vector of Vec2f defines the number of passes and the jitter of each pass. The jitter units are pixels.

Parameters:
jitters vector of Vec2f to fill with jitters

NVSG_API void nvsg::JitterCamera::setJitters ( const std::vector< nvmath::Vec2f > & jitters )

Set the jitters.

The size of jitters gives the number of passes to make, and the Vec2f elements determine the amount to jitter in each pass. The jitter units are pixels.

Parameters:
jitters vector of jitters

size_t nvsg::JitterCamera::getNumberOfPasses ( ) const [inline]

Get the number of passes.

Returns:
The number of jittering passes (actually the size of the jitter vector)

NVSG_API void nvsg::JitterCamera::updateSimpleCameras | ( | size_t | vpWidth,
 |  | size_t | vpHeight
 | ) | const

Update the simple base cameras with the current camera settings and the viewport size.

The viewport width and height are used to scale the jitter values, allowing the jitters to be in pixel units.

Parameters:
vpWidth | viewport width
vpHeight | viewport height

const SimpleCamera * nvsg::JitterCamera::getBaseCamera ( ) const [inline]

Get the base camera.

The base camera of a jitter camera is a SimpleCamera that is used in multiple passes, each one slightly jittered.

Returns:
A const pointer to the base camera

const SimpleCamera * nvsg::JitterCamera::getCamera ( size_t index ) const [inline]

Get camera.

Returns:
Camera at index index.
Parameters:
index Zero based index.

virtual NVSG_API nvmath::Mat44f nvsg::JitterCamera::getProjection ( ) const [virtual]

Get the projection matrix.

Returns:
The projection matrix (unjittered)

Implements nvsg::MonoCamera.

virtual NVSG_API float nvsg::JitterCamera::getProjectionDx ( ) const [virtual]

Get the projection translation (used with stereo only).

Returns:
The projection translation in x (unjittered)

Implements nvsg::MonoCamera.

virtual NVSG_API nvmath::Mat44f nvsg::JitterCamera::getInverseProjection ( ) const [virtual]

Get the inverse projection matrix.

Returns:
The inverse projection matrix (unjittered)

Implements nvsg::MonoCamera.

virtual NVSG_API void nvsg::JitterCamera::setProjectionDx ( float dx ) [virtual]

Set the projection translation (used with stereo only).

Parameters:
dx shift of projection in x-direction

Implements nvsg::MonoCamera.

virtual NVSG_API void nvsg::JitterCamera::addHeadLight | ( | const LightSource * | pLight,
 |  | const nvmath::Vec3f & | position = nvmath::Vec3f(0.0f, 0.0f, 0.0f),
 |  | const nvmath::Quatf & | quat = nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)
 | ) | [virtual]

Interface for adding a headlight to this camera.

Parameters:
pLight | A pointer to the LightSource to add.
position | The position relative to the camera.
quat | The rotation relative to the camera.

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::JitterCamera::removeHeadLight ( size_t index = 0 ) [virtual]

Interface for removing a headlight.

Returns:
true if headlight was removed, otherwise false
Parameters:
index index of head light to remove

Implements nvsg::Camera.

virtual NVSG_API size_t nvsg::JitterCamera::getNumberOfHeadLights ( ) const [virtual]

Interface for getting the number of headlights attached to the camera.

Returns:
The number of headlights attached to this camera.

Implements nvsg::Camera.

virtual NVSG_API const LightSource* nvsg::JitterCamera::getHeadLight ( size_t index ) const [virtual]

Interface for getting a headlight of this camera.

Returns:
A constant pointer to the headlight at index index
Parameters:
index Index of headlight to get

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::getHeadLightTrafo | ( | nvmath::Vec3f & | trans,
 |  | nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | const [virtual]

Interface for getting the position/orientation of a camera's headlight.

Parameters:
trans | The translation relative to the camera will be received here.
quat | The rotation relative to the camera will be received here.
index | Index of the headlight to get transform information from.

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::JitterCamera::setHeadLightTrafo | ( | const nvmath::Vec3f & | trans,
 |  | const nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | [virtual]

Interface for setting the headlight position and orientation relative to the camera.

Returns:
true if a head light with this index exists, false otherwise.
Parameters:
trans | position of headlight - default is (0,0,0)
quat | orientation of headlight - default is (0,0,0,1)
index | index of headlight

Implements nvsg::Camera.

virtual NVSG_API nvmath::Vec3f nvsg::JitterCamera::getDirection ( ) const [virtual]

Interface for getting the viewing direction.

Returns:
The viewing direction

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setDirection ( const nvmath::Vec3f & dir ) [virtual]

Interface for setting the viewing direction.

Parameters:
dir new viewing direction (might change upVector)

Implements nvsg::Camera.

virtual NVSG_API float nvsg::JitterCamera::getTargetDistance ( ) const [virtual]

Interface for getting the distance to the target point.

Returns:
The distance to the target point

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setTargetDistance ( float td ) [virtual]

Interface for setting the distance to the target point.

Parameters:
td distance to target point (or viewing plane)

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec3f& nvsg::JitterCamera::getPosition ( ) const [virtual]

Interface for getting the camera position.

Returns:
The camera position

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setPosition ( const nvmath::Vec3f & pos ) [virtual]

Interface for setting the camera position.

Parameters:
pos new camera position

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setUpVector ( const nvmath::Vec3f & up ) [virtual]

Interface for setting the up direction.

Parameters:
up up direction (might change viewing direction)

Implements nvsg::Camera.

virtual NVSG_API nvmath::Vec3f nvsg::JitterCamera::getUpVector ( ) const [virtual]

Interface for getting the up direction.

Returns:
The camera up direction

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setOrientation ( const nvmath::Quatf & quat ) [virtual]

Interface for setting the camera orientation.

Parameters:
quat quaternion that determines direction and up vector

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setOrientation | ( | const nvmath::Vec3f & | dir,
 |  | const nvmath::Vec3f & | up
 | ) | [virtual]

Interface for setting the camera orientation.

Parameters:
dir | direction to look at
up | up vector

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setOrientation | ( | const nvmath::Vec3f & | axis,
 |  | float | angle
 | ) | [virtual]

Interface for setting the camera orientation.

Parameters:
axis | axis to rotate about
angle | angle to rotate

Implements nvsg::Camera.

virtual NVSG_API nvmath::Quatf nvsg::JitterCamera::getOrientation ( void ) const [virtual]

Get the current orientation.

Returns:
quaternion that describes the orientation

Implements nvsg::Camera.

virtual NVSG_API nvmath::Mat44f nvsg::JitterCamera::getWorldToViewMatrix ( ) const [virtual]

Interface for getting the world-to-view transformation.

Returns:
world-to-camera transformation

Implements nvsg::Camera.

virtual NVSG_API nvmath::Mat44f nvsg::JitterCamera::getViewToWorldMatrix ( ) const [virtual]

Interface for getting the inverse world-to-view transformation.

Returns:
inverse of the world-to-camera transformation (i.e. camera to world)

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec2f& nvsg::JitterCamera::getWindowOffset ( ) const [virtual]

Interface for getting the window offset.

Returns:
The window offset

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setWindowOffset ( const nvmath::Vec2f & offset ) [virtual]

Interface for setting the window offset.

Parameters:
offset window ofset to viewing reference point

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::getWindowRegion | ( | nvmath::Vec2f & | lowerLeft,
 |  | nvmath::Vec2f & | upperRight
 | ) | const [virtual]

Interface for getting the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setWindowRegion | ( | const nvmath::Vec2f & | lowerLeft,
 |  | const nvmath::Vec2f & | upperRight
 | ) | [virtual]

Interface for setting the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec2f& nvsg::JitterCamera::getWindowSize ( ) const [virtual]

Interface for getting the window size.

Returns:
The window size

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setWindowSize ( const nvmath::Vec2f & size ) [virtual]

Interface for setting the window size.

Parameters:
size window size (world coordinates)

Implements nvsg::Camera.

virtual NVSG_API float nvsg::JitterCamera::getAspectRatio ( ) const [virtual]

Interface for getting the current aspect ratio.

Returns:
The width verus height of the camera window

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setAspectRatio | ( | float | ar,
 |  | bool | keepWidth = false
 | ) | [virtual]

Interface for setting the aspect ratio.

Parameters:
ar | new aspect ratio
keepWidth | keep width or height constant

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::JitterCamera::isAutoClipPlanes ( ) const [virtual]

Interface for determining if auto clipping is on.

If auto clip is on, the camera determines the optimal near and front clipping distances out of the scene. If the user has additional information about the scene that might help clipping, it should be turned off.

Returns:
true if auto clip is on, otherwise c\ false

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setAutoClipPlanes ( bool on ) [virtual]

Interface for enabling/disabling automatic clip plane determination.

Parameters:
on true to enable, false to disable

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::calcNearFarDistances ( const nvmath::Sphere3f & sphere ) [virtual]

Interface for calculating the near and far clipping distances.

Parameters:
sphere bounding sphere of the world to look at

Implements nvsg::Camera.

virtual NVSG_API float nvsg::JitterCamera::getFarDistance ( ) const [virtual]

Interface for getting the far clipping distance.

Returns:
The distance to the far clipping plane

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setFarDistance ( float fd ) [virtual]

Interface for setting the far clipping distance.

Parameters:
fd far clipping distance

Implements nvsg::Camera.

virtual NVSG_API float nvsg::JitterCamera::getNearDistance ( ) const [virtual]

Interface for getting the near clipping distance.

Returns:
The distance to the near clipping plane

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::setNearDistance ( float nd ) [virtual]

Interface for setting the near clipping distance.

Parameters:
nd near clipping distance

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::move ( const nvmath::Vec3f & delta ) [virtual]

Interface for moving the camera.

Parameters:
delta delta to move the camera (camera coordinates)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::orbit | ( | const nvmath::Vec3f & | axis,
 |  | float | rad
 | ) | [virtual]

Interface for orbiting the camera.

Parameters:
axis | axis to orbit around (camera coordinates)
rad | angle to orbit (radians)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::rotate | ( | const nvmath::Vec3f & | axis,
 |  | float | rad,
 |  | bool | cameraRelative = true
 | ) | [virtual]

Interface for rotating the camera.

Parameters:
axis | axis to rotate around
rad | angle to rotate (radians)
cameraRelative | flag to indicate if the axis is camera or world relative

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::zoom ( float factor ) [virtual]

Interface for zooming by a factor.

Parameters:
factor zoom in/out by this factor; changes windowSize

Implements nvsg::Camera.

virtual NVSG_API void nvsg::JitterCamera::zoom | ( | const nvmath::Sphere3f & | sphere,
 |  | float | fovy = -1.0f
 | ) | [virtual]

Interface for zooming to fit view to a sphere.

Parameters:
sphere | sphere to zoom on
fovy | field of view; if negative, keep the current

Implements nvsg::Camera.

The documentation for this class was generated from the following file:
  • JitterCamera.h
Generated on Fri Jan 28 09:21:19 2005 for NVSGSDK by NVIDIA


nvsg::LightSource Class Reference

Base class for representing all light sources. More...

#include <LightSource.h>

Inheritance diagram for nvsg::LightSource:

[legend]
Collaboration diagram for nvsg::LightSource:

[legend]
List of all members.

Public Member Functions

NVSG_API const nvmath::Vec3f & | getAmbientColor (void) const
Get the ambient color of this light source.

NVSG_API void | setAmbientColor (const nvmath::Vec3f &c)
Set the ambient color of this light source.

NVSG_API const nvmath::Vec3f & | getDiffuseColor (void) const
Get the diffuse color of this light source.

NVSG_API void | setDiffuseColor (const nvmath::Vec3f &c)
Set the diffuse color of this light source.

NVSG_API const nvmath::Vec3f & | getSpecularColor (void) const
Get the specular color of this light source.

NVSG_API void | setSpecularColor (const nvmath::Vec3f &c)
Set the specular color of this light source.

NVSG_API float | getIntensity (void) const
Get the intensity of this light source.

NVSG_API void | setIntensity (float i)
Set the intensity of this light source.

NVSG_API const Animation<
nvmath::Trafo > * 		getAnimation (void) const
Get the animation of this light.

NVSG_API void | setAnimation (const Animation< nvmath::Trafo > *pAnimation)
Set an animation for this light.

NVSG_API void | setAnimationFrame (size_t frame)
Set the animation frame.

virtual NVSG_API size_t | getNumberOfFrames (void) const
Get the number of animation frames that are part of this LightSource.

NVSG_API void | setPosition (const nvmath::Vec3f &position)
Set the position of the light source.

NVSG_API const nvmath::Vec3f & | getPosition (void) const
Set the position of the light source.

NVSG_API nvmath::Vec3f | getDirection (void) const
Get the direction.

NVSG_API void | setDirection (const nvmath::Vec3f &direction)
Get the direction.

NVSG_API const nvmath::Quatf & | getOrientation (void) const
Get the current rotational transformation.

NVSG_API void | setOrientation (const nvmath::Quatf &orientation)
Set the rotational part of the light transformation.

NVSG_API nvmath::Mat44f | getTransformationMatrix (void) const
Get the current transformation.

NVSG_API nvmath::Mat44f | getInverse (void) const
Get the inverse of the current transformation.

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

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

virtual NVSG_API bool | containsLight (void) const
Ask if this LightSource is a LightSource.

Protected Member Functions

NVSG_API | LightSource (void)
Constructor.

NVSG_API | LightSource (const LightSource &rhs)
Copy constructor.

virtual NVSG_API | ~LightSource (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API bool | calcBoundingSphere (void) const
Calculate the bounding sphere of this light source.

Detailed Description

Base class for representing all light sources.

A LightSource contains data and functionality common to all light sources (DirectedLight, SpotLight, ...).

Note:
NVSG LightSources do not have a method to turn them on or off. The concept is slightly different to other scene graph APIs. Since we have a Switch node that allows to turn multiple Nodes on / off light sources should be handeled via this switch.

Light sources only influence objects under the same Switch/Group or in a subtree under the same Switch/Group.
Here a short example:

                        |
     -----------------------------------------
     |                  |                    |
     Ls0               Sw                    NB
                        |
            -----------------------
            |      |       |      |
            Ls1    NA      Ls2    Gr
                                  |
                                 ...
Light source Ls0 lits Switch Sw and in turn all active children of Sw and of course Node NB.
Light source Ls1 lits Node NA and Group Gr and in turn all children of Gr.
And at least light source Ls2 lits Group Gr and in turn all children of Gr.

Constructor & Destructor Documentation

NVSG_API nvsg::LightSource::LightSource ( void ) [protected]

Constructor.

NVSG_API nvsg::LightSource::LightSource ( const LightSource & rhs ) [protected]

Copy constructor.

virtual NVSG_API nvsg::LightSource::~LightSource ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

const nvmath::Vec3f & nvsg::LightSource::getAmbientColor ( void ) const [inline]

Get the ambient color of this light source.

The ambient color of a light simply contributes to the global ambient term. It is not dependent on any other lighting factors such as vertex normals, light direction, light position, range, or attenuation. The default is (0.0,0.0,0.0).

Returns:
The ambient color of this light source

void nvsg::LightSource::setAmbientColor ( const nvmath::Vec3f & c ) [inline]

Set the ambient color of this light source.

The ambient color of a light simply contributes to the global ambient term. It is not dependent on any other lighting factors such as vertex normals, light direction, light position, range, or attenuation. The default is (0.0,0.0,0.0).

Parameters:
c ambient color for this light source

const nvmath::Vec3f & nvsg::LightSource::getDiffuseColor ( void ) const [inline]

Get the diffuse color of this light source.

The diffuse color of a light is used to calculate lighting contribution that might depend on vertex normals, light direction, light position, range, or attenutation, depending on the type of light source. The default is (1.0,1.0,1.0).

Returns:
The diffuse color of this light source

void nvsg::LightSource::setDiffuseColor ( const nvmath::Vec3f & c ) [inline]

Set the diffuse color of this light source.

The diffuse color of a light is used to calculate lighting contribution from vertex normals, light direction, light position, range, or attenutation, depending on the type of light source. The default is (1.0,1.0,1.0).

Parameters:
c diffuse color for this light source

const nvmath::Vec3f & nvsg::LightSource::getSpecularColor ( void ) const [inline]

Get the specular color of this light source.

The specular color of a light is used to calculate any lighting contribution from vertex normals, vertex position, light direction, light position, range, or attenuation, depending on the type of light source. The default is (1.0,1.0,1.0).

Returns:
The specular color of this light source

void nvsg::LightSource::setSpecularColor ( const nvmath::Vec3f & c ) [inline]

Set the specular color of this light source.

The specular color of a light is used to calculate lighting contribution from vertex normals, vertex position, light direction, light position, range, or attenuation, depending on the type of light source. The default is (1.0,1.0,1.0).

Parameters:
c specular color for this light source

float nvsg::LightSource::getIntensity ( void ) const [inline]

Get the intensity of this light source.

The intensity of a light is a multiplier for all three color types of this light.

Returns:
color intensity of this light source

void nvsg::LightSource::setIntensity ( float i ) [inline]

Set the intensity of this light source.

The intensity of a light is a multiplier for all three color types of this light.

Parameters:
i color intensity for this light source

const Animation< nvmath::Trafo > * nvsg::LightSource::getAnimation ( void ) const [inline]

Get the animation of this light.

Returns:
The constant pointer to the animation of this light, or NULL if there isn't any.

NVSG_API void nvsg::LightSource::setAnimation ( const Animation< nvmath::Trafo > * pAnimation )

Set an animation for this light.

Parameters:
pAnimation animation to add

NVSG_API void nvsg::LightSource::setAnimationFrame ( size_t frame )

Set the animation frame.

The transformation for animation step frame is calculated and used as the current.

Parameters:
frame current animation step

size_t nvsg::LightSource::getNumberOfFrames ( void ) const [inline, virtual]

Get the number of animation frames that are part of this LightSource.

Returns:
The number of animation frames if there is an animation attached, otherwise zero.

Reimplemented from nvsg::Node.

void nvsg::LightSource::setPosition ( const nvmath::Vec3f & position ) [inline]

Set the position of the light source.

Parameters:
position The position of the light source.

const nvmath::Vec3f & nvsg::LightSource::getPosition ( void ) const [inline]

Set the position of the light source.

Returns:
The position of the light source.

nvmath::Vec3f nvsg::LightSource::getDirection ( void ) const [inline]

Get the direction.

The direction is the main direction of the light's cone - Default direction: (0, 0, -1).

Returns:
The vector pointing into the direction of the light source.

NVSG_API void nvsg::LightSource::setDirection ( const nvmath::Vec3f & direction )

Get the direction.

The direction is the main direction of the light's cone - Default direction: (0, 0, -1)

Note:
The direction is expected to be normalized.
Parameters:
direction lighting direction

const nvmath::Quatf & nvsg::LightSource::getOrientation ( void ) const [inline]

Get the current rotational transformation.

Returns:
The quaternion that describes the rotational part

void nvsg::LightSource::setOrientation ( const nvmath::Quatf & orientation ) [inline]

Set the rotational part of the light transformation.

Parameters:
orientation rotational part of transformation

nvmath::Mat44f nvsg::LightSource::getTransformationMatrix ( void ) const [inline]

Get the current transformation.

Returns:
The transformation as a Mat44f

nvmath::Mat44f nvsg::LightSource::getInverse ( void ) const [inline]

Get the inverse of the current transformation.

Returns:
The inverse transformation as a Mat44f

virtual NVSG_API bool nvsg::LightSource::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Node.

Reimplemented in nvsg::DirectedLight, nvsg::PointLight, and nvsg::SpotLight.

virtual NVSG_API DataID nvsg::LightSource::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Node.

Reimplemented in nvsg::DirectedLight, nvsg::PointLight, and nvsg::SpotLight.

virtual NVSG_API bool nvsg::LightSource::containsLight ( void ) const [virtual]

Ask if this LightSource is a LightSource.

Returns:
true

Reimplemented from nvsg::Node.

bool nvsg::LightSource::calcBoundingSphere ( void ) const [inline, protected, virtual]

Calculate the bounding sphere of this light source.

LightSource doesn't have a valid bounding sphere.

Returns:
false.

Implements nvsg::Node.

The documentation for this class was generated from the following file:
  • LightSource.h
Generated on Fri Jan 28 09:21:21 2005 for NVSGSDK by NVIDIA


Templatenvsg::LinearInterpolatedAnimation< T > class Reference

nvsg::LinearInterpolatedAnimation< T > Class Template Reference

An InterpolatedAnimation that performs linear interpolations between the key frames. More...

#include <LinearInterpolatedAnimation.h>

Inheritance diagram for nvsg::LinearInterpolatedAnimation< T >:

[legend]
Collaboration diagram for nvsg::LinearInterpolatedAnimation< T >:

[legend]
List of all members.

Public Member Functions

virtual const LinearInterpolatedAnimation<
T > * 		clone (void) const
Create a LinearInterpolatedAnimation by copying from this.

virtual const T & | operator[] (size_t i) const
Interpolating random access operator.

Static Public Member Functions

const LinearInterpolatedAnimation<
T > * 		create (void)
Create a LinearInterpolatedAnimation.

const LinearInterpolatedAnimation<
T > * 		createFromBase (const InterpolatedAnimation< T > &rhs)
Create a LinearInterpolatedAnimation by copying from an InterpolatedAnimation.

Protected Member Functions

NVSG_API | LinearInterpolatedAnimation (void)
Default Constructor.

NVSG_API | LinearInterpolatedAnimation (const InterpolatedAnimation< T > &rhs)
Partial Constructor.

NVSG_API | LinearInterpolatedAnimation (const LinearInterpolatedAnimation &rhs)
Copy Constructor.

virtual | ~LinearInterpolatedAnimation (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

template<typename T>
class nvsg::LinearInterpolatedAnimation< T >

An InterpolatedAnimation that performs linear interpolations between the key frames.

Note:
Currently the only supported types for LinearInterpolatedAnimation are Trafo and VNVector.

Constructor & Destructor Documentation

template<typename T>
NVSG_API nvsg::LinearInterpolatedAnimation< T >::LinearInterpolatedAnimation ( void ) [protected]

Default Constructor.

template<typename T>
NVSG_API nvsg::LinearInterpolatedAnimation< T >::LinearInterpolatedAnimation ( const InterpolatedAnimation< T > & rhs ) [protected]

Partial Constructor.

template<typename T>
NVSG_API nvsg::LinearInterpolatedAnimation< T >::LinearInterpolatedAnimation ( const LinearInterpolatedAnimation< T > & rhs ) [protected]

Copy Constructor.

template<typename T>
nvsg::LinearInterpolatedAnimation< T >::~LinearInterpolatedAnimation ( void ) [inline, protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

template<typename T>
const LinearInterpolatedAnimation< T > * nvsg::LinearInterpolatedAnimation< T >::create ( void ) [inline, static]

Create a LinearInterpolatedAnimation.

Returns:
a constant pointer to a LinearInterpolatedAnimation.

template<typename T>
const LinearInterpolatedAnimation< T > * nvsg::LinearInterpolatedAnimation< T >::createFromBase ( const InterpolatedAnimation< T > & rhs ) [inline, static]

Create a LinearInterpolatedAnimation by copying from an InterpolatedAnimation.

Returns:
a constant pointer to a LinearInterpolatedAnimation.
Parameters:
rhs InterpolatedAnimation to copy from

template<typename T>
const LinearInterpolatedAnimation< T > * nvsg::LinearInterpolatedAnimation< T >::clone ( void ) const [inline, virtual]

Create a LinearInterpolatedAnimation by copying from this.

Returns:
a constant pointer to a LinearInterpolatedAnimation.

Implements nvsg::Animation< T >.

template<typename T>
const T & nvsg::LinearInterpolatedAnimation< T >::operator[] ( size_t i ) const [inline, virtual]

Interpolating random access operator.

If the access frame is not a key frame, the value is linearly interpolated between the neighbouring key frames.

Implements nvsg::Animation< T >.

The documentation for this class was generated from the following file:
  • LinearInterpolatedAnimation.h
Generated on Fri Jan 28 09:21:22 2005 for NVSGSDK by NVIDIA


nvsg::LOD Class Reference

Level Of Detail class. More...

#include <LOD.h>

Inheritance diagram for nvsg::LOD:

[legend]
Collaboration diagram for nvsg::LOD:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const LOD * | clone (void) const
Get a clone of this LOD object.

NVSG_API void | setRanges (const float *ranges, size_t count)
Set all range values.

NVSG_API const float * | getRanges (void) const
Get all ranges.

NVSG_API size_t | getNumberOfRanges (void) const
Get the number of ranges.

NVSG_API void | setCenter (const nvmath::Vec3f &center)
Set the center.

NVSG_API const nvmath::Vec3f & | getCenter (void) const
Determine the LOD to use.

NVSG_API size_t | getLODToUse (const nvmath::Mat44f &modelViewMatrix) const

Static Public Member Functions

NVSG_API const LOD * | create (void)
Create a LOD.

NVSG_API const LOD * | createFromBase (const Group &rhs)
Create a LOD by copying from a Group.

Protected Member Functions

NVSG_API | LOD (void)
Default Constructor.

NVSG_API | LOD (const Group &rhs)
Partial Constructor.

NVSG_API | LOD (const LOD &rhs)
Copy Constructor.

virtual NVSG_API | ~LOD (void)
Prohibit explicit creation on stack by making the destructor protected.

Detailed Description

Level Of Detail class.

This class is a special kind of a group containing different representations of the same object as well as some range information. The representations include different levels of detail, meaning that the first child is the best and most precise representation of the object, the second child is of lower resolution, and so on. The current implementation determines the distance between the camera and the given center point of the object (dist). The distance is compared against the ranges and the corresponding range defines the LOD representation to use.

It works like this:

 IF (dist < ranges[0])                    THEN activeChild = 0
 ELSE IF (ranges[i-1] < dist < ranges[i]) THEN activeChild = i
 ELSE IF (dist > ranges[LASTRANGE])       THEN activeChild = LASTRANGE+1

Note:
You should provide n ranges and n+1 children. If you specify too few ranges, the extra children will never be used. If you instead provide to few children, the last child will be used for all the extra ranges.

In some cases you do not want to draw something on the last (infinite) level. In this case simply add an empty Group node at the lowest resolution level. Same for the highest resolution level if you want geometry to disappear if it is too near to the camera.

Constructor & Destructor Documentation

NVSG_API nvsg::LOD::LOD ( void ) [protected]

Default Constructor.

NVSG_API nvsg::LOD::LOD ( const Group & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::LOD::LOD ( const LOD & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::LOD::~LOD ( void ) [protected, virtual]

Prohibit explicit creation on stack by making the destructor protected.

Member Function Documentation

NVSG_API const LOD* nvsg::LOD::create ( void ) [static]

Create a LOD.

Returns:
a constant pointer to a LOD.

Reimplemented from nvsg::Group.

NVSG_API const LOD* nvsg::LOD::createFromBase ( const Group & rhs ) [static]

Create a LOD by copying from a Group.

Returns:
a constant pointer to a LOD.
Parameters:
rhs Group to copy from

virtual NVSG_API const LOD* nvsg::LOD::clone ( void ) const [virtual]

Get a clone of this LOD object.

Returns:
A pointer to the new created clone.

Reimplemented from nvsg::Group.

NVSG_API void nvsg::LOD::setRanges | ( | const float * | ranges,
 |  | size_t | count
 | ) |

Set all range values.

Parameters:
ranges | Pass NULL to clear the ranges.
count | Number of range values.

NVSG_API const float* nvsg::LOD::getRanges ( void ) const

Get all ranges.

Returns:
A pointer to a float array.

NVSG_API size_t nvsg::LOD::getNumberOfRanges ( void ) const

Get the number of ranges.

Returns:
The number of ranges.

NVSG_API void nvsg::LOD::setCenter ( const nvmath::Vec3f & center )

Set the center.

The center is the point used for finding the exact level of detail by calculating its distance to the camera.

Parameters:
center Center point.

NVSG_API const nvmath::Vec3f& nvsg::LOD::getCenter ( void ) const

Determine the LOD to use.

Returns:
The point that is used for the distance calculation.

NVSG_API size_t nvsg::LOD::getLODToUse ( const nvmath::Mat44f & modelViewMatrix ) const

This method is called by the ModelViewTraverser. It calculates the distance between the center point and the camera.

We calculate the distance by transforming the center into
object space - while the camera is located at the origin in object space the calculation trivial.
Returns:
The index of the LOD level that this node will use. 0xffffffff will be returned when there is no LOD level available.
Parameters:
modelViewMatrix currentWorldMatrix * currentViewingMatrix

The documentation for this class was generated from the following file:
  • LOD.h
Generated on Fri Jan 28 09:21:23 2005 for NVSGSDK by NVIDIA


Templatenvutil::Log< TestMode, OutputFn > class Reference

nvutil::Log< TestMode, OutputFn > Class Template Reference
[Logging a certain test results]

Logging test results. More...

#include <Log.h>

List of all members.

Public Member Functions

Log ()
Default constructor.

void | init (bool enable)
Initialization.

void | format (const char *fmt,...) const
Formatted output.

bool | isEnabled () const
Determine whether a certain test mode is enabled.

Detailed Description

template<TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
class nvutil::Log< TestMode, OutputFn >

Logging test results.

Provides output dependent on a specified TestMode using a certain output function of type LOG_OUTPUT_FUNCTION specified by OutputFn.

Constructor & Destructor Documentation

template<TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
nvutil::Log< TestMode, OutputFn >::Log ( ) [inline]

Default constructor.

Constructs a Log object and disables output by default. Use init to enable output via OutputFn.

The documentation for this class was generated from the following file:
  • Log.h
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


nvmath::Mat33f Class Reference

3x3 matrix class. More...

#include <Mat33f.h>

Inheritance diagram for nvmath::Mat33f:

[legend]
Collaboration diagram for nvmath::Mat33f:

[legend]
List of all members.

Public Member Functions

NVSG_API | Mat33f (void)
Default constructor.

NVSG_API | Mat33f (float a00, float a01, float a02, float a10, float a11, float a12, float a20, float a21, float a22)
Constructor using 9 floats.

NVSG_API | Mat33f (const Vec3f &row0, const Vec3f &row1, const Vec3f &row2)
Constructor using three row vectors.

NVSG_API | Mat33f (const Vec3f &axis, float rad)
Constructor using a normalized rotation axis and angle (in radians).

NVSG_API | Mat33f (const Quatf &quat)
Constructor using a normalized quaternion.

NVSG_API | Mat33f (const Matnnf< 3 > &m)
Copy constructor.

NVSG_API void | set (const Vec3f &row0, const Vec3f &row1, const Vec3f &row2)
Set the matrix with three row vectors.

Related Functions

(Note that these are not member functions.)

NVSG_API void | decompose (const Mat33f &mat, Vec3f &scaling, Vec3f &shearing, Quatf &orientation)
float | determinant (const Mat33f &mat)
bool | isRotation (const Mat33f &mat)

Detailed Description

3x3 matrix class.

This class is used to handle pure rotational and scaling transformations (no translations).

Constructor & Destructor Documentation

nvmath::Mat33f::Mat33f ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Mat33f::Mat33f | ( | float | a00,
 |  | float | a01,
 |  | float | a02,
 |  | float | a10,
 |  | float | a11,
 |  | float | a12,
 |  | float | a20,
 |  | float | a21,
 |  | float | a22
 | ) | [inline]

Constructor using 9 floats.

The 9 floats are used as the matrix elements. No normalization is performed.

nvmath::Mat33f::Mat33f | ( | const Vec3f & | row0,
 |  | const Vec3f & | row1,
 |  | const Vec3f & | row2
 | ) | [inline]

Constructor using three row vectors.

The three vectors are used as the three rows of the matrix. No normalization is performed.

Parameters:
row0 | row zero
row1 | row one
row2 | row two

nvmath::Mat33f::Mat33f | ( | const Vec3f & | axis,
 |  | float | rad
 | ) | [inline]

Constructor using a normalized rotation axis and angle (in radians).

This results in a pure rotation matrix.

Parameters:
axis | rotation axis
rad | angle to rotate (in radians)

NVSG_API nvmath::Mat33f::Mat33f ( const Quatf & quat )

Constructor using a normalized quaternion.

This results in a pure rotation matrix.

Parameters:
quat quaternion for rotation

nvmath::Mat33f::Mat33f ( const Matnnf< 3 > & m ) [inline]

Copy constructor.

Member Function Documentation

void nvmath::Mat33f::set | ( | const Vec3f & | row0,
 |  | const Vec3f & | row1,
 |  | const Vec3f & | row2
 | ) | [inline]

Set the matrix with three row vectors.

Parameters:
row0 | row zero
row1 | row one
row2 | row two

Friends And Related Function Documentation

NVSG_API void decompose | ( | const Mat33f & | mat,
 |  | Vec3f & | scaling,
 |  | Vec3f & | shearing,
 |  | Quatf & | orientation
 | ) | [related]

Decompose the matrix mat into scaling, shearing, and orientation

Parameters:
mat | matrix to decompose
scaling | scaling factors
shearing | shearing factors (xy, xz, yz)
orientation | rotational part

float determinant ( const Mat33f & mat ) [related]

Determine the determinant of a matrix.

Returns:
determinant of the matrix
Parameters:
mat matrix to determine determinante of

bool isRotation ( const Mat33f & mat ) [related]

Test if a matrix is a rotation. A matrix is a rotation if it is normalized, orthogonal, and the determinant equals (within some tolerance) 1.0.

Returns:
true if the matrix is a rotation, otherwise false
Parameters:
mat matrix to test

The documentation for this class was generated from the following file:
  • Mat33f.h
Generated on Fri Jan 28 09:20:50 2005 for NVSGSDK by NVIDIA


nvmath::Mat44f Class Reference

4x4 matrix class. More...

#include <Mat44f.h>

Inheritance diagram for nvmath::Mat44f:

[legend]
Collaboration diagram for nvmath::Mat44f:

[legend]
List of all members.

Public Member Functions

NVSG_API | Mat44f (void)
Default constructor.

NVSG_API | Mat44f (float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
Constructor using 16 floats.

NVSG_API | Mat44f (const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3)
Constructor using four row vectors.

NVSG_API | Mat44f (const Vec3f &trans, const Quatf &rot)
Constructor by Translation, Rotation, and optional Scaling.

NVSG_API | Mat44f (const Matnnf< 4 > &m)
Copy constructor.

NVSG_API void | set (const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3)
Set the matrix with four row vectors.

Related Functions

(Note that these are not member functions.)

void | decompose (const Mat44f &mat, Vec3f &scaling, Vec3f &shearing, Quatf &orientation, Vec3f &translation)
NVSG_API Mat44f | operator * (const Mat44f &m0, const Mat44f &m1)

Detailed Description

4x4 matrix class.

This class is used to handle full transformations (including rotations, scalings, translations, and projections).

Note:
Have a look into the nvmath namespace reference to find additional convenient functions (e.g. decompose,...)

Constructor & Destructor Documentation

nvmath::Mat44f::Mat44f ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Mat44f::Mat44f | ( | float | a00,
 |  | float | a01,
 |  | float | a02,
 |  | float | a03,
 |  | float | a10,
 |  | float | a11,
 |  | float | a12,
 |  | float | a13,
 |  | float | a20,
 |  | float | a21,
 |  | float | a22,
 |  | float | a23,
 |  | float | a30,
 |  | float | a31,
 |  | float | a32,
 |  | float | a33
 | ) | [inline]

Constructor using 16 floats.

The 16 floats are used as the matrix elements. No normalization is performed.

nvmath::Mat44f::Mat44f | ( | const Vec4f & | row0,
 |  | const Vec4f & | row1,
 |  | const Vec4f & | row2,
 |  | const Vec4f & | row3
 | ) | [inline]

Constructor using four row vectors.

The four vectors are used as the four rows of the matrix. No normalization is performed.

Parameters:
row0 | row zero
row1 | row one
row2 | row two
row3 | row three

nvmath::Mat44f::Mat44f | ( | const Vec3f & | trans,
 |  | const Quatf & | rot
 | ) | [inline]

Constructor by Translation, Rotation, and optional Scaling.

This constructs a matrix that represents the concatenation T * R.

Parameters:
trans | translation
ori | quaternion for rotation

nvmath::Mat44f::Mat44f ( const Matnnf< 4 > & m ) [inline]

Copy constructor.

Member Function Documentation

void nvmath::Mat44f::set | ( | const Vec4f & | row0,
 |  | const Vec4f & | row1,
 |  | const Vec4f & | row2,
 |  | const Vec4f & | row3
 | ) | [inline]

Set the matrix with four row vectors.

Parameters:
row0 | row zero
row1 | row one
row2 | row two
row3 | row three

Friends And Related Function Documentation

void decompose | ( | const Mat44f & | mat,
 |  | Vec3f & | scaling,
 |  | Vec3f & | shearing,
 |  | Quatf & | orientation,
 |  | Vec3f & | translation
 | ) | [related]

Decompose the matrix mat into scaling, shearing, orientation, and translation.

Parameters:
mat | matrix to decompose
scaling | scaling factors
shearing | shearing factors (xy, xz, yz)
orientation | rotational part
translation | translation vector

NVSG_API Mat44f operator * | ( | const Mat44f & | m0,
 |  | const Mat44f & | m1
 | ) | [related]

Matrix multiplication with a matrix (i.e. concatenation) operator.

Returns:
multiplied (concatenated) matrix

The documentation for this class was generated from the following file:
  • Mat44f.h
Generated on Fri Jan 28 09:20:50 2005 for NVSGSDK by NVIDIA


nvsg::Material Class Reference

StateAttribute that determines the material properties to use for the following geometries. More...

#include <Material.h>

Inheritance diagram for nvsg::Material:

[legend]
Collaboration diagram for nvsg::Material:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Material * | clone (void) const
Get a clone of this material.

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

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

NVSG_API const nvmath::Vec3f & | getAmbientColor (void) const
Get the ambient color of this material.

NVSG_API const nvmath::Vec3f & | getDiffuseColor (void) const
Get the diffuse color of this material.

NVSG_API const nvmath::Vec3f & | getEmissiveColor (void) const
Get the emissive color of this material.

NVSG_API float | getOpacity (void) const
Get the opacity of this material.

NVSG_API const nvmath::Vec3f & | getSpecularColor (void) const
Get the specular color of this material.

NVSG_API float | getSpecularExponent (void) const
Get the specular exponent of this material.

NVSG_API void | setAmbientColor (const nvmath::Vec3f &ac)
Set the ambient color of this material.

NVSG_API void | setDiffuseColor (const nvmath::Vec3f &dc)
Set the diffuse color of this material.

NVSG_API void | setEmissiveColor (const nvmath::Vec3f &ec)
Set the emissive color of this material.

NVSG_API void | setOpacity (const float o)
Set the opacity of this material.

NVSG_API void | setSpecularColor (const nvmath::Vec3f &sc)
Set the specular color of this material.

NVSG_API void | setSpecularExponent (const float se)
Get the specular exponent of this material.

virtual NVSG_API bool | containsTransparentMaterial (void) const
Ask if this Material is transparent.

Static Public Member Functions

NVSG_API const Material * | create (void)
Create a Material.

NVSG_API const Material * | createFromBase (const StateAttribute &rhs)
Create a Material by copying from a StateAttribute.

Protected Member Functions

NVSG_API | Material (void)
Constructor.

NVSG_API | Material (const StateAttribute &rhs)
Partial Constructor.

NVSG_API | Material (const Material &rhs)
Copy Constructor.

virtual NVSG_API | ~Material ()
Protected destructor to prevent explicit creation on stack.

Detailed Description

StateAttribute that determines the material properties to use for the following geometries.

Default Values:
ambient color ( 0.3f, 0.3f, 0.3f )
diffuse color ( 0.9f, 0.9f, 0.9f )
emissive color ( 0.0f, 0.0f, 0.0f )
opacity ( 1.0f )
specular color ( 0.9f, 0.9f, 0.9f )
specular exponent ( 10.0f )

Constructor & Destructor Documentation

NVSG_API nvsg::Material::Material ( void ) [protected]

Constructor.

NVSG_API nvsg::Material::Material ( const StateAttribute & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::Material::Material ( const Material & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::Material::~Material ( ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const Material* nvsg::Material::create ( void ) [static]

Create a Material.

Returns:
a constant pointer to a Material.

NVSG_API const Material* nvsg::Material::createFromBase ( const StateAttribute & rhs ) [static]

Create a Material by copying from a StateAttribute.

Returns:
a constant pointer to a Material.
Parameters:
rhs StateAttribute to copy from

virtual NVSG_API const Material* nvsg::Material::clone ( void ) const [virtual]

Get a clone of this material.

Returns:
A pointer to the new created clone.

Implements nvsg::StateAttribute.

virtual NVSG_API bool nvsg::Material::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::StateAttribute.

virtual NVSG_API DataID nvsg::Material::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::StateAttribute.

const nvmath::Vec3f & nvsg::Material::getAmbientColor ( void ) const [inline]

Get the ambient color of this material.

Ambient reflection, like ambient light, is nondirectional. Ambient reflection has a lesser impact on the apparent color of a rendered object, but it does affect the overall color and is most noticeable when little or no diffuse light reflects off the material. A material's ambient reflection is affected by the ambient light set for a scene. The default is (0.3,0.3,0.3).

Returns:
The ambient color of this material

const nvmath::Vec3f & nvsg::Material::getDiffuseColor ( void ) const [inline]

Get the diffuse color of this material.

The diffuse and ambient colors of a material describe how a material reflects the ambient and diffuse light in a scene. Because most scenes contain much more diffuse light than ambient light, diffuse reflection plays the largest role in determining color. Additionally, because diffuse light is directional, the angle of incidence for diffuse light affects the overall intensity of the reflection. Diffuse reflection is greatest when the light strikes a vertex parallel to the vertex normal. As the angle increases, the effect of diffuse reflection diminishes. The amount of light reflected is the cosine of the angle between the incoming light and the vertex normal. The default is (0.9,0.9,0.9).

Returns:
The diffuse color of this material

const nvmath::Vec3f & nvsg::Material::getEmissiveColor ( void ) const [inline]

Get the emissive color of this material.

Materials can be used to make a rendered object appear to be self-luminous. The emissive color of a material is used to describe the color of the emitted light. Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color. You can use a material's emissive color to add the illusion that an object is emitting light, without incurring the computational overhead of adding a light to the scene. Remember, materials with emissive color don't emit light that can be reflected by other objects in a scene. To achieve this reflected light, you need to place an additional light within the scene. The default is (0.0,0.0,0.0).

Returns:
The emissive color of this material

float nvsg::Material::getOpacity ( void ) const [inline]

Get the opacity of this material.

The opacity of a material controls how much light is reflected and how much light goes through. An opacity of 1.0 means the material is completely opaque - all light is reflected and no objects behind shine through. An opacity of 0.0 means the material is completely transparent - no light is reflected and objects behind are seen undisturbed. The default is 1.0.

Returns:
The opacity of this material

const nvmath::Vec3f & nvsg::Material::getSpecularColor ( void ) const [inline]

Get the specular color of this material.

Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color — the most common colors are white or light gray. The values you set in the specular exponent control how sharp the specular effects are. The default of the specular color is (0.9,0.9,0.9).

Returns:
The specular color of this material

float nvsg::Material::getSpecularExponent ( void ) const [inline]

Get the specular exponent of this material.

Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color — the most common colors are white or light gray. The values you set in the specular exponent control how sharp the specular effects are. The default of the specular exponent is 10.0.

Returns:
The specular exponent of this material

void nvsg::Material::setAmbientColor ( const nvmath::Vec3f & ac ) [inline]

Set the ambient color of this material.

Ambient reflection, like ambient light, is nondirectional. Ambient reflection has a lesser impact on the apparent color of a rendered object, but it does affect the overall color and is most noticeable when little or no diffuse light reflects off the material. A material's ambient reflection is affected by the ambient light set for a scene. The default is (0.3,0.3,0.3).

void nvsg::Material::setDiffuseColor ( const nvmath::Vec3f & dc ) [inline]

Set the diffuse color of this material.

The diffuse and ambient colors of a material describe how a material reflects the ambient and diffuse light in a scene. Because most scenes contain much more diffuse light than ambient light, diffuse reflection plays the largest part in determining color. Additionally, because diffuse light is directional, the angle of incidence for diffuse light affects the overall intensity of the reflection. Diffuse reflection is greatest when the light strikes a vertex parallel to the vertex normal. As the angle increases, the effect of diffuse reflection diminishes. The amount of light reflected is the cosine of the angle between the incoming light and the vertex normal. The default is (0.9,0.9,0.9).

void nvsg::Material::setEmissiveColor ( const nvmath::Vec3f & ec ) [inline]

Set the emissive color of this material.

Materials can be used to make a rendered object appear to be self-luminous. The emissive color of a material is used to describe the color of the emitted light. Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color. You can use a material's emissive color to add the illusion that an object is emitting light, without incurring the computational overhead of adding a light to the scene. Remember, materials with emissive color don't emit light that can be reflected by other objects in a scene. To achieve this reflected light, you need to place an additional light within the scene. The default is (0.0,0.0,0.0).

void nvsg::Material::setOpacity ( const float o ) [inline]

Set the opacity of this material.

The opacity of a material controls how much light is reflected and how much light goes through. An opacity of 1.0 means the material is completely opaque - all light is reflected and no objects behind shine through. An opacity of 0.0 means the material is completely transparent - no light is reflected and objects behind are seen undisturbed. The default is 1.0.

Returns:
The opacity of this material

void nvsg::Material::setSpecularColor ( const nvmath::Vec3f & sc ) [inline]

Set the specular color of this material.

Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color — the most common colors are white or light gray. The values you set in the specular exponent control how sharp the specular effects are. The default of the specular color is (0.9,0.9,0.9).

Returns:
The specular color of this material

void nvsg::Material::setSpecularExponent ( const float se ) [inline]

Get the specular exponent of this material.

Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color — the most common colors are white or light gray. The values you set in the specular exponent control how sharp the specular effects are. The default of the specular exponent is 10.0.

Returns:
The specular exponent of this material

virtual NVSG_API bool nvsg::Material::containsTransparentMaterial ( void ) const [virtual]

Ask if this Material is transparent.

Returns:
true, if it is transparent, otherwise false

Reimplemented from nvsg::StateAttribute.

The documentation for this class was generated from the following file:
  • Material.h
Generated on Fri Jan 28 09:21:24 2005 for NVSGSDK by NVIDIA


Templatenvmath::Matnnf< n > class Reference

nvmath::Matnnf< n > Class Template Reference

Template for nxn-matrices. More...

#include <Matnnf.h>

Inheritance diagram for nvmath::Matnnf< n >:

[legend]
List of all members.

Public Member Functions

Matnnf (void)
Default constructor.

Vecnf< n > & | operator[] (size_t i)
Non-constant subscript operator.

const Vecnf< n > & | operator[] (size_t i) const
Constant subscript operator.

Matnnf< n > | operator~ (void) const
Transpose operator.

Matnnf< n > | operator- (void) const
Negation operator.

Matnnf< n > | operator * (float f) const
Matrix multiplication with a scalar operator.

Vecnf< n > | operator * (const Vecnf< n > &v) const
Matrix multiplication with a vector operator.

Matnnf< n > | operator/ (float f) const
Matrix division by a scalar operator.

Matnnf< n > | operator+ (const Matnnf< n > &v) const
Matrix addition operator.

Matnnf< n > | operator- (const Matnnf< n > &v) const
Matrix subtraction operator.

bool | operator== (const Matnnf< n > &m) const
Equality operator.

bool | operator!= (const Matnnf< n > &m) const
Inequality operator.

Matnnf< n > & | operator= (const Matnnf< n > &m)
Assignment operator.

Matnnf< n > & | operator *= (float f)
Matrix multiplication with a scalar and assignment operator.

Matnnf< n > & | operator *= (const Matnnf< n > &m)
Matrix multiplication with a matrix (i.e. concatenation) and assignment operator.

Matnnf< n > & | operator/= (float f)
Matrix division by a scalar and assignment operator.

Matnnf< n > & | operator+= (const Matnnf< n > &m)
Matrix addition and assignment operator.

Matnnf< n > & | operator-= (const Matnnf< n > &m)
Matrix subtraction and assignment operator.

const float * | getPtr (void) const
Get a constant pointer to the nxn floats of the matrix.

Related Functions

(Note that these are not member functions.)

bool | isIdentity (const Matnnf< n > &m)
bool | isNormalized (const Matnnf< n > &mat)
bool | isOrthogonal (const Matnnf< n > &mat)
Matnnf< n > | operator * (const Matnnf< n > &m0, const Matnnf< n > &m1)

Detailed Description

template<unsigned char n>
class nvmath::Matnnf< n >

Template for nxn-matrices.

Constructor & Destructor Documentation

template<unsigned char n>
nvmath::Matnnf< n >::Matnnf ( void )

Default constructor.

For performance reasons no initialization is performed.

Member Function Documentation

template<unsigned char n>
Vecnf< n > & nvmath::Matnnf< n >::operator[] ( size_t i )

Non-constant subscript operator.

Returns:
reference to i th row of the matrix
Parameters:
i index to row to use (i=0,..,n-1)

template<unsigned char n>
const Vecnf< n > & nvmath::Matnnf< n >::operator[] ( size_t i ) const

Constant subscript operator.

Returns:
constant reference to i th row of the matrix
Parameters:
i index to row to use (i=0,..,n-1)

template<unsigned char n>
Matnnf< n > nvmath::Matnnf< n >::operator~ ( void ) const

Transpose operator.

returns transposed matrix

template<unsigned char n>
Matnnf< n > nvmath::Matnnf< n >::operator- ( void ) const

Negation operator.

Returns:
negated matrix

template<unsigned char n>
Matnnf< n > nvmath::Matnnf< n >::operator * ( float f ) const

Matrix multiplication with a scalar operator.

Returns:
multiplied matrix
Parameters:
f scalar to multiply with

template<unsigned char n>
Vecnf< n > nvmath::Matnnf< n >::operator * ( const Vecnf< n > & v ) const

Matrix multiplication with a vector operator.

Returns:
matrix time v
Parameters:
v vector to multiply with

template<unsigned char n>
Matnnf< n > nvmath::Matnnf< n >::operator/ ( float f ) const

Matrix division by a scalar operator.

Returns:
divided matrix
Parameters:
f scalar to divide through

template<unsigned char n>
Matnnf< n > nvmath::Matnnf< n >::operator+ ( const Matnnf< n > & v ) const

Matrix addition operator.

Returns:
sum of the two matrices
Parameters:
m matrix to add

template<unsigned char n>
Matnnf< n > nvmath::Matnnf< n >::operator- ( const Matnnf< n > & v ) const

Matrix subtraction operator.

Returns:
difference of the two matrices
Parameters:
m matrix to add

template<unsigned char n>
bool nvmath::Matnnf< n >::operator== ( const Matnnf< n > & m ) const

Equality operator.

Returns:
true if the matrix is equal to m, otherwise false
Parameters:
m matrix to compare with

template<unsigned char n>
bool nvmath::Matnnf< n >::operator!= ( const Matnnf< n > & m ) const

Inequality operator.

Returns:
true if the matrix is not equal to m, otherwise false
Parameters:
m matrix to compare with

template<unsigned char n>
Matnnf< n > & nvmath::Matnnf< n >::operator= ( const Matnnf< n > & m )

Assignment operator.

Returns:
reference to the assigned matrix
Parameters:
m matrix to copy

template<unsigned char n>
Matnnf< n > & nvmath::Matnnf< n >::operator *= ( float f )

Matrix multiplication with a scalar and assignment operator.

Returns:
reference to the assigned matrix after multiplication
Parameters:
f scalar to multiply with

template<unsigned char n>
Matnnf< n > & nvmath::Matnnf< n >::operator *= ( const Matnnf< n > & m )

Matrix multiplication with a matrix (i.e. concatenation) and assignment operator.

Returns:
reference to the assigned matrix after multiplication (concatenation)
Parameters:
m matrix to multiply

template<unsigned char n>
Matnnf< n > & nvmath::Matnnf< n >::operator/= ( float f )

Matrix division by a scalar and assignment operator.

Returns:
reference to the assigned matrix after division
Parameters:
f scalar to divide through

template<unsigned char n>
Matnnf< n > & nvmath::Matnnf< n >::operator+= ( const Matnnf< n > & m )

Matrix addition and assignment operator.

Returns:
reference to the assigned matrix after addition
Parameters:
m matrix to add

template<unsigned char n>
Matnnf< n > & nvmath::Matnnf< n >::operator-= ( const Matnnf< n > & m )

Matrix subtraction and assignment operator.

Returns:
reference to the assigned matrix after addition
Parameters:
m matrix to subtract

template<unsigned char n>
const float * nvmath::Matnnf< n >::getPtr ( void ) const

Get a constant pointer to the nxn floats of the matrix.

Returns:
constant pointer to matrix elements

Friends And Related Function Documentation

template<unsigned char n>
bool isIdentity ( const Matnnf< n > & m ) [related]

Test if a matrix is the identity

Returns:
true if the matrix is the identity, otherwise false
Parameters:
m matrix to test

template<unsigned char n>
bool isNormalized ( const Matnnf< n > & mat ) [related]

Test if a matrix is normalized. A matrix is normalized when both all rows and all columns are normalized.

Returns:
true if the matrix is normalized, otherwise false
Parameters:
mat matrix to test

template<unsigned char n>
bool isOrthogonal ( const Matnnf< n > & mat ) [related]

Test if a matrix is orthogonal. A matrix is orthogonal when every row is orthogonal to each other row and every column is orthogonal to each other column.

Returns:
true if the matrix is orthogonal, otherwise false
Parameters:
mat matrix to test

template<unsigned char n>
Matnnf< n > operator * | ( | const Matnnf< n > & | m0,
 |  | const Matnnf< n > & | m1
 | ) | [related]

Matrix multiplication with a matrix (i.e. concatenation) operator.

Returns:
multiplied (concatenated) matrix

The documentation for this class was generated from the following file:
  • Matnnf.h
Generated on Fri Jan 28 09:20:51 2005 for NVSGSDK by NVIDIA


Templatenvutil::MemFunTbl< T > class Reference

nvutil::MemFunTbl< T > Class Template Reference

Member Function Table template. More...

#include <MemFunTbl.h>

Inheritance diagram for nvutil::MemFunTbl< T >:

[legend]
List of all members.

Public Member Functions

MemFunTbl (size_t size)
reserve 'size' table entries, to avoid frequend allocations

PMFN | operator[] (size_t i) const
read-only access the function pointer stored at index i; behavior is undefined for invalid indices

template<typename U> void | addEntry (size_t i, U pmfn)
register function pointer pmfn at index i; former entry at i will by overridden

bool | testEntry (size_t i) const
test if entry at i is valid

Detailed Description

template<typename T>
class nvutil::MemFunTbl< T >

Member Function Table template.

Constructor & Destructor Documentation

template<typename T>
nvutil::MemFunTbl< T >::MemFunTbl ( size_t size ) [inline, explicit]

reserve 'size' table entries, to avoid frequend allocations

Member Function Documentation

template<typename T>
MemFunTbl< T >::PMFN nvutil::MemFunTbl< T >::operator[] ( size_t i ) const [inline]

read-only access the function pointer stored at index i; behavior is undefined for invalid indices

template<typename T>
template<typename U>
void nvutil::MemFunTbl< T >::addEntry | ( | size_t | i,
 |  | U | pmfn
 | ) | [inline]

register function pointer pmfn at index i; former entry at i will by overridden

template<typename T>
bool nvutil::MemFunTbl< T >::testEntry ( size_t i ) const [inline]

test if entry at i is valid

The documentation for this class was generated from the following file:
  • MemFunTbl.h
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


nvtraverser::ModelViewTraverser Class Reference

Traverser that can handle the model view transform stack. More...

#include <ModelViewTraverser.h>

Inheritance diagram for nvtraverser::ModelViewTraverser:

[legend]
Collaboration diagram for nvtraverser::ModelViewTraverser:

[legend]
List of all members.

Protected Member Functions

NVSG_API | ModelViewTraverser (bool readOnly=true)
Protected constructor to prevent instantiation of a ModelViewTraverser.

virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

virtual NVSG_API | ~ModelViewTraverser ()
Protected destructor to prevent instantiation of a ModelViewTraverser.

virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root)
Provide special treatment of a ParallelCamera object.

virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root)
Provide special treatment of a PerspectiveCamera object.

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Provide special treatment of a Transform node.

virtual NVSG_API bool | preTraverseTransform (const nvsg::Transform *p)
Handles actions to take between transform stack adjustment and traversal.

virtual NVSG_API void | postTraverseTransform (const nvsg::Transform *p)
Handles actions to take between traversal and transform stack adjustment.

virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root)
Handles actions to take just before the scene is traversed.

Protected Attributes

nvutil::TransformStack m_transformStack
stack of transformations that holds the actual transformations while traversing a tree

Detailed Description

Traverser that can handle the model view transform stack.

Use this class as a base for traversers that need to maintain the current model view transformation.

Constructor & Destructor Documentation

NVSG_API nvtraverser::ModelViewTraverser::ModelViewTraverser ( bool readOnly = true ) [protected]

Protected constructor to prevent instantiation of a ModelViewTraverser.

Note:
A ModelViewTraverser doesn't change anything in the scene graph, but might be used by a modifying traverser. therefore, it gets the readOnly flag as a parameter to pass to Traverser.

virtual NVSG_API nvtraverser::ModelViewTraverser::~ModelViewTraverser ( ) [protected, virtual]

Protected destructor to prevent instantiation of a ModelViewTraverser.

Member Function Documentation

virtual NVSG_API void nvtraverser::ModelViewTraverser::handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

This routine gets called for each LOD object that will be visited while traversing the scene graph. The currently visited LOD object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::CullTraverser, and nvtraverser::RayIntersectTraverser.

virtual NVSG_API void nvtraverser::ModelViewTraverser::handleParallelCamera | ( | const nvsg::ParallelCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Provide special treatment of a ParallelCamera object.

The function initializes the model view transformation stack and calls the base class handler function.

Parameters:
p | ParallelCamera to handle
root | root node of scene to traverse

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::GLTraverser, and nvtraverser::RenderTraverser.

virtual NVSG_API void nvtraverser::ModelViewTraverser::handlePerspectiveCamera | ( | const nvsg::PerspectiveCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Provide special treatment of a PerspectiveCamera object.

The function initializes the model view transformation stack and calls the base class handler function.

Parameters:
p | PerspectiveCamera to handle
root | root node of scene to traverse

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::GLTraverser, and nvtraverser::RenderTraverser.

virtual NVSG_API void nvtraverser::ModelViewTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Provide special treatment of a Transform node.

On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Parameters:
p Transform to handle

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::CullTraverser, nvtraverser::GLTraverser, and nvtraverser::RayIntersectTraverser.

virtual NVSG_API bool nvtraverser::ModelViewTraverser::preTraverseTransform ( const nvsg::Transform * p ) [protected, virtual]

Handles actions to take between transform stack adjustment and traversal.

In this base class, this is a NOP.

Parameters:
p Transform node to traverse next

Reimplemented in nvtraverser::FrustumCullTraverser, nvtraverser::GLTraverser, and nvtraverser::RayIntersectTraverser.

virtual NVSG_API void nvtraverser::ModelViewTraverser::postTraverseTransform ( const nvsg::Transform * p ) [protected, virtual]

Handles actions to take between traversal and transform stack adjustment.

When this function returns true, the subtree beneath is traversed. Otherwise it isn't.

Returns:
true
Parameters:
p Transform node that was traversed immediately before this call.

Reimplemented in nvtraverser::FrustumCullTraverser, and nvtraverser::RayIntersectTraverser.

virtual NVSG_API bool nvtraverser::ModelViewTraverser::preTraverseRoot | ( | const nvsg::SimpleCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Handles actions to take just before the scene is traversed.

This initializes the camera related part of the transform stack (after traversal of the headlights).

Parameters:
p | camera that is used here
root | root node to traverse from

Reimplemented from nvtraverser::Traverser.

Reimplemented in nvtraverser::FrustumCullTraverser, nvtraverser::GLTraverser, and nvtraverser::OcclusionCullGLTraverser.

Member Data Documentation

nvutil::TransformStack nvtraverser::ModelViewTraverser::m_transformStack [protected]

stack of transformations that holds the actual transformations while traversing a tree

The documentation for this class was generated from the following file:
  • ModelViewTraverser.h
Generated on Fri Jan 28 09:22:06 2005 for NVSGSDK by NVIDIA


nvsg::MonoCamera Class Reference

A monoscopic camera. More...

#include <MonoCamera.h>

Inheritance diagram for nvsg::MonoCamera:

[legend]
Collaboration diagram for nvsg::MonoCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const MonoCamera * | clone (void) const=0
Interface for cloning a MonoCamera.

virtual NVSG_API nvmath::Mat44f | getProjection (void) const=0
Interface for getting the projection matrix.

virtual NVSG_API float | getProjectionDx (void) const=0
Interface for getting the projection translation (used with stereo only).

virtual NVSG_API nvmath::Mat44f | getInverseProjection (void) const=0
Interface for getting the inverse projection matrix.

virtual NVSG_API void | setProjectionDx (float dx)=0
Interface for setting the project translation (used with stereo only).

Protected Member Functions

NVSG_API | MonoCamera (void)
Constructor.

virtual NVSG_API | ~MonoCamera (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

A monoscopic camera.

This camera class is used to group the monoscopic camera types (like SimpleCamera, JitterCamera).

Constructor & Destructor Documentation

NVSG_API nvsg::MonoCamera::MonoCamera ( void ) [protected]

Constructor.

virtual NVSG_API nvsg::MonoCamera::~MonoCamera ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

virtual NVSG_API const MonoCamera* nvsg::MonoCamera::clone ( void ) const [pure virtual]

Interface for cloning a MonoCamera.

Returns:
pointer to the new MonoCamera.

Implements nvsg::Camera.

Implemented in nvsg::JitterCamera, nvsg::ParallelCamera, nvsg::PerspectiveCamera, and nvsg::SimpleCamera.

virtual NVSG_API nvmath::Mat44f nvsg::MonoCamera::getProjection ( void ) const [pure virtual]

Interface for getting the projection matrix.

Returns:
The projection matrix

Implemented in nvsg::JitterCamera, nvsg::ParallelCamera, and nvsg::PerspectiveCamera.

virtual NVSG_API float nvsg::MonoCamera::getProjectionDx ( void ) const [pure virtual]

Interface for getting the projection translation (used with stereo only).

Returns:
The projection translation in x

Implemented in nvsg::JitterCamera, and nvsg::SimpleCamera.

virtual NVSG_API nvmath::Mat44f nvsg::MonoCamera::getInverseProjection ( void ) const [pure virtual]

Interface for getting the inverse projection matrix.

Returns:
The inverse projection matrix

Implemented in nvsg::JitterCamera, nvsg::ParallelCamera, and nvsg::PerspectiveCamera.

virtual NVSG_API void nvsg::MonoCamera::setProjectionDx ( float dx ) [pure virtual]

Interface for setting the project translation (used with stereo only).

Parameters:
dx shift of projection in x-direction

Implemented in nvsg::JitterCamera, and nvsg::SimpleCamera.

The documentation for this class was generated from the following file:
  • MonoCamera.h
Generated on Fri Jan 28 09:21:25 2005 for NVSGSDK by NVIDIA


NBFAnimatedQuads Struct Reference

The NBFAnimatedQuads structure represents animated quads. More...

#include <NBF.h>

Inheritance diagram for NBFAnimatedQuads:

[legend]
Collaboration diagram for NBFAnimatedQuads:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFAnimatedQuads is a multiple of 8, regardless of packing.

Public Attributes

uint_t animation

Detailed Description

The NBFAnimatedQuads structure represents animated quads.

A NBFAnimatedQuads is a concrete topology class derived from NBFQuads. The object code for a NBFAnimatedQuads is NBF_ANIMATED_QUADS.

Member Function Documentation

NBFAnimatedQuads::PADDING ( 4 )

Padding bits to ensure the size of NBFAnimatedQuads is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

uint_t NBFAnimatedQuads::animation

Specifies the file offset to the NBFVNVectorAnimation object < to be applied to the quad faces.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:09 2005 for NVSGSDK by NVIDIA


NBFAnimatedTransform Struct Reference

The NBFAnimatedTransform structure represents an animated transform group node. More...

#include <NBF.h>

Inheritance diagram for NBFAnimatedTransform:

[legend]
Collaboration diagram for NBFAnimatedTransform:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFAnimatedTransform is a multiple of 8, regardless of packing.

Public Attributes

uint_t animation

Detailed Description

The NBFAnimatedTransform structure represents an animated transform group node.

The object code for a NBFAnimatedTransform is NBF_ANIMATED_TRANSFORM.

Member Function Documentation

NBFAnimatedTransform::PADDING ( 4 )

Padding bits to ensure the size of NBFAnimatedTransform is a multiple of 8, regardless of packing.

Reimplemented from NBFTransform.

Member Data Documentation

uint_t NBFAnimatedTransform::animation

Specifies the file offset to the NBFTrafoAnimation object < to be applied to the transform group node.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:10 2005 for NVSGSDK by NVIDIA


NBFAnimatedTriangles Struct Reference

The NBFAnimatedTriangles structure represents animated triangles. More...

#include <NBF.h>

Inheritance diagram for NBFAnimatedTriangles:

[legend]
Collaboration diagram for NBFAnimatedTriangles:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFAnimatedTriangles is a multiple of 8, regardless of packing.

Public Attributes

uint_t animation

Detailed Description

The NBFAnimatedTriangles structure represents animated triangles.

A NBFAnimatedTriangles is a concrete topology class derived from NBFTriangles. The object code for a NBFAnimatedTriangles is NBF_ANIMATED_TRIANGLES.

Member Function Documentation

NBFAnimatedTriangles::PADDING ( 4 )

Padding bits to ensure the size of NBFAnimatedTriangles is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

uint_t NBFAnimatedTriangles::animation

Specifies the file offset to the NBFVNVectorAnimation object < to be applied to the triangle faces.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:10 2005 for NVSGSDK by NVIDIA


NBFCamera Struct Reference

The NBFCamera structure represents a camera. More...

#include <NBF.h>

Inheritance diagram for NBFCamera:

[legend]
Collaboration diagram for NBFCamera:

[legend]
List of all members.

Detailed Description

The NBFCamera structure represents a camera.

A NBFCamera serves as base class only.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:11 2005 for NVSGSDK by NVIDIA


NBFCgFx Struct Reference

The NBFCgFx structure represents an effect attribute. More...

#include <NBF.h>

Inheritance diagram for NBFCgFx:

[legend]
Collaboration diagram for NBFCgFx:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFCgFx is a multiple of 8, regardless of packing.

Public Attributes

str_t file
Specifies the name of the corresponding CgFX source file.

uint_t numTweaks
Specifies the number of tweakable parameters available for the effect.

uint_t tweaks
uint_t currTech
Specifies the index of the current technique use with rendering.

Detailed Description

The NBFCgFx structure represents an effect attribute.

The object code for a NBFCgFx is NBF_CGFX.

Member Function Documentation

NBFCgFx::PADDING ( 4 )

Padding bits to ensure the size of NBFCgFx is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

str_t NBFCgFx::file

Specifies the name of the corresponding CgFX source file.

uint_t NBFCgFx::numTweaks

Specifies the number of tweakable parameters available for the effect.

uint_t NBFCgFx::tweaks

Specifies the file offset to the tweakables. < Tweakables in the NBF format are stored as tweak_t objects.

uint_t NBFCgFx::currTech

Specifies the index of the current technique use with rendering.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:11 2005 for NVSGSDK by NVIDIA


NBFDirectedLight Struct Reference

#include <NBF.h>

Inheritance diagram for NBFDirectedLight:

[legend]
Collaboration diagram for NBFDirectedLight:

[legend]
List of all members.

Detailed Description

The object code for a NBFDirectedLight is NBF_DIRECTED_LIGHT.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:12 2005 for NVSGSDK by NVIDIA


NBFDrawable Struct Reference

The NBFDrawable represents any kind of a drawable object. More...

#include <NBF.h>

Inheritance diagram for NBFDrawable:

[legend]
Collaboration diagram for NBFDrawable:

[legend]
List of all members.

Detailed Description

The NBFDrawable represents any kind of a drawable object.

A NBFDrawable serves a base class only.
Concrete object codes valid for a NBFDrawable are NBF_TRIANGLES, NBF_ANIMATED_TRIANGLES, NBF_SKINNED_TRIANGLES, and NBF_TRISTRIPS. Further object codes valid for a NBFDrawable are subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:13 2005 for NVSGSDK by NVIDIA


NBFFaceAttribute Struct Reference

The NBFFaceAttribute structure represents a render mode. More...

#include <NBF.h>

Inheritance diagram for NBFFaceAttribute:

[legend]
Collaboration diagram for NBFFaceAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (2)
Padding bits to ensure offset of polygonOffsetFactor is on a 4-byte boundary, regardless of packing.

PADDING (7)
Padding bits to ensure the size of NBFStateAttribute is a multiple of 4, regardless of packing.

Public Attributes

float3_t ambientColor
Specifies the gloabal ambient color to be used for rendering.

ubyte_t backFaceCulling
Specifies if culling of back faces should be enabled for rendering.

ubyte_t polygonOffsetEnabled
Specifies if polygon offset should be enabled for rendering.

float | polygonOffsetFactor
float | polygonOffsetUnits
ubyte_t twoSidedLighting
Specifies if two-sided lighting should be enabled for rendering.

Detailed Description

The NBFFaceAttribute structure represents a render mode.

The object code for a NBFFaceAttribute is NBF_FACE_ATTRIBUTE.

Member Function Documentation

NBFFaceAttribute::PADDING ( 2 )

Padding bits to ensure offset of polygonOffsetFactor is on a 4-byte boundary, regardless of packing.

NBFFaceAttribute::PADDING ( 7 )

Padding bits to ensure the size of NBFStateAttribute is a multiple of 4, regardless of packing.

Member Data Documentation

float3_t NBFFaceAttribute::ambientColor

Specifies the gloabal ambient color to be used for rendering.

ubyte_t NBFFaceAttribute::backFaceCulling

Specifies if culling of back faces should be enabled for rendering.

ubyte_t NBFFaceAttribute::polygonOffsetEnabled

Specifies if polygon offset should be enabled for rendering.

float NBFFaceAttribute::polygonOffsetFactor

Specifies the scale factor to be used to create a variable depth offset < for a polygon.

float NBFFaceAttribute::polygonOffsetUnits

Specifies a unit that is multiplied by a render API implementation-specific < value to create a constant depth offset.

ubyte_t NBFFaceAttribute::twoSidedLighting

Specifies if two-sided lighting should be enabled for rendering.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:13 2005 for NVSGSDK by NVIDIA


NBFFramedAnimation Struct Reference

The NBFFramedAnimation structure represents a framed animation. More...

#include <NBF.h>

Inheritance diagram for NBFFramedAnimation:

[legend]
List of all members.

Public Attributes

uint_t numFrames

Detailed Description

The NBFFramedAnimation structure represents a framed animation.

A NBFFramedAnimation serves as base class only and needs to be considered in conjunction with either NBFTrafoAnimation or NBFVNVectorAnimation.
Concrete object codes valid for a NBFFramedAnimation are NBF_FRAMED_TRAFO_ANIMATION and NBF_FRAMED_VNVECTOR_ANIMATION. Further concrete object codes valid for NBFFramedAnimation objects are subject to future extensions of the NBF format.

Member Data Documentation

uint_t NBFFramedAnimation::numFrames

Specifies the number of animation frames.
< In conjunction with a NBFTrafoAnimation, this corresponds to the number of < trafo_t objects stored with a NBFTrafoAnimation.
< In conjunction with a NBFVNVectorAnimation, this corresponds to the number of < vertex/normal sets stored with a NBFVNVectorAnimation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:13 2005 for NVSGSDK by NVIDIA


NBFFramedTrafoAnimation Struct Reference

The NBFFramedTrafoAnimation structure represents a framed animation that will be applied to trafo_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFFramedTrafoAnimation:

[legend]
Collaboration diagram for NBFFramedTrafoAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFFramedTrafoAnimation is a multiple of 8, regardless of packing.

Detailed Description

The NBFFramedTrafoAnimation structure represents a framed animation that will be applied to trafo_t objects.

A NBFFramedTrafoAnimation is a concrete animation type. It publicly inherits from NBFTrafoAnimation and NBFFramedAnimation. The object code for a NBFFramedTrafoAnimation is NBF_FRAMED_TRAFO_ANIMATION.

Member Function Documentation

NBFFramedTrafoAnimation::PADDING ( 4 )

Padding bits to ensure the size of NBFFramedTrafoAnimation is a multiple of 8, regardless of packing.

Reimplemented from NBFTrafoAnimation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:14 2005 for NVSGSDK by NVIDIA


NBFFramedVNVectorAnimation Struct Reference

The NBFFramedVNVectorAnimation structure represents a framed animation that will be applied to VNVector objects. More...

#include <NBF.h>

Inheritance diagram for NBFFramedVNVectorAnimation:

[legend]
Collaboration diagram for NBFFramedVNVectorAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFFramedVNVectorAnimation is a multiple of 8, regardless of packing.

Detailed Description

The NBFFramedVNVectorAnimation structure represents a framed animation that will be applied to VNVector objects.

A NBFFramedVNVectorAnimation is a concrete animation type. It publicly inherits from NBFVNVectorAnimation and NBFFramedAnimation. The object code for a NBFFramedVNVectorAnimation is NBF_FRAMED_VNVECTOR_ANIMATION.

Member Function Documentation

NBFFramedVNVectorAnimation::PADDING ( 4 )

Padding bits to ensure the size of NBFFramedVNVectorAnimation is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:14 2005 for NVSGSDK by NVIDIA


NBFGeoNode Struct Reference

The NBFGeoNode structure represents a geometry node. More...

#include <NBF.h>

Inheritance diagram for NBFGeoNode:

[legend]
Collaboration diagram for NBFGeoNode:

[legend]
List of all members.

Public Attributes

uint_t | numGeometrySets
uint_t | geometrySets

Detailed Description

The NBFGeoNode structure represents a geometry node.

The object code for a NBFGeoNode is NBF_GEO_NODE.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:15 2005 for NVSGSDK by NVIDIA


NBFGeoSet Struct Reference

The NBFGeoSet structure represents a set of vertex attributes. More...

#include <NBF.h>

Inheritance diagram for NBFGeoSet:

[legend]
Collaboration diagram for NBFGeoSet:

[legend]
List of all members.

Public Attributes

uint_t numVertices
Specifies the number of contained vertices.

uint_t vertices
Specifies the file offset to the vertices. Vertices are stored as float3_t.

uint_t numNormals
Specifies the number of contained normals.

uint_t normals
Specifies the file offset to the normals. Normals are stored as float3_t.

uint_t numTexCoordsSets
Specifies the number of contained texture coordinate sets.

uint_t texCoordsSets
uint_t numColors
Specifies the number of contained primary colors.

uint_t colorDim
uint_t colors
uint_t numSecondaryColors
Specifies the number of contained secondary colors.

uint_t secondaryColorDim
uint_t secondaryColors
uint_t numFogCoords
Specifies the number of contained fog coordinates.

uint_t fogCoords

Detailed Description

The NBFGeoSet structure represents a set of vertex attributes.

A NBFGeoSet serves as base class only. It maintains a full set of geometry data (vertex attributes) that is used by all derived topology classes.

Member Data Documentation

uint_t NBFGeoSet::numVertices

Specifies the number of contained vertices.

uint_t NBFGeoSet::vertices

Specifies the file offset to the vertices. Vertices are stored as float3_t.

uint_t NBFGeoSet::numNormals

Specifies the number of contained normals.

uint_t NBFGeoSet::normals

Specifies the file offset to the normals. Normals are stored as float3_t.

uint_t NBFGeoSet::numTexCoordsSets

Specifies the number of contained texture coordinate sets.

uint_t NBFGeoSet::texCoordsSets

Specifies the file offset to the texture coordinate sets. < Texture coordinate sets are stored using the texCoordSet_t type.

uint_t NBFGeoSet::numColors

Specifies the number of contained primary colors.

uint_t NBFGeoSet::colorDim

Specifies the dimension, in terms of float, used for the primary colors. < Colors can be either three or four dimensional.

uint_t NBFGeoSet::colors

Specifies the file offset to the primary colors. In conformity to the color's dimension, < colors are stored as float3_t or float4_t respectively.

uint_t NBFGeoSet::numSecondaryColors

Specifies the number of contained secondary colors.

uint_t NBFGeoSet::secondaryColorDim

Specifies the dimension, in terms of float, used for the secondary colors. < Colors can be either three or four dimensional.

uint_t NBFGeoSet::secondaryColors

Specifies the file offset to the secondary colors. In conformity to the color's dimension, < colors are stored as float3_t or float4_t respectively.

uint_t NBFGeoSet::numFogCoords

Specifies the number of contained fog coordinates.

uint_t NBFGeoSet::fogCoords

Specifies the file offset to the fog coordinates. Fog coordinates always are one < dimensional, and are stored as 32-bit floating point values.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


NBFGroup Struct Reference

The NBFGroup structure represents a group node. More...

#include <NBF.h>

Inheritance diagram for NBFGroup:

[legend]
Collaboration diagram for NBFGroup:

[legend]
List of all members.

Public Attributes

uint_t numChildren
Specifies the number of maintained children.

uint_t children

Detailed Description

The NBFGroup structure represents a group node.

A NBFGroup serves as base class only. Concrete object codes valid for a NBFGroup are NBF_LOD, NBF_SWITCH, NBF_TRANSFORM, and NBF_ANIMATED_TRANSFORM. Further concrete object codes valid for a NBFGroup are subject to future extensions of the NBF format.

Member Data Documentation

uint_t NBFGroup::numChildren

Specifies the number of maintained children.

uint_t NBFGroup::children

Specifies the file offset to the offsets to the maintained children. < NBFGroup's children always are of NBFNode-derived types.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


NBFHeader Struct Reference

The NBFHeader structure represents the NBF header format. More...

#include <NBF.h>

List of all members.

Public Member Functions

PADDING (2)
Padding bits to ensure offset of scene is on a 4-byte boundary, regardless of packing.

Public Attributes

byte_t | signature [4]
A 4-byte signature identifying the file as a valid NBF file. The bytes are "#NBF".

ubyte_t nbfMajorVersion
Specifies the major part of the NBF version used to save the file.

ubyte_t nbfMinorVersion
Specifies the minor part (compatibility level) of the NBF version used to save the file.

ubyte_t nbfBugfixLevel
ubyte_t nvsgMajorVersion
Specifies the major part of the NVSG version the content of this file is compatible to.

ubyte_t nvsgMinorVersion
Specifies the minor part of the NVSG version the content of this file is compatible to.

ubyte_t nvsgBugfixLevel
ubyte_t | reserved [16]
Reserved bytes for future extensions.

ubyte_t dayLastModified
Specifies the day (1-31) of last modification.

ubyte_t monthLastModified
Specifies the month (1-12) of last modification.

ubyte_t | yearLastModified [2]
Specifies the year of last modification.

ubyte_t secondLastModified
Specifies the second (0-59) of last modification.

ubyte_t minuteLastModified
Specifies the minute (0-59) of last modification.

ubyte_t hourLastModified
Specifies the hour (0-23) of last modification.

ubyte_t byteOrder
uint_t scene
Specifies the file offset to the contained NBFScene object.

uint_t viewState

Detailed Description

The NBFHeader structure represents the NBF header format.

The NBFHeader structure is the primary location where NBF specifics are stored.
For a valid NBF file, the NBFHeader structure is stored at file offset 0. Note that, except for the NBFHeader object, a file offset of 0 indicates an invalid file offset!
This structure mainly serves as validation and compatibility checks for verification purposes. It also maintains the file offset to the contained NBFScene object, which represents a scene in the context of computer graphics.

Member Function Documentation

NBFHeader::PADDING ( 2 )

Padding bits to ensure offset of scene is on a 4-byte boundary, regardless of packing.

Member Data Documentation

byte_t NBFHeader::signature[4]

A 4-byte signature identifying the file as a valid NBF file. The bytes are "#NBF".

ubyte_t NBFHeader::nbfMajorVersion

Specifies the major part of the NBF version used to save the file.

ubyte_t NBFHeader::nbfMinorVersion

Specifies the minor part (compatibility level) of the NBF version used to save the file.

ubyte_t NBFHeader::nbfBugfixLevel

Specifies the bugfix level of the NBF version used to save the file. This is optional < information, as a bugfix level does not influence compatibility issues, and hence < must not be taken into account for compatibility checks.

ubyte_t NBFHeader::nvsgMajorVersion

Specifies the major part of the NVSG version the content of this file is compatible to.

ubyte_t NBFHeader::nvsgMinorVersion

Specifies the minor part of the NVSG version the content of this file is compatible to.

ubyte_t NBFHeader::nvsgBugfixLevel

Specifies the bugfix level of the NVSG version. This is optional information, as a < bugfix level does not influence compatibility issues, and hence must not be taken < into account for compatibility checks.

ubyte_t NBFHeader::reserved[16]

Reserved bytes for future extensions.

ubyte_t NBFHeader::dayLastModified

Specifies the day (1-31) of last modification.

ubyte_t NBFHeader::monthLastModified

Specifies the month (1-12) of last modification.

ubyte_t NBFHeader::yearLastModified[2]

Specifies the year of last modification.

ubyte_t NBFHeader::secondLastModified

Specifies the second (0-59) of last modification.

ubyte_t NBFHeader::minuteLastModified

Specifies the minute (0-59) of last modification.

ubyte_t NBFHeader::hourLastModified

Specifies the hour (0-23) of last modification.

ubyte_t NBFHeader::byteOrder

Specifies the byte order used to save the contained data. < A value of 0 implies little-endian byte order, a value of 1 implies big-endian byte order. < It is more convenient to use the symbolic constants NBF_LITTLE_ENDIAN and NBF_BIG_ENDIAN here.

uint_t NBFHeader::scene

Specifies the file offset to the contained NBFScene object.

uint_t NBFHeader::viewState

Specifies the file offset to an optional NBFViewState object. < An offset of 0 indicates that no NBFViewState object is available in this file.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


NBFInterpolatedAnimation Struct Reference

The NBFInterpolatedAnimation structure represents a interpolated animation. More...

#include <NBF.h>

Inheritance diagram for NBFInterpolatedAnimation:

[legend]
List of all members.

Public Attributes

uint_t numKeys
Specifies the number of key frames.

uint_t keys

Detailed Description

The NBFInterpolatedAnimation structure represents a interpolated animation.

A NBFInterpolatedAnimation serves as base class only and needs to be considered in conjunction with either NBFTrafoAnimation or NBFVNVectorAnimation.
Concrete object codes valid for a NBFInterpolatedAnimation are NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION and NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION. Further concrete object codes valid for NBFInterpolatedAnimation objects are subject to future extensions of the NBF format.

Member Data Documentation

uint_t NBFInterpolatedAnimation::numKeys

Specifies the number of key frames.

uint_t NBFInterpolatedAnimation::keys

Specifies the file offset to the key frames. As specified in the NBF format, < a key is a 32-bit unsigned integer value.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


NBFInterpolatedTrafoAnimation Struct Reference

The NBFInterpolatedTrafoAnimation structure represents a interpolated animation that will be applied to trafo_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFInterpolatedTrafoAnimation:

[legend]
Collaboration diagram for NBFInterpolatedTrafoAnimation:

[legend]
List of all members.

Detailed Description

The NBFInterpolatedTrafoAnimation structure represents a interpolated animation that will be applied to trafo_t objects.

A NBFInterpolatedTrafoAnimation is a concrete animation type. It publicly inherits from NBFTrafoAnimation and NBFInterpolatedAnimation.
The object code valid for a NBFInterpolatedTrafoAnimation is NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION. Further object codes valid for NBFInterpolatedTrafoAnimation objects are subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:17 2005 for NVSGSDK by NVIDIA


NBFInterpolatedVNVectorAnimation Struct Reference

The NBFInterpolatedVNVectorAnimation structure represents a interpolated animation that will be applied to VNVector objects. More...

#include <NBF.h>

Inheritance diagram for NBFInterpolatedVNVectorAnimation:

[legend]
Collaboration diagram for NBFInterpolatedVNVectorAnimation:

[legend]
List of all members.

Detailed Description

The NBFInterpolatedVNVectorAnimation structure represents a interpolated animation that will be applied to VNVector objects.

A NBFInterpolatedVNVectorAnimation is a concrete animation type. It publicly inherits from NBFVNVectorAnimation and NBFInterpolatedAnimation.
The object code valid for a NBFInterpolatedVNVectorAnimation is NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION. Further object codes valid for NBFInterpolatedVNVectorAnimation objects are subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:18 2005 for NVSGSDK by NVIDIA


NBFJitterCamera Struct Reference

The NBFJitterCamera structure represents a monoscopic jitter camera. More...

#include <NBF.h>

Inheritance diagram for NBFJitterCamera:

[legend]
Collaboration diagram for NBFJitterCamera:

[legend]
List of all members.

Detailed Description

The NBFJitterCamera structure represents a monoscopic jitter camera.

Note:
NBFJitterCamera is subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:18 2005 for NVSGSDK by NVIDIA


NBFLightSource Struct Reference

The NBFLightSource structure represents a light source node. More...

#include <NBF.h>

Inheritance diagram for NBFLightSource:

[legend]
Collaboration diagram for NBFLightSource:

[legend]
List of all members.

Public Attributes

float intensity
Specifies the light intensity.

float3_t ambientColor
Specifies the ambient color term of the light.

float3_t diffuseColor
Specifies the diffuse color term of the light.

float3_t specularColor
Specifies the specular color term of the light.

trafo_t trafo
Specifies how to position the light in world space.

uint_t animation

Detailed Description

The NBFLightSource structure represents a light source node.

A NBFLightSource serves as base class only. Concrete object codes valid for a NBFLightSource are NBF_DIRECTED_LIGHT, NBF_POINT_LIGHT, and NBF_SPOT_LIGHT.

Member Data Documentation

float NBFLightSource::intensity

Specifies the light intensity.

float3_t NBFLightSource::ambientColor

Specifies the ambient color term of the light.

float3_t NBFLightSource::diffuseColor

Specifies the diffuse color term of the light.

float3_t NBFLightSource::specularColor

Specifies the specular color term of the light.

trafo_t NBFLightSource::trafo

Specifies how to position the light in world space.

uint_t NBFLightSource::animation

Specifies the file offset to an optional NBFTrafoAnimation object < to be applied to the light transform (orientation and translation).

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:19 2005 for NVSGSDK by NVIDIA


NBFLoader Class Reference

A Scene Loader for nbf files. More...

#include <NBFLoader.h>

Inheritance diagram for NBFLoader:

[legend]
Collaboration diagram for NBFLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.

const nvsg::Scene * | load (const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState)
Realization of the pure virtual interface function of a SceneLoader.

Protected Member Functions

virtual | ~NBFLoader (void)
Protected destructor to prevent explicit creation on stack.

virtual const nvsg::Object * | loadCustomObject (uint_t objectCode, uint_t offset)
Load a custom object identified by objectCode from the file offset specified by offset.

ubyte_t * | mapOffset (uint_t offset, size_t numBytes)
Mapping numBytes bytes at file offset offset into process memory.

Detailed Description

A Scene Loader for nbf files.

Constructor & Destructor Documentation

virtual NBFLoader::~NBFLoader ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

void NBFLoader::deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements nvutil::PlugIn.

const nvsg::Scene* NBFLoader::load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | const nvsg::ViewState *& | viewState
 | ) |

Realization of the pure virtual interface function of a SceneLoader.

Loads a nvb file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

virtual const nvsg::Object* NBFLoader::loadCustomObject | ( | uint_t | objectCode,
 |  | uint_t | offset
 | ) | [protected, virtual]

Load a custom object identified by objectCode from the file offset specified by offset.

This function is called from the loader's framework if a custom object was detected for the object stored at the particular file offset.

A custom implementation should first evaluate the passed object code. To map identified objects into memory, a custom implementation should call the member function mapOffset with the file offset and the correct byte size for the identified object as parameters. After that, the corresponding NVSG object can be initialized from the mapped data.

Returns:
A pointer to the loaded NVSG object.
Note:
A custom implementation must not fall back on to the base implementation, as this simply returns a null pointer.
Parameters:
objectCode | NBF object code identifying the custom object.
offset | Specifies the file offset for the custom object.

ubyte_t* NBFLoader::mapOffset | ( | uint_t | offset,
 |  | size_t | numBytes
 | ) | [protected]

Mapping numBytes bytes at file offset offset into process memory.

This function turns a given offset into a pointer and ensures that a minimum of numBytes bytes are mapped.

Returns:
A pointer to the mapped memory.
Parameters:
offset | File offset of the memory block to map.
numBytes | Amount of bytes to map into process memory.

The documentation for this class was generated from the following file:
  • NBFLoader.h
Generated on Fri Jan 28 09:20:19 2005 for NVSGSDK by NVIDIA


NBFLOD Struct Reference

The NBFLOD structure represents a 'Level Of Detail' group node. More...

#include <NBF.h>

Inheritance diagram for NBFLOD:

[legend]
Collaboration diagram for NBFLOD:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFLOD is a multiple of 8, regardless of packing.

Public Attributes

float3_t center
Specifies the center point used for distance calculations.

uint_t numRanges
Specifies the number of contained ranges.

uint_t ranges

Detailed Description

The NBFLOD structure represents a 'Level Of Detail' group node.

The object code for a NBFLOD is NBF_LOD.

Member Function Documentation

NBFLOD::PADDING ( 4 )

Padding bits to ensure the size of NBFLOD is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

float3_t NBFLOD::center

Specifies the center point used for distance calculations.

uint_t NBFLOD::numRanges

Specifies the number of contained ranges.

uint_t NBFLOD::ranges

Specifies the file offset to the ranges. < Ranges are stored as 32-bit floating point numbers.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:20 2005 for NVSGSDK by NVIDIA


NBFMaterial Struct Reference

The NBFMaterial structure represents a material. More...

#include <NBF.h>

Inheritance diagram for NBFMaterial:

[legend]
Collaboration diagram for NBFMaterial:

[legend]
List of all members.

Public Attributes

float3_t ambientColor
Specifies the ambient part of the material color.

float3_t diffuseColor
Specifies the diffuse part of the material color.

float3_t emissiveColor
Specifies the emissive part of the material color.

float | opacity
Specifies the opacity of the material.

float3_t specularColor
Specifies the specular part of the material color.

float | specularExponent
Specifies the specular exponent of the material color.

Detailed Description

The NBFMaterial structure represents a material.

The object code for a NBFMaterial is NBF_MATERIAL.

Member Data Documentation

float3_t NBFMaterial::ambientColor

Specifies the ambient part of the material color.

float3_t NBFMaterial::diffuseColor

Specifies the diffuse part of the material color.

float3_t NBFMaterial::emissiveColor

Specifies the emissive part of the material color.

float NBFMaterial::opacity

Specifies the opacity of the material.

float3_t NBFMaterial::specularColor

Specifies the specular part of the material color.

float NBFMaterial::specularExponent

Specifies the specular exponent of the material color.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:20 2005 for NVSGSDK by NVIDIA


NBFMonoCamera Struct Reference

The NBFMonoCamera structure represents a monoscopic camera. More...

#include <NBF.h>

Inheritance diagram for NBFMonoCamera:

[legend]
Collaboration diagram for NBFMonoCamera:

[legend]
List of all members.

Detailed Description

The NBFMonoCamera structure represents a monoscopic camera.

A NBFMonoCamera serves as base class only.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:21 2005 for NVSGSDK by NVIDIA


NBFNode Struct Reference

The NBFNode structure represents a general node. More...

#include <NBF.h>

Inheritance diagram for NBFNode:

[legend]
Collaboration diagram for NBFNode:

[legend]
List of all members.

Public Attributes

str_t annotation

Detailed Description

The NBFNode structure represents a general node.

A NBFNode serves as base class only. Concrete object codes valid for a NBFNode are NBF_GEO_NODE, NBF_LOD, NBF_SWITCH, NBF_TRANSFORM, NBF_ANIMATED_TRANSFORM, NBF_DIRECTED_LIGHT, NBF_POINT_LIGHT, and NBF_SPOT_LIGHT. Further concrete object codes valid for a NBFNode are subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:22 2005 for NVSGSDK by NVIDIA


NBFObject Struct Reference

The NBFObject structure represents general object data. More...

#include <NBF.h>

Inheritance diagram for NBFObject:

[legend]
Collaboration diagram for NBFObject:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits to ensure offset of objectDataID is on a 8-byte boundary, regardless of packing.

PADDING (4)
Padding bits to ensure the size of NBFObject is a multiple of 8, regardless of packing.

Public Attributes

uint_t objectCode
Specifies the object code of the actual object. The object code is unique per object type!

ubyte_t isShared
uint64_t objectDataID
A unique 64-bit value to identify shared object data while loading.

uint_t sourceObject
str_t objectName
Specifies an optional name for the actual object.

Detailed Description

The NBFObject structure represents general object data.

Member Function Documentation

NBFObject::PADDING ( 3 )

Padding bits to ensure offset of objectDataID is on a 8-byte boundary, regardless of packing.

Reimplemented in NBFSimpleCamera.

NBFObject::PADDING ( 4 )

Padding bits to ensure the size of NBFObject is a multiple of 8, regardless of packing.

Reimplemented in NBFTrafoAnimation, NBFFramedTrafoAnimation, NBFFramedVNVectorAnimation, NBFAnimatedTriangles, NBFAnimatedQuads, NBFLOD, NBFTransform, NBFAnimatedTransform, NBFPointLight, NBFSpotLight, and NBFCgFx.

Member Data Documentation

uint_t NBFObject::objectCode

Specifies the object code of the actual object. The object code is unique per object type!

ubyte_t NBFObject::isShared

Indicates whether the data of the actual object is shared among different objects. < A value of 1 indicates that this object's data is shared, whereas a value of 0 indicates < that this object's data is not shared.

uint64_t NBFObject::objectDataID

A unique 64-bit value to identify shared object data while loading.

uint_t NBFObject::sourceObject

Specifies the file offset to the source object in case of data sharing. < A file offset of 0 always indicates that no source object is available for the actual object.

str_t NBFObject::objectName

Specifies an optional name for the actual object.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:22 2005 for NVSGSDK by NVIDIA


NBFParallelCamera Struct Reference

The NBFParallelCamera represents a parallel camera. More...

#include <NBF.h>

Inheritance diagram for NBFParallelCamera:

[legend]
Collaboration diagram for NBFParallelCamera:

[legend]
List of all members.

Detailed Description

The NBFParallelCamera represents a parallel camera.

A NBFParallelCamera is a concrete camera type. The object code for a NBFParallelCamera is NBF_PARALLEL_CAMERA.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:23 2005 for NVSGSDK by NVIDIA


NBFPerspectiveCamera Struct Reference

The NBFPerspectiveCamera represents a perspective camera. More...

#include <NBF.h>

Inheritance diagram for NBFPerspectiveCamera:

[legend]
Collaboration diagram for NBFPerspectiveCamera:

[legend]
List of all members.

Detailed Description

The NBFPerspectiveCamera represents a perspective camera.

A NBFPerspectiveCamera is a concrete camera type. The object code for a NBFPerspectiveCamera is NBF_PERSPECTIVE_CAMERA.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:24 2005 for NVSGSDK by NVIDIA


NBFPointLight Struct Reference

#include <NBF.h>

Inheritance diagram for NBFPointLight:

[legend]
Collaboration diagram for NBFPointLight:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFPointLight is a multiple of 8, regardless of packing.

Public Attributes

float3_t attenuation

Detailed Description

The object code for a NBFPointLight is NBF_POINT_LIGHT.

Member Function Documentation

NBFPointLight::PADDING ( 4 )

Padding bits to ensure the size of NBFPointLight is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

float3_t NBFPointLight::attenuation

Specifies the attenuation factors of the point light. < The x-component of the vector specifies the constant term of the attenuation, < the y-component of the vector specifies the linear term of the attenuation, and < the z-component of the vector specifies the quadratic term of the attenuation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:24 2005 for NVSGSDK by NVIDIA


NBFQuads Struct Reference

The NBFQuads structure represents a set of independent quads. More...

#include <NBF.h>

Inheritance diagram for NBFQuads:

[legend]
Collaboration diagram for NBFQuads:

[legend]
List of all members.

Public Attributes

uint_t numFaces
Specifies the number of contained quad faces.

uint_t faces

Detailed Description

The NBFQuads structure represents a set of independent quads.

A NBFQuads is a concrete topology class derived from NBFGeoSet. The object code for a NBFQuads is NBF_QUADS.

Member Data Documentation

uint_t NBFQuads::numFaces

Specifies the number of contained quad faces.

uint_t NBFQuads::faces

Specifies the file offset to the quad faces. < Quad faces are stored as Face4 objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:25 2005 for NVSGSDK by NVIDIA


NBFSaver Class Reference

A scene saver capable to save a NVSG scene to a "NBF" (Nvsg Binary File format) file. More...

#include <NBFSaver.h>

Inheritance diagram for NBFSaver:

[legend]
Collaboration diagram for NBFSaver:

[legend]
List of all members.

Public Member Functions

NBFSaver ()
constructor

void | deleteThis (void)
PlugIn interface.

bool | save (const nvsg::Scene &scene, const nvsg::ViewState *viewState, const std::string &filename)
Realization of the pure virtual interface function of a SceneSaver.

Protected Attributes

NBFSaveTraverser * m_traverser
Save traverser to be used with saving.

Detailed Description

A scene saver capable to save a NVSG scene to a "NBF" (Nvsg Binary File format) file.

Constructor & Destructor Documentation

NBFSaver::NBFSaver ( )

constructor

Member Function Documentation

void NBFSaver::deleteThis ( void ) [inline, virtual]

PlugIn interface.

Note:
Never call delete on a PlugIn, always use the member function.

Implements nvutil::PlugIn.

bool NBFSaver::save | ( | const nvsg::Scene & | scene,
 |  | const nvsg::ViewState * | viewState,
 |  | const std::string & | filename
 | ) |

Realization of the pure virtual interface function of a SceneSaver.

Saves the scene and the viewState to filename.

Parameters:
scene | scene to save
viewState | view state to save
filename | file name to save to

Member Data Documentation

NBFSaveTraverser* NBFSaver::m_traverser [protected]

Save traverser to be used with saving.

The documentation for this class was generated from the following file:
  • NBFSaver.h
Generated on Fri Jan 28 09:20:26 2005 for NVSGSDK by NVIDIA


NBFSaveTraverser Class Reference

A Traverser to traverse a scene on saving to "NBF" binary file format. More...

#include <NBFSaver.h>

Inheritance diagram for NBFSaveTraverser:

[legend]
Collaboration diagram for NBFSaveTraverser:

[legend]
List of all members.

Public Types

enum | { VIEWSIZE = 0x04000000 }

Public Member Functions

NBFSaveTraverser ()
Default constructor.

void | preCalculateFileSize (const nvsg::ViewState *viewState, const nvsg::Scene *scene)
pre-calculate what the file size would be

bool | mapViewOfFile (const std::string &file)
Map a view of file into the applications address space.

void | unmapViewOfFile ()
Unmap the current view and close the corresponding file.

Protected Member Functions

bool | calculatingStorageRequirements () const
Determine whether the current traverser pass is calculating storage requirements.

uint_t | alloc (void *&ptr, size_t numBytes)
Allocate a portion of the currently mapped file into the process' address space.

uint_t | pseudoAlloc (size_t numBytes)
Add numBytes to the currently calculated file size.

virtual void | doApply (const nvsg::ViewState *viewState, const nvsg::Scene *scene)
Controls saving of the scene together with a ViewState.

virtual void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root)
Routine to handle a JitterCamera object while traversing the scene graph.

virtual void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root)
Routine to handle a ParallelCamera object while traversing the scene graph.

virtual void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root)
Routine to handle a PerspectiveCamera object while traversing the scene graph.

virtual void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root)
Routine to handle a StereoCamera object while traversing the scene graph.

virtual void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.

virtual void | handleGroup (const nvsg::Group *p)
Routine to handle a Group node while traversing the scene graph.

virtual void | handleTransform (const nvsg::Transform *p)
Routine to handle a Transform node while traversing the scene graph.

virtual void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Routine to handle a AnimatedTransform node while traversing the scene graph.

virtual void | handleLOD (const nvsg::LOD *p)
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

virtual void | handleSwitch (const nvsg::Switch *p)
Routine to handle a Switch node while traversing the scene graph.

virtual void | handleDirectedLight (const nvsg::DirectedLight *p)
Routine to handle a DirectedLight node while traversing the scene graph.

virtual void | handlePointLight (const nvsg::PointLight *p)
Routine to handle a PointLight node while traversing the scene graph.

virtual void | handleSpotLight (const nvsg::SpotLight *p)
Routine to handle a SpotLight node while traversing the scene graph.

virtual void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.

virtual void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx attribute while traversing the scene graph.

virtual void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Routine to handle a FaceAttribute attribute while traversing the scene graph.

virtual void | handleMaterial (const nvsg::Material *p)
Routine to handle a Material attribute while traversing the scene graph.

virtual void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Routine to handle a TextureAttribute attribute while traversing the scene graph.

virtual void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t tu)
Routine to handle a TextureAttributeItem object while traversing the scene graph.

virtual void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.

virtual void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Routine to handle a AnimatedTriangles object while traversing the scene graph.

virtual void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Routine to handle a SkinnedTriangles object while traversing the scene graph.

virtual void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.

virtual void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.

virtual void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Routine to handle a AnimatedQuads object while traversing the scene graph.

virtual void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.

virtual void | handleFramedTrafoAnimation (const nvsg::FramedAnimation< nvmath::Trafo > *p)
Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph.

virtual void | handleFramedVNVectorAnimation (const nvsg::FramedAnimation< nvsg::VNVector > *p)
Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph.

virtual void | handleLinearInterpolatedTrafoAnimation (const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p)
Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph.

virtual void | handleLinearInterpolatedVNVectorAnimation (const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p)
Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph.

Detailed Description

A Traverser to traverse a scene on saving to "NBF" binary file format.

Constructor & Destructor Documentation

NBFSaveTraverser::NBFSaveTraverser ( )

Default constructor.

Member Function Documentation

void NBFSaveTraverser::preCalculateFileSize | ( | const nvsg::ViewState * | viewState,
 |  | const nvsg::Scene * | scene
 | ) |

pre-calculate what the file size would be

bool NBFSaveTraverser::mapViewOfFile ( const std::string & file )

Map a view of file into the applications address space.

void NBFSaveTraverser::unmapViewOfFile ( )

Unmap the current view and close the corresponding file.

bool NBFSaveTraverser::calculatingStorageRequirements ( ) const [protected]

Determine whether the current traverser pass is calculating storage requirements.

While saving a scene, the scene graph will be traversed twice. The first pass is to calculate storage requirements. Only the second pass really writes the scene data to a file that has been mapped into the process' address space by the framework.

Handler routines should call this function to determine what the current pass is intended for.

Returns:
true if the current pass is to calculate storage requirements, false if the current pass is to write the scene to a file that has been mapped into the process' address space by the framework.

uint_t NBFSaveTraverser::alloc | ( | void *& | ptr,
 |  | size_t | numBytes
 | ) | [protected]

Allocate a portion of the currently mapped file into the process' address space.

The function maps the amount of numBytes bytes of the currently mapped file into the process' address space. The start address of the mapped memory block will be assigned to ptr.

Returns:
The file offset of the mapped memory block.
Note:
The behavior is undefined if called while the current traverser pass is calculating storage requirements. While saving a scene, the scene graph will be traversed twice. The first pass is to calculate storage requirements. Only the second pass really writes the scene data to a file that has been mapped into the process' address space by the framework. Call calculatingStorageRequirements inside a handler routine to determine whether the current pass is to just calculate storage requirements.
Parameters:
ptr | Points to the mapped memory block after the call suceeded.
numBytes | Amount of bytes to be mapped into the process' address space.

uint_t NBFSaveTraverser::pseudoAlloc ( size_t numBytes ) [protected]

Add numBytes to the currently calculated file size.

The function doesnt allocate anything, it just adds numBytes to the currently calculated file size.

Returns:
0
Note:
While saving a scene, the scene graph will be traversed twice. The first pass is to calculate storage requirements. Only the second pass really writes the scene data to a file that has been mapped into the process' address space by the framework. Call calculatingStorageRequirements inside a handler routine to determine whether the current pass is to just calculate storage requirements.
Parameters:
numBytes Number of bytes to be added to the currently calculated file size.

virtual void NBFSaveTraverser::doApply | ( | const nvsg::ViewState * | viewState,
 |  | const nvsg::Scene * | scene
 | ) | [protected, virtual]

Controls saving of the scene together with a ViewState.

Parameters:
viewState | ViewState to save
scene | Scene to save

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleJitterCamera | ( | const nvsg::JitterCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a JitterCamera object while traversing the scene graph.

This routine gets called for each JitterCamera object that will be visited while traversing the scene graph. The currently visited JitterCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleParallelCamera | ( | const nvsg::ParallelCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a ParallelCamera object while traversing the scene graph.

This routine gets called for each ParallelCamera object that will be visited while traversing the scene graph. The currently visited ParallelCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handlePerspectiveCamera | ( | const nvsg::PerspectiveCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a PerspectiveCamera object while traversing the scene graph.

This routine gets called for each PerspectiveCamera object that will be visited while traversing the scene graph. The currently visited PerspectiveCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleStereoCamera | ( | const nvsg::StereoCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a StereoCamera object while traversing the scene graph.

This routine gets called for each StereoCamera object that will be visited while traversing the scene graph. The currently visited StereoCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

This routine gets called for each GeoNode object that will be visited while traversing the scene graph. The currently visited GeoNode object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Routine to handle a Group node while traversing the scene graph.

This routine gets called for each Group object that will be visited while traversing the scene graph. The currently visited Group object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Routine to handle a Transform node while traversing the scene graph.

This routine gets called for each Transform object that will be visited while traversing the scene graph. The currently visited Transform object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Routine to handle a AnimatedTransform node while traversing the scene graph.

This routine gets called for each AnimatedTransform object that will be visited while traversing the scene graph. The currently visited AnimatedTransform object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

This routine gets called for each LOD object that will be visited while traversing the scene graph. The currently visited LOD object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Routine to handle a Switch node while traversing the scene graph.

This routine gets called for each Switch object that will be visited while traversing the scene graph. The currently visited Switch object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Routine to handle a DirectedLight node while traversing the scene graph.

This routine gets called for each DirectedLight object that will be visited while traversing the scene graph. The currently visited DirectedLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Routine to handle a PointLight node while traversing the scene graph.

This routine gets called for each PointLight object that will be visited while traversing the scene graph. The currently visited PointLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Routine to handle a SpotLight node while traversing the scene graph.

This routine gets called for each SpotLight object that will be visited while traversing the scene graph. The currently visited SpotLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

This routine gets called for each StateSet object that will be visited while traversing the scene graph. The currently visited StateSet object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx attribute while traversing the scene graph.

This routine gets called for each CgFx object that will be visited while traversing the scene graph. The currently visited CgFx object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Routine to handle a FaceAttribute attribute while traversing the scene graph.

This routine gets called for each FaceAttribute object that will be visited while traversing the scene graph. The currently visited FaceAttribute object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Routine to handle a Material attribute while traversing the scene graph.

This routine gets called for each Material object that will be visited while traversing the scene graph. The currently visited Material object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Routine to handle a TextureAttribute attribute while traversing the scene graph.

This routine gets called for each TextureAttribute object that will be visited while traversing the scene graph. The currently visited TextureAttribute object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleTextureAttributeItem | ( | const nvsg::TextureAttributeItem * | p,
 |  | size_t | tu
 | ) | [protected, virtual]

Routine to handle a TextureAttributeItem object while traversing the scene graph.

This routine gets called for each TextureAttributeItem object that will be visited while traversing the scene graph. The currently visited TextureAttributeItem object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

This routine gets called for each Triangles object that will be visited while traversing the scene graph. The currently visited Triangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Routine to handle a AnimatedTriangles object while traversing the scene graph.

This routine gets called for each AnimatedTriangles object that will be visited while traversing the scene graph. The currently visited AnimatedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Routine to handle a SkinnedTriangles object while traversing the scene graph.

This routine gets called for each SkinnedTriangles object that will be visited while traversing the scene graph. The currently visited SkinnedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

This routine gets called for each TriStrips object that will be visited while traversing the scene graph. The currently visited TriStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

This routine gets called for each Quads object that will be visited while traversing the scene graph. The currently visited Quads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Routine to handle a AnimatedQuads object while traversing the scene graph.

This routine gets called for each AnimatedQuads object that will be visited while traversing the scene graph. The currently visited AnimatedQuads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

This routine gets called for each QuadStrips object that will be visited while traversing the scene graph. The currently visited QuadStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleFramedTrafoAnimation ( const nvsg::FramedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph.

This routine gets called for each FramedAnimation<Trafo> object that will be visited while traversing the scene graph. The currently visited FramedAnimation<Trafo> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleFramedVNVectorAnimation ( const nvsg::FramedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph.

This routine gets called for each FramedAnimation<VNVector> object that will be visited while traversing the scene graph. The currently visited FramedAnimation<VNVector> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleLinearInterpolatedTrafoAnimation ( const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph.

This routine gets called for each LinearInterpolatedAnimation<Trafo> object that will be visited while traversing the sc ene graph. The currently visited LinearInterpolatedAnimation<Trafo> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual void NBFSaveTraverser::handleLinearInterpolatedVNVectorAnimation ( const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph.

This routine gets called for each LinearInterpolatedAnimation<VNVector> object that will be visited while traversing the scene graph. The currently visited LinearInterpolatedAnimation<VNVector> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • NBFSaver.h
Generated on Fri Jan 28 09:20:27 2005 for NVSGSDK by NVIDIA


NBFScene Struct Reference

The NBFScene structure represents a scene in the context of computer graphics. More...

#include <NBF.h>

List of all members.

Public Attributes

float3_t backColor
Specifies the scene's RGB background color used with rendering.

uint_t numCameras
Specifies the number of the scene's NBFCamera objects.

uint_t cameras
Specifies the file offset to the offsets of the scene's NBFCamera objects.

uint_t numCameraAnimations
Specifies the number of the scene's NBFTrafoAnimation objects (camera animations).

uint_t cameraAnimations
Specifies the offset to the offsets of the scene's NBFTrafoAnimation objects (camera animations).

uint_t defaultStateSet
Specifies the offset to the scene's optional default states. Default states are of type NBFStateSet.

uint_t overrideStateSet
Specifies the offset to the scene's optional override states. Override states are of type NBFStateSet.

uint_t numberOfAnimationFrames
For animated scenes, this specifies the number of animation frames.

uint_t root
Specifies the file offset to the scene's root node, which always is of a NBFNode derived type.

Detailed Description

The NBFScene structure represents a scene in the context of computer graphics.

A valid NBF file always contains one - and only one - NBFScene object. The file offset to this NBFScene object is specified within the NBFHeader structure.

Member Data Documentation

float3_t NBFScene::backColor

Specifies the scene's RGB background color used with rendering.

uint_t NBFScene::numCameras

Specifies the number of the scene's NBFCamera objects.

uint_t NBFScene::cameras

Specifies the file offset to the offsets of the scene's NBFCamera objects.

uint_t NBFScene::numCameraAnimations

Specifies the number of the scene's NBFTrafoAnimation objects (camera animations).

uint_t NBFScene::cameraAnimations

Specifies the offset to the offsets of the scene's NBFTrafoAnimation objects (camera animations).

uint_t NBFScene::defaultStateSet

Specifies the offset to the scene's optional default states. Default states are of type NBFStateSet.

uint_t NBFScene::overrideStateSet

Specifies the offset to the scene's optional override states. Override states are of type NBFStateSet.

uint_t NBFScene::numberOfAnimationFrames

For animated scenes, this specifies the number of animation frames.

uint_t NBFScene::root

Specifies the file offset to the scene's root node, which always is of a NBFNode derived type.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:27 2005 for NVSGSDK by NVIDIA


NBFSimpleCamera Struct Reference

The NBFSimpleCamera represents a simple monoscopic camera. More...

#include <NBF.h>

Inheritance diagram for NBFSimpleCamera:

[legend]
Collaboration diagram for NBFSimpleCamera:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits to ensure offset of windowSize is on a 4-byte boundary, regardless of packing.

Public Attributes

uint_t numHeadLights
Specifies the number of headlights attached.

uint_t headLights
float3_t upVector
Specifies the camera's normalized up vector.

float3_t position
Specifies the actual position of camera in world space.

float3_t direction
Specifies the normalized direction for the camera to look along.

float | farDist
Specifies the distance from the actual camera position to the far clipping plane.

float | nearDist
Specifies the distance from the actual camera position to the near clipping plane.

float | targDist
Specifies the distance to the projection plane.

float | projectionDx
Specifies the translation of projection (used with stereo for example).

ubyte_t isAutoClipPlanes
Indicates if automatic generation of clipping planes is enabled.

float2_t windowSize
float2_t windowOffset

Detailed Description

The NBFSimpleCamera represents a simple monoscopic camera.

A NBFSimpleCamera serves as base class only.
Concrete object codes valid for a NBFSimpleCamera are NBF_PARALLEL_CAMERA and NBF_PERSPECTIVE_CAMERA. Further object codes valid for a NBFSimpleCamera are subject to future extensions for the NBF format.

Member Function Documentation

NBFSimpleCamera::PADDING ( 3 )

Padding bits to ensure offset of windowSize is on a 4-byte boundary, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

uint_t NBFSimpleCamera::numHeadLights

Specifies the number of headlights attached.

uint_t NBFSimpleCamera::headLights

Specifies the file offset to the offsets to the attached headlight objects. < Headlights are of type NBFLightSource.

float3_t NBFSimpleCamera::upVector

Specifies the camera's normalized up vector.

float3_t NBFSimpleCamera::position

Specifies the actual position of camera in world space.

float3_t NBFSimpleCamera::direction

Specifies the normalized direction for the camera to look along.

float NBFSimpleCamera::farDist

Specifies the distance from the actual camera position to the far clipping plane.

float NBFSimpleCamera::nearDist

Specifies the distance from the actual camera position to the near clipping plane.

float NBFSimpleCamera::targDist

Specifies the distance to the projection plane.

float NBFSimpleCamera::projectionDx

Specifies the translation of projection (used with stereo for example).

ubyte_t NBFSimpleCamera::isAutoClipPlanes

Indicates if automatic generation of clipping planes is enabled.

float2_t NBFSimpleCamera::windowSize

Specifies the world-relative size of the viewing window. Whereas the x-component of < of the vector specifies the width, and the y-component of the vector specifies the height.

float2_t NBFSimpleCamera::windowOffset

Specifies the world-relative offset from the viewing reference point to the center < of the viewing window.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:27 2005 for NVSGSDK by NVIDIA


NBFSkinnedTriangles Struct Reference

The NBFSkinnedTriangles structure represents skin animated triangles. More...

#include <NBF.h>

Inheritance diagram for NBFSkinnedTriangles:

[legend]
Collaboration diagram for NBFSkinnedTriangles:

[legend]
List of all members.

Public Attributes

uint_t numSkins
Specifies the number of contained skins.

uint_t skins
Specifies the file offset to the corresponding skin_t objects.

Detailed Description

The NBFSkinnedTriangles structure represents skin animated triangles.

A NBFSkinnedTriangles is a concrete topology class derived from NBFTriangles. The object code for a NBFSkinnedTriangles is NBF_SKINNED_TRIANGLES.

Member Data Documentation

uint_t NBFSkinnedTriangles::numSkins

Specifies the number of contained skins.

uint_t NBFSkinnedTriangles::skins

Specifies the file offset to the corresponding skin_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:28 2005 for NVSGSDK by NVIDIA


NBFSpotLight Struct Reference

#include <NBF.h>

Inheritance diagram for NBFSpotLight:

[legend]
Collaboration diagram for NBFSpotLight:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFSpotLight is a multiple of 8, regardless of packing.

Public Attributes

float3_t attenuation
float | cutoffAngle
float | falloffExponent
Controls the intensity distribution inside the cone, the light is mitted to.

Detailed Description

The object code for a NBFSpotLight is NBF_SPOT_LIGHT.

Member Function Documentation

NBFSpotLight::PADDING ( 4 )

Padding bits to ensure the size of NBFSpotLight is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

float3_t NBFSpotLight::attenuation

Specifies the attenuation factors of the spot light. < The x-component of the vector specifies the constant term of the attenuation, < the y-component of the vector specifies the linear term of the attenuation, and < the z-component of the vector specifies the quadratic term of the attenuation.

float NBFSpotLight::cutoffAngle

Specifies the angle between the axis of the cone, the light is emitted to, and < a ray along the edge of the cone.

float NBFSpotLight::falloffExponent

Controls the intensity distribution inside the cone, the light is mitted to.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:29 2005 for NVSGSDK by NVIDIA


NBFStateAttribute Struct Reference

The NBFStateAttribute structure represents a state attribute. More...

#include <NBF.h>

Inheritance diagram for NBFStateAttribute:

[legend]
Collaboration diagram for NBFStateAttribute:

[legend]
List of all members.

Detailed Description

The NBFStateAttribute structure represents a state attribute.

A NBFStateAttribute serves a base class only. Concrete object codes valid for a NBFStateAttribute are NBF_CGFX, NBF_MATERIAL, NBF_FACE_ATTRIBUTE, and NBF_TEXTURE_ATTRIBUTE.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:29 2005 for NVSGSDK by NVIDIA


NBFStateSet Struct Reference

The NBFStateSet structure represents a set of heterogeneous NBFStateAttributes. More...

#include <NBF.h>

Inheritance diagram for NBFStateSet:

[legend]
Collaboration diagram for NBFStateSet:

[legend]
List of all members.

Public Attributes

uint_t numStateAttribs
Specifies the number of contained state attributes.

uint_t stateAttribs
Specifies the file offset to the offsets to the NBFStateAttriburte objects.

Detailed Description

The NBFStateSet structure represents a set of heterogeneous NBFStateAttributes.

The object code for a NBFStateSet is NBF_STATE_SET.

Member Data Documentation

uint_t NBFStateSet::numStateAttribs

Specifies the number of contained state attributes.

uint_t NBFStateSet::stateAttribs

Specifies the file offset to the offsets to the NBFStateAttriburte objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:30 2005 for NVSGSDK by NVIDIA


NBFStereoCamera Struct Reference

The NBFStereoCamera represents a stereoscopic camera. More...

#include <NBF.h>

Inheritance diagram for NBFStereoCamera:

[legend]
Collaboration diagram for NBFStereoCamera:

[legend]
List of all members.

Detailed Description

The NBFStereoCamera represents a stereoscopic camera.

Note:
NBFStereoCamera is subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:30 2005 for NVSGSDK by NVIDIA


NBFStrips Struct Reference

The NBFStrips structure represents a strip set. More...

#include <NBF.h>

Inheritance diagram for NBFStrips:

[legend]
Collaboration diagram for NBFStrips:

[legend]
List of all members.

Public Attributes

uint_t numStrips
Specifies the number of strips.

uint_t strips

Detailed Description

The NBFStrips structure represents a strip set.

A NBFStrips is a concrete topology class derived from NBFGeoSet. Valid object codes for a NBFStrips are NBF_TRISTRIPS and NBF_QUADSTRIPS.

Member Data Documentation

uint_t NBFStrips::numStrips

Specifies the number of strips.

uint_t NBFStrips::strips

Specifies the file offset to the strips. < Strips are stored as indexSet_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:31 2005 for NVSGSDK by NVIDIA


NBFSwitch Struct Reference

The NBFSwitch structure represents a switch group node. More...

#include <NBF.h>

Inheritance diagram for NBFSwitch:

[legend]
Collaboration diagram for NBFSwitch:

[legend]
List of all members.

Public Attributes

uint_t numActiveChildren
Specifies the number of children that are currently switched on.

uint_t activeChildren

Detailed Description

The NBFSwitch structure represents a switch group node.

The object code for a NBFSwitch is NBF_SWITCH.

Member Data Documentation

uint_t NBFSwitch::numActiveChildren

Specifies the number of children that are currently switched on.

uint_t NBFSwitch::activeChildren

Specifies the offset to indices to the active children. < Indices are stored as 32-bit unsigned integers.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:31 2005 for NVSGSDK by NVIDIA


NBFTextureAttribute Struct Reference

The NBFTextureAttribute structure represents a texture attribute. More...

#include <NBF.h>

Inheritance diagram for NBFTextureAttribute:

[legend]
Collaboration diagram for NBFTextureAttribute:

[legend]
List of all members.

Public Attributes

uint_t numBindings
Specifies the number of contained texture bindings.

uint_t bindings

Detailed Description

The NBFTextureAttribute structure represents a texture attribute.

The object code for a NBFTextureAttribute is NBF_TEXTURE_ATTRIBUTE.

Member Data Documentation

uint_t NBFTextureAttribute::numBindings

Specifies the number of contained texture bindings.

uint_t NBFTextureAttribute::bindings

Specifies the file offset to the texture bindings. Texture bindings in < the NBF format are stored as texBinding_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:32 2005 for NVSGSDK by NVIDIA


NBFTextureAttributeItem Struct Reference

The NBFTextureAttributeItem structure represents a single texture object. More...

#include <NBF.h>

Inheritance diagram for NBFTextureAttributeItem:

[legend]
Collaboration diagram for NBFTextureAttributeItem:

[legend]
List of all members.

Public Attributes

str_t file
Specifies the name of the texture image file.

uint_t texType
uint_t texEnvMode
uint_t texWrapS
uint_t texWrapT
uint_t texWrapR
uint_t minFilter
uint_t magFilter
float4_t texBorderColor
Specifies the texture border RGBA color.

trafo_t trafo
Specifies the texture transformation.

uint_t | texGenMode [4]
Specifies the texture coordinate generation modes.

float4_t | texGenPlane [4]
Specifies the texture coordinate generation planes.

Detailed Description

The NBFTextureAttributeItem structure represents a single texture object.

The object code for a NBFTextureAttributeItem is NBF_TEXTURE_ATTRIBUTE_ITEM. A NBFTextureAttributeItem needs to be consider in conjunction with a NBFTextureAttribute, which specifies the binding of texture objects.

Member Data Documentation

str_t NBFTextureAttributeItem::file

Specifies the name of the texture image file.

uint_t NBFTextureAttributeItem::texType

Specifies the texture type. Valid types are TT_AMBIENT, TT_BUMP, TT_DIFFUSE, < TT_DISPLACEMENT, TT_FILTER, TT_OPACITY, TT_REFLECTION, TT_REFRACTION, < TT_SELF_ILLUM, TT_SHININESS, TT_SHINING_STRENGTH, and TT_SPECULAR.

uint_t NBFTextureAttributeItem::texEnvMode

Specifies the texture environment mode for the actual texture object. < Valid modes are TEM_REPLACE, TEM_MODULATE, TEM_DECAL, TEM_BLEND, and TEM_ADD.

uint_t NBFTextureAttributeItem::texWrapS

Specifies the wrap parameter for texture coordinate s. < Valid values are TWM_REPEAT, TWM_CLAMP, and TWM_MIRROR

uint_t NBFTextureAttributeItem::texWrapT

Specifies the wrap parameter for texture coordinate t. < Valid values are TWM_REPEAT, TWM_CLAMP, and TWM_MIRROR

uint_t NBFTextureAttributeItem::texWrapR

Specifies the wrap parameter for texture coordinate r. < Valid values are TWM_REPEAT, TWM_CLAMP, and TWM_MIRROR

uint_t NBFTextureAttributeItem::minFilter

Specifies the filter used with minimizing. < Valid values are TFM_MIN_NEAREST, TFM_MIN_BILINEAR, and TFM_MIN_TRILINEAR.

uint_t NBFTextureAttributeItem::magFilter

Specifies the filter used with magnifying. < Valid values are TFM_MAX_NEAREST, and TFM_MAZ_BILINEAR.

float4_t NBFTextureAttributeItem::texBorderColor

Specifies the texture border RGBA color.

trafo_t NBFTextureAttributeItem::trafo

Specifies the texture transformation.

uint_t NBFTextureAttributeItem::texGenMode[4]

Specifies the texture coordinate generation modes.

float4_t NBFTextureAttributeItem::texGenPlane[4]

Specifies the texture coordinate generation planes.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:32 2005 for NVSGSDK by NVIDIA


NBFTrafoAnimation Struct Reference

The NBFTrafoAnimation represents an animation that will be applied to trafo_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFTrafoAnimation:

[legend]
Collaboration diagram for NBFTrafoAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFTrafoAnimation is a multiple of 8, regardless of packing.

Public Attributes

uint_t trafos

Detailed Description

The NBFTrafoAnimation represents an animation that will be applied to trafo_t objects.

A NBFTrafoAnimation serves as base class only and needs to be considered in conjunction with either NBFFramedAnimation or NBFInterpolatedAnimation.
Valid object codes for a NBFTrafoAnimation are NBF_FRAMED_TRAFO_ANIMATION, and NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION. Further concrete object codes valid for NBFTrafoAnimation objects are subject to future extensions of the NBF format.

Member Function Documentation

NBFTrafoAnimation::PADDING ( 4 )

Padding bits to ensure the size of NBFTrafoAnimation is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Reimplemented in NBFFramedTrafoAnimation.

Member Data Documentation

uint_t NBFTrafoAnimation::trafos

Specifies the file offset to the trafo_t objects the animation will be applied to. < The actual number of trafo_t objects is specified by the corresponding animation < type, which is either NBFFramedAnimation or NBFInterpolatedAnimation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:33 2005 for NVSGSDK by NVIDIA


NBFTransform Struct Reference

The NBFTransform structure represents a transform group node. More...

#include <NBF.h>

Inheritance diagram for NBFTransform:

[legend]
Collaboration diagram for NBFTransform:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFTransform is a multiple of 8, regardless of packing.

Public Attributes

trafo_t trafo

Detailed Description

The NBFTransform structure represents a transform group node.

The object code for a NBFTransform is NBF_TRANSFORM.

Member Function Documentation

NBFTransform::PADDING ( 4 )

Padding bits to ensure the size of NBFTransform is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Reimplemented in NBFAnimatedTransform.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:33 2005 for NVSGSDK by NVIDIA


NBFTriangles Struct Reference

The NBFTriangles structure represents a set of independent triangles. More...

#include <NBF.h>

Inheritance diagram for NBFTriangles:

[legend]
Collaboration diagram for NBFTriangles:

[legend]
List of all members.

Public Attributes

uint_t numFaces
Specifies the number of contained triangles faces.

uint_t faces

Detailed Description

The NBFTriangles structure represents a set of independent triangles.

A NBFTriangles is a concrete topology class derived from NBFGeoSet. The object code for a NBFTriangles is NBF_TRIANGLES.

Member Data Documentation

uint_t NBFTriangles::numFaces

Specifies the number of contained triangles faces.

uint_t NBFTriangles::faces

Specifies the file offset to the Face3 objects. As specified in the NBF format, < a face is a triple of 32-bit unsigned integer values.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:34 2005 for NVSGSDK by NVIDIA


NBFViewState Struct Reference

The NBFViewState represents an optional view state used to render the scene. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t objectCode
Specifies the object code of the actual object. The object code is unique per object type!

uint_t camera
Specifies the offset to the NBFCamera object to be used for viewing.

Detailed Description

The NBFViewState represents an optional view state used to render the scene.

The file offset to an optional NBFViewState object is specified within the NBFHeader structure.

Member Data Documentation

uint_t NBFViewState::objectCode

Specifies the object code of the actual object. The object code is unique per object type!

uint_t NBFViewState::camera

Specifies the offset to the NBFCamera object to be used for viewing.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:34 2005 for NVSGSDK by NVIDIA


NBFVNVectorAnimation Struct Reference

The NBFVNVectorAnimation represents an animation that will be applied to VNVector objects. More...

#include <NBF.h>

Inheritance diagram for NBFVNVectorAnimation:

[legend]
Collaboration diagram for NBFVNVectorAnimation:

[legend]
List of all members.

Public Attributes

uint_t numVertices
uint_t vertexSets
uint_t numNormals
uint_t normalSets

Detailed Description

The NBFVNVectorAnimation represents an animation that will be applied to VNVector objects.

A NBFVNVectorAnimation serves as base class only and needs to be considered in conjunction with either NBFFramedAnimation or NBFInterpolatedAnimation.
Concrete object codes valid for a NBFVNVectorAnimation are NBF_FRAMED_VNVECTOR_ANIMATION, and NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION. Further concrete object codes valid for NBFVNVectorAnimation objects are subject to future extensions of the NBF format.

Member Data Documentation

uint_t NBFVNVectorAnimation::numVertices

Specifies the number of vertices per vertex set. Each vertex set of < the actual animation is specified to have the same count of vertices.

uint_t NBFVNVectorAnimation::vertexSets

Specifies the file offset to the pre-transformed vertex sets for this animation. < The vertex sets are stored adjoined to each other in contiguous memory.
< The actual number of vertex sets, as well as normal sets, is specified by < the corresponding animation type, which is either NBFFramedAnimation or < NBFInterpolatedAnimation.

uint_t NBFVNVectorAnimation::numNormals

Specifies the number of normals per normal set. Each normal set of < the actual animation is specified to have the same count of normals.

uint_t NBFVNVectorAnimation::normalSets

Specifies the file offset to the pre-transformed normal sets for this animation. < The normal sets are stored adjoined to each other in contiguous memory.
< The actual number of normal sets, as well as vertex sets, is specified by < the corresponding animation type, which is either NBFFramedAnimation or < NBFInterpolatedAnimation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:34 2005 for NVSGSDK by NVIDIA


nvsg::Node Class Reference

Base class for all nodes of the scene graph. More...

#include <Node.h>

Inheritance diagram for nvsg::Node:

[legend]
Collaboration diagram for nvsg::Node:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Node * | clone (void) const=0
Get a clone of this Node object.

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

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

NVSG_API size_t | getNumberOfParents () const
Returns the number of Group nodes that currently reference this node.

NVSG_API const Group * | getParent (size_t i) const
Get the i-th parent of this Node.

NVSG_API bool | isBoundingSphereValid (void) const
Ask if the bounding sphere of this Node is valid.

NVSG_API const nvmath::Sphere3f & | getBoundingSphere (void) const
Get the bounding sphere of this Node.

NVSG_API void | invalidateBoundingSphere (void) const
Invalidate the BoundingSphere.

virtual NVSG_API bool | containsCgFx (void) const
Ask if this Node contains any CgFx attributes.

virtual NVSG_API void | invalidateCgFxContainment (void)
Invalidate the CgFx containment cache.

virtual NVSG_API bool | containsLight (void) const
Ask if this Node contains any LightSource.

virtual NVSG_API void | invalidateLightContainment (void)
Invalidate the LightSource containment cache.

virtual NVSG_API bool | containsTransparentMaterial (void) const
Ask if this Node contains any transparent Material attributes.

virtual NVSG_API void | invalidateTransparentMaterialContainment (void)
Invalidate the transparent Material containment cache.

virtual NVSG_API bool | containsTransparentTexture (void) const
Ask if this Node contains any transparent Texture.

virtual NVSG_API void | invalidateTransparentTextureContainment (void)
Invalidate the transparent Texture containment cache.

virtual NVSG_API size_t | getNumberOfFrames (void) const
Get the number of animation frames that are part of this Node.

virtual NVSG_API void | invalidateNumberOfFrames (void) const
Invalidate the number of animation frames cache.

NVSG_API void | setAnnotation (const char *anno)
Set the annotation of this Node.

NVSG_API const char * | getAnnotation (void) const
Get the annotation of this Node.

Protected Member Functions

NVSG_API | Node (void)
Constructor.

NVSG_API | Node (const Node &rhs)
Copy constructor.

virtual NVSG_API | ~Node (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API bool | calcBoundingSphere (void) const=0
Interface for calculating the BoundingSphere of this Node.

NVSG_API bool | extendBoundingSphere (const nvmath::Sphere3f &sphere) const
Extend the bounding sphere of this Node by another sphere.

NVSG_API void | transformBoundingSphere (const nvmath::Mat44f &m, float factor=1.0f) const
Transform the BoundingSphere by a matrix and a factor for the radius.

Friends

class | Group

Detailed Description

Base class for all nodes of the scene graph.

The Node is the base of all nodes of the scene graph, like GeoNode, Group, or LightSource.

Constructor & Destructor Documentation

NVSG_API nvsg::Node::Node ( void ) [protected]

Constructor.

NVSG_API nvsg::Node::Node ( const Node & rhs ) [protected]

Copy constructor.

virtual NVSG_API nvsg::Node::~Node ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

virtual NVSG_API const Node* nvsg::Node::clone ( void ) const [pure virtual]

Get a clone of this Node object.

Returns:
A pointer to the new created clone.

Implemented in nvsg::AnimatedTransform, nvsg::DirectedLight, nvsg::GeoNode, nvsg::Group, nvsg::LOD, nvsg::PointLight, nvsg::SpotLight, nvsg::Switch, and nvsg::Transform.

virtual NVSG_API bool nvsg::Node::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

Reimplemented in nvsg::AnimatedTransform, nvsg::DirectedLight, nvsg::GeoNode, nvsg::Group, nvsg::LightSource, nvsg::PointLight, nvsg::SpotLight, nvsg::Switch, and nvsg::Transform.

virtual NVSG_API DataID nvsg::Node::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Object.

Reimplemented in nvsg::AnimatedTransform, nvsg::DirectedLight, nvsg::GeoNode, nvsg::Group, nvsg::LightSource, nvsg::PointLight, nvsg::SpotLight, nvsg::Switch, and nvsg::Transform.

size_t nvsg::Node::getNumberOfParents ( ) const [inline]

Returns the number of Group nodes that currently reference this node.

Returns:
The actual number of Group nodes that have this node as child node.

const Group * nvsg::Node::getParent ( size_t i ) const [inline]

Get the i-th parent of this Node.

Note:
The behavior is undefined if called with an invalid index. Use getNumberOfParents to determine the actual number of parents that have this node as child node.
Parameters:
i zero-based index of parent to get

bool nvsg::Node::isBoundingSphereValid ( void ) const [inline]

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.

const nvmath::Sphere3f & nvsg::Node::getBoundingSphere ( void ) const [inline]

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.

NVSG_API void nvsg::Node::invalidateBoundingSphere ( void ) const

Invalidate the BoundingSphere.

virtual NVSG_API bool nvsg::Node::containsCgFx ( void ) const [virtual]

Ask if this Node contains any CgFx attributes.

Returns:
false

Reimplemented in nvsg::GeoNode, and nvsg::Group.

virtual NVSG_API void nvsg::Node::invalidateCgFxContainment ( void ) [virtual]

Invalidate the CgFx containment cache.

Invalidating the cache is carried to all parents of this Node.

Reimplemented in nvsg::GeoNode, and nvsg::Group.

virtual NVSG_API bool nvsg::Node::containsLight ( void ) const [virtual]

Ask if this Node contains any LightSource.

Returns:
false

Reimplemented in nvsg::Group, and nvsg::LightSource.

virtual NVSG_API void nvsg::Node::invalidateLightContainment ( void ) [virtual]

Invalidate the LightSource containment cache.

Invalidating the cache is carried to all parents of this Node.

Reimplemented in nvsg::Group.

virtual NVSG_API bool nvsg::Node::containsTransparentMaterial ( void ) const [virtual]

Ask if this Node contains any transparent Material attributes.

Returns:
false

Reimplemented in nvsg::GeoNode, and nvsg::Group.

virtual NVSG_API void nvsg::Node::invalidateTransparentMaterialContainment ( void ) [virtual]

Invalidate the transparent Material containment cache.

Invalidating the cache is carried to all parents of this Node.

Reimplemented in nvsg::GeoNode, and nvsg::Group.

virtual NVSG_API bool nvsg::Node::containsTransparentTexture ( void ) const [virtual]

Ask if this Node contains any transparent Texture.

Returns:
false

Reimplemented in nvsg::GeoNode, and nvsg::Group.

virtual NVSG_API void nvsg::Node::invalidateTransparentTextureContainment ( void ) [virtual]

Invalidate the transparent Texture containment cache.

Invalidating the cache is carried to all parents of this Node.

Reimplemented in nvsg::GeoNode, and nvsg::Group.

virtual NVSG_API size_t nvsg::Node::getNumberOfFrames ( void ) const [virtual]

Get the number of animation frames that are part of this Node.

Returns:
0

Reimplemented in nvsg::AnimatedTransform, nvsg::GeoNode, nvsg::Group, and nvsg::LightSource.

virtual NVSG_API void nvsg::Node::invalidateNumberOfFrames ( void ) const [virtual]

Invalidate the number of animation frames cache.

The cache is invalidated and the invalidation of a Node is called.

Reimplemented in nvsg::GeoNode, and nvsg::Group.

NVSG_API void nvsg::Node::setAnnotation ( const char * anno )

Set the annotation of this Node.

const char * nvsg::Node::getAnnotation ( void ) const [inline]

Get the annotation of this Node.

virtual NVSG_API bool nvsg::Node::calcBoundingSphere ( void ) const [protected, pure virtual]

Interface for calculating the BoundingSphere of this Node.

Implemented in nvsg::GeoNode, nvsg::Group, nvsg::LightSource, nvsg::Switch, and nvsg::Transform.

bool nvsg::Node::extendBoundingSphere ( const nvmath::Sphere3f & sphere ) const [inline, protected]

Extend the bounding sphere of this Node by another sphere.

When a Node contains a number of children or geometries, it can calculate the bounding sphere of all its constituents and extend its bounding sphere by them.

Parameters:
sphere bounding sphere to extend with

void nvsg::Node::transformBoundingSphere | ( | const nvmath::Mat44f & | m,
 |  | float | factor = 1.0f
 | ) | const [inline, protected]

Transform the BoundingSphere by a matrix and a factor for the radius.

Parameters:
m | matrix to transform with
factor | factor for radius

The documentation for this class was generated from the following file:
  • Node.h
Generated on Fri Jan 28 09:21:26 2005 for NVSGSDK by NVIDIA


NVBLoader Class Reference

A Scene Loader for nvb files. More...

#include <NVBLoader.h>

Inheritance diagram for NVBLoader:

[legend]
Collaboration diagram for NVBLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.

const nvsg::Scene * | load (const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState)
Realization of the pure virtual interface function of a SceneLoader.

Protected Member Functions

virtual | ~NVBLoader (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

A Scene Loader for nvb files.

NVB files can be produced with a special exporter tool with 3D Studio MAX. They can include cgfx effects.

Note:
The Textures of a scene file are given with absolute code pathes they had when creating the nvb file. The loader first searches them first at these absolute positions, and later in the search paths given.

Constructor & Destructor Documentation

NVBLoader::~NVBLoader ( void ) [inline, protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

void NVBLoader::deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements nvutil::PlugIn.

const nvsg::Scene * NVBLoader::load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | const nvsg::ViewState *& | viewState
 | ) | [inline]

Realization of the pure virtual interface function of a SceneLoader.

Loads a nvb file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • NVBLoader.h
Generated on Fri Jan 28 09:20:35 2005 for NVSGSDK by NVIDIA


NVBLoadTraverser Class Reference

Internally used traverser for post-processing a just loaded NVB file. More...

#include <NVBLoadTraverser.h>

Inheritance diagram for NVBLoadTraverser:

[legend]
Collaboration diagram for NVBLoadTraverser:

[legend]
List of all members.

Public Member Functions

NVBLoadTraverser (std::vector< const nvsg::Material * > &faceMappedMaterials)
Constructor.

virtual | ~NVBLoadTraverser (void)
Destructor.

Protected Member Functions

virtual void | handleCgFx (const nvsg::CgFx *p)
Postprocessing on CgFx.

virtual void | handleGeoNode (const nvsg::GeoNode *p)
Postprocessing on GeoNode.

virtual void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root)
Postprocessing on JitterCamera: Shouldn't be called at any time !

virtual void | handleLOD (const nvsg::LOD *p)
Postprocessing on LOD: Shouldn't be called at any time !

virtual void | handleMaterial (const nvsg::Material *p, bool reset)
Postprocessing on Material.

virtual void | handleStateSet (const nvsg::StateSet *p)
Postprocessing on StateSet.

virtual void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root)
Postprocessing on StereoCamera: Shouldn't be called at any time !

virtual void | handleSwitch (const nvsg::Switch *p)
Postprocessing on Switch: Shouldn't be called at any time !

virtual void | handleTriangles (const nvsg::Triangles *p)
Postprocessig on Triangles.

Detailed Description

Internally used traverser for post-processing a just loaded NVB file.

Constructor & Destructor Documentation

NVBLoadTraverser::NVBLoadTraverser ( std::vector< const nvsg::Material * > & faceMappedMaterials )

Constructor.

virtual NVBLoadTraverser::~NVBLoadTraverser ( void ) [virtual]

Destructor.

Member Function Documentation

virtual void NVBLoadTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Postprocessing on CgFx.

Just stores that a StateAttribute of type CgFx is encountered.

Reimplemented from nvtraverser::Traverser.

virtual void NVBLoadTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Postprocessing on GeoNode.

Traverses the GeoNode p and clears the state of encountering a CgFx.

Reimplemented from nvtraverser::Traverser.

virtual void NVBLoadTraverser::handleJitterCamera | ( | const nvsg::JitterCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [inline, protected, virtual]

Postprocessing on JitterCamera: Shouldn't be called at any time !

Reimplemented from nvtraverser::Traverser.

virtual void NVBLoadTraverser::handleLOD ( const nvsg::LOD * p ) [inline, protected, virtual]

Postprocessing on LOD: Shouldn't be called at any time !

Reimplemented from nvtraverser::Traverser.

virtual void NVBLoadTraverser::handleMaterial | ( | const nvsg::Material * | p,
 |  | bool | reset
 | ) | [protected, virtual]

Postprocessing on Material.

Stores the current Material for later references in a GeoSet.

virtual void NVBLoadTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Postprocessing on StateSet.

Clears the current Material and traverses the StateSet p.

Reimplemented from nvtraverser::Traverser.

virtual void NVBLoadTraverser::handleStereoCamera | ( | const nvsg::StereoCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [inline, protected, virtual]

Postprocessing on StereoCamera: Shouldn't be called at any time !

Reimplemented from nvtraverser::Traverser.

virtual void NVBLoadTraverser::handleSwitch ( const nvsg::Switch * p ) [inline, protected, virtual]

Postprocessing on Switch: Shouldn't be called at any time !

Reimplemented from nvtraverser::Traverser.

virtual void NVBLoadTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Postprocessig on Triangles.

For Triangles with a face mapped material on it the texture coordinates are remapped. For Triangles with a CgFx on it Texture coordinates as well as tangents and binormals are created.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • NVBLoadTraverser.h
Generated on Fri Jan 28 09:20:36 2005 for NVSGSDK by NVIDIA


NVNVB Class Reference

Internally used class for loading NVB files. More...

#include <NVNVB.h>

Collaboration diagram for NVNVB:

[legend]
List of all members.

Public Member Functions

const nvsg::Scene * | load (const std::string &filename, const std::vector< std::string > &searchPaths)
Interface function to load a file.

virtual bool | NewScene (const NVBRenderManager::NVBSceneInfo &scene)
Handler called after loading a new Scene info.

virtual bool | NewCamera (const NVBRenderManager::NVBCameraInfo &camera)
Handler called after loading a new Camera info.

virtual bool | NewLight (const NVBRenderManager::NVBLightInfo &light)
Handler called after loading a new Light info.

virtual bool | NewMaterial (const NVBRenderManager::NVBMaterialInfo &material)
Handler called after loading a new Material info.

virtual bool | NewTexture (const NVBRenderManager::NVBTextureInfo &texture)
Handler called after loading a new Texture info.

virtual bool | NewMesh (const NVBRenderManager::NVBMeshInfo &mesh)
Handler called after loading a new Mesh info.

virtual bool | NewShape (const NVBRenderManager::NVBShapeInfo &shape)
Handler called after loading a new Shape info.

virtual bool | NewHelper (const NVBRenderManager::NVBHelperInfo &helper)
Handler called after loading a new Helper info.

virtual bool | NewController (const NVBRenderManager::NVBControllerInfo &controller)
Handler called after loading a new Controller info.

virtual bool | NewMotion (const NVBRenderManager::NVBMotionInfo &motion)
Handler called after loading a new Motion info.

virtual bool | EndImport (void)
Handler called at end of loading for post-processing.

virtual bool | NVBImportError (const char *errortext, udword errorcode)
Application-dependent error handler.

virtual void | NVBLog (NVBRenderManager::TLogLevel level, LPSTR fmt,...)
Application-dependent log method.

virtual void | SetLogCallback (NVBRenderManager::TloggingCB cbfn, unsigned long userparam=0)
For setting the Application-dependent log method.

Detailed Description

Internally used class for loading NVB files.

Member Function Documentation

const nvsg::Scene * NVNVB::load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths
 | ) | [inline]

Interface function to load a file.

Returns:
pointer to the scene in the file.
Parameters:
filename | name of file to load
searchPaths | array of paths to use for searching

virtual bool NVNVB::NewScene ( const NVBRenderManager::NVBSceneInfo & scene ) [virtual]

Handler called after loading a new Scene info.

virtual bool NVNVB::NewCamera ( const NVBRenderManager::NVBCameraInfo & camera ) [virtual]

Handler called after loading a new Camera info.

virtual bool NVNVB::NewLight ( const NVBRenderManager::NVBLightInfo & light ) [virtual]

Handler called after loading a new Light info.

virtual bool NVNVB::NewMaterial ( const NVBRenderManager::NVBMaterialInfo & material ) [virtual]

Handler called after loading a new Material info.

virtual bool NVNVB::NewTexture ( const NVBRenderManager::NVBTextureInfo & texture ) [virtual]

Handler called after loading a new Texture info.

virtual bool NVNVB::NewMesh ( const NVBRenderManager::NVBMeshInfo & mesh ) [virtual]

Handler called after loading a new Mesh info.

virtual bool NVNVB::NewShape ( const NVBRenderManager::NVBShapeInfo & shape ) [virtual]

Handler called after loading a new Shape info.

virtual bool NVNVB::NewHelper ( const NVBRenderManager::NVBHelperInfo & helper ) [virtual]

Handler called after loading a new Helper info.

virtual bool NVNVB::NewController ( const NVBRenderManager::NVBControllerInfo & controller ) [virtual]

Handler called after loading a new Controller info.

virtual bool NVNVB::NewMotion ( const NVBRenderManager::NVBMotionInfo & motion ) [virtual]

Handler called after loading a new Motion info.

virtual bool NVNVB::EndImport ( void ) [virtual]

Handler called at end of loading for post-processing.

virtual bool NVNVB::NVBImportError | ( | const char * | errortext,
 |  | udword | errorcode
 | ) | [virtual]

Application-dependent error handler.

virtual void NVNVB::NVBLog | ( | NVBRenderManager::TLogLevel | level,
 |  | LPSTR | fmt,
 |  | ... |
 | ) | [virtual]

Application-dependent log method.

virtual void NVNVB::SetLogCallback | ( | NVBRenderManager::TloggingCB | cbfn,
 |  | unsigned long | userparam = 0
 | ) | [virtual]

For setting the Application-dependent log method.

The documentation for this class was generated from the following file:
  • NVNVB.h
Generated on Fri Jan 28 09:20:37 2005 for NVSGSDK by NVIDIA


nvsg::NVSGException Class Reference

#include <ErrorHandling.h>

List of all members.

Public Member Functions

NVSGException (bool critical, const std::string &errMsg)
NVSGException (bool critical, unsigned int errMsgID)
virtual bool | isCritical () const
virtual const std::string & | getErrorMessage () const

Detailed Description

Exception base class. Derive from this class if you intend to provide more specific exceptions.

Constructor & Destructor Documentation

nvsg::NVSGException::NVSGException | ( | bool | critical,
 |  | const std::string & | errMsg
 | ) | [inline]

Constructs a NVSGExeption object

Parameters

  • critical Assigns whether this will be treated as a critical or noncritical exception.
  • errMsg The related error message to be displayed with subsequent error handling.

nvsg::NVSGException::NVSGException | ( | bool | critical,
 |  | unsigned int | errMsgID
 | ) | [inline]

Constructs a NVSGExeption object

Parameters

  • critical Assigns whether this will be treated as a critical or noncritical exception.
  • errMsgID Identifies a string resource whithin a string table that holds the related error message to be displayed with subsequent error handling.

Note This is not implemented yet. Use the NVSGException(bool, const string&) variant instead.

Member Function Documentation

bool nvsg::NVSGException::isCritical ( ) const [inline, virtual]

Tests whether this exception is critical to the execution of subsequent code. For example, an error handler routine can query the critical status of an exception, and then decide to either throw the exception (if it is critical) or pop up a message box and then resume execution.

Return value true if this is a critical exception and execution of subsequent code is not possible; false if this exception is noncritical.

const std::string & nvsg::NVSGException::getErrorMessage ( ) const [inline, virtual]

Receive the exception's error message.

Return value A reference to a const string object holding the exception's error message.

The documentation for this class was generated from the following file:
  • ErrorHandling.h
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


NVSGLoader Class Reference

A Scene Loader for nvsg files. More...

#include <NVSGLoader.h>

Inheritance diagram for NVSGLoader:

[legend]
Collaboration diagram for NVSGLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.

const nvsg::Scene * | load (const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState)
Realization of the pure virtual interface function of a SceneLoader.

Detailed Description

A Scene Loader for nvsg files.

NVSG files can be produced with the sample ViewerVR. They are text files that represent a Scene and a ViewState.

Member Function Documentation

void NVSGLoader::deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements nvutil::PlugIn.

const nvsg::Scene* NVSGLoader::load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | const nvsg::ViewState *& | viewState
 | ) |

Realization of the pure virtual interface function of a SceneLoader.

Loads a nvsg file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • NVSGLoader.h
Generated on Fri Jan 28 09:20:38 2005 for NVSGSDK by NVIDIA


NVSGSaver Class Reference

A Scene Saver for nvsg files. More...

#include <NVSGSaver.h>

Inheritance diagram for NVSGSaver:

[legend]
Collaboration diagram for NVSGSaver:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
PlugIn interface.

bool | save (const nvsg::Scene &scene, const nvsg::ViewState *viewState, const std::string &filename)
Realization of the pure virtual interface function of a SceneSaver.

Detailed Description

A Scene Saver for nvsg files.

NVSG files can be produced with the sample ViewerVR. They are text files that represent a Scene and a ViewState.

Member Function Documentation

void NVSGSaver::deleteThis ( void ) [inline, virtual]

PlugIn interface.

Note:
Never call delete on a PlugIn, always use the member function.

Implements nvutil::PlugIn.

bool NVSGSaver::save | ( | const nvsg::Scene & | scene,
 |  | const nvsg::ViewState * | viewState,
 |  | const std::string & | filename
 | ) |

Realization of the pure virtual interface function of a SceneSaver.

Saves the scene and the viewState to filename.

Parameters:
scene | scene to save
viewState | view state to save
filename | file name to save to

The documentation for this class was generated from the following file:
  • NVSGSaver.h
Generated on Fri Jan 28 09:20:38 2005 for NVSGSDK by NVIDIA


NVSGSaveTraverser Class Reference

A Traverser to traverse a scene on saving to nvsg file format. More...

#include <NVSGSaver.h>

Inheritance diagram for NVSGSaveTraverser:

[legend]
Collaboration diagram for NVSGSaveTraverser:

[legend]
List of all members.

Public Member Functions

NVSGSaveTraverser ()
Default constructor.

void | setFILE (FILE *fh)
Sets the FILE where the scene is to be saved to.

Protected Member Functions

void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Controls saving of the scene together with a ViewState.

virtual void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root)
Save a JitterCamera.

virtual void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root)
Save a ParallelCamera.

virtual void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root)
Save a PerspectiveCamera.

virtual void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root)
Save a StereoCamera.

virtual void | handleGeoNode (const nvsg::GeoNode *p)
Save a GeoNode.

virtual void | handleGroup (const nvsg::Group *p)
Save a Group.

virtual void | handleTransform (const nvsg::Transform *p)
Save a Transform.

virtual void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Save an AnimatedTransform.

virtual void | handleLOD (const nvsg::LOD *p)
Save a LOD.

virtual void | handleSwitch (const nvsg::Switch *p)
Save a Switch.

virtual void | handleDirectedLight (const nvsg::DirectedLight *p)
Save a DirectedLight.

virtual void | handlePointLight (const nvsg::PointLight *p)
Save a PointLight.

virtual void | handleSpotLight (const nvsg::SpotLight *p)
Save a SpotLight.

virtual void | handleStateSet (const nvsg::StateSet *p)
Save a StateSet.

virtual void | handleCgFx (const nvsg::CgFx *p)
Save a CgFx.

virtual void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Save a FaceAttribute.

virtual void | handleMaterial (const nvsg::Material *p)
Save a Material.

virtual void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Save a TextureAttribute.

virtual void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t tu)
Save a TextureAttributeItem.

virtual void | handleTriangles (const nvsg::Triangles *p)
Save a Triangles.

virtual void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Save a AnimatedTriangles.

virtual void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Save a SkinnedTriangles.

virtual void | handleTriStrips (const nvsg::TriStrips *p)
Save a TriStrips.

virtual void | handleQuads (const nvsg::Quads *p)
Save a Quads.

virtual void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Save a AnimatedQuads.

virtual void | handleQuadStrips (const nvsg::QuadStrips *p)
Save a QuadStrips.

virtual void | handleFramedTrafoAnimation (const nvsg::FramedAnimation< nvmath::Trafo > *p)
Save a FramedTrafoAnimation.

virtual void | handleFramedVNVectorAnimation (const nvsg::FramedAnimation< nvsg::VNVector > *p)
Save a FramedVNVectorAnimation.

virtual void | handleLinearInterpolatedTrafoAnimation (const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p)
Save a LinearInterpolatedTrafoAnimation.

virtual void | handleLinearInterpolatedVNVectorAnimation (const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p)
Save a LinearInterpolatedVNVectorAnimation.

Detailed Description

A Traverser to traverse a scene on saving to nvsg file format.

Constructor & Destructor Documentation

NVSGSaveTraverser::NVSGSaveTraverser ( )

Default constructor.

Member Function Documentation

void NVSGSaveTraverser::setFILE ( FILE * fh )

Sets the FILE where the scene is to be saved to.

Parameters:
fh FILE to save to

void NVSGSaveTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Controls saving of the scene together with a ViewState.

Note:
This version ignores the ViewState and the Tweakables of the CgFx objects.
Parameters:
pViewState | ViewState to save
pScene | Scene to save

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleJitterCamera | ( | const nvsg::JitterCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Save a JitterCamera.

If the JitterCamera p is encountered on saving the first time, it's base camera is traversed with root and it's name is registered.

Note:
The NVSG file format does not support a JitterCamera, so it isn't saved as such.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleParallelCamera | ( | const nvsg::ParallelCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Save a ParallelCamera.

If the ParallelCarmera p is encountered on saving the first time, it is traversed with root and then it's saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handlePerspectiveCamera | ( | const nvsg::PerspectiveCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Save a PerspectiveCamera.

If the PerspectiveCamera p is encountered on saving the first time, it is traversed with root and then it's saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleStereoCamera | ( | const nvsg::StereoCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Save a StereoCamera.

If the StereoCamera p is encountered on saving the first time, it's associated monoscopic camera is traversed with root and it's name is registered.

Note:
The NVSG file format does not support a StereoCamera, so it isn't saved as such.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Save a GeoNode.

If the GeoNode p is encountered on saving the first time, it is traversed and then saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Save a Group.

If the Group p is encountered on saving the first time, it is traversed and then saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Save a Transform.

If the Transform p is encountered on saving the first time, it is traversed and then saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Save an AnimatedTransform.

If the AnimatedTransform p is encountered on saving the first time, it first is traversed as a Transform, then it's associated Animation is traversed, and finally it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Save a LOD.

If the LOD p is encountered on saving the first time, all it's children are traversed, no matter which might be currently active, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Save a Switch.

If the Switch p is encountered on saving the first time, all it's children are traversed, no matter which might be currently active, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Save a DirectedLight.

If the DirectedLight p is encountered on saving the first time, first any associated Animation is traversed, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Save a PointLight.

If the PointLight p is encountered on saving the first time, first any associated Animation is traversed, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Save a SpotLight.

If the SpotLight p is encountered on saving the first time, first any associated Animation is traversed, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Save a StateSet.

If the StateSet p is encountered on saving, it is stored as the current one. Then, if it's the first time, it is traversed and then saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Save a CgFx.

If the CgFx p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Save a FaceAttribute.

If the FaceAttribute p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Save a Material.

If the Material p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Save a TextureAttribute.

If the TextureAttribute p is encountered on saving the first time, it is traversed and then saved .

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleTextureAttributeItem | ( | const nvsg::TextureAttributeItem * | p,
 |  | size_t | tu
 | ) | [protected, virtual]

Save a TextureAttributeItem.

If the TextureAttributeItem p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Save a Triangles.

If the Triangles p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Save a AnimatedTriangles.

If the AnimatedTriangles p is encountered on saving the first time, any associated Animation is traversed, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Save a SkinnedTriangles.

If the SkinnedTriangles p is encountered on saving the first time, any associated Animations are traversed, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Save a TriStrips.

If the TriStrips p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Save a Quads.

If the Quads p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Save a AnimatedQuads.

If the AnimatedQuads p is encountered on saving the first time, any associated Animation is traversed, then it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Save a QuadStrips.

If the QuadStrips p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleFramedTrafoAnimation ( const nvsg::FramedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Save a FramedTrafoAnimation.

If the FramedTrafoAnimation p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleFramedVNVectorAnimation ( const nvsg::FramedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Save a FramedVNVectorAnimation.

If the FramedVNVectorAnimation p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleLinearInterpolatedTrafoAnimation ( const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Save a LinearInterpolatedTrafoAnimation.

If the LinearInterpolatedTrafoAnimation p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

virtual void NVSGSaveTraverser::handleLinearInterpolatedVNVectorAnimation ( const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Save a LinearInterpolatedVNVectorAnimation.

If the LinearInterpolatedVNVectorAnimation p is encountered on saving the first time, it is saved.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • NVSGSaver.h
Generated on Fri Jan 28 09:20:39 2005 for NVSGSDK by NVIDIA


nvsg::Object Class Reference

Base class for all objects. More...

#include <Object.h>

Inheritance diagram for nvsg::Object:

[legend]
Collaboration diagram for nvsg::Object:

[legend]
List of all members.

Public Member Functions

unsigned int | getObjectCode () const
Identify an object at runtime by means of its object code.

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

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

NVSG_API void | setName (const std::string &name)
Set the name of the object using C++ style string.

NVSG_API const std::string & | getName (void) const
Get the name of the object.

NVSG_API bool | waitToRead (size_t milliseconds=0xFFFFFFFF) const
Acquire read access in a multithreaded environment.

NVSG_API void | doneReading (void) const
Signal when finished reading the object.

NVSG_API bool | waitToWrite (size_t milliseconds=0xFFFFFFFF) const
Acquire write access in a multithreaded enviroment.

NVSG_API void | doneWriting (void) const
Signal when finished writing the object.

Protected Member Functions

NVSG_API | Object (void)
Constructor.

NVSG_API | Object (const Object &rhs)
Copy constructor.

virtual NVSG_API | ~Object ()
Protected destructor to prevent explicit creation on stack.

Protected Attributes

unsigned int | m_objectCode
object code (unique per object type)

Related Functions

(Note that these are not member functions.)

template<typename T> T * | beginEdit (const T *obj)
template<typename T> const T * | endEdit (T *&obj)

Detailed Description

Base class for all objects.

This class maintains a name and a user pointer for all objects that derive from it.

Constructor & Destructor Documentation

NVSG_API nvsg::Object::Object ( void ) [protected]

Constructor.

NVSG_API nvsg::Object::Object ( const Object & rhs ) [protected]

Copy constructor.

virtual NVSG_API nvsg::Object::~Object ( ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

unsigned int nvsg::Object::getObjectCode ( ) const [inline]

Identify an object at runtime by means of its object code.

Returns:
The object code, which is unique per object type.

virtual NVSG_API bool nvsg::Object::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 in nvsg::AnimatedQuads, nvsg::AnimatedTransform, nvsg::AnimatedTriangles, nvsg::Animation< T >, nvsg::CgFx, nvsg::DirectedLight, nvsg::Drawable, nvsg::FaceAttribute, nvsg::GeoNode, nvsg::GeoSet, nvsg::Group, nvsg::JitterCamera, nvsg::LightSource, nvsg::Material, nvsg::Node, nvsg::PointLight, nvsg::Quads, nvsg::QuadStrips, nvsg::SimpleCamera, nvsg::SkinnedTriangles, nvsg::SpotLight, nvsg::StateAttribute, nvsg::StateSet, nvsg::StereoCamera, nvsg::Switch, nvsg::TextureAttributeItem, nvsg::TextureAttribute, nvsg::Transform, nvsg::Triangles, nvsg::TriStrips, nvsg::Animation< nvmath::Trafo >, and nvsg::Animation< VNVector >.

virtual NVSG_API DataID nvsg::Object::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 in nvsg::AnimatedQuads, nvsg::AnimatedTransform, nvsg::AnimatedTriangles, nvsg::Animation< T >, nvsg::CgFx, nvsg::DirectedLight, nvsg::Drawable, nvsg::FaceAttribute, nvsg::GeoNode, nvsg::GeoSet, nvsg::Group, nvsg::JitterCamera, nvsg::LightSource, nvsg::Material, nvsg::Node, nvsg::PointLight, nvsg::Quads, nvsg::QuadStrips, nvsg::SimpleCamera, nvsg::SkinnedTriangles, nvsg::SpotLight, nvsg::StateAttribute, nvsg::StateSet, nvsg::StereoCamera, nvsg::Switch, nvsg::TextureAttributeItem, nvsg::TextureAttribute, nvsg::Transform, nvsg::Triangles, nvsg::TriStrips, nvsg::Animation< nvmath::Trafo >, and nvsg::Animation< VNVector >.

void nvsg::Object::setName ( const std::string & name ) [inline]

Set the name of the object using C++ style string.

Parameters:
name name of the object

const std::string & nvsg::Object::getName ( void ) const [inline]

Get the name of the object.

Returns:
name of the object

bool nvsg::Object::waitToRead ( size_t milliseconds = 0xFFFFFFFF ) const [inline]

Acquire read access in a multithreaded environment.

For safety in a multithreaded environment, an object maintains a read/write locking mechanism that allows contemporaneous access by multiple readers but restricts write access to a single writer.

This function returns either when it obtains read access or when the time-out interval elapses. By default, this function waits indefinitely.
Returns:
true, if read access could be acquired, false otherwise.

void nvsg::Object::doneReading ( void ) const [inline]

Signal when finished reading the object.

Read access to this object, acquired by a previous call to waitToRead, is ended by a call to this function.

bool nvsg::Object::waitToWrite ( size_t milliseconds = 0xFFFFFFFF ) const [inline]

Acquire write access in a multithreaded enviroment.

For safety in a multithreaded environment, an object maintains a read/write locking mechanism that allows contemporaneous access for multiple readers but restricts write access to a single writer.

This function returns either when it gets write access or when the time-out interval elapses. By default, this function waits indefinitely.
Returns:
true, if write access could be acquired, false otherwise.
Parameters:
milliseconds Time-out interval, in millisceconds.

void nvsg::Object::doneWriting ( void ) const [inline]

Signal when finished writing the object.

Write access to this object, acquired by a previous call to waitToWrite, is ended by a call to this function.

Friends And Related Function Documentation

template<typename T>
T * beginEdit ( const T * obj ) [related]

Initiates a safe edit operation on an NVSG Object.

The function returns when the calling thread successfully obtained write access to the object. If the object is currently locked for write or read access from a concurrent thread, the calling thread enters the wait state. It uses no processor time while waiting to obtain write access.

After getting write access to the object, the function returns a pointer to the non-const object. Throught this pointer, the const and especially the non-const interface of the object can be accessed.

When the function returns, the object is protected against any write or read access from concurrent threads. After the desired edit operation has been completed, the write lock for the object must be released through a corresponding call to endEdit . Missing the endEdit call after completing the edit operation can cause the system to become deadlocked!

Returns:
A pointer to the now writable object.
Note:
The behavior is undefined if called with an invalid pointer.
Parameters:
obj Specifies the object for which write access is requested.

template<typename T>
const T * endEdit ( T *& obj ) [related]

Ends an edit operation on an NVSG Object.

The function ends an edit operation that previously has been initiated through a call to beginEdit .

The function must be called with the pointer to the non-const object, that has been returned by the matching call to beginEdit. The write lock for the object will be released and the function returns a pointer to the const object, through which only the const interface of the object could be utilized.

Immediately after the call, the passed pointer to the non-const object becomes invalid. Hence, using the pointer to the non-const object after this call leads to undefined behavior!

Returns:
A pointer to the non-const object, which is not writable anymore.
Note:
The behavior is undefined if called with an invalid pointer.
Parameters:
obj Specifies the object for which write access should be released.

Member Data Documentation

unsigned int nvsg::Object::m_objectCode [protected]

object code (unique per object type)

The documentation for this class was generated from the following file:
  • Object.h
Generated on Fri Jan 28 09:21:27 2005 for NVSGSDK by NVIDIA


nvtraverser::OcclusionCullGLTraverser Class Reference

GLTraverser internally used by the OcclusionCullTraverser. More...

#include <OcclusionCullGLTraverser.h>

Inheritance diagram for nvtraverser::OcclusionCullGLTraverser:

[legend]
Collaboration diagram for nvtraverser::OcclusionCullGLTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | OcclusionCullGLTraverser (void)
Constructor.

NVSG_API std::vector< GLuint > * | getQueries (void)

Protected Member Functions

virtual NVSG_API | ~OcclusionCullGLTraverser (void)
Destructor.

virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root)
Handles stuff to do just before the scene is traversed.

virtual NVSG_API void | postTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root)
This function will be called from the framework immediately after the scene graph has been traversed.

virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p)
Routine to handle a DirectedLight node while traversing the scene graph.

virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p)
Routine to handle a PointLight node while traversing the scene graph.

virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p)
Routine to handle a SpotLight node while traversing the scene graph.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Routine to handle a AnimatedQuads object while traversing the scene graph.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Routine to handle a AnimatedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Routine to handle a SkinnedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.

virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.

virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx attribute while traversing the scene graph.

virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Routine to handle a FaceAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Routine to handle a Material attribute while traversing the scene graph.

virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Routine to handle a TextureAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t tu)
Routine to handle a TextureAttributeItem object while traversing the scene graph.

virtual NVSG_API void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root)
Routine to handle a JitterCamera object while traversing the scene graph.

virtual NVSG_API void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root)
Routine to handle a StereoCamera object while traversing the scene graph.

virtual NVSG_API void | handleHighlightBox (const nvsg::HighlightBox *p, const nvsg::GeoSet *g)
Routine to handle a HighlightBox object while traversing the scene graph.

virtual NVSG_API void | handleHighlightEdges (const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet)
Routine to handle a HighlightEdges object while traversing the scene graph.

Detailed Description

GLTraverser internally used by the OcclusionCullTraverser.

This GLTraverser performs the minimal GL operations to determine the number of rendered samples per Drawable. That number is used to determine/adjust the CullCode of that Drawable.

Constructor & Destructor Documentation

NVSG_API nvtraverser::OcclusionCullGLTraverser::OcclusionCullGLTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::OcclusionCullGLTraverser::~OcclusionCullGLTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

virtual NVSG_API bool nvtraverser::OcclusionCullGLTraverser::preTraverseRoot | ( | const nvsg::SimpleCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Handles stuff to do just before the scene is traversed.

This initializes the camera related part of the transform stack (after traversal of the headlights).

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::postTraverseRoot | ( | const nvsg::SimpleCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

This function will be called from the framework immediately after the scene graph has been traversed.

remarks Custom traversers can override this function for any tasks that need to be done immediately after the scene graph has been traversed.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Routine to handle a DirectedLight node while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Routine to handle a PointLight node while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Routine to handle a SpotLight node while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Routine to handle a AnimatedQuads object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Routine to handle a AnimatedTriangles object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Routine to handle a SkinnedTriangles object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx attribute while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Routine to handle a FaceAttribute attribute while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Routine to handle a Material attribute while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Routine to handle a TextureAttribute attribute while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleTextureAttributeItem | ( | const nvsg::TextureAttributeItem * | p,
 |  | size_t | tu
 | ) | [protected, virtual]

Routine to handle a TextureAttributeItem object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleJitterCamera | ( | const nvsg::JitterCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a JitterCamera object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleStereoCamera | ( | const nvsg::StereoCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a StereoCamera object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleHighlightBox | ( | const nvsg::HighlightBox * | p,
 |  | const nvsg::GeoSet * | g
 | ) | [protected, virtual]

Routine to handle a HighlightBox object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::OcclusionCullGLTraverser::handleHighlightEdges | ( | const nvsg::HighlightEdges * | p,
 |  | const nvsg::GeoSet * | geoSet
 | ) | [protected, virtual]

Routine to handle a HighlightEdges object while traversing the scene graph.

Reimplemented from nvtraverser::GLTraverser.

The documentation for this class was generated from the following file:
  • OcclusionCullGLTraverser.h
Generated on Fri Jan 28 09:22:07 2005 for NVSGSDK by NVIDIA


nvtraverser::OcclusionCullTraverser Class Reference

CullTraverser culling on occlusion information. More...

#include <OcclusionCullTraverser.h>

Inheritance diagram for nvtraverser::OcclusionCullTraverser:

[legend]
Collaboration diagram for nvtraverser::OcclusionCullTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | OcclusionCullTraverser (void)
Constructor.

NVSG_API RenderTraverser::GeometryCacheTechnique | getGeometryCacheTechnique (void) const
Get the current geoemtry caching technique.

NVSG_API bool | isGeometryCacheTechniqueSupported (RenderTraverser::GeometryCacheTechnique gct) const
Test on supported geometry caching techhniques.

NVSG_API bool | setGeometryCacheTechnique (RenderTraverser::GeometryCacheTechnique gct)
Set the geometry caching technique the render should use.

Protected Member Functions

virtual NVSG_API | ~OcclusionCullTraverser (void)
Destructor.

virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Initiate traversing a given scene graph.

virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Drawable *p) const
determine the CullCode of a Drawable.

virtual NVSG_API nvsg::CullCode | cullCode (const nvsg::Node *p) const
Determine the CullCode of a Node.

Detailed Description

CullTraverser culling on occlusion information.

This CullTraverser gathers information on all Node s in the tree to determine if it changes any fragment on the screen. All Node s (and potentially subtrees) that don't touch any fragment are marked as outside and can be skipped on subsequent traversals.

Constructor & Destructor Documentation

NVSG_API nvtraverser::OcclusionCullTraverser::OcclusionCullTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::OcclusionCullTraverser::~OcclusionCullTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

RenderTraverser::GeometryCacheTechnique nvtraverser::OcclusionCullTraverser::getGeometryCacheTechnique ( void ) const [inline]

Get the current geoemtry caching technique.

bool nvtraverser::OcclusionCullTraverser::isGeometryCacheTechniqueSupported ( RenderTraverser::GeometryCacheTechnique gct ) const [inline]

Test on supported geometry caching techhniques.

Returns:
true - supported, false - not supported.
Parameters:
gct GeometryCache technique.

bool nvtraverser::OcclusionCullTraverser::setGeometryCacheTechnique ( RenderTraverser::GeometryCacheTechnique gct ) [inline]

Set the geometry caching technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
gct GeometryCache technique.

virtual NVSG_API void nvtraverser::OcclusionCullTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Initiate traversing a given scene graph.

This overloadable function is called from the traverser's entry point apply . The base implementation first initiates the traversing of the scene's global states, if available. After that the scene itself is traversed. If an optional ViewState ViewState is passed through viewState, it is applied prior to traversing the scene.

Custom traversers may override this function in order to implement initial work to be done before traversing the scene. For derived classes to ensure proper traversing of the scene, it is recommended to always call the base implementation after the initial work has been done.

Reimplemented from nvtraverser::CullTraverser.

virtual NVSG_API nvsg::CullCode nvtraverser::OcclusionCullTraverser::cullCode ( const nvsg::Drawable * p ) const [protected, virtual]

determine the CullCode of a Drawable.

The default implementation returns CC_IN.

Returns:
CullCode for Drawable p.

Reimplemented from nvtraverser::CullTraverser.

virtual NVSG_API nvsg::CullCode nvtraverser::OcclusionCullTraverser::cullCode ( const nvsg::Node * p ) const [protected, virtual]

Determine the CullCode of a Node.

The default implementaion returns CC_IN.

Returns:
CullCode for Node p.

Reimplemented from nvtraverser::CullTraverser.

The documentation for this class was generated from the following file:
  • OcclusionCullTraverser.h
Generated on Fri Jan 28 09:22:09 2005 for NVSGSDK by NVIDIA


nvsg::ParallelCamera Class Reference

A parallel camera. More...

#include <ParallelCamera.h>

Inheritance diagram for nvsg::ParallelCamera:

[legend]
Collaboration diagram for nvsg::ParallelCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const ParallelCamera * | clone (void) const
Create a clone of this ParallelCamera.

virtual NVSG_API nvmath::Mat44f | getProjection () const
Get the projection matrix.

virtual NVSG_API nvmath::Mat44f | getInverseProjection () const
Get the inverse projection matrix.

Static Public Member Functions

NVSG_API const ParallelCamera * | create (void)
Create a ParallelCamera.

NVSG_API const ParallelCamera * | createFromBase (const SimpleCamera &rhs)
Create a ParallelCamera by copying from a SimpleCamera.

Protected Member Functions

NVSG_API | ParallelCamera ()
Constructor.

NVSG_API | ParallelCamera (const SimpleCamera &rhs)
Partial Constructor.

NVSG_API | ParallelCamera (const ParallelCamera &rhs)
Copy Constructor.

virtual NVSG_API | ~ParallelCamera (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

A parallel camera.

This is a SimpleCamera that represents a parallel (non-perspective) camera.

Constructor & Destructor Documentation

NVSG_API nvsg::ParallelCamera::ParallelCamera ( ) [protected]

Constructor.

NVSG_API nvsg::ParallelCamera::ParallelCamera ( const SimpleCamera & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::ParallelCamera::ParallelCamera ( const ParallelCamera & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::ParallelCamera::~ParallelCamera ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const ParallelCamera* nvsg::ParallelCamera::create ( void ) [static]

Create a ParallelCamera.

Returns:
a constant pointer to a ParallelCamera.

NVSG_API const ParallelCamera* nvsg::ParallelCamera::createFromBase ( const SimpleCamera & rhs ) [static]

Create a ParallelCamera by copying from a SimpleCamera.

Returns:
a constant pointer to a ParallelCamera.
Parameters:
rhs SimpleCamera to copy from

virtual NVSG_API const ParallelCamera* nvsg::ParallelCamera::clone ( void ) const [virtual]

Create a clone of this ParallelCamera.

Returns:
a constant pointer to a ParallelCamera.

Implements nvsg::SimpleCamera.

virtual NVSG_API nvmath::Mat44f nvsg::ParallelCamera::getProjection ( ) const [virtual]

Get the projection matrix.

Returns:
The projection matrix

Implements nvsg::MonoCamera.

virtual NVSG_API nvmath::Mat44f nvsg::ParallelCamera::getInverseProjection ( ) const [virtual]

Get the inverse projection matrix.

Returns:
The inverse projection matrix

Implements nvsg::MonoCamera.

The documentation for this class was generated from the following file:
  • ParallelCamera.h
Generated on Fri Jan 28 09:21:28 2005 for NVSGSDK by NVIDIA


nvsg::Path Class Reference

Path representation in the tree. More...

#include <Path.h>

Inheritance diagram for nvsg::Path:

[legend]
Collaboration diagram for nvsg::Path:

[legend]
List of all members.

Public Member Functions

NVSG_API | Path (void)
Default constructor.

NVSG_API | Path (const Path &rhs)
Copy constructor.

NVSG_API unsigned int | getLength (void) const
Get the the number of nodes in the path chain.

NVSG_API bool | isEmpty (void) const
Test on an empty path.

NVSG_API const Node * | getHead (void) const
Get the head node of the path.

NVSG_API const Node * | getTail (void) const
Get the Tail Node.

NVSG_API const Node * | getNodeFromHead (size_t i) const
Get the ith node from the head.

NVSG_API const Node * | getNodeFromTail (size_t i) const
Get the ith node from the tail.

NVSG_API void | pop (void)
Pop the last node off.

NVSG_API void | push (const Node *pNode)
Push a node at the end of the chain.

NVSG_API void | truncate (size_t start)
Remove all nodes from indexed node on.

Protected Member Functions

virtual NVSG_API | ~Path (void)
Prohibit explicit creation on stack by making the destructor protected.

Detailed Description

Path representation in the tree.

A Path represents a scene graph or subgraph. It contains pointers to a chain of nodes, each being a child of the previous.

Constructor & Destructor Documentation

NVSG_API nvsg::Path::Path ( void )

Default constructor.

NVSG_API nvsg::Path::Path ( const Path & rhs )

Copy constructor.

virtual NVSG_API nvsg::Path::~Path ( void ) [protected, virtual]

Prohibit explicit creation on stack by making the destructor protected.

Member Function Documentation

unsigned int nvsg::Path::getLength ( void ) const [inline]

Get the the number of nodes in the path chain.

Returns:
Th number of nodes.

bool nvsg::Path::isEmpty ( void ) const [inline]

Test on an empty path.

Note:
This is possibly faster than testing the length.
Returns:
true - path is empty, false - path is not empty

const Node * nvsg::Path::getHead ( void ) const [inline]

Get the head node of the path.

Returns:
The first node in the path chain.

const Node * nvsg::Path::getTail ( void ) const [inline]

Get the Tail Node.

Returns:
The last node in the path chain.

const Node * nvsg::Path::getNodeFromHead ( size_t i ) const [inline]

Get the ith node from the head.

Returns:
Pointer to ith node in the path chain.
Parameters:
i Index of the desired node (0 = head node)

const Node * nvsg::Path::getNodeFromTail ( size_t i ) const [inline]

Get the ith node from the tail.

Returns:
Pointer to the ith node in the path chain (from the tail)
Parameters:
i Index of the desired node (0 = tail node)

void nvsg::Path::pop ( void ) [inline]

Pop the last node off.

NVSG_API void nvsg::Path::push ( const Node * pNode )

Push a node at the end of the chain.

Note:
We apply an addRef() so we do not lose the node.
Parameters:
pNode Node to push

NVSG_API void nvsg::Path::truncate ( size_t start )

Remove all nodes from indexed node on.

Note:
We apply a removeRef().
Parameters:
start Start index. (0 removes all nodes from the path)

The documentation for this class was generated from the following file:
  • Path.h
Generated on Fri Jan 28 09:21:29 2005 for NVSGSDK by NVIDIA


nvsg::PerspectiveCamera Class Reference

A perspective camera. More...

#include <PerspectiveCamera.h>

Inheritance diagram for nvsg::PerspectiveCamera:

[legend]
Collaboration diagram for nvsg::PerspectiveCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const PerspectiveCamera * | clone (void) const
Create a clone of this PerspectiveCamera.

NVSG_API float | getFieldOfView () const
Get the field of view (fovy).

NVSG_API void | setFieldOfView (float fov)
Set the field of view (fovy).

virtual NVSG_API void | setTargetDistance (float td)
Set the distance to the target point.

virtual NVSG_API nvmath::Mat44f | getProjection () const
Get the projection matrix.

virtual NVSG_API nvmath::Mat44f | getInverseProjection () const
Get the inverse projection matrix.

Static Public Member Functions

NVSG_API const PerspectiveCamera * | create (void)
Create a PerspectiveCamera.

NVSG_API const PerspectiveCamera * | createFromBase (const SimpleCamera &rhs)
Create a PerspectiveCamera by copying from a SimpleCamera.

Protected Member Functions

NVSG_API | PerspectiveCamera ()
Constructor.

NVSG_API | PerspectiveCamera (const SimpleCamera &rhs)
Partial Constructor.

NVSG_API | PerspectiveCamera (const PerspectiveCamera &rhs)
Copy Constructor.

virtual NVSG_API | ~PerspectiveCamera (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

A perspective camera.

This is a SimpleCamera that represents a perspective camera.

Constructor & Destructor Documentation

NVSG_API nvsg::PerspectiveCamera::PerspectiveCamera ( ) [protected]

Constructor.

NVSG_API nvsg::PerspectiveCamera::PerspectiveCamera ( const SimpleCamera & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::PerspectiveCamera::PerspectiveCamera ( const PerspectiveCamera & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::PerspectiveCamera::~PerspectiveCamera ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const PerspectiveCamera* nvsg::PerspectiveCamera::create ( void ) [static]

Create a PerspectiveCamera.

Returns:
a constant pointer to a PerspectiveCamera.

NVSG_API const PerspectiveCamera* nvsg::PerspectiveCamera::createFromBase ( const SimpleCamera & rhs ) [static]

Create a PerspectiveCamera by copying from a SimpleCamera.

Returns:
a constant pointer to a PerspectiveCamera.
Parameters:
rhs SimpleCamera to copy from

virtual NVSG_API const PerspectiveCamera* nvsg::PerspectiveCamera::clone ( void ) const [virtual]

Create a clone of this PerspectiveCamera.

Returns:
a constant pointer to a PerspectiveCamera.

Implements nvsg::SimpleCamera.

float nvsg::PerspectiveCamera::getFieldOfView ( ) const [inline]

Get the field of view (fovy).

The field of view is the view angle (in radians) in the y-direction.

Returns:
The field of view (in radians)

NVSG_API void nvsg::PerspectiveCamera::setFieldOfView ( float fov )

Set the field of view (fovy).

The field of view is the view angle (in radians) in the y-direction.

Parameters:
fov field of view to set (in radians)

virtual NVSG_API void nvsg::PerspectiveCamera::setTargetDistance ( float td ) [virtual]

Set the distance to the target point.

On perspective cameras, setting the target distance keeps the field of view constant. This means that the window size is adjusted accordingly.

Parameters:
td distance to target point (or viewing plane)

Reimplemented from nvsg::SimpleCamera.

virtual NVSG_API nvmath::Mat44f nvsg::PerspectiveCamera::getProjection ( ) const [virtual]

Get the projection matrix.

Returns:
The projection matrix

Implements nvsg::MonoCamera.

virtual NVSG_API nvmath::Mat44f nvsg::PerspectiveCamera::getInverseProjection ( ) const [virtual]

Get the inverse projection matrix.

Returns:
The inverse projection matrix

Implements nvsg::MonoCamera.

The documentation for this class was generated from the following file:
  • PerspectiveCamera.h
Generated on Fri Jan 28 09:21:30 2005 for NVSGSDK by NVIDIA


nvmath::Plane3f Class Reference

Plane class. More...

#include <Plane3f.h>

Collaboration diagram for nvmath::Plane3f:

[legend]
List of all members.

Public Member Functions

NVSG_API | Plane3f (void)
Default constructor.

NVSG_API | Plane3f (const Vec3f &n, float c)
Constructor by normal and offset.

NVSG_API | Plane3f (const Vec3f &n, const Vec3f &p)
Constructor by normal and point on plane.

NVSG_API | Plane3f (const Vec3f &p0, const Vec3f &p1, const Vec3f &p2)
Constructor by three points.

NVSG_API Plane3f | operator- (void) const
Negation operator.

NVSG_API Plane3f & | operator= (const Plane3f &pl)
Assignment operator.

NVSG_API bool | operator== (const Plane3f &pl) const
Equality operator.

NVSG_API bool | operator!= (const Plane3f &pl) const
Inequality operator.

NVSG_API float | operator() (const Vec3f &p) const
Calling operator.

NVSG_API Vec3f & | n (void)
Non-constant access to the plane normal.

NVSG_API const Vec3f & | n (void) const
Constant access to the plane normal.

NVSG_API float & | c (void)
Non-constant access to the plane offset.

NVSG_API const float & | c (void) const
Constant access to the plane offset.

Related Functions

(Note that these are not member functions.)

bool | areOnOppositeSides (const Plane3f &plane, const Vec3f &p0, const Vec3f &p1)
bool | areOnSameSide (const Plane3f &plane, const Vec3f &p0, const Vec3f &p1)
float | signedDistance (const Plane3f &pl, const Vec3f &p)
float | distance (const Plane3f &pl, const Vec3f &p)
Vec3f | nearestPoint (const Plane3f &pl, const Vec3f &p)

Detailed Description

Plane class.

Constructor & Destructor Documentation

nvmath::Plane3f::Plane3f ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Plane3f::Plane3f | ( | const Vec3f & | n,
 |  | float | c
 | ) | [inline]

Constructor by normal and offset.

Parameters:
n | normal
c | offset

nvmath::Plane3f::Plane3f | ( | const Vec3f & | n,
 |  | const Vec3f & | p
 | ) | [inline]

Constructor by normal and point on plane.

Parameters:
n | normal
p | point in plane

nvmath::Plane3f::Plane3f | ( | const Vec3f & | p0,
 |  | const Vec3f & | p1,
 |  | const Vec3f & | p2
 | ) | [inline]

Constructor by three points.

Parameters:
p0 | first point
p1 | second point
p2 | third point

Member Function Documentation

Plane3f nvmath::Plane3f::operator- ( void ) const [inline]

Negation operator.

Returns:
complementary plane (with reversed normal).

Plane3f & nvmath::Plane3f::operator= ( const Plane3f & pl ) [inline]

Assignment operator.

Returns:
reference to the assigned plane
Parameters:
pl plane to assign

bool nvmath::Plane3f::operator== ( const Plane3f & pl ) const [inline]

Equality operator.

Returns:
true if the plane is equal to pl, otherwise false
Parameters:
pl plane to compare with

bool nvmath::Plane3f::operator!= ( const Plane3f & pl ) const [inline]

Inequality operator.

Returns:
true if the plane is not equal to pl, otherwise false
Parameters:
pl plane to compare with

NVSG_API float nvmath::Plane3f::operator() ( const Vec3f & p ) const

Calling operator.

Returns:
the signed distance of p to the plane.
Parameters:
p point to determine distance from plane

Vec3f & nvmath::Plane3f::n ( void ) [inline]

Non-constant access to the plane normal.

Returns:
reference to the plane normal.

const Vec3f & nvmath::Plane3f::n ( void ) const [inline]

Constant access to the plane normal.

Returns:
constant reference to the plane normal.

float & nvmath::Plane3f::c ( void ) [inline]

Non-constant access to the plane offset.

Returns:
reference to the plane offset.

const float & nvmath::Plane3f::c ( void ) const [inline]

Constant access to the plane offset.

Returns:
constant reference to the plane offset.

Friends And Related Function Documentation

bool areOnOppositeSides | ( | const Plane3f & | plane,
 |  | const Vec3f & | p0,
 |  | const Vec3f & | p1
 | ) | [related]

Determine if two points are on opposite sides of a plane.

Returns:
true, if p0 and p1 are on opposite sides of plane.
Parameters:
plane | plane to use
p0 | first point
p1 | second point

bool areOnSameSide | ( | const Plane3f & | plane,
 |  | const Vec3f & | p0,
 |  | const Vec3f & | p1
 | ) | [related]

Determine if two points are on the same side of a plane.

Returns:
true, if p0 and p1 are on the same side of plane.
Parameters:
plane | plane to use
p0 | first point
p1 | second point

float signedDistance | ( | const Plane3f & | pl,
 |  | const Vec3f & | p
 | ) | [related]

Determine signed distance between the Plane pl and the Point p.

Returns:
signed distance between pl and p.
Parameters:
pl | plane
p | point

float distance | ( | const Plane3f & | pl,
 |  | const Vec3f & | p
 | ) | [related]

Determine distance between the Plane pl and the Point p.

Returns:
distance between pl and p.
Parameters:
pl | plane
p | point

Vec3f nearestPoint | ( | const Plane3f & | pl,
 |  | const Vec3f & | p
 | ) | [related]

Determine the point on the plane pl nearest to the point p.

Returns:
the point on the plane pl nearest to the point p.
Parameters:
pl | plane
p | point

The documentation for this class was generated from the following file:
  • Plane3f.h
Generated on Fri Jan 28 09:20:51 2005 for NVSGSDK by NVIDIA


nvutil::PlugIn Class Reference

Plug-in base class. More...

#include <PlugIn.h>

Inheritance diagram for nvutil::PlugIn:

[legend]
Collaboration diagram for nvutil::PlugIn:

[legend]
List of all members.

Public Member Functions

void | setCallback (PlugInCallback *cb, bool throwExceptionOnError=true)
Set the callback object to use on this PlugIn.

Protected Member Functions

virtual void | deleteThis (void)=0
Plug-in deletion.

const PlugInCallback * | callback (void) const
Get the current callback object.

Friends

class | PlugInServer
Plug-in managment.

Detailed Description

Plug-in base class.

Serves as base class for all user defined plug-ins.

Member Function Documentation

void nvutil::PlugIn::setCallback | ( | PlugInCallback * | cb,
 |  | bool | throwExceptionOnError = true
 | ) | [inline]

Set the callback object to use on this PlugIn.

The PlugInCallback object is used to report errors and warnings that happen while using this PlugIn.

Parameters:
cb | callback object to use
throwExceptionOnError | true if an exception is thrown on error

virtual void nvutil::PlugIn::deleteThis ( void ) [protected, pure virtual]

Plug-in deletion.

Every plug-in must provide this function. It assures that, when deleting the plug-in object, always the right heap manager is called to free the associated memory.

Note:
Ordinary client code is not allowed to call deleteThis on a plug-in object. Client code needs to utilize the PlugInServer interface for plug-in managment for this purposes.

Implemented in NBFLoader, NVBLoader, NVSGLoader, WRLLoader, NBFSaver, and NVSGSaver.

const PlugInCallback * nvutil::PlugIn::callback ( void ) const [inline, protected]

Get the current callback object.

Friends And Related Function Documentation

friend class PlugInServer [friend]

Plug-in managment.

A PlugInServer is also responsible for releasing plug-in objects after usage and therefore needs access to the private member function deleteThis.

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jan 28 09:22:33 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback Class Reference

PlugInCallback base class. More...

#include <PlugInCallback.h>

Inheritance diagram for nvutil::PlugInCallback:

[legend]
Collaboration diagram for nvutil::PlugInCallback:

[legend]
List of all members.

Public Types

enum PIC_ERROR {
PICE_UNEXPECTED_EOF, PICE_UNEXPECTED_TOKEN, PICE_UNKNOWN_TOKEN, PICE_FILE_ACCESS_FAILED,
PICE_FILE_MAPPING_FAILED, PICE_INCOMPATIBLE_FILE, PICE_INVALID_FILE
}
Enumeration of PlugInCallback errors. More...

enum PIC_WARNING {
PICW_FILE_EMPTY, PICW_FILE_NOT_FOUND, PICW_FILES_NOT_FOUND, PICW_EMPTY_TOKEN,
PICW_INCOMPATIBLE_VALUES, PICW_INVALID_VALUE, PICW_UNDEFINED_TOKEN, PICW_UNSUPPORTED_TOKEN
}
Enumeration of PlugInCallback warnings. More...

enum | PIC_TYPE_ID { PICT_INT, PICT_FLOAT }
Enumeration of value types used in warnings/errors. More...

Public Member Functions

PlugInCallback ()
Constructor.

void | setThrowExceptionOnError (bool set)
Set whether an exception should be thrown on error.

virtual void | onError (PIC_ERROR eid, const void *info) const
General callback on error.

virtual bool | onWarning (PIC_WARNING wid, const void *info) const
General callback on warning.

virtual void | onUnexpectedEndOfFile (size_t position) const
Specialized callback on error: PICE_UNEXPECTED_EOF.

virtual void | onUnexpectedToken (size_t position, const std::string &expected, const std::string &encountered) const
Specialized callback on error: PICE_UNEXPECTED_TOKEN.

virtual void | onUnknownToken (size_t position, const std::string &context, const std::string &token) const
Specialized callback on error: PICE_UNKNOWN_TOKEN.

virtual bool | onEmptyToken (size_t position, const std::string &context, const std::string &token) const
Specialized callback on warning: PICW_EMPTY_TOKEN.

virtual bool | onFileEmpty (const std::string &file) const
Specialized callback on warning: PICW_FILE_EMPTY.

virtual bool | onFileNotFound (const std::string &file) const
Specialized callback on warning: PICW_FILE_NOT_FOUND.

virtual bool | onFilesNotFound (const std::vector< std::string > &files) const
Specialized callback on warning: PICW_FILES_NOT_FOUND.

virtual bool | onUndefinedToken (size_t position, const std::string &context, const std::string &token) const
Specialized callback on warning: PICW_UNDEFINED_TOKEN.

virtual bool | onIncompatibleValues (size_t position, const std::string &context, const std::string &value0Name, int value0, const std::string &value1Name, int value1) const
Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.

virtual bool | onIncompatibleValues (size_t position, const std::string &context, const std::string &value0Name, float value0, const std::string &value1Name, float value1) const
Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.

virtual bool | onInvalidValue (size_t position, const std::string &context, const std::string &valueName, int value) const
Specialized callback on warning: PICW_INVALID_VALUE.

virtual bool | onInvalidValue (size_t position, const std::string &context, const std::string &valueName, float value) const
Specialized callback on warning: PICW_INVALID_VALUE.

virtual bool | onUnsupportedToken (size_t position, const std::string &context, const std::string &token) const
Specialized callback on warning: PICW_UNSUPPORTED_TOKEN.

virtual void | onFileAccessFailed (const std::string &file, unsigned int systemSpecificErrorCode) const
Error callback on PICE_FILE_ACCESS_FAILED error.

virtual void | onFileMappingFailed (unsigned int systemSpecificErrorCode) const
Error callback on PICE_FILE_MAPPING_FAILED error.

virtual void | onImcompatibleFile (const std::string &file, const std::string &context, unsigned int expectedVersion, unsigned int detectedVersion) const
Error callback on PICE_INCOMPATIBLE_FILE error.

virtual void | onInvalidFile (const std::string &file, const std::string &context) const
Error callback on PICE_INVALID_FILE error.

Protected Member Functions

virtual | ~PlugInCallback ()
Protected destructor to prevent explicit creation on stack.

Detailed Description

PlugInCallback base class.

A PlugInCallback object can be used to report warnings and errors that happen while using a PlugIn. It is applied to a PlugIn via PlugIn::setCallback(). A PlugInCallback object consists of a set of virtual functions that can be overloaded by an application specific PlugInCallback object. It has two generic callbacks onError and onWarning, that can be called with any error/warning code. And it has two families of specific error and warning functions that are called on specific error/warning conditions.

Member Enumeration Documentation

enum nvutil::PlugInCallback::PIC_ERROR

Enumeration of PlugInCallback errors.

enum nvutil::PlugInCallback::PIC_WARNING

Enumeration of PlugInCallback warnings.

enum nvutil::PlugInCallback::PIC_TYPE_ID

Enumeration of value types used in warnings/errors.

Constructor & Destructor Documentation

nvutil::PlugInCallback::PlugInCallback ( ) [inline]

Constructor.

nvutil::PlugInCallback::~PlugInCallback ( ) [inline, protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

void nvutil::PlugInCallback::setThrowExceptionOnError ( bool set ) [inline]

Set whether an exception should be thrown on error.

void nvutil::PlugInCallback::onError | ( | PIC_ERROR | eid,
 |  | const void * | info
 | ) | const [inline, virtual]

General callback on error.

This general error callback is called with every error that isn't completely handled in a specialized error callback. If throwExceptionOnError is set (default), onError throws an PIC_ERROR exception. The specific error callbacks fall back to this function. This callback can be overloaded to support new error conditions.

Parameters:
eid | error ID
info | pointer to information structure corresponding to eid

bool nvutil::PlugInCallback::onWarning | ( | PIC_WARNING | wid,
 |  | const void * | info
 | ) | const [inline, virtual]

General callback on warning.

This general warning callback is called with every warning that isn't completely handled in a specialized warning callback. In this base implemetation, onWarning just returns true, meaning the PlugIn operation can be continued without danger. The specific warning callbacks fall back to this function. This callback can be overloaded to support new warning conditions.

Parameters:
wid | waringing ID
info | pointer to information structure corresponding to wid

void nvutil::PlugInCallback::onUnexpectedEndOfFile ( size_t position ) const [inline, virtual]

Specialized callback on error: PICE_UNEXPECTED_EOF.

This error callback is called, when the end of a file was reached unexpectedly. In this base implementation, the general callback onError is called. Overload this callback to implement special handling on unexpected end of file errors.

Parameters:
position position in file, where error occured

void nvutil::PlugInCallback::onUnexpectedToken | ( | size_t | position,
 |  | const std::string & | expected,
 |  | const std::string & | encountered
 | ) | const [inline, virtual]

Specialized callback on error: PICE_UNEXPECTED_TOKEN.

This error callback is called, when an unexpected token is encountered. In this base implementation, a struct UnexpectedTokenInfo is constructed out of the arguments, and the general callback onError is called. Overlaod this callback to implement special handling on unexpected token errors.

Parameters:
position | position in file, where error occured
expected | expected token
encountered | encountered token

void nvutil::PlugInCallback::onUnknownToken | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on error: PICE_UNKNOWN_TOKEN.

This error callback is called, when an unknown token is encountered. In this base implementation, a struct UnknownTokenInfo is constructed out of the arguments, and the general callback onError is called. Overload this callback to implement special handling on unknown token errors.

Parameters:
position | position in file, where the error occured
context | context of the unknown token
token | unknown token

bool nvutil::PlugInCallback::onEmptyToken | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_EMPTY_TOKEN.

This warning callback is called, when a token proved to be empty. In this base implementation, a struct EmptyTokenInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on empty token warnings.

Parameters:
position | position in file, where the warning occured
context | context of the empty token
token | name of the empty token

bool nvutil::PlugInCallback::onFileEmpty ( const std::string & file ) const [inline, virtual]

Specialized callback on warning: PICW_FILE_EMPTY.

This warning callback is called, when a file proved to be empty. In this base implementation, the general callback onWarning is called. Overload this callback to implement special handling on empty file warnings.

Parameters:
file name of the empty file

bool nvutil::PlugInCallback::onFileNotFound ( const std::string & file ) const [inline, virtual]

Specialized callback on warning: PICW_FILE_NOT_FOUND.

This warning callback is called, when a file wasn't found. In this base implementation, the general callback onWarning is called. Overload this callback to implement special handling on file not found warnings.

Parameters:
file name of the file, that wasn't found

bool nvutil::PlugInCallback::onFilesNotFound ( const std::vector< std::string > & files ) const [inline, virtual]

Specialized callback on warning: PICW_FILES_NOT_FOUND.

This warning callback is called, when none of a number of files was found. In this base implementation, the general callback onWarning is called. Overload this callback to implement special handling on file not found warnings.

Parameters:
files vector of files, where none was found

bool nvutil::PlugInCallback::onUndefinedToken | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_UNDEFINED_TOKEN.

This warning callback is called, a named token is used that wasn't defined before. In this base implementation, a struct UndefinedTokenInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on undefined token warnings.

Parameters:
position | position in file, where the warning occured
context | context of the undefined token
token | undefined token

bool nvutil::PlugInCallback::onIncompatibleValues | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | value0Name,
 |  | int | value0,
 |  | const std::string & | value1Name,
 |  | int | value1
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.

This warning callback is called, when two incompatible values of type int are found in the file. In this base implementation, a struct IncompatibleValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the incompatible values
value0Name | name of the first value
value0 | first value
value1Name | name of the second value
value1 | second value

bool nvutil::PlugInCallback::onIncompatibleValues | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | value0Name,
 |  | float | value0,
 |  | const std::string & | value1Name,
 |  | float | value1
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.

This warning callback is called, when two incompatible values of type float are found in the file. In this base implementation, a struct IncompatibleValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the incompatible values
value0Name | name of the first value
value0 | first value
value1Name | name of the second value
value1 | second value

bool nvutil::PlugInCallback::onInvalidValue | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | valueName,
 |  | int | value
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INVALID_VALUE.

This warning callback is called, when an invalid value of type int is found in the file. In this base implementatino, a struct InvalidValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the invalid value
valueName | name of the invalid value
value | invalid value

bool nvutil::PlugInCallback::onInvalidValue | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | valueName,
 |  | float | value
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INVALID_VALUE.

This warning callback is called, when an invalid value of type float is found in the file. In this base implementatino, a struct InvalidValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the invalid value
valueName | name of the invalid value
value | invalid value

bool nvutil::PlugInCallback::onUnsupportedToken | ( | size_t | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_UNSUPPORTED_TOKEN.

This warning callback is called, when an unsupported token is found in the file. In this base implementatino, a struct UnsupportedTokenInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on unsupported token warnings.

Parameters:
position | position in file, where the warning occured
context | context of the unsupported token
token | unsupported token

void nvutil::PlugInCallback::onFileAccessFailed | ( | const std::string & | file,
 |  | unsigned int | systemSpecificErrorCode
 | ) | const [inline, virtual]

Error callback on PICE_FILE_ACCESS_FAILED error.

This callback should be invoked from within a plug-in if a file access error occured. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested for file access errors.

Parameters:
file | Specifies the name of the file
systemSpecificErrorCode | Specifies a system specific error code.

void nvutil::PlugInCallback::onFileMappingFailed ( unsigned int systemSpecificErrorCode ) const [inline, virtual]

Error callback on PICE_FILE_MAPPING_FAILED error.

This callback should be invoked from within a plug-in if a file mapping error occured. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested for file mapping errors.

Parameters:
systemSpecificErrorCode Specifies a system specific error code.

void nvutil::PlugInCallback::onImcompatibleFile | ( | const std::string & | file,
 |  | const std::string & | context,
 |  | unsigned int | expectedVersion,
 |  | unsigned int | detectedVersion
 | ) | const [inline, virtual]

Error callback on PICE_INCOMPATIBLE_FILE error.

This callback should be invoked from within a plug-in if a file is detected to be incompatible. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested when detecting incompatible files.

Parameters:
file | Specifies the name of the file.
context | Specifies the context of detected incompatibility.
expectedVersion | Specifies the expected version. The high-order 16-bits specify < the major version; the low-order 16-bits specify the compatibility level.
detectedVersion | Specifies the detected version. The high-order 16-bits specify < the major version; the low-order 16-bits specify the compatibility level.

void nvutil::PlugInCallback::onInvalidFile | ( | const std::string & | file,
 |  | const std::string & | context
 | ) | const [inline, virtual]

Error callback on PICE_INVALID_FILE error.

This callback should be invoked from within a plug-in if a file is detected to be invalid. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested when detecting invalid files.

Parameters:
file | Specifies the name of the file.
context | Specifies the context of detected invalidity.

The documentation for this class was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:34 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::EmptyTokenInfo Struct Reference

Information structure used for warning PICW_EMPTY_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

size_t | position
position in file, where the warning was raised

std::string | context
context of the warning

std::string | token
name of empty token

Detailed Description

Information structure used for warning PICW_EMPTY_TOKEN.

Member Data Documentation

size_t nvutil::PlugInCallback::EmptyTokenInfo::position

position in file, where the warning was raised

std::string nvutil::PlugInCallback::EmptyTokenInfo::context

context of the warning

std::string nvutil::PlugInCallback::EmptyTokenInfo::token

name of empty token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::FileAccessFailedInfo Struct Reference

Information structure used for error PICE_FILE_ACCESS_ERROR. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

std::string | file
Specifies the name of the file for which the access error occurred.

unsigned int | systemSpecificErrorCode
Specifies a system specific error code.

Detailed Description

Information structure used for error PICE_FILE_ACCESS_ERROR.

Member Data Documentation

std::string nvutil::PlugInCallback::FileAccessFailedInfo::file

Specifies the name of the file for which the access error occurred.

unsigned int nvutil::PlugInCallback::FileAccessFailedInfo::systemSpecificErrorCode

Specifies a system specific error code.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::FileMappingFailedInfo Struct Reference

Information structure used for error PICE_FILE_MAPPING_ERROR. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int systemSpecificErrorCode
Specifies a system specific error code.

Detailed Description

Information structure used for error PICE_FILE_MAPPING_ERROR.

Member Data Documentation

unsigned int nvutil::PlugInCallback::FileMappingFailedInfo::systemSpecificErrorCode

Specifies a system specific error code.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::IncompatibleFileInfo Struct Reference

Information structure used for error PICE_INCOMPATIBLE_FILE. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

std::string | file
Specifies the name of the file that was detected to be incompatible.

std::string | context
Specifies the context of detected incompatibility.

unsigned int | expectedVersion
unsigned int | detectedVersion

Detailed Description

Information structure used for error PICE_INCOMPATIBLE_FILE.

Member Data Documentation

std::string nvutil::PlugInCallback::IncompatibleFileInfo::file

Specifies the name of the file that was detected to be incompatible.

std::string nvutil::PlugInCallback::IncompatibleFileInfo::context

Specifies the context of detected incompatibility.

unsigned int nvutil::PlugInCallback::IncompatibleFileInfo::expectedVersion

Specifies the expected version. The high-order 16-bits specify < the major version; the low-order 16-bits specify the compatibility level.

unsigned int nvutil::PlugInCallback::IncompatibleFileInfo::detectedVersion

Specifies the detected version. The high-order 16-bits specify < the major version; the low-order 16-bits specify the compatibility level.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::IncompatibleValueInfo Struct Reference

Information structure used for warning PICW_INCOMPATIBLE_VALUES. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

size_t | position
position in file, where the warning was raised

std::string | context
context of the warning

PIC_TYPE_ID valueType
type of the incompatible values

std::string | value0Name
name of the first value

const void * | value0
pointer to the first value

std::string | value1Name
name of the second value

const void * | value1
pointer to the second value

Detailed Description

Information structure used for warning PICW_INCOMPATIBLE_VALUES.

Member Data Documentation

size_t nvutil::PlugInCallback::IncompatibleValueInfo::position

position in file, where the warning was raised

std::string nvutil::PlugInCallback::IncompatibleValueInfo::context

context of the warning

PIC_TYPE_ID nvutil::PlugInCallback::IncompatibleValueInfo::valueType

type of the incompatible values

std::string nvutil::PlugInCallback::IncompatibleValueInfo::value0Name

name of the first value

const void* nvutil::PlugInCallback::IncompatibleValueInfo::value0

pointer to the first value

std::string nvutil::PlugInCallback::IncompatibleValueInfo::value1Name

name of the second value

const void* nvutil::PlugInCallback::IncompatibleValueInfo::value1

pointer to the second value

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::InvalidFileInfo Struct Reference

Information structure used for error PICE_INVALID_FILE. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

std::string | file
Specifies the name of the file the was detected to be invalid.

std::string | context
Specifies the context of detected invalidity.

Detailed Description

Information structure used for error PICE_INVALID_FILE.

Member Data Documentation

std::string nvutil::PlugInCallback::InvalidFileInfo::file

Specifies the name of the file the was detected to be invalid.

std::string nvutil::PlugInCallback::InvalidFileInfo::context

Specifies the context of detected invalidity.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::InvalidValueInfo Struct Reference

Information structure used for warning PICW_INVALID_VALUE. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

size_t | position
position in file, where the warning was raised

std::string | context
context of the warning

PIC_TYPE_ID valueType
type of the invalid value

std::string | valueName
name of the value

const void * | value
pointer to the value

Detailed Description

Information structure used for warning PICW_INVALID_VALUE.

Member Data Documentation

size_t nvutil::PlugInCallback::InvalidValueInfo::position

position in file, where the warning was raised

std::string nvutil::PlugInCallback::InvalidValueInfo::context

context of the warning

PIC_TYPE_ID nvutil::PlugInCallback::InvalidValueInfo::valueType

type of the invalid value

std::string nvutil::PlugInCallback::InvalidValueInfo::valueName

name of the value

const void* nvutil::PlugInCallback::InvalidValueInfo::value

pointer to the value

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::UndefinedTokenInfo Struct Reference

Information structure used for warning PICW_UNDEFINED_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

size_t | position
position in file, where the warning was raised

std::string | context
context of the undefined token

std::string | token
undefined token

Detailed Description

Information structure used for warning PICW_UNDEFINED_TOKEN.

Member Data Documentation

size_t nvutil::PlugInCallback::UndefinedTokenInfo::position

position in file, where the warning was raised

std::string nvutil::PlugInCallback::UndefinedTokenInfo::context

context of the undefined token

std::string nvutil::PlugInCallback::UndefinedTokenInfo::token

undefined token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::UnexpectedTokenInfo Struct Reference

Information structure used for error PICE_UNEXPECTED_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

size_t | position
position in file, where the error was raised

std::string | expected
expected token

std::string | encountered
encountered token

Detailed Description

Information structure used for error PICE_UNEXPECTED_TOKEN.

Member Data Documentation

size_t nvutil::PlugInCallback::UnexpectedTokenInfo::position

position in file, where the error was raised

std::string nvutil::PlugInCallback::UnexpectedTokenInfo::expected

expected token

std::string nvutil::PlugInCallback::UnexpectedTokenInfo::encountered

encountered token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::UnknownTokenInfo Struct Reference

Information structure used for error PICE_UNKNOWN_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

size_t | position
position in file, where the error was raised

std::string | context
context of the unknown token

std::string | token
unknown token

Detailed Description

Information structure used for error PICE_UNKNOWN_TOKEN.

Member Data Documentation

size_t nvutil::PlugInCallback::UnknownTokenInfo::position

position in file, where the error was raised

std::string nvutil::PlugInCallback::UnknownTokenInfo::context

context of the unknown token

std::string nvutil::PlugInCallback::UnknownTokenInfo::token

unknown token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInCallback::UnsupportedTokenInfo Struct Reference

Information structure used for warning PICW_UNSUPPORTED_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

size_t | position
position in file, where the warning was raised

std::string | context
context of the unsupported token

std::string | token
unsupported token

Detailed Description

Information structure used for warning PICW_UNSUPPORTED_TOKEN.

Member Data Documentation

size_t nvutil::PlugInCallback::UnsupportedTokenInfo::position

position in file, where the warning was raised

std::string nvutil::PlugInCallback::UnsupportedTokenInfo::context

context of the unsupported token

std::string nvutil::PlugInCallback::UnsupportedTokenInfo::token

unsupported token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


nvutil::PlugInServer Class Reference

Plug-in management. More...

#include <PlugIn.h>

List of all members.

Friends

NVSG_API bool | getInterface (const std::vector< std::string > &searchPath, const UPIID &piid, PlugIn *&plugIn)
Get hold of a certain interface object.

NVSG_API bool | queryInterfaceType (const std::vector< std::string > &searchPath, const UPITID &pitid, std::vector< UPIID > &piids)
Query for a certain interface type.

NVSG_API void | releaseInterface (const UPIID &piid)
Release a certain interface.

NVSG_API void | setPlugInFileFilter (const std::string &filter)
Specify a file name filter to be used while searching for appropriate plug-in modules.

Detailed Description

Plug-in management.

The PlugInServer class provides functionality for convenient plug-in managment.

The PlugInServer is a central management tool to handle plug-ins and therefore it is implemented as a singleton object. The interface of the PlugInServer can only be accesses through an external set of wrapper functions with special access rights.

Friends And Related Function Documentation

NVSG_API bool getInterface | ( | const std::vector< std::string > & | searchPath,
 |  | const UPIID & | piid,
 |  | PlugIn *& | plugIn
 | ) | [friend]

Get hold of a certain interface object.

Searches the searchPath for a plug-in that provides an interface specified by piid. If successfull, plugIn holds the requested interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.dll" on Microsoft(R) Windows platforms, and "*.so" on Linux platforms.

The function always returns the first matching interface found in the specified search path in consideration of the used file name filter.

If client code asks for a certain interface a second time, without releasing the interface object got with the first call to getInterface, this function will not search through the search path a second time but returning the interface object registered with the first call. This will also work this way, independent of whether the file name filter was changed in between.

Remarks:
If client code has no concrete interface ID available to query for, it should first query for a superior interface type using nvutil::queryInterfaceType to get hold of a list of interfaces all providing the superior interface type.
In order to utilize the concrete interface queried for, client code must 'reinterpret_cast' plugIn to a concrete interface pointer and use this pointer to access the interface.
To avoid resource leaks, client code should release the interface through a call to nvutil::releaseInterface, after usage.
Returns:
true if successfull, false otherwise.
Parameters:
searchPath | The path to search for the plug-ins.
piid | Identifies the interface to search for.
plugIn | Holds the interface object (plug-in), if successfull.

NVSG_API bool queryInterfaceType | ( | const std::vector< std::string > & | searchPath,
 |  | const UPITID & | pitid,
 |  | std::vector< UPIID > & | piids
 | ) | [friend]

Query for a certain interface type.

Searches the searchPath for all plug-ins that provide a certain interface type specified by pitid. If successfull, client code will receive the concrete interface IDs in piids. Each of these IDs can than be used along with nvutil::getInterface, to get an interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.dll" on Microsoft(R) Windows platforms, and "*.so" on Linux platforms.

Returns:
true if successfull, false otherwise.
Parameters:
searchPath | The path to search for plug-ins.
pitid | Identifies the interface type to query for.
piids | Holds all interface IDs found, if successfull.

NVSG_API void releaseInterface ( const UPIID & piid ) [friend]

Release a certain interface.

Frees all resources acquired by the interface object identified by piid.

Parameters:
piid Identifies the interface to be released.

NVSG_API void setPlugInFileFilter ( const std::string & filter ) [friend]

Specify a file name filter to be used while searching for appropriate plug-in modules.

This function overrides the PlugInServer's default file name filter used to search for appropriate plug-in modules. The function lets you specify different file name patterns. The patterns must be separated by a semicolon.

Parameters:
filter String of file name filter patterns all delimited by a semicolon.

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jan 28 09:22:33 2005 for NVSGSDK by NVIDIA


nvsg::PointLight Class Reference

Class representing a point light. More...

#include <PointLight.h>

Inheritance diagram for nvsg::PointLight:

[legend]
Collaboration diagram for nvsg::PointLight:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const PointLight * | clone (void) const
Get a clone of this PointLight.

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

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

NVSG_API void | getAttenuation (float &c, float &l, float &q) const
Get the attenuation factors for this light.

NVSG_API const nvmath::Vec3f & | getAttenuation (void) const
Get the attenuation factors for this light as a Vec3f.

NVSG_API bool | isAttenuated (void) const
Ask if this light source is attenuated.

NVSG_API void | setAttenuation (float c, float l, float q)
Set the attenuation factors for this light.

Static Public Member Functions

NVSG_API const PointLight * | create (void)
Create a PointLight.

NVSG_API const PointLight * | createFromBase (const LightSource &rhs)
Create a PointLight by copying from a LightSource.

Protected Member Functions

NVSG_API | PointLight (void)
Default Constructor.

NVSG_API | PointLight (const LightSource &rhs)
Partial Constructor.

NVSG_API | PointLight (const PointLight &rhs)
Copy Constructor.

virtual NVSG_API | ~PointLight (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Class representing a point light.

Point lights have color and position within a scene, but no single direction. They give off light equally in all directions. A light bulb is a good example of a point light. Point lights are affected by attenuation and range, and illuminate a mesh on a vertex-by-vertex basis. During lighting, the point light's position in world space and the coordinates of the vertex being lit are used to derive a vector for the direction of the light and the distance that the light has traveled. Both are used, along with the vertex normal, to calculate the contribution of the light to the illumination of the surface.

Constructor & Destructor Documentation

NVSG_API nvsg::PointLight::PointLight ( void ) [protected]

Default Constructor.

NVSG_API nvsg::PointLight::PointLight ( const LightSource & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::PointLight::PointLight ( const PointLight & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::PointLight::~PointLight ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const PointLight* nvsg::PointLight::create ( void ) [static]

Create a PointLight.

Returns:
a constant pointer to a PointLight.

NVSG_API const PointLight* nvsg::PointLight::createFromBase ( const LightSource & rhs ) [static]

Create a PointLight by copying from a LightSource.

Returns:
a constant pointer to a PointLight.
Parameters:
rhs LightSource to copy from

virtual NVSG_API const PointLight* nvsg::PointLight::clone ( void ) const [virtual]

Get a clone of this PointLight.

Returns:
A constant pointer to the new created clone.

Implements nvsg::Node.

virtual NVSG_API bool nvsg::PointLight::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::LightSource.

virtual NVSG_API DataID nvsg::PointLight::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::LightSource.

void nvsg::PointLight::getAttenuation | ( | float & | c,
 |  | float & | l,
 |  | float & | q
 | ) | const [inline]

Get the attenuation factors for this light.

The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation atten = 1 / ( c + l * d + q * d * d ) where d is the distance between the light and the vertex.

Parameters:
c | constant attenuation factor
l | linear attenuation factor
q | quadratic attenuation factor

const nvmath::Vec3f & nvsg::PointLight::getAttenuation ( void ) const [inline]

Get the attenuation factors for this light as a Vec3f.

The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation atten = 1 / ( v[0] + v[1] * d + v[2] * d * d ) v is the returned Vec3f, and d is the distance between the light and the vertex.

bool nvsg::PointLight::isAttenuated ( void ) const [inline]

Ask if this light source is attenuated.

A light source is attenuated if the constant attenuation factor is different from one, or if the linear or quadratic attenuation factor is different from zero.

Returns:
true if this light source is attenuated, otherwise false

void nvsg::PointLight::setAttenuation | ( | float | c,
 |  | float | l,
 |  | float | q
 | ) | [inline]

Set the attenuation factors for this light.

The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation atten = 1 / ( c + l * d + q * d * d ) where d is the distance between the light and the vertex.

Parameters:
c | constant attenuation factor
l | linear attenuation factor
q | quadratic attenuation factor

The documentation for this class was generated from the following file:
  • PointLight.h
Generated on Fri Jan 28 09:21:33 2005 for NVSGSDK by NVIDIA


nvsg::Quads Class Reference

GeoSet for Quads. More...

#include <Quads.h>

Inheritance diagram for nvsg::Quads:

[legend]
Collaboration diagram for nvsg::Quads:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Quads * | clone (void) const
Get a clone of this Quads object.

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

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

NVSG_API bool | hasFaces (void) const
Ask if this Quads has faces.

NVSG_API size_t | getNumberOfFaces (void) const
Get the number of faces.

NVSG_API const Face4 * | getFaces (void) const
Get constant pointer to faces.

NVSG_API void | setFaces (const Face4 *pFaces, size_t numFaces)
Set the faces for this Quads.

NVSG_API void | setFaces (size_t pos, const Face4 *pFaces, size_t numFaces)
Set the faces for this Quads.

virtual NVSG_API void | calculateTangentSpace (size_t tu=0, size_t tg=1, size_t bn=2)
Calculate tangents and binormals.

Static Public Member Functions

NVSG_API const Quads * | create (void)
Create a Quads.

NVSG_API const Quads * | createFromBase (const GeoSet &rhs)
Create a Quads by copying from a GeoSet.

Protected Member Functions

NVSG_API | Quads (void)
Constructor.

NVSG_API | Quads (const GeoSet &rhs)
Partial Constructor from a GeoSet.

NVSG_API | Quads (const Quads &rhs)
Copy Constructor.

virtual NVSG_API | ~Quads (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

GeoSet for Quads.

A Quads is a GeoSet that holds an array of index-quadruples. Each of these quadruples describe a quad with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.

Constructor & Destructor Documentation

NVSG_API nvsg::Quads::Quads ( void ) [protected]

Constructor.

NVSG_API nvsg::Quads::Quads ( const GeoSet & rhs ) [protected]

Partial Constructor from a GeoSet.

NVSG_API nvsg::Quads::Quads ( const Quads & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::Quads::~Quads ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const Quads* nvsg::Quads::create ( void ) [static]

Create a Quads.

Returns:
a constant pointer to a Quads.

NVSG_API const Quads* nvsg::Quads::createFromBase ( const GeoSet & rhs ) [static]

Create a Quads by copying from a GeoSet.

Returns:
a constant pointer to a Quads.

virtual NVSG_API const Quads* nvsg::Quads::clone ( void ) const [virtual]

Get a clone of this Quads object.

Returns:
a constant pointer to a Quads.

Implements nvsg::Drawable.

Reimplemented in nvsg::AnimatedQuads.

virtual NVSG_API bool nvsg::Quads::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::GeoSet.

Reimplemented in nvsg::AnimatedQuads.

virtual NVSG_API DataID nvsg::Quads::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::GeoSet.

Reimplemented in nvsg::AnimatedQuads.

bool nvsg::Quads::hasFaces ( void ) const [inline]

Ask if this Quads has faces.

Returns:
true, if this Quads has faces, otherwise false

size_t nvsg::Quads::getNumberOfFaces ( void ) const [inline]

Get the number of faces.

Returns:
The number of faces

const Face4 * nvsg::Quads::getFaces ( void ) const [inline]

Get constant pointer to faces.

Returns:
A constant pointer to faces.

NVSG_API void nvsg::Quads::setFaces | ( | const Face4 * | pFaces,
 |  | size_t | numFaces
 | ) |

Set the faces for this Quads.

Copies numFaces faces from pFaces into this Quads.

Parameters:
pFaces | faces to set
numFaces | number of faces

NVSG_API void nvsg::Quads::setFaces | ( | size_t | pos,
 |  | const Face4 * | pFaces,
 |  | size_t | numFaces
 | ) |

Set the faces for this Quads.

Copies numFaces faces from pFaces into this Quads, starting at position pos inside the range of pre-existing faces.

Pre-existing faces in the range [pos, pos + numFaces) will be replaced. Pre-existing faces outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of faces currently stored, the faces pointed to by pFaces will be appended to the pre-existing faces.

If you not specify -1 for pos or pos neither specifies the number of faces currently stored nor does it specify a valid position inside the range of pre-existing faces, the behaviour is undefined!

Parameters:
pos | Start position inside the range of pre-existing faces
pFaces | faces to set
numFaces | number of faces

virtual NVSG_API void nvsg::Quads::calculateTangentSpace | ( | size_t | tu = 0,
 |  | size_t | tg = 1,
 |  | size_t | bn = 2
 | ) | [virtual]

Calculate tangents and binormals.

The two dimensional texture coordinates out of texture unit tu are used as the parameterization for the calculation. The tangents are written to texture unit tg and the binormals to texture unit bn.

Parameters:
tu | texture unit to get parameterizing coords
tg | texture unit to write tangents to
bn | texture unit to write binormals to

Implements nvsg::GeoSet.

The documentation for this class was generated from the following file:
  • Quads.h
Generated on Fri Jan 28 09:21:34 2005 for NVSGSDK by NVIDIA


nvsg::QuadStrips Class Reference

GeoSet defining quad strips. More...

#include <QuadStrips.h>

Inheritance diagram for nvsg::QuadStrips:

[legend]
Collaboration diagram for nvsg::QuadStrips:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const QuadStrips * | clone (void) const
Get a clone of this QuadStrips object.

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

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

NVSG_API bool | hasStrips (void) const
Ask if this QuadStrips has strips.

NVSG_API size_t | getNumberOfStrips (void) const
Get the number of strips.

NVSG_API const IndexSet * | getStrips () const
Get constant pointer to strips.

NVSG_API void | setStrips (const IndexSet *pStrips, size_t numStrips)
Set the strips for this QuadStrip.

NVSG_API void | setStrips (size_t pos, const IndexSet *pStrips, size_t numStrips)
Set the strips for this QuadStrips.

virtual NVSG_API void | calculateTangentSpace (size_t tu=0, size_t tg=1, size_t bn=2)
Calculate tangents and binormals.

Static Public Member Functions

NVSG_API const QuadStrips * | create (void)
Create a QuadStrips.

NVSG_API const QuadStrips * | createFromBase (const GeoSet &rhs)
Create a QuadStrips by copying from a GeoSet.

Protected Member Functions

NVSG_API | QuadStrips (void)
Constructor.

NVSG_API | QuadStrips (const GeoSet &rhs)
Partial Constructor from a GeoSet.

NVSG_API | QuadStrips (const QuadStrips &rhs)
Copy Constructor.

virtual NVSG_API | ~QuadStrips (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

GeoSet defining quad strips.

A QuadStrips is a GeoSet that represents the vertex attributes of the GeoSet as quad strips. The strips are defined by a number of IndexSet elements. Each IndexSet is a std::vector<unsigned int> and represents one quad strip. If you have, for example, an array of eight vertices in the GeoSet, one possibility to make them a cube is, to define three IndexSet elements like that:

   set[0] = { 0, 1, 2, 3, 4, 5, 6, 7, 0, 1 };
   set[1] = { 1, 7, 3, 5 };
   set[2] = { 6, 0, 4, 2 };
The ordering ensures that the triangles are all drawn with the same orientation so that the triangle strip correctly form part of a surface. Preserving the orientation is important for some operations, such as culling. The number of vertices per IndexSet must be at least 4 for anything to be drawn.

Constructor & Destructor Documentation

NVSG_API nvsg::QuadStrips::QuadStrips ( void ) [protected]

Constructor.

NVSG_API nvsg::QuadStrips::QuadStrips ( const GeoSet & rhs ) [protected]

Partial Constructor from a GeoSet.

NVSG_API nvsg::QuadStrips::QuadStrips ( const QuadStrips & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::QuadStrips::~QuadStrips ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const QuadStrips* nvsg::QuadStrips::create ( void ) [static]

Create a QuadStrips.

Returns:
a constant pointer to a QuadStrips.

NVSG_API const QuadStrips* nvsg::QuadStrips::createFromBase ( const GeoSet & rhs ) [static]

Create a QuadStrips by copying from a GeoSet.

Returns:
a constant pointer to a QuadStrips.

virtual NVSG_API const QuadStrips* nvsg::QuadStrips::clone ( void ) const [virtual]

Get a clone of this QuadStrips object.

Returns:
a constant pointer to a QuadStrips.

Implements nvsg::Drawable.

virtual NVSG_API bool nvsg::QuadStrips::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::GeoSet.

virtual NVSG_API DataID nvsg::QuadStrips::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::GeoSet.

bool nvsg::QuadStrips::hasStrips ( void ) const [inline]

Ask if this QuadStrips has strips.

Returns:
true, if this QuadStrips has strips, otherwise false

size_t nvsg::QuadStrips::getNumberOfStrips ( void ) const [inline]

Get the number of strips.

Returns:
The number of strips

const IndexSet * nvsg::QuadStrips::getStrips ( ) const [inline]

Get constant pointer to strips.

Returns:
A constant pointer to strips

NVSG_API void nvsg::QuadStrips::setStrips | ( | const IndexSet * | pStrips,
 |  | size_t | numStrips
 | ) |

Set the strips for this QuadStrip.

Copies numStrips strips from pStrips into this QuadStrips.

Parameters:
pStrips | strips to set
numStrips | number of strips

NVSG_API void nvsg::QuadStrips::setStrips | ( | size_t | pos,
 |  | const IndexSet * | pStrips,
 |  | size_t | numStrips
 | ) |

Set the strips for this QuadStrips.

Copies numStrips strips from pStrips into this QuadStrips, starting at position pos inside the range of pre-existing strips.

Pre-existing strips in the range [pos, pos + numStrips) will be replaced. Pre-existing strips outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of strips currently stored, the strips pointed to by pStrips will be appended to the pre-existing faces.

If you not specify -1 for pos or pos neither specifies the number of faces currently stored nor does it specify a valid position inside the range of pre-existing strips, the behaviour is undefined!

Parameters:
pos | Start position inside the range of pre-existing strips
pStrips | strips to set
numStrips | number of strips

virtual NVSG_API void nvsg::QuadStrips::calculateTangentSpace | ( | size_t | tu = 0,
 |  | size_t | tg = 1,
 |  | size_t | bn = 2
 | ) | [virtual]

Calculate tangents and binormals.

The two dimensional texture coordinates out of texture unit tu are used as the parameterization for the calculation. The tangents are written to texture unit tg and the binormals to texture unit bn.

Parameters:
tu | texture unit to get parameterizing coords
tg | texture unit to write tangents to
bn | texture unit to write binormals to

Implements nvsg::GeoSet.

The documentation for this class was generated from the following file:
  • QuadStrips.h
Generated on Fri Jan 28 09:21:35 2005 for NVSGSDK by NVIDIA


nvmath::Quatf Class Reference

Quaternion class. More...

#include <Quatf.h>

List of all members.

Public Member Functions

NVSG_API | Quatf (void)
Default constructor.

NVSG_API | Quatf (const Vec4f &v)
Constructor using a Vec4f.

NVSG_API | Quatf (float f0, float f1, float f2, float f3)
Constructor using four floats.

NVSG_API | Quatf (const Vec3f &axis, float angle)
Constructor using an axis and an angle.

NVSG_API | Quatf (const Vec3f &vec0, const Vec3f &vec1)
Constructor by two vectors.

NVSG_API float & | operator[] (size_t i)
Non-constant subscript operator.

NVSG_API const float & | operator[] (size_t i) const
Constant subscript operator.

NVSG_API Quatf & | operator= (const Quatf &q)
Assignment operator.

NVSG_API bool | operator== (const Quatf &q) const
Equality operator.

NVSG_API bool | operator!= (const Quatf &q) const
Inequality operator.

NVSG_API Quatf & | operator+= (const Quatf &q)
Quaternion addition and assignment operator.

NVSG_API Quatf & | operator-= (const Quatf &q)
Quaternion subtraction and assignment operator.

NVSG_API Quatf | operator- (const Quatf &q) const
Quaternion subtraction operator.

NVSG_API Quatf | operator- (void) const
Negation operator.

NVSG_API Quatf & | operator *= (float f)
Quaternion multiplication with a scalar and assignment operator.

NVSG_API Quatf | operator * (float f) const
Quaternion multiplication with a scalar operator.

NVSG_API Quatf & | operator *= (const Quatf &q)
Quaternion multiplication with a quaternion (i.e. concatenation) and assignment operator.

NVSG_API Quatf | operator * (const Quatf &q) const
Quaternion multiplication with a quaternion (i.e. concatenation) operator.

NVSG_API Quatf & | operator/= (float f)
Quaternion division by a scalar and assignment operator.

NVSG_API Quatf | operator/ (float f) const
Quaternion division by a scalar operator.

NVSG_API Quatf & | operator/= (const Quatf &q)
Quaternion division by a quaternion and assignment operator.

NVSG_API Quatf | operator/ (const Quatf &q) const
Quaternion division by a quaternion operator.

NVSG_API Quatf | operator~ (void) const
Quaternion conjugation operator.

NVSG_API void | invert (void)
Invert the quaternion.

NVSG_API Quatf & | normalize (void)
Normalize the quaternion.

Related Functions

(Note that these are not member functions.)

void | decompose (const Quatf &q, Vec3f &axis, float &angle)
float | distance (const Quatf &q0, const Quatf &q1)
float | magnitude (const Quatf &q)
bool | isNormalized (const Quatf &q)
bool | isNull (const Quatf &q)
Quatf | operator * (float f, const Quatf &q)
Vec3f | operator * (const Quatf &q, const Vec3f &v)
template<> NVSG_API Quatf | lerp (float alpha, const Quatf &q0, const Quatf &q1)

Detailed Description

Quaternion class.

Quaternions add a fourth element to the [x,y,z] values that define a three-component vector. Quaternions are an alternative to the matrix methods that are typically used for 3-D rotations. A quaternion represents an axis in 3-D space and a rotation around that axis. For example, a quaternion might represent a (1,1,2) axis and a rotation of 1 radian.

Note:
Only unit quaternions represent a rotation. We always expect unit quaternions.

Constructor & Destructor Documentation

nvmath::Quatf::Quatf ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Quatf::Quatf ( const Vec4f & v ) [inline]

Constructor using a Vec4f.

A quaternion with the same values as v is constructed.

Parameters:
v vector to construct from

nvmath::Quatf::Quatf | ( | float | f0,
 |  | float | f1,
 |  | float | f2,
 |  | float | f3
 | ) | [inline]

Constructor using four floats.

A quaternion with the given values is constructed.

Note:
f0, f1, and f2 are not the x,y,z-component of the rotation axis, and f3 is not the rotation angle. If you have such values handy, use the constructor that takes the axis as a Vec3f and an angle.
Parameters:
f0 | x component of the new quaternion
f1 | y component of the new quaternion
f2 | z component of the new quaternion
f3 | w component of the new quaternion

nvmath::Quatf::Quatf | ( | const Vec3f & | axis,
 |  | float | angle
 | ) | [inline]

Constructor using an axis and an angle.

A quaternion is constructed through a normalized axis and an angle.

Parameters:
axis | axis to use for quaternion
angle | rotation angle in radians

nvmath::Quatf::Quatf | ( | const Vec3f & | vec0,
 |  | const Vec3f & | vec1
 | ) | [inline]

Constructor by two vectors.

A quaternion is constructed that is the rotation that maps vec0 to vec1.

Parameters:
vec0 | start vector
vec1 | end vector

Member Function Documentation

float & nvmath::Quatf::operator[] ( size_t i ) [inline]

Non-constant subscript operator.

Returns:
reference to i th element of the quaternion
Parameters:
i index to quaternion to use (i=0,1,2,3)

const float & nvmath::Quatf::operator[] ( size_t i ) const [inline]

Constant subscript operator.

Returns:
constant reference to i th element of the quaternion
Parameters:
i index to quaternion to use (i=0,1,2,3)

Quatf & nvmath::Quatf::operator= ( const Quatf & q ) [inline]

Assignment operator.

Returns:
reference to the assigned quaternion
Parameters:
q copy q to the quaternion

bool nvmath::Quatf::operator== ( const Quatf & q ) const [inline]

Equality operator.

Returns:
true if the quaternion is equal to q, otherwise false
Parameters:
q quaternion to compare

bool nvmath::Quatf::operator!= ( const Quatf & q ) const [inline]

Inequality operator.

Returns:
true if the quaternion is not equal to q, otherwise false
Parameters:
q quaternion to compare

NVSG_API Quatf& nvmath::Quatf::operator+= ( const Quatf & q )

Quaternion addition and assignment operator.

Returns:
reference to the assigned quaternion after addition
Parameters:
q quaternion to add

NVSG_API Quatf& nvmath::Quatf::operator-= ( const Quatf & q )

Quaternion subtraction and assignment operator.

Returns:
reference to the assigned quaternion after subtraction
Parameters:
q quaternion to subtract

NVSG_API Quatf nvmath::Quatf::operator- ( const Quatf & q ) const

Quaternion subtraction operator.

Returns:
difference of the two quaternions
Parameters:
q quaternion to subtract

Quatf nvmath::Quatf::operator- ( void ) const [inline]

Negation operator.

Returns:
negated quaternion

NVSG_API Quatf& nvmath::Quatf::operator *= ( float f )

Quaternion multiplication with a scalar and assignment operator.

Returns:
reference to the assigned quaternion after multiplication
Parameters:
f scalar to use in the multiplication

NVSG_API Quatf nvmath::Quatf::operator * ( float f ) const

Quaternion multiplication with a scalar operator.

Returns:
multiplied quaternion
Parameters:
f scalar to multiply with

Quatf & nvmath::Quatf::operator *= ( const Quatf & q ) [inline]

Quaternion multiplication with a quaternion (i.e. concatenation) and assignment operator.

Returns:
reference to the assigned quaternion after multiplication (concatenation)
Parameters:
q quaternion to use in the multiplication

Quatf nvmath::Quatf::operator * ( const Quatf & q ) const [inline]

Quaternion multiplication with a quaternion (i.e. concatenation) operator.

Returns:
multiplied (concatenated) quaternion
Parameters:
q quaternion to use in the multiplication

NVSG_API Quatf& nvmath::Quatf::operator/= ( float f )

Quaternion division by a scalar and assignment operator.

Returns:
reference to the assigned quaternion after division
Parameters:
f scalar to use in the division

NVSG_API Quatf nvmath::Quatf::operator/ ( float f ) const

Quaternion division by a scalar operator.

Returns:
divided quaternion
Parameters:
f scalar to use in the division

Quatf & nvmath::Quatf::operator/= ( const Quatf & q ) [inline]

Quaternion division by a quaternion and assignment operator.

Returns:
reference to the assigned quaternion after division
Parameters:
q quaternion to use in the division

Quatf nvmath::Quatf::operator/ ( const Quatf & q ) const [inline]

Quaternion division by a quaternion operator.

Returns:
divided quaternion
Parameters:
q quaternion to use in the division

Quatf nvmath::Quatf::operator~ ( void ) const [inline]

Quaternion conjugation operator.

The conjugation of a quaternion is a rotation of the same size around the negated axis.

Returns:
conjugated quaternion

void nvmath::Quatf::invert ( void ) [inline]

Invert the quaternion.

Inversion means take the conjugated quaternion and divide it by it's magnitude.

Quatf & nvmath::Quatf::normalize ( void ) [inline]

Normalize the quaternion.

Quaternions always obey: a^2 + b^2 + c^2 + d^2 = 1.0 If they don't add up to 1.0, dividing by their magnitude will renormalize them.

Friends And Related Function Documentation

void decompose | ( | const Quatf & | q,
 |  | Vec3f & | axis,
 |  | float & | angle
 | ) | [related]

Decompose a quaternion into axis and angle.

Parameters:
q | Quaternion to decompose
axis | Resulting axis
angle | Resulting angle (in radians)

float distance | ( | const Quatf & | q0,
 |  | const Quatf & | q1
 | ) | [related]

Determine the distance between two quaternions.

Returns:
The distance between q0 and q1
Parameters:
q0 | first quaternion
q1 | second quaternion

float magnitude ( const Quatf & q ) [related]

Calculate the magnitude of a quaternion.

Returns:
magnitude of the quaternion
Parameters:
q Quaternion to determine magnitude of

bool isNormalized ( const Quatf & q ) [related]

Test if a quaternion is normalized. A quaternion is normalized if it's magnitude is one.

Returns:
true if the quaternion is normalized, otherwise false
Parameters:
q Quaternion to test

bool isNull ( const Quatf & q ) [related]

Test if a quaternion is null.

Returns:
true if the quaternion is null, otherwise false
Parameters:
q Quaternion to test

Quatf operator * | ( | float | f,
 |  | const Quatf & | q
 | ) | [related]

Multiply a scalar f with a quaternion q.

Returns:
product of f with q
Parameters:
f | scalar to multiply with
q | quaternion to multiply

Vec3f operator * | ( | const Quatf & | q,
 |  | const Vec3f & | v
 | ) | [related]

Multiply a quaternion q with an vector v. Rotation of vector v by quaternion q.

Returns:
product of q with v

template<>
NVSG_API Quatf lerp< Quatf > | ( | float | alpha,
 |  | const Quatf & | q0,
 |  | const Quatf & | q1
 | ) | [related]

Spherical linear interpolation between two quaternions q0 and q1

Parameters:
alpha | interpolation parameter
q0 | starting value
q1 | ending value

The documentation for this class was generated from the following file:
  • Quatf.h
Generated on Fri Jan 28 09:20:51 2005 for NVSGSDK by NVIDIA


nvtraverser::RayIntersectTraverser Class Reference

RayIntersectTraverser. More...

#include <RayIntersectTraverser.h>

Inheritance diagram for nvtraverser::RayIntersectTraverser:

[legend]
Collaboration diagram for nvtraverser::RayIntersectTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | RayIntersectTraverser (void)
Default constructor.

NVSG_API void | release ()
Release all resources.

NVSG_API void | setRay (const nvmath::Vec3f &origin, const nvmath::Vec3f &dir)
Set the ray for the intersection test.

NVSG_API void | setCamClipping (bool b)
Enable/disable camera plane clipping.

NVSG_API const Intersection & | getNearest (void) const
Get the nearest intersection.

NVSG_API const Intersection * | getIntersections (void) const
Get intersections.

NVSG_API size_t | getNumberOfIntersections (void) const
Get number of intersections.

NVSG_API void | setBackFaceCulling (bool enable)
Enable / disable back-face culling.

NVSG_API bool | isBackFaceCullingEnabled ()
Check if back-face culling is enabled.

Protected Types

enum ISType {
_NONE = 0, _BSTANGENT, _BSNEAR, _BSFAR,
_BSNEARFAR
}
Intersection type (bounding sphere). More...

Protected Member Functions

virtual NVSG_API | ~RayIntersectTraverser (void)
Default destructor.

virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Apply the traverser to the scene.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.

virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Routine to handle a Group node while traversing the scene graph.

virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Routine to handle a Switch node while traversing the scene graph.

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Provide special treatment of a Transform node.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.

virtual NVSG_API bool | preTraverseTransform (const nvsg::Transform *p)
Handles actions to take between transform stack adjustment and traversal.

virtual NVSG_API void | postTraverseTransform (const nvsg::Transform *p)
Handles stuff to do between traversal and transform stack adjustment.

NVSG_API bool | checkIntersection (const nvmath::Sphere3f &sphere)
Check the current ray for intersection with a Sphere3f.

NVSG_API bool | intersectTriangle (const nvmath::Vec3f &v0, const nvmath::Vec3f &v1, const nvmath::Vec3f &v2, nvmath::Vec3f &isp, float &dist)
Intersect with triangle.

NVSG_API void | storeIntersection (const nvsg::GeoSet *p, const nvmath::Vec3f &isp, float dist)
store the intersection point isp.

Protected Attributes

bool | m_backFaceCulling
true: consider backface culling

bool | m_ccw
true: winding is supposed to be counterclockwise

bool | m_camClipping
true: use camera far/near clipping planes

nvmath::Vec3f m_rayOrigin
Origin point of the ray - default (0,0,0).

nvmath::Vec3f m_rayDir
Direction of the ray - default (0,0,-1).

const nvsg::Camera * | m_camera
Camera of the scene that came in via apply (we ref/unref it).

std::stack< nvmath::Vec3f > | m_msRayOrigin
stack of Origin point of the ray in model space

std::stack< nvmath::Vec3f > | m_msRayDir
stack of Direction of the ray in model space

std::stack< nvmath::Vec3f > | m_msCamDir
stack of camera direction in model space

std::vector< Intersection > | m_intersectionList
Intersection list containing all intersections.

size_t | m_nearestIntIdx
Index of the nearest z intersection.

nvsg::Path * m_curPath
Current path.

size_t | m_currentFrame
This frame is to be used in an animation sequence.

float | m_scaleFactor
Adjusts distances by the scalings of the Transform nodes.

Static Protected Attributes

const nvmath::Vec3f | _RAY_ORIGIN_DEFAULT
Default value: (0.f, 0.f, 0.f).

const nvmath::Vec3f | _RAY_DIRECTION_DEFAULT
Default value: (0.f, 0.f, -1.f).

Detailed Description

RayIntersectTraverser.

A RayIntersectTraverser is a specialized traverser that calculates the intersections of a given ray that passes through the scene.

Note:
If you add new geometry objects classes to NVSG you must also derive from this class and add an operator for this object to handle the intersection calculation.

If you create a special kind of transformation node you also have to take care of the transformation stack in this class.

Member Enumeration Documentation

enum nvtraverser::RayIntersectTraverser::ISType [protected]

Intersection type (bounding sphere).

These are the possible types of intersections between the ray and the boundingsphere of an object in the scene. These types are used for the preintersection calculation with the objects bounding sphere. Regarding the intersection type we can skip objects.

Enumeration values:
_NONE | No intersection.
_BSTANGENT | Tangential intersection.
_BSNEAR | Intersection with the front part of the bounding sphere.
_BSFAR | Intersection with the back part of the bounding sphere.
_BSNEARFAR | Intersection with the front and back part of the bounding sphere.

Constructor & Destructor Documentation

NVSG_API nvtraverser::RayIntersectTraverser::RayIntersectTraverser ( void )

Default constructor.

virtual NVSG_API nvtraverser::RayIntersectTraverser::~RayIntersectTraverser ( void ) [protected, virtual]

Default destructor.

Member Function Documentation

NVSG_API void nvtraverser::RayIntersectTraverser::release ( )

Release all resources.

By releasing all resources we can use this traverser for the next intersection calculation.

NVSG_API void nvtraverser::RayIntersectTraverser::setRay | ( | const nvmath::Vec3f & | origin,
 |  | const nvmath::Vec3f & | dir
 | ) |

Set the ray for the intersection test.

Sets a world-space ray along which to pick. The ray is defined as a world space origin point and direction vector. The direction vector must be normalized.

Parameters:
origin | World space origin
dir | Direction of the ray - must be normalized!

void nvtraverser::RayIntersectTraverser::setCamClipping ( bool b ) [inline]

Enable/disable camera plane clipping.

Enabling camera plane clipping forces the traverser to calculate only intersections that lie in between the camera's clip planes.

Parameters:
flag true = enable clipping

const Intersection & nvtraverser::RayIntersectTraverser::getNearest ( void ) const [inline]

Get the nearest intersection.

Returns:
The nearest intersection regarding the rays origin.

const Intersection * nvtraverser::RayIntersectTraverser::getIntersections ( void ) const [inline]

Get intersections.

Returns:
All intersections along the ray.

size_t nvtraverser::RayIntersectTraverser::getNumberOfIntersections ( void ) const [inline]

Get number of intersections.

Returns:
The number of intersections along the ray.

void nvtraverser::RayIntersectTraverser::setBackFaceCulling ( bool enable ) [inline]

Enable / disable back-face culling.

Take back-faces culling into account.

Parameters:
enable true enables back-face culling

bool nvtraverser::RayIntersectTraverser::isBackFaceCullingEnabled ( ) [inline]

Check if back-face culling is enabled.

Check if the ray intersection also test on back-faces.

Returns:
true, if back-face culling is enabled, meaning no back-face will be returned.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Apply the traverser to the scene.

Start the intersection calculation of the given ray with the scene objects.

Parameters:
pViewState | Current view state
pScene | Scene to intersect the ray with

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

This routine gets called for each GeoNode object that will be visited while traversing the scene graph. The currently visited GeoNode object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Routine to handle a Group node while traversing the scene graph.

This routine gets called for each Group object that will be visited while traversing the scene graph. The currently visited Group object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

This routine gets called for each LOD object that will be visited while traversing the scene graph. The currently visited LOD object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Routine to handle a Switch node while traversing the scene graph.

This routine gets called for each Switch object that will be visited while traversing the scene graph. The currently visited Switch object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Provide special treatment of a Transform node.

On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

This routine gets called for each Quads object that will be visited while traversing the scene graph. The currently visited Quads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

This routine gets called for each QuadStrips object that will be visited while traversing the scene graph. The currently visited QuadStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

This routine gets called for each Triangles object that will be visited while traversing the scene graph. The currently visited Triangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

This routine gets called for each TriStrips object that will be visited while traversing the scene graph. The currently visited TriStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API bool nvtraverser::RayIntersectTraverser::preTraverseTransform ( const nvsg::Transform * p ) [protected, virtual]

Handles actions to take between transform stack adjustment and traversal.

Adjusts the ray origin and direction and the camera direction in model space.

Returns:
result of the base class (ModelViewTraverser).
Parameters:
p Transform node to traverse next

Reimplemented from nvtraverser::ModelViewTraverser.

virtual NVSG_API void nvtraverser::RayIntersectTraverser::postTraverseTransform ( const nvsg::Transform * p ) [protected, virtual]

Handles stuff to do between traversal and transform stack adjustment.

Readjusts the ray origin and direction and the camera direction in model space.

Parameters:
p Transform node that was traversed immediately before this call.

Reimplemented from nvtraverser::ModelViewTraverser.

NVSG_API bool nvtraverser::RayIntersectTraverser::checkIntersection ( const nvmath::Sphere3f & sphere ) [protected]

Check the current ray for intersection with a Sphere3f.

Returns:
true, if the ray intersects sphere, otherwise false.

NVSG_API bool nvtraverser::RayIntersectTraverser::intersectTriangle | ( | const nvmath::Vec3f & | v0,
 |  | const nvmath::Vec3f & | v1,
 |  | const nvmath::Vec3f & | v2,
 |  | nvmath::Vec3f & | isp,
 |  | float & | dist
 | ) | [protected]

Intersect with triangle.

This method tells if it intersects the triangle or not. It also calculates the intersection point between triangle and ray and the distance of the intersection from the origin of the ray.

Returns:
true: intersection in front of the ray origin, false: no such intersection
Parameters:
v0 | First vertex of the triangle
v1 | Second vertex of the triangle
v2 | Third vertex of the triangle
isp | Result: intersection point (world space)
dist | Result: distance from camera to intersection

NVSG_API void nvtraverser::RayIntersectTraverser::storeIntersection | ( | const nvsg::GeoSet * | p,
 |  | const nvmath::Vec3f & | isp,
 |  | float | dist
 | ) | [protected]

store the intersection point isp.

If the point isn't clipped, it is stored to the intersection list.

Parameters:
p | GeoSet that holds the intersection
isp | intersection point
dist | distance from camera to intersection

Member Data Documentation

const nvmath::Vec3f nvtraverser::RayIntersectTraverser::_RAY_ORIGIN_DEFAULT [static, protected]

Default value: (0.f, 0.f, 0.f).

const nvmath::Vec3f nvtraverser::RayIntersectTraverser::_RAY_DIRECTION_DEFAULT [static, protected]

Default value: (0.f, 0.f, -1.f).

bool nvtraverser::RayIntersectTraverser::m_backFaceCulling [protected]

true: consider backface culling

bool nvtraverser::RayIntersectTraverser::m_ccw [protected]

true: winding is supposed to be counterclockwise

bool nvtraverser::RayIntersectTraverser::m_camClipping [protected]

true: use camera far/near clipping planes

nvmath::Vec3f nvtraverser::RayIntersectTraverser::m_rayOrigin [protected]

Origin point of the ray - default (0,0,0).

nvmath::Vec3f nvtraverser::RayIntersectTraverser::m_rayDir [protected]

Direction of the ray - default (0,0,-1).

const nvsg::Camera* nvtraverser::RayIntersectTraverser::m_camera [protected]

Camera of the scene that came in via apply (we ref/unref it).

std::stack<nvmath::Vec3f> nvtraverser::RayIntersectTraverser::m_msRayOrigin [protected]

stack of Origin point of the ray in model space

std::stack<nvmath::Vec3f> nvtraverser::RayIntersectTraverser::m_msRayDir [protected]

stack of Direction of the ray in model space

std::stack<nvmath::Vec3f> nvtraverser::RayIntersectTraverser::m_msCamDir [protected]

stack of camera direction in model space

std::vector<Intersection> nvtraverser::RayIntersectTraverser::m_intersectionList [protected]

Intersection list containing all intersections.

size_t nvtraverser::RayIntersectTraverser::m_nearestIntIdx [protected]

Index of the nearest z intersection.

nvsg::Path* nvtraverser::RayIntersectTraverser::m_curPath [protected]

Current path.

size_t nvtraverser::RayIntersectTraverser::m_currentFrame [protected]

This frame is to be used in an animation sequence.

float nvtraverser::RayIntersectTraverser::m_scaleFactor [protected]

Adjusts distances by the scalings of the Transform nodes.

The documentation for this class was generated from the following file:
  • RayIntersectTraverser.h
Generated on Fri Jan 28 09:22:11 2005 for NVSGSDK by NVIDIA


Templatenvutil::RCIPtr< T > class Reference

nvutil::RCIPtr< T > Class Template Reference

A smart pointer template for reference counted objects. More...

#include <RCObject.h>

List of all members.

Public Member Functions

RCIPtr (T *pObj=0)
Construct a RCIPtr object from a pointer to an object.

RCIPtr (const RCIPtr &rhs)
Copy constructor.

~RCIPtr ()
Destructor.

RCIPtr< T > & | operator= (const RCIPtr< T > &rhs)
Assigning a RCIPtr object.

T * | operator-> ()
Member selection operator to make this behave like a dump pointer.

const T * | operator-> () const
Constant member selection operator to make this behave like a dump pointer.

T & | operator * ()
Pointer dereference operator to make this behave like a dump pointer.

const T & | operator * () const
Constant pointer dereference operator to make this behave like a dump pointer.

Friends

template<typename U> void | writeAccess (RCIPtr< U > &rcPtr)
Initiate write access.

Detailed Description

template<typename T>
class nvutil::RCIPtr< T >

A smart pointer template for reference counted objects.

For objects we have no access to their sources we need an additional level of indirection because we can't make them publicly inherit from RCObject. The 'I' stands for 'indirect'.

Constructor & Destructor Documentation

template<typename T>
nvutil::RCIPtr< T >::RCIPtr ( T * pObj = 0 ) [inline, explicit]

Construct a RCIPtr object from a pointer to an object.

template<typename T>
nvutil::RCIPtr< T >::RCIPtr ( const RCIPtr< T > & rhs ) [inline]

Copy constructor.

template<typename T>
nvutil::RCIPtr< T >::~RCIPtr ( ) [inline]

Destructor.

Member Function Documentation

template<typename T>
RCIPtr< T > & nvutil::RCIPtr< T >::operator= ( const RCIPtr< T > & rhs ) [inline]

Assigning a RCIPtr object.

template<typename T>
T * nvutil::RCIPtr< T >::operator-> ( ) [inline]

Member selection operator to make this behave like a dump pointer.

template<typename T>
const T * nvutil::RCIPtr< T >::operator-> ( ) const [inline]

Constant member selection operator to make this behave like a dump pointer.

template<typename T>
T & nvutil::RCIPtr< T >::operator * ( ) [inline]

Pointer dereference operator to make this behave like a dump pointer.

template<typename T>
const T & nvutil::RCIPtr< T >::operator * ( ) const [inline]

Constant pointer dereference operator to make this behave like a dump pointer.

Friends And Related Function Documentation

template<typename T>
template<typename U>
void writeAccess ( RCIPtr< U > & rcPtr ) [friend]

Initiate write access.

This must be called prio to modify the underlying data of the specified RCPtr object.

Remarks:
This has been introduced to manually decide wether the underlying data really gets modified by a non-const access. This helps not to clone every shared object, when a non-const access occurs but the underlying data remains untouched. With the introduction of writeAccess, full automatic seceding a shared object with a non-const access has been removed. To nevertheless maintain correctness with shared data, one have to explicitely initiate every modifying code with a call to writeAccess on the corresponding RCPtr object.
Note:
As U is used as a template parameter for RCPtr, U must be convertible to RCObject.
Parameters:
rcPtr The RCIPtr object, for which write access should be initiated.

The documentation for this class was generated from the following file:
  • RCObject.h
Generated on Fri Jan 28 09:22:38 2005 for NVSGSDK by NVIDIA


nvutil::RCObject Class Reference

A reference counted object interface. More...

#include <RCObject.h>

Inheritance diagram for nvutil::RCObject:

[legend]
Collaboration diagram for nvutil::RCObject:

[legend]
List of all members.

Public Member Functions

RCObject ()
Default constructor.

NVSG_API void | addRef () const
Increment reference count.

NVSG_API void | removeRef () const
Decrement reference count.

NVSG_API void | markUnshareable ()
Mark the object as not shareable.

NVSG_API bool | isShareable () const
Query for the current shareable state.

NVSG_API bool | isShared () const
Get to know if the object is currently shared.

Protected Member Functions

RCObject (const RCObject &rhs)
Protected copy constructor.

RCObject & | operator= (const RCObject &rhs)
Protected assignment operator.

virtual | ~RCObject ()
Protected destructor.

Detailed Description

A reference counted object interface.

Provides an interface for managing reference counted objects. RCObject inherits from IAllocator to utilize an optimized heap manager for small object allocation.

The purpose of a reference counted object is to share its data with other reference counted objects as long as this is possible. If a certain reference counted bject is constructed from another reference counted bject, it will initially share its data with that source object, same with assignment. That sharing can be sustained as long as non of the objects will be modified.
Note:
A RCObject can only be constructed on heap. The compiler will reject any attempt to construct a RCObject on stack.

It is prohibited to explicitely delete a RCObject by calling delete on a pointer to a RCObject received from a previous call to new. The compiler will complain, if any client code attempts to do so. If client code creates a RCObject, it must increment the object's reference count (addRef) before using it and decrement the object's reference count (removeRef) after usage. The object will be automatically deleted, if it's reference count reaches zero.

The reference count of a newly created RCObject initially is zero.

Constructor & Destructor Documentation

nvutil::RCObject::RCObject ( ) [inline]

Default constructor.

Initializes the reference count to zero. Newly created RCObjects are shareable by default.

nvutil::RCObject::RCObject ( const RCObject & rhs ) [inline, protected]

Protected copy constructor.

Reference counted objects need to live on heap, so we prohibit construction on stack by making constructors and assignment protected.

virtual nvutil::RCObject::~RCObject ( ) [inline, protected, virtual]

Protected destructor.

To prohibit explicit deletion of reference counted objects, the destructor is protected. Reference counted objects cannot deleted other than by being unreferenced with removeRef().

Member Function Documentation

void nvutil::RCObject::addRef ( ) const [inline]

Increment reference count.

For client code to ensure that the data of a reference counted object is valid as long as it uses the object, it should first increment the objects reference count. After usage, client code should decrement the objects reference count to avoid resource leaks.

Note:
The reference count of a newly created RCObject initially is zero.

void nvutil::RCObject::removeRef ( ) const [inline]

Decrement reference count.

Note:
It is prohibited to explicitely delete a RCObject. The object will be automatically deleted, if reference count yields zero.

void nvutil::RCObject::markUnshareable ( ) [inline]

Mark the object as not shareable.

If a RCObject is marked as not shareable, it will never share its data with other RCObjects.

Note:
An RCObject initially is shareable.

bool nvutil::RCObject::isShareable ( ) const [inline]

Query for the current shareable state.

Note:
An RCObject initially is shareable.
Returns:
true if shareable, false otherwise.

bool nvutil::RCObject::isShared ( ) const [inline]

Get to know if the object is currently shared.

If a RCObject has been constructed from a shareable RCObject, it initially shares its data with that object.

Returns:
true if currently shared, false otherwise.

RCObject& nvutil::RCObject::operator= ( const RCObject & rhs ) [inline, protected]

Protected assignment operator.

Reference counted objects need to live on heap, so we prohibit construction on stack by making constructors and assignment protected.

The documentation for this class was generated from the following file:
  • RCObject.h
Generated on Fri Jan 28 09:22:37 2005 for NVSGSDK by NVIDIA


Templatenvutil::RCObject_AutoPtr< T > class Reference

nvutil::RCObject_AutoPtr< T > Class Template Reference

AutoPtr for reference counted objects. More...

#include <RCObject.h>

Collaboration diagram for nvutil::RCObject_AutoPtr< T >:

[legend]
List of all members.

Public Member Functions

RCObject_AutoPtr (T *ptr=0)
Construct a RCObject_AutoPtr object from a pointer.

template<typename U> | RCObject_AutoPtr (const RCObject_AutoPtr< U > &rhs)
Copy constructor.

~RCObject_AutoPtr ()
Destructor.

template<typename U> RCObject_AutoPtr< T > & | operator= (const RCObject_AutoPtr< U > &rhs)
Assigning a RCObject_AutoPtr object.

T * | get () const
Equivalent to the selection operator.

T * | operator-> () const
Member selection operator to make this behave like a dump pointer.

T & | operator * () const
Pointer dereference operator to make this behave like a dump pointer.

T * | release ()
Release the pointer to the object.

void | reset (T *ptr)
Reset the pointer to the object.

Friends

class | RCObject_AutoPtr

Detailed Description

template<typename T>
class nvutil::RCObject_AutoPtr< T >

AutoPtr for reference counted objects.

Enables us to be exception safe on file load time.

Constructor & Destructor Documentation

template<typename T>
nvutil::RCObject_AutoPtr< T >::RCObject_AutoPtr ( T * ptr = 0 ) [inline, explicit]

Construct a RCObject_AutoPtr object from a pointer.

template<typename T>
template<typename U>
nvutil::RCObject_AutoPtr< T >::RCObject_AutoPtr ( const RCObject_AutoPtr< U > & rhs ) [inline]

Copy constructor.

template<typename T>
nvutil::RCObject_AutoPtr< T >::~RCObject_AutoPtr ( ) [inline]

Destructor.

Member Function Documentation

template<typename T>
template<typename U>
RCObject_AutoPtr< T > & nvutil::RCObject_AutoPtr< T >::operator= ( const RCObject_AutoPtr< U > & rhs ) [inline]

Assigning a RCObject_AutoPtr object.

template<typename T>
T * nvutil::RCObject_AutoPtr< T >::get ( ) const [inline]

Equivalent to the selection operator.

template<typename T>
T * nvutil::RCObject_AutoPtr< T >::operator-> ( ) const [inline]

Member selection operator to make this behave like a dump pointer.

template<typename T>
T & nvutil::RCObject_AutoPtr< T >::operator * ( ) const [inline]

Pointer dereference operator to make this behave like a dump pointer.

template<typename T>
T * nvutil::RCObject_AutoPtr< T >::release ( ) [inline]

Release the pointer to the object.

template<typename T>
void nvutil::RCObject_AutoPtr< T >::reset ( T * ptr )

Reset the pointer to the object.

The documentation for this class was generated from the following file:
  • RCObject.h
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Templatenvutil::RCPtr< T > class Reference

nvutil::RCPtr< T > Class Template Reference

A smart pointer template for reference counted objects. More...

#include <RCObject.h>

Inheritance diagram for nvutil::RCPtr< T >:

[legend]
Collaboration diagram for nvutil::RCPtr< T >:

[legend]
List of all members.

Public Member Functions

RCPtr (T *pRCObj=0)
Construct a RCPtr object from a pointer to a RCObject.

RCPtr (const RCPtr &rhs)
Copy constructor.

~RCPtr ()
Destructor.

RCPtr< T > & | operator= (const RCPtr< T > &rhs)
Assigning a RCPtr object.

T * | operator-> ()
Member selection operator to make this behave like a dump pointer.

const T * | operator-> () const
Constant member selection operator to make this behave like a dump pointer.

T & | operator * ()
Pointer dereference operator to make this behave like a dump pointer.

const T & | operator * () const
Constant pointer dereference operator to make this behave like a dump pointer.

Friends

template<typename U> void | writeAccess (RCPtr< U > &rcPtr)
Initiate write access.

Detailed Description

template<typename T>
class nvutil::RCPtr< T >

A smart pointer template for reference counted objects.

Offers automatic reference counting through utilizing the RCObject interface. Like a smart pointer this can be used as an ordinary built-in pointer.

Note:
T must be convertible to RCObject. The compiler will reject any attempt to instantiate a RCPtr object for types other than RCObject convertible types.

Constructor & Destructor Documentation

template<typename T>
nvutil::RCPtr< T >::RCPtr ( T * pRCObj = 0 ) [inline, explicit]

Construct a RCPtr object from a pointer to a RCObject.

template<typename T>
nvutil::RCPtr< T >::RCPtr ( const RCPtr< T > & rhs ) [inline]

Copy constructor.

template<typename T>
nvutil::RCPtr< T >::~RCPtr ( ) [inline]

Destructor.

Member Function Documentation

template<typename T>
RCPtr< T > & nvutil::RCPtr< T >::operator= ( const RCPtr< T > & rhs ) [inline]

Assigning a RCPtr object.

template<typename T>
T * nvutil::RCPtr< T >::operator-> ( ) [inline]

Member selection operator to make this behave like a dump pointer.

template<typename T>
const T * nvutil::RCPtr< T >::operator-> ( ) const [inline]

Constant member selection operator to make this behave like a dump pointer.

template<typename T>
T & nvutil::RCPtr< T >::operator * ( ) [inline]

Pointer dereference operator to make this behave like a dump pointer.

template<typename T>
const T & nvutil::RCPtr< T >::operator * ( ) const [inline]

Constant pointer dereference operator to make this behave like a dump pointer.

Friends And Related Function Documentation

template<typename T>
template<typename U>
void writeAccess ( RCPtr< U > & rcPtr ) [friend]

Initiate write access.

This must be called prio to modify the underlying data of the specified RCPtr object.

Remarks:
This has been introduced to manually decide wether the underlying data really gets modified by a non-const access. This helps not to clone every shared object, when a non-const access occurs but the underlying data remains untouched. With the introduction of writeAccess, full automatic seceding a shared object with a non-const access has been removed. To nevertheless maintain correctness with shared data, one have to explicitely initiate every modifying code with a call to writeAccess on the corresponding RCPtr object.
Note:
As U is used as a template parameter for RCPtr, U must be convertible to RCObject.
Parameters:
rcPtr The RCPtr object, for which write access should be initiated.

The documentation for this class was generated from the following file:
  • RCObject.h
Generated on Fri Jan 28 09:22:38 2005 for NVSGSDK by NVIDIA


Templatenvutil::RCVector< T > class Reference

nvutil::RCVector< T > Class Template Reference

A reference counted vector of elements. More...

#include <RCObject.h>

Inheritance diagram for nvutil::RCVector< T >:

[legend]
Collaboration diagram for nvutil::RCVector< T >:

[legend]
List of all members.

Public Member Functions

RCVector ()
Default Constructor.

RCVector (size_t n)
Constructor.

Detailed Description

template<typename T>
class nvutil::RCVector< T >

A reference counted vector of elements.

A RCVector is a template class publicly derived from both std::vector<> and RCObject. It is used to hold a reference counted vector of elements of any type. It is used for example in Quads for the faces or in TriStrips for the strip indices.

Constructor & Destructor Documentation

template<typename T>
nvutil::RCVector< T >::RCVector ( ) [inline]

Default Constructor.

template<typename T>
nvutil::RCVector< T >::RCVector ( size_t n ) [inline]

Constructor.

the vector of elements is sized to n.

Parameters:
n size of vector

The documentation for this class was generated from the following file:
  • RCObject.h
Generated on Fri Jan 28 09:22:37 2005 for NVSGSDK by NVIDIA


Templatenvutil::RegVal< T > class Reference

nvutil::RegVal< T > Class Template Reference

Template class for easy access to the Registry. More...

#include <Registry.h>

Collaboration diagram for nvutil::RegVal< T >:

[legend]
List of all members.

Public Types

enum | { DIRTY = 1 }

Public Member Functions

RegVal (const TCHAR *value_name, const TCHAR *subkey, DWORD type, HKEY root=HKEY_LOCAL_MACHINE, const T &def=T())
~RegVal ()
RegVal< T > & | operator= (const T &rhs)
operator const T & ()

Detailed Description

template<typename T>
class nvutil::RegVal< T >

Template class for easy access to the Registry.

Constructor & Destructor Documentation

template<class T>
nvutil::RegVal< T >::RegVal | ( | const TCHAR * | value_name,
 |  | const TCHAR * | subkey,
 |  | DWORD | type,
 |  | HKEY | root = HKEY_LOCAL_MACHINE,
 |  | const T & | def = T()
 | ) | [inline]

constructor

template<typename T>
nvutil::RegVal< T >::~RegVal ( ) [inline]

destructor

Member Function Documentation

template<class T>
RegVal< T > & nvutil::RegVal< T >::operator= ( const T & rhs ) [inline]

convenient writes throug simple assignment

template<class T>
nvutil::RegVal< T >::operator const T & ( ) [inline]

convenient reads through implicit type conversion

The documentation for this class was generated from the following file:
  • Registry.h
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


nvutil::removeReference Struct Reference

Convenient helper functor that can be used in STL algorithms. More...

#include <RCObject.h>

List of all members.

Public Member Functions

template<typename RCOBJPTR> RCOBJPTR operator() (RCOBJPTR pRCObject)
Function call operator for one argument, being the pointer to an object.

template<typename AnyType, typename RCOBJPTR> const std::pair< AnyType,
RCOBJPTR > & 		operator() (std::pair< AnyType, RCOBJPTR > &p)
Function call operator for a pair of arguments.

Detailed Description

Convenient helper functor that can be used in STL algorithms.

Member Function Documentation

template<typename RCOBJPTR>
RCOBJPTR nvutil::removeReference::operator() ( RCOBJPTR pRCObject ) [inline]

Function call operator for one argument, being the pointer to an object.

template<typename AnyType, typename RCOBJPTR>
const std::pair<AnyType, RCOBJPTR>& nvutil::removeReference::operator() ( std::pair< AnyType, RCOBJPTR > & p ) [inline]

Function call operator for a pair of arguments.

The documentation for this struct was generated from the following file:
  • RCObject.h
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


nvui::RenderArea Class Reference

The render area is the place where the actual drawing takes place. More...

#include <RenderArea.h>

Inheritance diagram for nvui::RenderArea:

[legend]
Collaboration diagram for nvui::RenderArea:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~RenderArea (void)
Destructor.

virtual NVSG_API bool | init (RenderArea *shareArea=NULL)
Create the render area.

virtual NVSG_API void | destroy (void)
Destroy the render area.

virtual NVSG_API void | keyDown (UINT key, bool keyRepeated=false)
Handle key down.

virtual NVSG_API void | keyUp (UINT key)
Handle key up.

virtual NVSG_API void | resetKeyState (void)
Reset the current key state.

virtual NVSG_API void | mouseButtonDown (UINT btn, int x, int y)
Handle mouse button down.

virtual NVSG_API void | mouseButtonUp (UINT btn, int x, int y)
Handle mouse button up.

virtual NVSG_API void | resetButtonState (void)
Reset the current button state.

virtual NVSG_API void | mouseMotion (int x, int y)
Handle mouse motion.

virtual NVSG_API void | renderScene (void)
Render the scene.

virtual NVSG_API void | setViewportSize (size_t width, size_t height)
Handle the viewport resizing.

NVSG_API bool | pickCameraTargetPoint (int x, int y)
Pick the cameras' target point.

NVSG_API nvtraverser::RenderTraverser * | getRenderTraverser (void) const
Get the current render traverser.

NVSG_API void | setRenderTraverser (nvtraverser::RenderTraverser *tr)
Set the current render traverser.

NVSG_API void | setAppTraverser (nvtraverser::AppTraverser *tr)
Set the current app traverser.

NVSG_API nvtraverser::AppTraverser * | getAppTraverser () const
Get the current app traverser.

NVSG_API void | pushCullTraverser (nvtraverser::CullTraverser *tr)
Add a cull traverser to the cull pipeline.

NVSG_API void | popCullTraverser ()
Remove a cull traverser from the cull pipeline.

NVSG_API size_t | getNumberOfCullTraverser () const
Get the number of culling stages in the culling pipeline.

NVSG_API nvtraverser::CullTraverser * | getCullTraverser (size_t position) const
Get the specified cull traverser.

NVSG_API const nvsg::ViewState * | getViewState (void) const
Get the current view state.

NVSG_API void | setViewState (const nvsg::ViewState *viewState)
Set the current view state.

NVSG_API float | getAspectRatio (void) const
Get the current aspect ratio of the render area.

NVSG_API bool | isStereoAvailable (void)
Check if stereo is available for the current render area.

NVSG_API void | requestFSAA (bool bOn, unsigned int numBuffers)
Request full-scene antialiasing (FSAA) support.

NVSG_API void | requestStereoSupport (bool bStereo)
Request stereo support.

NVSG_API void | setSceneData (nvui::CameraManipulator *pCamManip, const nvsg::Scene *pScene, const nvsg::ViewState *pViewState=NULL)
Sets the Scene to be rendered together with render-specific view data.

virtual NVSG_API void | triggerRedraw (void)

Static Public Member Functions

NVSG_API size_t | createNewRenderAreaID ()
Trigger a redraw of the scene.

Protected Types

enum | { _UNDEFINED = 0x00000000, _STEREO = 0x00000001, _MULTISAMPLE = 0x00000002 }
Possible features of the render area. (mainly influencing the pixelformat - OGL). More...

Protected Member Functions

NVSG_API | RenderArea (void)
Default constructor.

Protected Attributes

std::vector< nvtraverser::CullTraverser * > | m_cullTraverser
These traversers cull objects in the tree.

nvtraverser::RenderTraverser * m_renderTraverser
This traverser renders / displays the tree.

nvtraverser::AppTraverser * m_appTraverser
This traversers applie all pending changes to the tree.

CameraManipulator * m_camManip
Camera manipulator. Could be NULL!

const nvsg::Scene * | m_scene
Pointer to the root node of the scene. m_scene could be NULL !!

const nvsg::ViewState * | m_viewState
Pointer to the view specific controls (camera, animation state,...).

unsigned long | m_features
All requested features for this render area stereo, multisample, ...

UINT | m_numMSBuffers
Number of multi sample buffers.

bool | m_raCreated
Signal the Create() status.

size_t | m_raHeight
Height of the render area.

size_t | m_raWidth
Width of the render area.

Static Protected Attributes

size_t | m_idRenderArea

Detailed Description

The render area is the place where the actual drawing takes place.

This class provides a generic interface to a render target view that is independent of device, hardware, and operating system specifics.

Note:
By default the render area is created with a FrustumCullTraverser for the culling step. You need to set the desired AppTraverser and RenderTraverse.

Member Enumeration Documentation

anonymous enum [protected]

Possible features of the render area. (mainly influencing the pixelformat - OGL).

Enumeration values:
_UNDEFINED | No special feature requested.
_STEREO | Stereo requested.
_MULTISAMPLE | Multisample buffer requested.

Constructor & Destructor Documentation

virtual NVSG_API nvui::RenderArea::~RenderArea ( void ) [virtual]

Destructor.

NVSG_API nvui::RenderArea::RenderArea ( void ) [protected]

Default constructor.

Member Function Documentation

virtual NVSG_API bool nvui::RenderArea::init ( RenderArea * shareArea = NULL ) [virtual]

Create the render area.

This method creates and initializes the render area.

Returns:
true - everything went fine
Parameters:
shareArea Pointer to a render area to share display lists, textures, vertex programs, etc. with

Reimplemented in nvui::GLWinRenderArea.

virtual NVSG_API void nvui::RenderArea::destroy ( void ) [virtual]

Destroy the render area.

This method destroys and cleans up the render area.

Reimplemented in nvui::GLWinRenderArea.

virtual NVSG_API void nvui::RenderArea::keyDown | ( | UINT | key,
 |  | bool | keyRepeated = false
 | ) | [virtual]

Handle key down.

React on a key down event. (For example, report it to the camera manipulator.)

Parameters:
key Pressed key.

virtual NVSG_API void nvui::RenderArea::keyUp ( UINT key ) [virtual]

Handle key up.

React on a key down event. (For example, report it to the camera manipulator.)

Parameters:
key Released key.

virtual NVSG_API void nvui::RenderArea::resetKeyState ( void ) [virtual]

Reset the current key state.

This method also resets the camera manipulator key states.

virtual NVSG_API void nvui::RenderArea::mouseButtonDown | ( | UINT | btn,
 |  | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse button down.

React on mouse button down events. (For example, report it to the current camera manipulator.)

Parameters:
btn | Pressed button (Windows: MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
x | Current x position of the mouse
y | Current y position of the mouse

Reimplemented in nvui::GLWinRenderArea.

virtual NVSG_API void nvui::RenderArea::mouseButtonUp | ( | UINT | btn,
 |  | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse button up.

React on mouse button up events. (For example, report it to the current camera manipulator.)

Parameters:
btn | Released buttons (Windows: MK_LBUTTON, MK_MBUTTON, MK_RBUTTON
x | Current x position of the mouse
y | Current y position of the mouse

Reimplemented in nvui::GLWinRenderArea.

virtual NVSG_API void nvui::RenderArea::resetButtonState ( void ) [virtual]

Reset the current button state.

This method also resets the camera manipulator button states.

virtual NVSG_API void nvui::RenderArea::mouseMotion | ( | int | x,
 |  | int | y
 | ) | [virtual]

Handle mouse motion.

React on mouse motion events. (For example, report it to the current camera manipulator.)

Parameters:
x | Current x position of the mouse
y | Current y position of the mouse

Reimplemented in nvui::GLWinRenderArea.

virtual NVSG_API void nvui::RenderArea::renderScene ( void ) [virtual]

Render the scene.

Render the entire scene. (app, cull, draw the whole tree) If you want to trigger this method, use triggerRedraw() to force a redraw of the scene.

Reimplemented in nvui::GLWinRenderArea.

virtual NVSG_API void nvui::RenderArea::setViewportSize | ( | size_t | width,
 |  | size_t | height
 | ) | [virtual]

Handle the viewport resizing.

Resize the viewport. React on parent window size changes. Report it to OpenGL, to the render window, or to the camera manipulator.

Parameters:
width | Width of the viewport
height | Height of the viewport

Reimplemented in nvui::GLWinRenderArea.

NVSG_API bool nvui::RenderArea::pickCameraTargetPoint | ( | int | x,
 |  | int | y
 | ) |

Pick the cameras' target point.

Determine the target point and report it to the current camera. This method takes the mouse coordinates and sends a ray into the scene to calculate the nearest intersection with an object from the scene. It then takes the intersection and reports it to the camera, where the camera can use it as the rotation point, etc.

Returns:
false - no intersection
Parameters:
x | Current x position of the mouse
y | Current x position of the mouse

nvtraverser::RenderTraverser * nvui::RenderArea::getRenderTraverser ( void ) const [inline]

Get the current render traverser.

Returns:
Current render traverser.
Note:
Render traverser must not live longer than the render area since they are device dependent! (See RenderTraverser)

void nvui::RenderArea::setRenderTraverser ( nvtraverser::RenderTraverser * tr ) [inline]

Set the current render traverser.

The old render traverser will be unreferenced and the new one will be referenced.

Note:
Render traverser must not live longer than the render area since they are device dependent! (See RenderTraverser)
Parameters:
tr New render traverser.

void nvui::RenderArea::setAppTraverser ( nvtraverser::AppTraverser * tr ) [inline]

Set the current app traverser.

The old app traverser will be unreferenced and the new one will be referenced.

Parameters:
tr New app traverser.

nvtraverser::AppTraverser * nvui::RenderArea::getAppTraverser ( ) const [inline]

Get the current app traverser.

Returns:
Current app traverser.

void nvui::RenderArea::pushCullTraverser ( nvtraverser::CullTraverser * tr ) [inline]

Add a cull traverser to the cull pipeline.

This method appends an additional cull traverser to the culling stage of this render area. Every additional culler will be added to the end of the culling pipeline.

Note:
Internally we increment the refcount.

Do not add the same traverser more than once.

Parameters:
tr New cull traverser.

void nvui::RenderArea::popCullTraverser ( ) [inline]

Remove a cull traverser from the cull pipeline.

This method removes the last cull traverser from the end of the cull pipeline.

Note:
Internally we decrement the refcount.

size_t nvui::RenderArea::getNumberOfCullTraverser ( ) const [inline]

Get the number of culling stages in the culling pipeline.

Returns:
Number of active culling stages.

nvtraverser::CullTraverser * nvui::RenderArea::getCullTraverser ( size_t position ) const [inline]

Get the specified cull traverser.

Retrieve the cull traverser from the specified position of the culling pipeline.

Note:
Position 0 is the first entry in the culling pipeline.
Returns:
Pointer to the specified cull traverser

const nvsg::ViewState * nvui::RenderArea::getViewState ( void ) const [inline]

Get the current view state.

Returns:
Current view state.

NVSG_API void nvui::RenderArea::setViewState ( const nvsg::ViewState * viewState )

Set the current view state.

This method retrieves the viewstate from the given and copies the data into the local viewstate.

float nvui::RenderArea::getAspectRatio ( void ) const [inline]

Get the current aspect ratio of the render area.

Returns:
Aspect ratio. (width / height). 0.f if the height and / or width is not valid.

NVSG_API bool nvui::RenderArea::isStereoAvailable ( void )

Check if stereo is available for the current render area.

Note:
The render area must be created and valid.
Returns:
true - stereo is available

NVSG_API void nvui::RenderArea::requestFSAA | ( | bool | bOn,
 |  | unsigned int | numBuffers
 | ) |

Request full-scene antialiasing (FSAA) support.

Note:
Call prior to init()
Parameters:
bOn | true - FSAA on
numBuffers | FSAA level / number of multisample buffers

NVSG_API void nvui::RenderArea::requestStereoSupport ( bool bStereo )

Request stereo support.

Note:
Call prior to init()
Parameters:
bStereo true - stereo support required

NVSG_API void nvui::RenderArea::setSceneData | ( | nvui::CameraManipulator * | pCamManip,
 |  | const nvsg::Scene * | pScene,
 |  | const nvsg::ViewState * | pViewState = NULL
 | ) |

Sets the Scene to be rendered together with render-specific view data.

The function replaces the RenderArea's current Scene by the Scene passed through pScene. The behavior is undefined if a NULL pointer is passed through pScene!

The CameraManipulator passed through pCamManip replaces the RenderArea's current CameraManipulator. If a NULL pointer is passed through pCamManip, there will be no CameraManipulator attached to the RenderArea after this call!

If a valid CameraManipulator is passed through pCamManip, the RenderArea's internal ViewState will always adopt the camera attached to that manipulator, regardless of whether the ViewState passed through pViewState is valid or not.

If the ViewState passed through pViewState is valid, it will replace the RenderArea's current ViewState. If a NULL pointer is passed through pViewState, the RenderArea's current ViewState remains unchanged.

Parameters:
pCamManip | CameraManipulator to replace the RenderArea's current CameraManipulator.
pScene | Scene to replace the RenderArea's current Scene.
pViewState | ViewState to replace the RenderArea's current ViewState. Will be ignored if a NULL pointer is passed here.

size_t nvui::RenderArea::createNewRenderAreaID ( ) [inline, static]

Trigger a redraw of the scene.

void nvui::RenderArea::triggerRedraw ( void ) [inline, virtual]

Note:
Use this method to trigger a redraw instead of calling the drawing method directly!

Reimplemented in nvui::GLWinRenderArea.

Member Data Documentation

std::vector<nvtraverser::CullTraverser *> nvui::RenderArea::m_cullTraverser [protected]

These traversers cull objects in the tree.

nvtraverser::RenderTraverser* nvui::RenderArea::m_renderTraverser [protected]

This traverser renders / displays the tree.

nvtraverser::AppTraverser* nvui::RenderArea::m_appTraverser [protected]

This traversers applie all pending changes to the tree.

CameraManipulator* nvui::RenderArea::m_camManip [protected]

Camera manipulator. Could be NULL!

const nvsg::Scene* nvui::RenderArea::m_scene [protected]

Pointer to the root node of the scene. m_scene could be NULL !!

const nvsg::ViewState* nvui::RenderArea::m_viewState [protected]

Pointer to the view specific controls (camera, animation state,...).

unsigned long nvui::RenderArea::m_features [protected]

All requested features for this render area stereo, multisample, ...

UINT nvui::RenderArea::m_numMSBuffers [protected]

Number of multi sample buffers.

bool nvui::RenderArea::m_raCreated [protected]

Signal the Create() status.

size_t nvui::RenderArea::m_raHeight [protected]

Height of the render area.

size_t nvui::RenderArea::m_raWidth [protected]

Width of the render area.

size_t nvui::RenderArea::m_idRenderArea [static, protected]

The child window ID for the different CWnd derived < render area windows. (e.g. GLMFCRAWnd) < Use this ID in the create call - see CWnd->Create() - < (don't forget to increment the ID before using it).

The documentation for this class was generated from the following file:
  • RenderArea.h
Generated on Fri Jan 28 09:22:28 2005 for NVSGSDK by NVIDIA


nvtraverser::RenderTraverser Class Reference

Pure virtual render traverser class. More...

#include <RenderTraverser.h>

Inheritance diagram for nvtraverser::RenderTraverser:

[legend]
Collaboration diagram for nvtraverser::RenderTraverser:

[legend]
List of all members.

Public Types

enum | JitterTechnique { JT_ACCUM = 0x01, JT_READ_PIXELS = 0x02, JT_PBUFFER = 0x04 }
enum RenderTechnique {
RT_POINTS = 0x01, RT_WIREFRAME = 0x02, RT_SHADED = 0x04, RT_TEXTURED = 0x10,
RT_EFFECTED = 0x20
}
enum | TransparencyTechnique { TT_NONE = 0x01, TT_STIPPLED = 0x02, TT_BLENDED = 0x04, TT_ORDER_INDEPENDENT = 0x08 }
enum | OITTechnique { OT_TEXTURE = 0x01, OT_PBUFFER = 0x02 }
enum | GeometryCacheTechnique { GCT_NONE = 0x01, GCT_DL = 0x02, GCT_VBO = 0x04 }

Public Member Functions

virtual NVSG_API JitterTechnique | getJitterTechnique (void) const=0
Get the current jitter technique.

virtual NVSG_API bool | isJitterTechniqueSupported (JitterTechnique jt) const=0
Test on supported jitter techniques.

virtual NVSG_API bool | setJitterTechnique (JitterTechnique jt)=0
Set the jitter technique the render should use.

virtual NVSG_API RenderTechnique | getRenderTechnique (void) const=0
Get the current render technique.

virtual NVSG_API bool | isRenderTechniqueSupported (RenderTechnique rt) const=0
Test on supported render techhniques.

virtual NVSG_API bool | setRenderTechnique (RenderTechnique rt)=0
Set the render technique the render should use.

virtual NVSG_API TransparencyTechnique | getTransparencyTechnique (void) const=0
Get the current transparency technique.

virtual NVSG_API bool | isTransparencyTechniqueSupported (TransparencyTechnique tt) const=0
Test on supported transparency techhniques.

virtual NVSG_API bool | setTransparencyTechnique (TransparencyTechnique tt)=0
Set the transparency technique the render should use.

virtual NVSG_API OITTechnique | getOITTechnique (void) const=0
Get the current OIT (Order Independent Transparency) technique.

virtual NVSG_API bool | isOITTechniqueSupported (OITTechnique ot) const=0
Test on supported OIT techhniques.

virtual NVSG_API bool | setOITTechnique (OITTechnique ot)=0
Set the OIT technique the render should use.

virtual NVSG_API size_t | getOITMaxPasses (void) const=0
Get maximum OIT passes.

virtual NVSG_API bool | setOITMaxPasses (size_t maxPasses)=0
Set the number of maxumum passes to archieve the desired transparency effect.

virtual NVSG_API float | getOITThreshold (void) const=0
Get the current threshold.

virtual NVSG_API bool | setOITThreshold (float threshold)=0
Set the threshold.

virtual NVSG_API GeometryCacheTechnique | getGeometryCacheTechnique (void) const=0
Get the current geoemtry caching technique.

virtual NVSG_API bool | isGeometryCacheTechniqueSupported (GeometryCacheTechnique gct) const=0
Test on supported geometry caching techhniques.

virtual NVSG_API bool | setGeometryCacheTechnique (GeometryCacheTechnique gct)=0
Set the geometry caching technique the render should use.

virtual NVSG_API void | getTextureSizeLimits (size_t &width, size_t &height) const=0
Get the texture size limits.

virtual NVSG_API void | setTextureSizeLimits (size_t width, size_t height)=0
Set the texture size limits.

NVSG_API void | setLineAntiAliasing (bool onOff)
Set the anti-aliasing mode for wire frame drawings.

NVSG_API bool | getLineAntiAliasing (void) const
Get the anti-aliasing mode for wire frame drawings.

NVSG_API float | getLineWidth (void) const
Get the line width for wire frame drawings.

NVSG_API void | setLineWidth (float width)
Set the line width for wire frame drawings.

NVSG_API void | setPointAntiAliasing (bool onOff)
Set the anti-aliasing mode for point mode drawings.

NVSG_API bool | getPointAntiAliasing (void) const
Get the anti-aliasing mode for point mode drawings.

NVSG_API float | getPointSize (void) const
Get the point size for point mode drawings.

NVSG_API void | setPointSize (float size)
Set the point size for point mode drawings.

Protected Member Functions

NVSG_API | RenderTraverser (void)
Default constructor.

virtual NVSG_API | ~RenderTraverser (void)
Default destructor.

virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root)
Provide special treatment of a ParallelCamera object.

virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root)
Provide special treatment of a PerspectiveCamera object.

virtual NVSG_API void | postTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately after a Group has been traversed.

virtual NVSG_API void | traverseLight (const nvsg::LightSource *p)
This function will be called from the framework when a LightSource node is visited.

virtual NVSG_API void | disableLightSource (const nvsg::LightSource *p)=0
This function is called from the RenderTraverser framework whenever a LightSource is to be disabled.

NVSG_API size_t | getCurrentLightIndex () const
Get the zero based index of the current light.

Protected Attributes

std::map< const nvsg::StateAttribute *,
nvutil::Incarnation > 		m_perStateAttributeIncarnationMap
Map between StateAttribute and Incarnation.

Detailed Description

Pure virtual render traverser class.

Use this pure virtual class as a base class to derive your own render traverser. Render traverser are not allowed to apply changes to the given scenegraph. This base class containes the model matrix and inverse model matrix stack. This is very handy, because you do not have to ask e.g. OpenGL which would be normally very expensive. So your special render traverser has to take care of these stacks.

Note:
The render traverser object must not survive the render area it works on. For e.g. RenderArea and GLTraverser make sure to make the render area current before destroying the traverser.

Member Enumeration Documentation

enum nvtraverser::RenderTraverser::JitterTechnique

Enumeration values:
JT_ACCUM | Render to accumulation buffer.
JT_READ_PIXELS | Render to backbuffer and use e.g. OpenGL read pixels to read it back.
JT_PBUFFER | Render to PBuffer.

enum nvtraverser::RenderTraverser::RenderTechnique

Enumeration values:
RT_POINTS | Render scene as points only.
RT_WIREFRAME | Render scene as wireframe only.
RT_SHADED | Render scene in simple shading mode.
RT_TEXTURED | Render scene in simple shading mode plus textures.
RT_EFFECTED | Render scene fully effected and shaded.

enum nvtraverser::RenderTraverser::TransparencyTechnique

Enumeration values:
TT_NONE | Ignore transparency, draw opaque.
TT_STIPPLED | Use stipple patterns to simulate transparency.
TT_BLENDED | Use blending to render transparent objects.
TT_ORDER_INDEPENDENT | Use the "Order Independent Transparency" approach to render transparent objects.

enum nvtraverser::RenderTraverser::OITTechnique

Enumeration values:
OT_TEXTURE | Use textures for OIT.
OT_PBUFFER | Use PBuffers for OIT.

enum nvtraverser::RenderTraverser::GeometryCacheTechnique

Enumeration values:
GCT_NONE | no geometry caching
GCT_DL | cache geometries in display lists
GCT_VBO | cache geometries in vertex buffer objects

Constructor & Destructor Documentation

NVSG_API nvtraverser::RenderTraverser::RenderTraverser ( void ) [protected]

Default constructor.

virtual NVSG_API nvtraverser::RenderTraverser::~RenderTraverser ( void ) [protected, virtual]

Default destructor.

Member Function Documentation

virtual NVSG_API JitterTechnique nvtraverser::RenderTraverser::getJitterTechnique ( void ) const [pure virtual]

Get the current jitter technique.

Returns:
The currently used technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::isJitterTechniqueSupported ( JitterTechnique jt ) const [pure virtual]

Test on supported jitter techniques.

Use this method to test if this special jitter technique is currently available.

Returns:
true - supported, false - not supported
Parameters:
jt Jitter technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::setJitterTechnique ( JitterTechnique jt ) [pure virtual]

Set the jitter technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
jt Jitter technique

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API RenderTechnique nvtraverser::RenderTraverser::getRenderTechnique ( void ) const [pure virtual]

Get the current render technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::isRenderTechniqueSupported ( RenderTechnique rt ) const [pure virtual]

Test on supported render techhniques.

Use this technique to test if this special render technique is currently available.

Returns:
true - supported, false - not supported.
Parameters:
rt Render technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::setRenderTechnique ( RenderTechnique rt ) [pure virtual]

Set the render technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
rt Render technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API TransparencyTechnique nvtraverser::RenderTraverser::getTransparencyTechnique ( void ) const [pure virtual]

Get the current transparency technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::isTransparencyTechniqueSupported ( TransparencyTechnique tt ) const [pure virtual]

Test on supported transparency techhniques.

Use this technique to test if this special transparency technique is currently available.

Returns:
true - supported, jalse - not supported.
Parameters:
tt Transparency technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::setTransparencyTechnique ( TransparencyTechnique tt ) [pure virtual]

Set the transparency technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
tt Transparency technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API OITTechnique nvtraverser::RenderTraverser::getOITTechnique ( void ) const [pure virtual]

Get the current OIT (Order Independent Transparency) technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::isOITTechniqueSupported ( OITTechnique ot ) const [pure virtual]

Test on supported OIT techhniques.

Use this technique to test if this special OIT technique is currently available.

Returns:
true - supported, jalse - not supported.
Parameters:
ot OIT technique

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::setOITTechnique ( OITTechnique ot ) [pure virtual]

Set the OIT technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
ot OIT technique

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API size_t nvtraverser::RenderTraverser::getOITMaxPasses ( void ) const [pure virtual]

Get maximum OIT passes.

Returns:
Maximum rendering passes to archive the desired effect.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::setOITMaxPasses ( size_t maxPasses ) [pure virtual]

Set the number of maxumum passes to archieve the desired transparency effect.

Returns:
true - everything went fine, false - not set
Parameters:
maxPasses Maximum passes to render, even when threshold is not reached.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API float nvtraverser::RenderTraverser::getOITThreshold ( void ) const [pure virtual]

Get the current threshold.

Returns:
threshold [0,1]

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::setOITThreshold ( float threshold ) [pure virtual]

Set the threshold.

The thereshold tells the refinement step of the OIT algorithm if it needs another pass or if it is good enough to show the rendered result. The value lies between 0 and 1 (0%-100%). The refinement step compares the percentage of drawn pixels with the threshold and stops if it is smaller than the user defined value.

Returns:
true - everything went fine, false - not set
Parameters:
threshold Threshold [0,1]

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API GeometryCacheTechnique nvtraverser::RenderTraverser::getGeometryCacheTechnique ( void ) const [pure virtual]

Get the current geoemtry caching technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::isGeometryCacheTechniqueSupported ( GeometryCacheTechnique gct ) const [pure virtual]

Test on supported geometry caching techhniques.

Returns:
true - supported, false - not supported.
Parameters:
gct GeometryCache technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API bool nvtraverser::RenderTraverser::setGeometryCacheTechnique ( GeometryCacheTechnique gct ) [pure virtual]

Set the geometry caching technique the render should use.

Returns:
true - everything went fine, false - not set
Parameters:
gct GeometryCache technique.

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::RenderTraverser::getTextureSizeLimits | ( | size_t & | width,
 |  | size_t & | height
 | ) | const [pure virtual]

Get the texture size limits.

Textures are downscaled to those limits if they are larger.

Parameters:
width | texture width limit
height | texture height limit

Implemented in nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::RenderTraverser::setTextureSizeLimits | ( | size_t | width,
 |  | size_t | height
 | ) | [pure virtual]

Set the texture size limits.

Textures are downscaled to those limits if they are larger.

Note:
Setting width or height to 0 (zero), disables the respective texture size limit.
Parameters:
width | texture width limit
height | texture height limit

Implemented in nvtraverser::GLTraverser.

void nvtraverser::RenderTraverser::setLineAntiAliasing ( bool onOff ) [inline]

Set the anti-aliasing mode for wire frame drawings.

Parameters:
onOff enables/disables line anti-aliasing

bool nvtraverser::RenderTraverser::getLineAntiAliasing ( void ) const [inline]

Get the anti-aliasing mode for wire frame drawings.

Returns:
true, if line anti-aliasing is on, otherwise false.

float nvtraverser::RenderTraverser::getLineWidth ( void ) const [inline]

Get the line width for wire frame drawings.

Returns:
the line width for wire frame drawings.

void nvtraverser::RenderTraverser::setLineWidth ( float width ) [inline]

Set the line width for wire frame drawings.

Parameters:
width line width to set

void nvtraverser::RenderTraverser::setPointAntiAliasing ( bool onOff ) [inline]

Set the anti-aliasing mode for point mode drawings.

Parameters:
onOff enables/disables point anti-aliasing

bool nvtraverser::RenderTraverser::getPointAntiAliasing ( void ) const [inline]

Get the anti-aliasing mode for point mode drawings.

Returns:
true, if point anti-aliasing is on, otherwise false.

float nvtraverser::RenderTraverser::getPointSize ( void ) const [inline]

Get the point size for point mode drawings.

Returns:
the point size for point mode drawings.

void nvtraverser::RenderTraverser::setPointSize ( float size ) [inline]

Set the point size for point mode drawings.

Parameters:
size point size to set

virtual NVSG_API void nvtraverser::RenderTraverser::handleParallelCamera | ( | const nvsg::ParallelCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Provide special treatment of a ParallelCamera object.

The function initializes the model view transformation stack and calls the base class handler function.

Reimplemented from nvtraverser::ModelViewTraverser.

Reimplemented in nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::RenderTraverser::handlePerspectiveCamera | ( | const nvsg::PerspectiveCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Provide special treatment of a PerspectiveCamera object.

The function initializes the model view transformation stack and calls the base class handler function.

Reimplemented from nvtraverser::ModelViewTraverser.

Reimplemented in nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::RenderTraverser::postTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately after a Group has been traversed.

Remarks:
Custom traversers can override this function for any tasks that need to be done immediately after the Group pointed to by p has been traversed.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RenderTraverser::traverseLight ( const nvsg::LightSource * p ) [protected, virtual]

This function will be called from the framework when a LightSource node is visited.

remarks Custom traversers can override this function for special tasks that need to be performed when visiting a LightSource node.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::RenderTraverser::disableLightSource ( const nvsg::LightSource * p ) [protected, pure virtual]

This function is called from the RenderTraverser framework whenever a LightSource is to be disabled.

Implemented in nvtraverser::GLTraverser.

size_t nvtraverser::RenderTraverser::getCurrentLightIndex ( ) const [inline, protected]

Get the zero based index of the current light.

This index can be used to refer to the device dependent light in order to switch the light on, when a specific light handler routine is called, or off, after leaving the light's parent Group node.

Member Data Documentation

std::map<const nvsg::StateAttribute*, nvutil::Incarnation> nvtraverser::RenderTraverser::m_perStateAttributeIncarnationMap [protected]

Map between StateAttribute and Incarnation.

The documentation for this class was generated from the following file:
  • RenderTraverser.h
Generated on Fri Jan 28 09:22:13 2005 for NVSGSDK by NVIDIA


nvsg::Scene Class Reference

Shrink wrap class to subsume all scene related information. More...

#include <Scene.h>

Inheritance diagram for nvsg::Scene:

[legend]
Collaboration diagram for nvsg::Scene:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setBackColor (const nvmath::Vec3f &color)
Set the background color.

NVSG_API const nvmath::Vec3f & | getBackColor (void) const
Get the background color.

NVSG_API void | addCamera (const Camera *pCamera)
Add a camera to this scene.

NVSG_API void | removeCamera (size_t index)
Remove a camera from the scene.

NVSG_API const Camera * | getCamera (size_t index=0) const
Get a camera of the scene.

NVSG_API size_t | getNumberOfCameras (void) const
Get the number of cameras in the scene.

NVSG_API size_t | getNumberOfCameraAnimations (void) const
Get the number of camera animations in the scene.

NVSG_API void | addCameraAnimation (const Animation< nvmath::Trafo > *pAnimation)
Add a camera animation to this scene.

NVSG_API const Animation<
nvmath::Trafo > * 		getCameraAnimation (size_t index=0) const
Get a camera animation of the scene.

NVSG_API void | removeCameraAnimation (size_t index)
Remove a camera animation from the scene.

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

NVSG_API void | setRootNode (const Node *root)
Set the root node.

NVSG_API const Node * | getRootNode (void) const
Get the root node of the scene tree.

NVSG_API void | setDefaultStateSet (const StateSet *pStateSet)
Set the default state set.

NVSG_API const StateSet * | getDefaultStateSet (void) const
Get the default state set of the scene.

NVSG_API void | setOverrideStateSet (const StateSet *pStateSet)
Set the override state set.

NVSG_API const StateSet * | getOverrideStateSet (void) const
Get the override state set of the scene.

NVSG_API bool | containsCgFx (void) const
Ask if this Scene contains any CgFx attribute.

NVSG_API bool | containsLight (void) const
Ask if this Scene contains any LightSource.

NVSG_API bool | containsTransparentMaterial (void) const
Ask if this Scene contains any transparent Material attribute.

NVSG_API bool | containsTransparentTexture (void) const
Ask if this Scene contains any transparent Texture.

NVSG_API bool | waitToRead (size_t milliseconds=0xFFFFFFFF) const
Acquire read access in a multithreaded environment.

NVSG_API void | doneReading (void) const
Signal finished reading the object.

NVSG_API bool | waitToWrite (size_t milliseconds=0xFFFFFFFF) const
Acquire write access in a multithreaded enviroment.

NVSG_API void | doneWriting (void) const
Signal when finished writing the object.

Static Public Member Functions

NVSG_API const Scene * | create (void)
Create a Scene.

Protected Member Functions

NVSG_API | Scene (void)
Constructor.

virtual NVSG_API | ~Scene (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Shrink wrap class to subsume all scene related information.

Constructor & Destructor Documentation

NVSG_API nvsg::Scene::Scene ( void ) [protected]

Constructor.

virtual NVSG_API nvsg::Scene::~Scene ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const Scene* nvsg::Scene::create ( void ) [static]

Create a Scene.

Returns:
a constant pointer to a Scene.

void nvsg::Scene::setBackColor ( const nvmath::Vec3f & color ) [inline]

Set the background color.

Parameters:
color color to use as background color

const nvmath::Vec3f & nvsg::Scene::getBackColor ( void ) const [inline]

Get the background color.

void nvsg::Scene::addCamera ( const Camera * pCamera ) [inline]

Add a camera to this scene.

A scene holds a list of cameras from which one can be selected for viewing. The reference count for the camera is incremented.

Parameters:
pCamera camera to add

void nvsg::Scene::removeCamera ( size_t index ) [inline]

Remove a camera from the scene.

Parameters:
index Index of the camera to remocve

const Camera * nvsg::Scene::getCamera ( size_t index = 0 ) const [inline]

Get a camera of the scene.

Returns:
A constant pointer to the camera at position index, or NULL if this doesn't exist
Parameters:
index index of camera to get

size_t nvsg::Scene::getNumberOfCameras ( void ) const [inline]

Get the number of cameras in the scene.

A scene holds a list of cameras from which one can be selected for viewing.

Returns:
The number of cameras in the scene

size_t nvsg::Scene::getNumberOfCameraAnimations ( void ) const [inline]

Get the number of camera animations in the scene.

A scene holds a list of camera animations from which one can be selected (independently from the camera) for animated viewing.

Returns:
The number of camera animations in the scene

void nvsg::Scene::addCameraAnimation ( const Animation< nvmath::Trafo > * pAnimation ) [inline]

Add a camera animation to this scene.

A scene holds a list of camera animations from which one can be selected (independently from the camera) for animated viewing. The reference count for the animation is incremented.

Parameters:
pAnimation animation to add

const Animation< nvmath::Trafo > * nvsg::Scene::getCameraAnimation ( size_t index = 0 ) const [inline]

Get a camera animation of the scene.

Returns:
A constant pointer the animation at position index, or NULL if this doesn't exist
Parameters:
index index of animation to get

void nvsg::Scene::removeCameraAnimation ( size_t index ) [inline]

Remove a camera animation from the scene.

Parameters:
index Index of the camera animation to remove

size_t nvsg::Scene::getNumberOfFrames ( void ) const [inline]

Get the number of animation frames.

All animations in a scene must have the same number of steps. This number is queried here.

Returns:
The number of animation frames (of every animation in the scene)

NVSG_API void nvsg::Scene::setRootNode ( const Node * root )

Set the root node.

If there already is a root node, it is dereferenced; the reference count of the new root node is incremented.

Parameters:
root new root node

const Node * nvsg::Scene::getRootNode ( void ) const [inline]

Get the root node of the scene tree.

Returns:
A constant pointer to the root node of the scene tree, or NULL if there isn't any

NVSG_API void nvsg::Scene::setDefaultStateSet ( const StateSet * pStateSet )

Set the default state set.

If a geometry in this scene doesn't have a StateAttribute of a special kind, but there is one in this default StateSet, the default one is used. If there is already a defaul StateSet, it is dereferenced; the reference count of this StateSet is incremented.

Parameters:
pStateSet StateSet to set as the default one

const StateSet * nvsg::Scene::getDefaultStateSet ( void ) const [inline]

Get the default state set of the scene.

If a geometry in this scene doesn't have a StateAttribute of a special kind, but there is one in this default StateSet, the default one (if there is one) is used.

NVSG_API void nvsg::Scene::setOverrideStateSet ( const StateSet * pStateSet )

Set the override state set.

If there is an override state set in the scene, all geometries are rendered using that state set, ignoring any other state set in the scene.

Parameters:
pStateSet StateSet to set as the override one

const StateSet * nvsg::Scene::getOverrideStateSet ( void ) const [inline]

Get the override state set of the scene.

If there is an override state set in the scene, all geometries are rendered using that state set, ignoring any other state set in the scene.

bool nvsg::Scene::containsCgFx ( void ) const [inline]

Ask if this Scene contains any CgFx attribute.

Returns:
true, if the Scene contains a CgFx attribute in its scene tree, otherwise false.

bool nvsg::Scene::containsLight ( void ) const [inline]

Ask if this Scene contains any LightSource.

Returns:
true, if the Scene contains a LightSource in its scene tree, otherwise false.

bool nvsg::Scene::containsTransparentMaterial ( void ) const [inline]

Ask if this Scene contains any transparent Material attribute.

Returns:
true, if the Scene contains a transparent Material attribute in its scene tree, otherwise false.

bool nvsg::Scene::containsTransparentTexture ( void ) const [inline]

Ask if this Scene contains any transparent Texture.

Returns:
true, if the Scene contains a transparent Texture in its scene tree, otherwise false.

bool nvsg::Scene::waitToRead ( size_t milliseconds = 0xFFFFFFFF ) const [inline]

Acquire read access in a multithreaded environment.

For safety in a multithreaded environment, an object maintains a read/write locking mechanism that allows contemporaneous access for multiple readers but write access for only a single writer.

This function returns either when it gets read access or when the time-out interval elapses. By default, this function waits indefinitely.
Returns:
true, if read access could be acquired, false otherwise.

void nvsg::Scene::doneReading ( void ) const [inline]

Signal finished reading the object.

A read access to this object, that has been acquired by a previous call to waitToRead, will be ended by a call to this function.

bool nvsg::Scene::waitToWrite ( size_t milliseconds = 0xFFFFFFFF ) const [inline]

Acquire write access in a multithreaded enviroment.

For safety in a multithreaded environment, an object maintains a read/write locking mechanism that allows contemporaneous access for multiple readers but write access for only a single writer.

This function returns either when it gets write access or when the time-out interval elapses. By default, this function waits indefinitely.
Returns:
true, if write access could be acquired, false otherwise.
Parameters:
milliseconds Time-out interval, in millisceconds.

void nvsg::Scene::doneWriting ( void ) const [inline]

Signal when finished writing the object.

A write access to this object that has been acquired by a previous call to waitToWrite will be ended by a call to this function.

The documentation for this class was generated from the following file:
  • Scene.h
Generated on Fri Jan 28 09:21:36 2005 for NVSGSDK by NVIDIA


nvsg::SceneLoader Class Reference

Pure virtual base class for NVSG scene loader plug-ins. More...

#include <PlugInterface.h>

Inheritance diagram for nvsg::SceneLoader:

[legend]
Collaboration diagram for nvsg::SceneLoader:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Scene * | load (const std::string &filename, const std::vector< std::string > &searchPaths, const ViewState *&viewState)=0
Loading a scene.

Protected Member Functions

virtual NVSG_API | ~SceneLoader ()
Protected virtual destructor.

Detailed Description

Pure virtual base class for NVSG scene loader plug-ins.

User defined NVSG scene loader plug-ins must provide the SceneLoader interface.

Client code that needs to utilize a certain SceneLoader interface should first query for a unique plug interface type ID through a call to nvutil::queryInterfaceType. The unique plug interface type ID for a SceneLoader will be constructed from the UPITID_SCENE_SAVER define and the actual NVSG version, which is coded in the UPITID_VERSION define, as shown in the code snippet below. A call to nvutil::queryInterfaceType returns a list of all unique interface IDs (UPIIDSs) found at given search paths.
After that, the client code can take the different UPIIDs to grab a scene loader interface through a call to nvutil::getInterface.
After usage, the client code should release the interface through a call to nvutil::releaseInterface:
   // Example:
   // --------
   // Get a scene loader interface capable to load 'nvb' files

   //
   vector<string> searchPathes;
   // Add appropriate search paths here. Not relevant for the example here.
   // ...

   // define the unique plug interface type ID for SceneLoaders
   const nvutil::UPITID PITID_SCENE_LOADER(UPITID_SCENE_LOADER, UPITID_VERSION);

   nvsg::Scene * theScene = NULL;
   nvsg::ViewState * viewState = NULL;
   nvutil::UPIID nvbLoaderInterfaceID;
   bool foundAppropriate = false;
   vector<nvutil::UPIID> piids;
   if ( nvutil::queryInterfaceType(searchPathes, PITID_SCENE_LOADER, piids) )
   {
     vector<nvutil::UPIID>::iterator it = piids.begin();
     for ( ; it != piids.end(); ++it )
     {
       if ( !stricmp((*it).getPlugSpecificIDString(), ".nvb") )
       {
         // found, copy the ID
         nvbLoaderInterfaceID = *it;
         foundAppropriate = true;
         break; // look no further
       }
     }
     if ( foundAppropriate )
     {
       nvutil::PlugIn * plug;
       if ( nvutil::getInterface(searchPathes, nvbLoaderInterfaceID, plug) )
       {
         nvsg::SceneLoader * loader = reinterpret_cast<SceneLoader*>(plug);
         theScene = loader->load("c:\\nvb\\sample.nvb", searchPathes, viewState);
         if ( theScene )
         {
           theScene->addRef();
           if ( viewState )
           {
             viewState->addRef();
           }
         }
         nvutil::releaseInterface(nvbLoaderInterfaceID);
       }
     }
   }

Constructor & Destructor Documentation

virtual NVSG_API nvsg::SceneLoader::~SceneLoader ( ) [protected, virtual]

Protected virtual destructor.

Prohibits ordinary client code from

  • creating a SceneLoader derived object on stack and
  • calling delete on a pointer to SceneLoader.
    Note:
    This will not prohibit the client code from calling delete on a pointer to a SceneLoader derived object. Normally this is not that critical, because one almost always uses a pointer to the base class when working with SceneLoader plug-ins.
    Nevertheless, it would be far less error prone if classes that inherit from SceneLoader also make their destructor protected.

Member Function Documentation

virtual NVSG_API const Scene* nvsg::SceneLoader::load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | const ViewState *& | viewState
 | ) | [pure virtual]

Loading a scene.

Loads an NVSG scene from a file specified by filename. The function tries to look up this file as follows:

  1. Looks at the specified location.
  2. Looks at the current directory.
  3. Uses the search paths stored in searchPaths to look up the file.
    Returns:
    A pointer to the loaded scene if successful, a null pointer otherwise.
Parameters:
filename | A string that holds the name of the scene file to be loaded.
searchPaths | A collection of search pathes used to look up the file.
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • PlugInterface.h
Generated on Fri Jan 28 09:21:31 2005 for NVSGSDK by NVIDIA


nvsg::SceneSaver Class Reference

Pure virtual base class for NVSG scene saver plug-ins. More...

#include <PlugInterface.h>

Inheritance diagram for nvsg::SceneSaver:

[legend]
Collaboration diagram for nvsg::SceneSaver:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | save (const Scene &scene, const ViewState *viewState, const std::string &filename)=0
Saving a scene.

Protected Member Functions

virtual NVSG_API | ~SceneSaver ()
Protected virtual destructor.

Detailed Description

Pure virtual base class for NVSG scene saver plug-ins.

User defined NVSG scene saver plug-ins must provide the SceneSaver interface.

Constructor & Destructor Documentation

virtual NVSG_API nvsg::SceneSaver::~SceneSaver ( ) [protected, virtual]

Protected virtual destructor.

Prohibits ordinary client code from

  • creating a SceneSaver derived object on stack and
  • calling delete on a pointer to SceneSaver.
    Note:
    This will not prohibit the client code from calling delete on a pointer to a SceneSaver derived object. Normally this is not that critical, because one almost always uses a pointer to the base class when working with SceneSaver plug-ins.
    Nevertheless, it would be far less error prone if classes that inherit from SceneSaver, also make their destructor protected.

Member Function Documentation

virtual NVSG_API bool nvsg::SceneSaver::save | ( | const Scene & | scene,
 |  | const ViewState * | viewState,
 |  | const std::string & | filename
 | ) | [pure virtual]

Saving a scene.

Saves an NVSG scene and a viewState to a file specified by filename.

Returns:
true if successful, false otherwise.

The documentation for this class was generated from the following file:
  • PlugInterface.h
Generated on Fri Jan 28 09:21:31 2005 for NVSGSDK by NVIDIA


nvtraverser::SearchTraverser Class Reference

Traverser for searching all objects of one class type. More...

#include <SearchTraverser.h>

Inheritance diagram for nvtraverser::SearchTraverser:

[legend]
Collaboration diagram for nvtraverser::SearchTraverser:

[legend]
List of all members.

Public Types

typedef std::vector< const
nvsg::Object * >::const_iterator 		iterator
Iterator type definition.

Public Member Functions

NVSG_API | SearchTraverser (void)
Constructor.

NVSG_API const std::vector<
const nvsg::Object * > & 		getResults (void) const
Get a constant reference to the vector of search results.

NVSG_API void | setClassName (const std::string &name)
Set the class name to search for.

NVSG_API void | setBaseClassSearch (bool enable)
Enable/Disable the search for base classes.

Protected Member Functions

virtual NVSG_API | ~SearchTraverser (void)
Destructor.

virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Set up the search and traverse the scene.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.

virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Routine to handle a Group node while traversing the scene graph.

virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Routine to handle a Switch node while traversing the scene graph.

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Routine to handle a Transform node while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Routine to handle a AnimatedTransform node while traversing the scene graph.

virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p)
Routine to handle a DirectedLight node while traversing the scene graph.

virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p)
Routine to handle a PointLight node while traversing the scene graph.

virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p)
Routine to handle a SpotLight node while traversing the scene graph.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Routine to handle a AnimatedQuads object while traversing the scene graph.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Routine to handle a AnimatedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Routine to handle a SkinnedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.

virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.

virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx attribute while traversing the scene graph.

virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Routine to handle a FaceAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Routine to handle a Material attribute while traversing the scene graph.

virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Routine to handle a TextureAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root)
Routine to handle a JitterCamera object while traversing the scene graph.

virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root)
Routine to handle a ParallelCamera object while traversing the scene graph.

virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root)
Routine to handle a PerspectiveCamera object while traversing the scene graph.

virtual NVSG_API void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root)
Routine to handle a StereoCamera object while traversing the scene graph.

virtual NVSG_API void | handleFramedTrafoAnimation (const nvsg::FramedAnimation< nvmath::Trafo > *p)
Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph.

virtual NVSG_API void | handleFramedVNVectorAnimation (const nvsg::FramedAnimation< nvsg::VNVector > *p)
Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph.

virtual NVSG_API void | handleLinearInterpolatedTrafoAnimation (const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p)
Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph.

virtual NVSG_API void | handleLinearInterpolatedVNVectorAnimation (const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p)
Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph.

virtual NVSG_API void | search (const nvsg::Animation< nvmath::Trafo > *p)
Search through an Animation<Trafo> object.

virtual NVSG_API void | search (const nvsg::Animation< nvsg::VNVector > *p)
Search through an Animation<VNVector> object.

virtual NVSG_API void | search (const nvsg::Camera *p)
Search through a Camera object.

virtual NVSG_API void | search (const nvsg::Drawable *p)
Search through a Drawable object.

virtual NVSG_API void | search (const nvsg::GeoSet *p)
Search through a GeoSet object.

virtual NVSG_API void | search (const nvsg::Group *p)
Search through a Group object.

virtual NVSG_API void | search (const nvsg::InterpolatedAnimation< nvmath::Trafo > *p)
Search through an InterpolatedAnimation<Trafo>.

virtual NVSG_API void | search (const nvsg::InterpolatedAnimation< nvsg::VNVector > *p)
Search through an InterpolatedAnimation<VNVector>.

virtual NVSG_API void | search (const nvsg::LightSource *p)
Search through a LightSource object.

virtual NVSG_API void | search (const nvsg::MonoCamera *p)
Search through a MonoCamera object.

virtual NVSG_API void | search (const nvsg::Node *p)
Search through a Node object.

virtual NVSG_API void | search (const nvsg::Object *p)
Search through an Object object.

virtual NVSG_API void | search (const nvsg::Quads *p)
Search through an Quads object.

virtual NVSG_API void | search (const nvsg::StateAttribute *p)
Search through a StateAttribute object.

virtual NVSG_API void | search (const nvsg::Transform *p)
Search through a Transform object.

virtual NVSG_API void | search (const nvsg::Triangles *p)
Search through a Triangles object.

Detailed Description

Traverser for searching all objects of one class type.

With a search traverser you can scan over a scene and get a vector of pointers to the objects you're searching. It's possible to search for objects of a specific class or for objects that have a specific base class.

Member Typedef Documentation

typedef std::vector<const nvsg::Object*>::const_iterator nvtraverser::SearchTraverser::iterator

Iterator type definition.

Constructor & Destructor Documentation

NVSG_API nvtraverser::SearchTraverser::SearchTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::SearchTraverser::~SearchTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

const std::vector< const nvsg::Object * > & nvtraverser::SearchTraverser::getResults ( void ) const [inline]

Get a constant reference to the vector of search results.

Returns:
constant reference to the vector of search results

void nvtraverser::SearchTraverser::setClassName ( const std::string & name ) [inline]

Set the class name to search for.

The class name to look for needs to be fully qualified, i.e. "class nvsg::LightSource" instead of "LightSource" only.

Parameters:
name class name to look for in a sceene

void nvtraverser::SearchTraverser::setBaseClassSearch ( bool enable ) [inline]

Enable/Disable the search for base classes.

If the search for base class is enabled, all classes that are equal to are are derived from the search class are found.

Parameters:
enable true, to enable base class search, otherwise false

virtual NVSG_API void nvtraverser::SearchTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Set up the search and traverse the scene.

Parameters:
pViewState | ignored
pScene | scene to traverse

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

Parameters:
p Points to the currently visited GeoNode object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Routine to handle a Group node while traversing the scene graph.

Parameters:
p Points to the currently visited Group object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

Parameters:
p Points to the currently visited LOD object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Routine to handle a Switch node while traversing the scene graph.

Parameters:
p Points to the currently visited Switch object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Routine to handle a Transform node while traversing the scene graph.

Parameters:
p Points to the currently visited Transform object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Routine to handle a AnimatedTransform node while traversing the scene graph.

Parameters:
p Points to the currently visited AnimatedTransform object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Routine to handle a DirectedLight node while traversing the scene graph.

Parameters:
p Points to the currently visited DirectedLight object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Routine to handle a PointLight node while traversing the scene graph.

Parameters:
p Points to the currently visited PointLight object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Routine to handle a SpotLight node while traversing the scene graph.

Parameters:
p Points to the currently visited SpotLight object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

Parameters:
p Points to the currently visited Quads object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Routine to handle a AnimatedQuads object while traversing the scene graph.

Parameters:
p Points to the currently visited AnimatedQuads object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

Parameters:
p Points to the currently visited QuadStrips object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

Parameters:
p Points to the currently visited Triangles object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Routine to handle a AnimatedTriangles object while traversing the scene graph.

Parameters:
p Points to the currently visited AnimatedTriangles object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Routine to handle a SkinnedTriangles object while traversing the scene graph.

Parameters:
p Points to the currently visited SkinnedTriangles object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

Parameters:
p Points to the currently visited TriStrips object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

Parameters:
p Points to the currently visited StateSet object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx attribute while traversing the scene graph.

Parameters:
p Points to the currently visited CgFx object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Routine to handle a FaceAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited FaceAttribute object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Routine to handle a Material attribute while traversing the scene graph.

Parameters:
p Points to the currently visited Material object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Routine to handle a TextureAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited TextureAttribute object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleJitterCamera | ( | const nvsg::JitterCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a JitterCamera object while traversing the scene graph.

Parameters:
p | Points to the currently visited JitterCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleParallelCamera | ( | const nvsg::ParallelCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a ParallelCamera object while traversing the scene graph.

Parameters:
p | Points to the currently visited ParallelCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handlePerspectiveCamera | ( | const nvsg::PerspectiveCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a PerspectiveCamera object while traversing the scene graph.

Parameters:
p | Points to the currently visited PerspectiveCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleStereoCamera | ( | const nvsg::StereoCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a StereoCamera object while traversing the scene graph.

Parameters:
p | Points to the currently visited StereoCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleFramedTrafoAnimation ( const nvsg::FramedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph.

Parameters:
p Points to the currently visited Animation object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleFramedVNVectorAnimation ( const nvsg::FramedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph.

Parameters:
p Points to the currently visited Animation object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleLinearInterpolatedTrafoAnimation ( const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph.

Parameters:
p Points to the currently visited Animation object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::handleLinearInterpolatedVNVectorAnimation ( const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph.

Parameters:
p Points to the currently visited Animation object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Animation< nvmath::Trafo > * p ) [protected, virtual]

Search through an Animation<Trafo> object.

This function is called when base class searching is enabled.

Parameters:
p Animation to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Animation< nvsg::VNVector > * p ) [protected, virtual]

Search through an Animation<VNVector> object.

This function is called when base class searching is enabled.

Parameters:
p Animation to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Camera * p ) [protected, virtual]

Search through a Camera object.

This function is called when base class searching is enabled.

Parameters:
p Camera to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Drawable * p ) [protected, virtual]

Search through a Drawable object.

This function is called when base class searching is enabled.

Parameters:
p Drawable to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::GeoSet * p ) [protected, virtual]

Search through a GeoSet object.

This function is called when base class searching is enabled.

Parameters:
p GeoSet to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Group * p ) [protected, virtual]

Search through a Group object.

This function is called when Group is searched through or base class searching is enabled.

Parameters:
p Group to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::InterpolatedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Search through an InterpolatedAnimation<Trafo>.

This function is called when base class searching is enabled.

Parameters:
p InterpolatedAnimation to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::InterpolatedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Search through an InterpolatedAnimation<VNVector>.

This function is called when base class searching is enabled.

Parameters:
p InterpolatedAnimation to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::LightSource * p ) [protected, virtual]

Search through a LightSource object.

This function is called when base class searching is enabled.

Parameters:
p LightSource to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::MonoCamera * p ) [protected, virtual]

Search through a MonoCamera object.

This function is called when base class searching is enabled.

Parameters:
p MonoCamera to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Node * p ) [protected, virtual]

Search through a Node object.

This function is called when base class searching is enabled.

Parameters:
p Node to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Object * p ) [protected, virtual]

Search through an Object object.

This function is called when base class searching is enabled.

Parameters:
p Object to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Quads * p ) [protected, virtual]

Search through an Quads object.

This function is called when a Quad is search through or a base class searching is enabled.

Parameters:
p Quads to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::StateAttribute * p ) [protected, virtual]

Search through a StateAttribute object.

This function is called when base class searching is enabled.

Parameters:
p StateAttribute to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Transform * p ) [protected, virtual]

Search through a Transform object.

This function is called when Transform is searched or a base class searching is enabled.

Parameters:
p Transform to search through

virtual NVSG_API void nvtraverser::SearchTraverser::search ( const nvsg::Triangles * p ) [protected, virtual]

Search through a Triangles object.

This function is called when a Triangles is searched or a base class searching is enabled.

Parameters:
p Triangles to search through

The documentation for this class was generated from the following file:
  • SearchTraverser.h
Generated on Fri Jan 28 09:22:15 2005 for NVSGSDK by NVIDIA


nvsg::SimpleCamera Class Reference

A simple camera. More...

#include <SimpleCamera.h>

Inheritance diagram for nvsg::SimpleCamera:

[legend]
Collaboration diagram for nvsg::SimpleCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const SimpleCamera * | clone (void) const=0
Interface for cloning a SimpleCamera.

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

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

virtual NVSG_API float | getProjectionDx () const
Get the projection translation (used with stereo only).

virtual NVSG_API void | setProjectionDx (float dx)
Set the project translation (used with stereo only).

virtual NVSG_API size_t | getNumberOfHeadLights () const
Get number of headlights attached to the camera.

virtual NVSG_API const LightSource * | getHeadLight (size_t index) const
Get the indexed headlight of this camera.

virtual NVSG_API bool | setHeadLightTrafo (const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0)
Set the headlight position and orientation relative to the camera.

virtual NVSG_API void | getHeadLightTrafo (nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const
Get the position/orientation of the indexed headlight of this camera.

virtual NVSG_API void | addHeadLight (const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f))
Add a headlight on this camera.

virtual NVSG_API bool | removeHeadLight (size_t index=0)
Remove a headlight.

virtual NVSG_API float | getTargetDistance () const
Get the distance to the target point.

virtual NVSG_API void | setTargetDistance (float td)
Set the distance to the target point.

virtual NVSG_API const nvmath::Vec3f & | getPosition () const
Get the camera position.

virtual NVSG_API void | setPosition (const nvmath::Vec3f &pos)
Set the camera position.

virtual NVSG_API nvmath::Vec3f | getUpVector () const
Get the up direction.

virtual NVSG_API void | setUpVector (const nvmath::Vec3f &up)
Set the up direction.

virtual NVSG_API nvmath::Vec3f | getDirection () const
Get viewing direction.

virtual NVSG_API void | setDirection (const nvmath::Vec3f &dir)
Set the viewing direction.

virtual NVSG_API void | setOrientation (const nvmath::Quatf &quat)
Set the orientation of the camera.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &dir, const nvmath::Vec3f &up)
Set the orientation of the camera.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &axis, float angle)
Interface for setting the orientation of the camera.

virtual NVSG_API nvmath::Quatf | getOrientation (void) const
Get the current orientation.

virtual NVSG_API nvmath::Mat44f | getWorldToViewMatrix () const
Get the world-to-view transformation.

virtual NVSG_API nvmath::Mat44f | getViewToWorldMatrix () const
Get the inverse of the camera specific world-to-view transformation.

virtual NVSG_API void | setWindowOffset (const nvmath::Vec2f &offset)
Set the window offset.

virtual NVSG_API const nvmath::Vec2f & | getWindowOffset () const
Get the window offset.

virtual NVSG_API void | setWindowSize (const nvmath::Vec2f &size)
Set the window size.

virtual NVSG_API const nvmath::Vec2f & | getWindowSize () const
Get the window size.

virtual NVSG_API void | setAspectRatio (float ar, bool keepWidth=false)
Set the aspect ratio.

virtual NVSG_API float | getAspectRatio () const
Get the current aspect ratio.

virtual NVSG_API void | setWindowRegion (const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight)
Set the relative window region to view.

virtual NVSG_API void | getWindowRegion (nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const
Get the relative window region to view.

virtual NVSG_API void | setAutoClipPlanes (bool on)
Enable/Disable automatic clip plane determination.

virtual NVSG_API bool | isAutoClipPlanes () const
Get auto clipping state.

virtual NVSG_API void | calcNearFarDistances (const nvmath::Sphere3f &sphere)
Calculate the distances to the near and far clipping planes.

virtual NVSG_API void | setNearDistance (float nd)
Set the near clipping distance.

virtual NVSG_API float | getNearDistance () const
Get distance to near clipping plane.

virtual NVSG_API float | getFarDistance () const
Get distance to far clipping plane.

virtual NVSG_API void | setFarDistance (float fd)
Set the far clipping distance.

virtual NVSG_API void | move (const nvmath::Vec3f &delta)
Move the camera.

virtual NVSG_API void | orbit (const nvmath::Vec3f &axis, float rad)
Orbit the camera.

virtual NVSG_API void | rotate (const nvmath::Vec3f &axis, float rad, bool cameraRelative=true)
Interface for rotating the camera.

virtual NVSG_API void | zoom (float factor)
Zoom by a factor.

virtual NVSG_API void | zoom (const nvmath::Sphere3f &sphere, float fovy=-1.0f)
Zoom to fit view to a sphere.

Protected Member Functions

NVSG_API | SimpleCamera ()
Constructor.

NVSG_API | SimpleCamera (const SimpleCamera &rhs)
Copy constructor.

virtual NVSG_API | ~SimpleCamera ()
Protected destructor to prevent explicit creation on stack.

Detailed Description

A simple camera.

This camera type is used to group the simple camera types (as Parallel/Perspective).

Constructor & Destructor Documentation

NVSG_API nvsg::SimpleCamera::SimpleCamera ( ) [protected]

Constructor.

NVSG_API nvsg::SimpleCamera::SimpleCamera ( const SimpleCamera & rhs ) [protected]

Copy constructor.

Parameters:
rhs source camera object

virtual NVSG_API nvsg::SimpleCamera::~SimpleCamera ( ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

virtual NVSG_API const SimpleCamera* nvsg::SimpleCamera::clone ( void ) const [pure virtual]

Interface for cloning a SimpleCamera.

Implements nvsg::MonoCamera.

Implemented in nvsg::ParallelCamera, and nvsg::PerspectiveCamera.

virtual NVSG_API bool nvsg::SimpleCamera::isDataShared ( ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

virtual NVSG_API DataID nvsg::SimpleCamera::getDataID ( ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Object.

virtual NVSG_API float nvsg::SimpleCamera::getProjectionDx ( ) const [virtual]

Get the projection translation (used with stereo only).

Returns:
The projection translation in x

Implements nvsg::MonoCamera.

virtual NVSG_API void nvsg::SimpleCamera::setProjectionDx ( float dx ) [virtual]

Set the project translation (used with stereo only).

Parameters:
dx shift of projection in x-direction

Implements nvsg::MonoCamera.

virtual NVSG_API size_t nvsg::SimpleCamera::getNumberOfHeadLights ( ) const [virtual]

Get number of headlights attached to the camera.

Returns:
The number of headlights attached to camera

Implements nvsg::Camera.

const LightSource * nvsg::SimpleCamera::getHeadLight ( size_t index ) const [inline, virtual]

Get the indexed headlight of this camera.

Returns:
A constant pointer to the indexed headlight
Parameters:
index index of head light to get

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::SimpleCamera::setHeadLightTrafo | ( | const nvmath::Vec3f & | trans,
 |  | const nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | [virtual]

Set the headlight position and orientation relative to the camera.

Returns:
true if a headlight with this index exists, otherwise false
Parameters:
trans | position of headlight
quat | orientation of headlight
index | index of headlight

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::getHeadLightTrafo | ( | nvmath::Vec3f & | trans,
 |  | nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | const [virtual]

Get the position/orientation of the indexed headlight of this camera.

It is assumed that the camera holds at least index headlights.

Parameters:
trans | translation relative to the camera
quat | rotation relative to the camera
index | index of the headlight to get information from

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::addHeadLight | ( | const LightSource * | pLight,
 |  | const nvmath::Vec3f & | position = nvmath::Vec3f(0.0f, 0.0f, 0.0f),
 |  | const nvmath::Quatf & | quat = nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)
 | ) | [virtual]

Add a headlight on this camera.

A camera can have a number of headlights that are positioned relative to the camera, i.e. they move together with the camera. These lights are not part of the scene, but part of the camera. The default position and orientation of a new headlight is the camera position and orientation.

Parameters:
pLight | The light source to add
position | The position relative to the camera
quat | The rotation relative to the camera

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::SimpleCamera::removeHeadLight ( size_t index = 0 ) [virtual]

Remove a headlight.

Returns:
true if headlight was removed, otherwise false
Parameters:
index index of headlight to remove

Implements nvsg::Camera.

virtual NVSG_API float nvsg::SimpleCamera::getTargetDistance ( ) const [virtual]

Get the distance to the target point.

Returns:
The distance to the target point

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setTargetDistance ( float td ) [virtual]

Set the distance to the target point.

Parameters:
td distance to target point (or viewing plane)

Implements nvsg::Camera.

Reimplemented in nvsg::PerspectiveCamera.

virtual NVSG_API const nvmath::Vec3f& nvsg::SimpleCamera::getPosition ( ) const [virtual]

Get the camera position.

Returns:
The position of camera

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setPosition ( const nvmath::Vec3f & pos ) [virtual]

Set the camera position.

Parameters:
pos position

Implements nvsg::Camera.

virtual NVSG_API nvmath::Vec3f nvsg::SimpleCamera::getUpVector ( ) const [virtual]

Get the up direction.

Returns:
The up direction of camera

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setUpVector ( const nvmath::Vec3f & up ) [virtual]

Set the up direction.

Parameters:
up up direction (might change viewing direction)

Implements nvsg::Camera.

virtual NVSG_API nvmath::Vec3f nvsg::SimpleCamera::getDirection ( ) const [virtual]

Get viewing direction.

The default viewing direction of a SimpleCamera is along the negative z-axis.

Returns:
The viewing direction

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setDirection ( const nvmath::Vec3f & dir ) [virtual]

Set the viewing direction.

Parameters:
dir new viewing direction (might change upVector)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setOrientation ( const nvmath::Quatf & quat ) [virtual]

Set the orientation of the camera.

Parameters:
quat quaternion that determines direction and up vector

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setOrientation | ( | const nvmath::Vec3f & | dir,
 |  | const nvmath::Vec3f & | up
 | ) | [virtual]

Set the orientation of the camera.

Parameters:
dir | direction to look at
up | up vector

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setOrientation | ( | const nvmath::Vec3f & | axis,
 |  | float | angle
 | ) | [virtual]

Interface for setting the orientation of the camera.

Parameters:
axis | axis to rotate about
angle | angle to rotate

Implements nvsg::Camera.

virtual NVSG_API nvmath::Quatf nvsg::SimpleCamera::getOrientation ( void ) const [virtual]

Get the current orientation.

Returns:
quaternion that describes the orientation

Implements nvsg::Camera.

virtual NVSG_API nvmath::Mat44f nvsg::SimpleCamera::getWorldToViewMatrix ( ) const [virtual]

Get the world-to-view transformation.

Returns:
world-to-camera transformation

Implements nvsg::Camera.

virtual NVSG_API nvmath::Mat44f nvsg::SimpleCamera::getViewToWorldMatrix ( ) const [virtual]

Get the inverse of the camera specific world-to-view transformation.

Returns:
inverse of the world-to-view transformation (i.e. view to world)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setWindowOffset ( const nvmath::Vec2f & offset ) [virtual]

Set the window offset.

Parameters:
offset window ofset to viewing reference point

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec2f& nvsg::SimpleCamera::getWindowOffset ( ) const [virtual]

Get the window offset.

Returns:
The window offset

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setWindowSize ( const nvmath::Vec2f & size ) [virtual]

Set the window size.

Parameters:
size window size (world coordinates)

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec2f& nvsg::SimpleCamera::getWindowSize ( ) const [virtual]

Get the window size.

Returns:
The window size

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setAspectRatio | ( | float | ar,
 |  | bool | keepWidth = false
 | ) | [virtual]

Set the aspect ratio.

Parameters:
ar | new aspect ratio
keepWidth | keep width or height constant

Implements nvsg::Camera.

virtual NVSG_API float nvsg::SimpleCamera::getAspectRatio ( ) const [virtual]

Get the current aspect ratio.

Returns:
The width versus height of the camera window

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setWindowRegion | ( | const nvmath::Vec2f & | lowerLeft,
 |  | const nvmath::Vec2f & | upperRight
 | ) | [virtual]

Set the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::getWindowRegion | ( | nvmath::Vec2f & | lowerLeft,
 |  | nvmath::Vec2f & | upperRight
 | ) | const [virtual]

Get the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setAutoClipPlanes ( bool on ) [virtual]

Enable/Disable automatic clip plane determination.

Parameters:
on true to enable, false to disable

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::SimpleCamera::isAutoClipPlanes ( ) const [virtual]

Get auto clipping state.

If auto clip is on, the camera determines the optimal near and front clipping distances out of the scene. If the user has additional information about the scene that might help clipping, it should be turned off.

Returns:
true, if auto clip is on, otherwise false

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::calcNearFarDistances ( const nvmath::Sphere3f & sphere ) [virtual]

Calculate the distances to the near and far clipping planes.

Near and far distances can be used internally to the camera to improve depth resolution. This function should determine these values such that the sphere given by center and radius just fits between them.

Parameters:
sphere bounding sphere of the world to look at

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setNearDistance ( float nd ) [virtual]

Set the near clipping distance.

Parameters:
nd near clipping distance

Implements nvsg::Camera.

virtual NVSG_API float nvsg::SimpleCamera::getNearDistance ( ) const [virtual]

Get distance to near clipping plane.

Near and far distances can be used internally to the camera to improve depth resolution.

Returns:
The distance to the near clipping plane

Implements nvsg::Camera.

virtual NVSG_API float nvsg::SimpleCamera::getFarDistance ( ) const [virtual]

Get distance to far clipping plane.

Near and far distances can be used internally to the camera to improve depth resolution.

Returns:
The distance to the far clipping plane

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::setFarDistance ( float fd ) [virtual]

Set the far clipping distance.

Parameters:
fd far clipping distance

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::move ( const nvmath::Vec3f & delta ) [virtual]

Move the camera.

Parameters:
delta delta to move the camera (camera coordinates)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::orbit | ( | const nvmath::Vec3f & | axis,
 |  | float | rad
 | ) | [virtual]

Orbit the camera.

Parameters:
axis | axis to orbit around (camera coordinates)
rad | angle to orbit (radians)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::rotate | ( | const nvmath::Vec3f & | axis,
 |  | float | rad,
 |  | bool | cameraRelative = true
 | ) | [virtual]

Interface for rotating the camera.

Parameters:
axis | axis to rotate around
rad | angle to rotate (radians)
cameraRelative | flag to indicate if the axis is camera or world relative

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::zoom ( float factor ) [virtual]

Zoom by a factor.

Parameters:
factor zoom in/out by this factor; changes windowSize

Implements nvsg::Camera.

virtual NVSG_API void nvsg::SimpleCamera::zoom | ( | const nvmath::Sphere3f & | sphere,
 |  | float | fovy = -1.0f
 | ) | [virtual]

Zoom to fit view to a sphere.

Parameters:
sphere | sphere to zoom on
fovy | field of view; if negative, keep the current

Implements nvsg::Camera.

The documentation for this class was generated from the following file:
  • SimpleCamera.h
Generated on Fri Jan 28 09:21:38 2005 for NVSGSDK by NVIDIA


Templatenvutil::Singleton< T > class Reference

nvutil::Singleton< T > Class Template Reference

A Singleton framework. More...

#include <Singleton.h>

Collaboration diagram for nvutil::Singleton< T >:

[legend]
List of all members.

Static Public Member Functions

T * instance ()
Single instance access.

Detailed Description

template<typename T>
class nvutil::Singleton< T >

A Singleton framework.

Ensures a class T only has one instance. Defines a global point of access to that object.

Member Function Documentation

template<typename T>
T * nvutil::Singleton< T >::instance ( ) [inline, static]

Single instance access.

Receive a pointer to the single instance.

The documentation for this class was generated from the following file:
  • Singleton.h
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


nvsg::Skin Struct Reference

Internal helper class for SkinnedTriangles. More...

#include <SkinnedTriangles.h>

Collaboration diagram for nvsg::Skin:

[legend]
List of all members.

Public Attributes

std::vector< Bone > m_bones
vector of "Bones" from wich a vertex and a normal is calculated

nvmath::Vec3f m_normal
current normal, calculated from the vector of "Bones"

nvmath::Vec3f m_vertex
current vertex, calculated from the vector of "Bones"

Detailed Description

Internal helper class for SkinnedTriangles.

Instead of the vertices and normals from Triangles, SkinnedTriangles use a special construction that has a vector of "Bones" per vertex, from which the vertices and normals are calculated. This calculation depends on the animation step.

The vertex and the normal of a Skin are starting values, that are calculated out of the first animation step of each bone, together with their offset and weight. These values are used as starting values on the following animation steps.

Member Data Documentation

std::vector<Bone> nvsg::Skin::m_bones

vector of "Bones" from wich a vertex and a normal is calculated

nvmath::Vec3f nvsg::Skin::m_normal

current normal, calculated from the vector of "Bones"

nvmath::Vec3f nvsg::Skin::m_vertex

current vertex, calculated from the vector of "Bones"

The documentation for this struct was generated from the following file:
  • SkinnedTriangles.h
Generated on Fri Jan 28 09:21:39 2005 for NVSGSDK by NVIDIA


skin_t Struct Reference

The skin_t structure specifies how a skin is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numBones
Specifies the number of bones describing the actual skin.

uint_t bones
float3_t vertex
Specifies the initial vertex for the actual skin.

float3_t normal
Specifies the initial normal for the actual skin.

Detailed Description

The skin_t structure specifies how a skin is stored in a .NBF file.

Skins need to be considered in conjunction with NBFSkinnedTriangles objects.

Member Data Documentation

uint_t skin_t::numBones

Specifies the number of bones describing the actual skin.

uint_t skin_t::bones

Specifies the file offset to the bones describing the actual skin. < The way bones are stored in a .NBF file is specified by the bone_t structure.

float3_t skin_t::vertex

Specifies the initial vertex for the actual skin.

float3_t skin_t::normal

Specifies the initial normal for the actual skin.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


nvsg::SkinnedTriangles Class Reference

GeoSet for animated Triangles. More...

#include <SkinnedTriangles.h>

Inheritance diagram for nvsg::SkinnedTriangles:

[legend]
Collaboration diagram for nvsg::SkinnedTriangles:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const SkinnedTriangles * | clone (void) const
Get a clone of this SkinnedTriangles object.

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

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

virtual NVSG_API size_t | getNumberOfFrames (void) const
Get the number of animation frames that are part of this SkinnedTriangles.

NVSG_API size_t | getNumberOfSkins (void) const
Get number of skins.

NVSG_API const Skin * | getSkins (void) const
Get the skins.

NVSG_API void | setAnimationFrame (size_t frame, bool bCalculateTangentSpace)
Calculate vertices and normals depending on the animation frame.

NVSG_API void | setNormals (const nvmath::Vec3f *pNor, size_t numNor)
Overwrite of Triangles::setNormals.

NVSG_API void | setNormals (size_t pos, const nvmath::Vec3f *pNor, size_t numNor)
Overwrite of Triangles::setNormals.

NVSG_API void | setSkins (const Skin *pSkins, size_t numSkins)
Set the skins.

NVSG_API void | setSkins (size_t pos, const Skin *pSkins, size_t numSkins)
Set skins.

Static Public Member Functions

NVSG_API const SkinnedTriangles * | create (void)
Create a SkinnedTriangles.

NVSG_API const SkinnedTriangles * | createFromBase (const Triangles &rhs)
Create a SkinnedTriangles by copying from a Triangles.

Protected Member Functions

NVSG_API | SkinnedTriangles (void)
Constructor.

NVSG_API | SkinnedTriangles (const Triangles &rhs)
Partial Constructor.

NVSG_API | SkinnedTriangles (const SkinnedTriangles &rhs)
Copy Constructor.

virtual NVSG_API | ~SkinnedTriangles (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

GeoSet for animated Triangles.

This class has additional information to calculate the vertices and normals of a Triangles depending on the animation step.

Constructor & Destructor Documentation

NVSG_API nvsg::SkinnedTriangles::SkinnedTriangles ( void ) [protected]

Constructor.

NVSG_API nvsg::SkinnedTriangles::SkinnedTriangles ( const Triangles & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::SkinnedTriangles::SkinnedTriangles ( const SkinnedTriangles & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::SkinnedTriangles::~SkinnedTriangles ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const SkinnedTriangles* nvsg::SkinnedTriangles::create ( void ) [static]

Create a SkinnedTriangles.

Returns:
a constant pointer to a SkinnedTriangles.

Reimplemented from nvsg::Triangles.

NVSG_API const SkinnedTriangles* nvsg::SkinnedTriangles::createFromBase ( const Triangles & rhs ) [static]

Create a SkinnedTriangles by copying from a Triangles.

Returns:
a constant pointer to a SkinnedTriangles.

virtual NVSG_API const SkinnedTriangles* nvsg::SkinnedTriangles::clone ( void ) const [virtual]

Get a clone of this SkinnedTriangles object.

Returns:
a constant pointer to a SkinnedTriangles.

Reimplemented from nvsg::Triangles.

virtual NVSG_API bool nvsg::SkinnedTriangles::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Triangles.

virtual NVSG_API DataID nvsg::SkinnedTriangles::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Triangles.

virtual NVSG_API size_t nvsg::SkinnedTriangles::getNumberOfFrames ( void ) const [virtual]

Get the number of animation frames that are part of this SkinnedTriangles.

Returns:
The number of animation frames if there is an animation attached, otherwise zero.

Reimplemented from nvsg::Drawable.

size_t nvsg::SkinnedTriangles::getNumberOfSkins ( void ) const [inline]

Get number of skins.

In addition to vertices, normals, and so on, a SkinnedTriangles contains so-called "skins". A skin is the information where one vertex and its normal can be calculated from, depending on the animation frame.

const Skin * nvsg::SkinnedTriangles::getSkins ( void ) const [inline]

Get the skins.

Returns:
A constant pointer to the skins

NVSG_API void nvsg::SkinnedTriangles::setAnimationFrame | ( | size_t | frame,
 |  | bool | bCalculateTangentSpace
 | ) |

Calculate vertices and normals depending on the animation frame.

SkinnedTriangles contain animation information on each vertex. When the animation frame is set, the vertices and normals are recalculated. If bCalculateTangentSpace is true, tangents and binormals are also recalculated.

Parameters:
frame | animation frame to set
bCalculateTangentSpace | if true, recalculate tangents and binormals

NVSG_API void nvsg::SkinnedTriangles::setNormals | ( | const nvmath::Vec3f * | pNor,
 |  | size_t | numNor
 | ) |

Overwrite of Triangles::setNormals.

Sets the normals in the skins and then calls to Triangles::setNormals.

Parameters:
pNor | normals to set
numNor | number of normals

Reimplemented from nvsg::GeoSet.

NVSG_API void nvsg::SkinnedTriangles::setNormals | ( | size_t | pos,
 |  | const nvmath::Vec3f * | pNor,
 |  | size_t | numNor
 | ) |

Overwrite of Triangles::setNormals.

Sets the normals in the skins and then calls to Triangles::setNormals.

Parameters:
pNor | normals to set
numNor | number of normals

Reimplemented from nvsg::GeoSet.

NVSG_API void nvsg::SkinnedTriangles::setSkins | ( | const Skin * | pSkins,
 |  | size_t | numSkins
 | ) |

Set the skins.

A Skin contains the information how a vertex and a normal is calculated for each animation step.

Parameters:
pSkins | skins to set
numSkins | number of skins

NVSG_API void nvsg::SkinnedTriangles::setSkins | ( | size_t | pos,
 |  | const Skin * | pSkins,
 |  | size_t | numSkins
 | ) |

Set skins.

Copies /a numSkins skins pointed to by /a pSkins, starting at position /a pos inside the range of pre-existing skins.

Pre-existing skins in the range [pos, pos + numSkins) will be replaced. Pre-existing skins outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of skins currently stored, the skins pointed to by pSkins will be appended to the pre-existing faces.

If you not specify -1 for pos or pos neither specifies the number of skins currently stored nor does it specify a valid position inside the range of pre-existing skins, the behaviour is undefined!

The documentation for this class was generated from the following file:
  • SkinnedTriangles.h
Generated on Fri Jan 28 09:21:40 2005 for NVSGSDK by NVIDIA


nvtraverser::SmoothTraverser Class Reference

Traverser that can smooth some drawables. More...

#include <SmoothTraverser.h>

Inheritance diagram for nvtraverser::SmoothTraverser:

[legend]
Collaboration diagram for nvtraverser::SmoothTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | SmoothTraverser (void)
Constructor.

NVSG_API void | setCreaseAngle (float creaseAngle)
Set the crease angle for smoothing.

Protected Member Functions

virtual NVSG_API | ~SmoothTraverser (void)
Protected destructor to prevent instantiation of a SmoothTraverser.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Handle an AnimatedQuads object.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Handle an AnimatedTriangles object.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Handle a GeoNode object.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Handle a Quads object.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Handle a QuadStrips object.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Handle an SkinnedTriangles object.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Handle a Triangles object.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Handle a TriStrips object.

Detailed Description

Traverser that can smooth some drawables.

Currently, this SmoothTraverser supports Triangles only. If these Triangles are non-trivially indexed, they are changed to be trivially indexed.

Constructor & Destructor Documentation

NVSG_API nvtraverser::SmoothTraverser::SmoothTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::SmoothTraverser::~SmoothTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a SmoothTraverser.

Member Function Documentation

NVSG_API void nvtraverser::SmoothTraverser::setCreaseAngle ( float creaseAngle )

Set the crease angle for smoothing.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Handle an AnimatedQuads object.

Explicitly ignore these GeoSets on smoothing!

Parameters:
p AnimatedQuads to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Handle an AnimatedTriangles object.

Explicitly ignore these GeoSets on smoothing!

Parameters:
p AnimatedTriangles to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Handle a GeoNode object.

The GeoNode is the primary object to smooth.

Parameters:
p GeoNode to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Handle a Quads object.

Parameters:
p Quads to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Handle a QuadStrips object.

QuadStrips are changed to Quads here...

Parameters:
p QuadStrips to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Handle an SkinnedTriangles object.

Explicitly ignore these GeoSets on smoothing!

Parameters:
p SkinnedTriangles to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Handle a Triangles object.

Parameters:
p Triangles to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::SmoothTraverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Handle a TriStrips object.

TriStrips are changed to Triangles here...

Parameters:
p TriStrips to handle

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • SmoothTraverser.h
Generated on Fri Jan 28 09:22:16 2005 for NVSGSDK by NVIDIA


nvmath::Sphere3f Class Reference

Sphere class. More...

#include <Sphere3f.h>

Inheritance diagram for nvmath::Sphere3f:

[legend]
Collaboration diagram for nvmath::Sphere3f:

[legend]
List of all members.

Public Member Functions

NVSG_API | Sphere3f (void)
Default constructor.

NVSG_API | Sphere3f (const Vec3f &center, float radius)
Constructor by center and radius.

NVSG_API Sphere3f & | operator= (const Sphere3f &sphere)
Assignment operator.

NVSG_API bool | operator== (const Sphere3f &sphere) const
Equality operator.

NVSG_API bool | operator!= (const Sphere3f &sphere) const
Inequality operator.

NVSG_API float | operator() (const Vec3f &p) const
Calling operator.

NVSG_API const Vec3f & | getCenter (void) const
Get the center of the sphere.

NVSG_API void | setCenter (const Vec3f &center)
Set the center of the sphere.

NVSG_API float | getRadius (void) const
Get the radius of the sphere.

NVSG_API void | setRadius (float radius)
Set the radius of the sphere.

Related Functions

(Note that these are not member functions.)

Sphere3f | boundingSphere (const Vec3f *points, size_t numberOfPoints)
Sphere3f | boundingSphere (const Sphere3f &s, const Vec3f &p)
Sphere3f | boundingSphere (const Sphere3f &s0, const Sphere3f &s1)

Detailed Description

Sphere class.

Constructor & Destructor Documentation

nvmath::Sphere3f::Sphere3f ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Sphere3f::Sphere3f | ( | const Vec3f & | center,
 |  | float | radius
 | ) | [inline]

Constructor by center and radius.

Parameters:
center | center
radius | radius

Member Function Documentation

Sphere3f & nvmath::Sphere3f::operator= ( const Sphere3f & sphere ) [inline]

Assignment operator.

Returns:
reference to the assigned plane
Parameters:
sphere sphere to assign

bool nvmath::Sphere3f::operator== ( const Sphere3f & sphere ) const [inline]

Equality operator.

Returns:
true if the sphere is equal to pl, otherwise false
Parameters:
sphere sphere to compare with

bool nvmath::Sphere3f::operator!= ( const Sphere3f & sphere ) const [inline]

Inequality operator.

Returns:
true if the sphere is not equal to pl, otherwise false
Parameters:
sphere sphere to compare with

float nvmath::Sphere3f::operator() ( const Vec3f & p ) const [inline]

Calling operator.

Calculates the distance of a point to the sphere. When the point is inside the sphere, the distance is negative; when the point is outside, the distance is positive.

Returns:
the signed distance of p to the sphere.
Parameters:
p point to determine distance from sphere

const Vec3f & nvmath::Sphere3f::getCenter ( void ) const [inline]

Get the center of the sphere.

Returns:
the center of the sphere.

Reimplemented in nvmath::BoundingSphere.

void nvmath::Sphere3f::setCenter ( const Vec3f & center ) [inline]

Set the center of the sphere.

Parameters:
center point to set as center

float nvmath::Sphere3f::getRadius ( void ) const [inline]

Get the radius of the sphere.

Returns:
the radius of the sphere.

Reimplemented in nvmath::BoundingSphere.

void nvmath::Sphere3f::setRadius ( float radius ) [inline]

Set the radius of the sphere.

Parameters:
radius radius to set

Friends And Related Function Documentation

Sphere3f boundingSphere | ( | const Vec3f * | points,
 |  | size_t | numberOfPoints
 | ) | [related]

Determine the bounding sphere a number of points

Note:
The determined sphere is not neccessarily the smallest.
Returns:
A reasonable small sphere around the given points
Parameters:
points | points to to include
numberOfPoints | number of points

Sphere3f boundingSphere | ( | const Sphere3f & | s,
 |  | const Vec3f & | p
 | ) | [related]

Determine the bounding sphere around a sphere s and a point p.

Returns:
The bounding sphere around s and p.
Parameters:
s | sphere to include
p | point to include

Sphere3f boundingSphere | ( | const Sphere3f & | s0,
 |  | const Sphere3f & | s1
 | ) | [related]

Determine the bounding sphere around two given spheres.

Returns:
the smallest sphere that includes both given spheres s0 and s1.
Parameters:
s0 | first sphere to include
s1 | second sphere to include

The documentation for this class was generated from the following file:
  • Sphere3f.h
Generated on Fri Jan 28 09:20:52 2005 for NVSGSDK by NVIDIA


nvsg::SpotLight Class Reference

Class representing a spot light. More...

#include <SpotLight.h>

Inheritance diagram for nvsg::SpotLight:

[legend]
Collaboration diagram for nvsg::SpotLight:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const SpotLight * | clone (void) const
Get a clone of this SpotLight.

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

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

NVSG_API const nvmath::Vec3f & | getAttenuation (void) const
Get attenuation.

NVSG_API bool | isAttenuated (void) const
Ask if this light source is attenuated.

NVSG_API void | getAttenuation (float &c, float &l, float &q) const
Get the attenuation factors for this light.

NVSG_API void | setAttenuation (float c, float l, float q)
Set the attenuation factors for this light.

NVSG_API float | getCutoffAngle (void) const
Get the cutoff angle.

NVSG_API void | setCutoffAngle (float ca)
Set the cutoff angle.

NVSG_API float | getFalloffExponent (void) const
Get the falloff exponent.

NVSG_API void | setFalloffExponent (float fe)
Set the falloff exponent.

Static Public Member Functions

NVSG_API const SpotLight * | create (void)
Create a SpotLight.

NVSG_API const SpotLight * | createFromBase (const LightSource &rhs)
Create a SpotLight by copying from a LightSource.

Protected Member Functions

NVSG_API | SpotLight (void)
Constructor.

NVSG_API | SpotLight (const LightSource &rhs)
Partial Constructor.

NVSG_API | SpotLight (const SpotLight &rhs)
Copy Constructor.

virtual NVSG_API | ~SpotLight (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Class representing a spot light.

A SpotLight restricts the shape of the emitted light to a cone. To specify the angle between the axis of the cone and a ray along the edge of the cone, use setCutoffAngle() with the angle in degrees. The angle of the cone at the apex is then twice this value. No light is emitted beyond the edges of the cone.

In addition, there are two ways to control the intensity distribution of the light within the cone. First, you can set the attenuation factors with setAttenuation(). You can also set a falloff exponent using setFalloffExponent(), which by default is zero, to control how concentrated the light is. The light's intensity is highest in the center of the cone. It is attenuated toward the edges of the cone by the cosine of the angle between the direction of the light and the direction from the light to the vertex being lit, raised to the power of the falloff exponent. Thus, higher falloff exponents result in a more focused light source.
Note:
The default light direction is (0,0,-1)

Constructor & Destructor Documentation

NVSG_API nvsg::SpotLight::SpotLight ( void ) [protected]

Constructor.

NVSG_API nvsg::SpotLight::SpotLight ( const LightSource & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::SpotLight::SpotLight ( const SpotLight & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::SpotLight::~SpotLight ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const SpotLight* nvsg::SpotLight::create ( void ) [static]

Create a SpotLight.

Returns:
a constant pointer to a SpotLight.

NVSG_API const SpotLight* nvsg::SpotLight::createFromBase ( const LightSource & rhs ) [static]

Create a SpotLight by copying from a LightSource.

Returns:
a constant pointer to a SpotLight.
Parameters:
rhs LightSource to copy from

virtual NVSG_API const SpotLight* nvsg::SpotLight::clone ( void ) const [virtual]

Get a clone of this SpotLight.

Returns:
A constant pointer to the new created clone.

Implements nvsg::Node.

virtual NVSG_API bool nvsg::SpotLight::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::LightSource.

virtual NVSG_API DataID nvsg::SpotLight::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::LightSource.

const nvmath::Vec3f & nvsg::SpotLight::getAttenuation ( void ) const [inline]

Get attenuation.

Returns:
Attenuation factors in a Vec3f.

bool nvsg::SpotLight::isAttenuated ( void ) const [inline]

Ask if this light source is attenuated.

A light source is attenuated if the constant attenuation factor is different from one, or if the linear or quadratic attenuation factor is different from zero.

Returns:
true if this light source is attenuated, otherwise false

void nvsg::SpotLight::getAttenuation | ( | float & | c,
 |  | float & | l,
 |  | float & | q
 | ) | const [inline]

Get the attenuation factors for this light.

The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation atten = 1 / ( c + l * d + q * d * d ) where d is the distance between the light and the vertex.

Parameters:
c | constant attenuation factor
l | linear attenuation factor
q | quadratic attenuation factor

void nvsg::SpotLight::setAttenuation | ( | float | c,
 |  | float | l,
 |  | float | q
 | ) | [inline]

Set the attenuation factors for this light.

The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation atten = 1 / ( c + l * d + q * d * d ) where d is the distance between the light and the vertex.

Parameters:
c | constant attenuation factor
l | linear attenuation factor
q | quadratic attenuation factor

float nvsg::SpotLight::getCutoffAngle ( void ) const [inline]

Get the cutoff angle.

The light's cone is cut off at this angle (in degree). Points beyond this cone are not lit. The default is 45.0.

Returns:
The cutoff angle

void nvsg::SpotLight::setCutoffAngle ( float ca ) [inline]

Set the cutoff angle.

The light's cone is cut off at this angle (in degrees). Points beyond this cone are not lit. The default is 45.0.

Parameters:
ca cutoff angle (in degrees)

float nvsg::SpotLight::getFalloffExponent ( void ) const [inline]

Get the falloff exponent.

The falloff exponent controls the sharpness of the spot light. The higher the exponent, the more focused the light source. The default is 0.0

Returns:
The falloff exponent

void nvsg::SpotLight::setFalloffExponent ( float fe ) [inline]

Set the falloff exponent.

The falloff exponent controls the sharpness of the spot light. The higher the exponent, the more focused the light source. The default is 0.0.

Parameters:
fe falloff exponent

The documentation for this class was generated from the following file:
  • SpotLight.h
Generated on Fri Jan 28 09:21:41 2005 for NVSGSDK by NVIDIA


nvsg::StateAttribute Class Reference

Pure virtual base class of all state attribute objects. More...

#include <StateAttribute.h>

Inheritance diagram for nvsg::StateAttribute:

[legend]
Collaboration diagram for nvsg::StateAttribute:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const StateAttribute * | clone (void) const=0
Get a clone of this attribute.

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

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

NVSG_API const nvutil::Incarnation & | getIncarnation (void) const
Get attribute's incarnation for comparison purposes.

NVSG_API size_t | getNumberOfParents (void) const
Get the number of parents of this StateAttribute.

NVSG_API const StateSet * | getParent (size_t index) const
Get a constant pointer to the parent StateSet at position index.

virtual NVSG_API bool | containsTransparentMaterial (void) const
Ask if this StateAttribute is a transparent Material.

virtual NVSG_API void | invalidateTransparentMaterialContainment (void)
Invalidate the transparent Material containment cache.

virtual NVSG_API bool | containsTransparentTexture (void) const
Ask if this StateAttribute is a transparent Texture.

virtual NVSG_API void | invalidateTransparentTextureContainment (void)
Invalidate the transparent Texture containment cache.

Protected Member Functions

NVSG_API | StateAttribute (void)
Constructor.

NVSG_API | StateAttribute (const StateAttribute &rhs)
Copy constructor.

virtual NVSG_API | ~StateAttribute (void)
Protected destructor to prevent explicit creation on stack.

Protected Attributes

nvutil::Incarnation m_incarnation
current incarnation

Friends

class | StateSet

Detailed Description

Pure virtual base class of all state attribute objects.

Defines the interface that every state attribute (e.g. FaceAttribute) has to resolve.

Constructor & Destructor Documentation

NVSG_API nvsg::StateAttribute::StateAttribute ( void ) [protected]

Constructor.

NVSG_API nvsg::StateAttribute::StateAttribute ( const StateAttribute & rhs ) [protected]

Copy constructor.

virtual NVSG_API nvsg::StateAttribute::~StateAttribute ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

virtual NVSG_API const StateAttribute* nvsg::StateAttribute::clone ( void ) const [pure virtual]

Get a clone of this attribute.

Implemented in nvsg::CgFx, nvsg::FaceAttribute, nvsg::Material, and nvsg::TextureAttribute.

virtual NVSG_API bool nvsg::StateAttribute::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

Reimplemented in nvsg::CgFx, nvsg::FaceAttribute, nvsg::Material, and nvsg::TextureAttribute.

virtual NVSG_API DataID nvsg::StateAttribute::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Object.

Reimplemented in nvsg::CgFx, nvsg::FaceAttribute, nvsg::Material, and nvsg::TextureAttribute.

const nvutil::Incarnation & nvsg::StateAttribute::getIncarnation ( void ) const [inline]

Get attribute's incarnation for comparison purposes.

Returns:
The current incarnation.

size_t nvsg::StateAttribute::getNumberOfParents ( void ) const [inline]

Get the number of parents of this StateAttribute.

Returns:
The number of parents if this StateAttribute

const StateSet * nvsg::StateAttribute::getParent ( size_t index ) const [inline]

Get a constant pointer to the parent StateSet at position index.

Returns:
The constant pointer to the parent StateSet at position index
Parameters:
index The position to get the parent at

virtual NVSG_API bool nvsg::StateAttribute::containsTransparentMaterial ( void ) const [virtual]

Ask if this StateAttribute is a transparent Material.

Returns:
false

Reimplemented in nvsg::Material.

virtual NVSG_API void nvsg::StateAttribute::invalidateTransparentMaterialContainment ( void ) [virtual]

Invalidate the transparent Material containment cache.

Invalidating the cache is carried to all parents of this Node.

virtual NVSG_API bool nvsg::StateAttribute::containsTransparentTexture ( void ) const [virtual]

Ask if this StateAttribute is a transparent Texture.

Returns:
false

virtual NVSG_API void nvsg::StateAttribute::invalidateTransparentTextureContainment ( void ) [virtual]

Invalidate the transparent Texture containment cache.

Invalidating the cache is carried to all parents of this Node.

Member Data Documentation

nvutil::Incarnation nvsg::StateAttribute::m_incarnation [protected]

current incarnation

The documentation for this class was generated from the following file:
  • StateAttribute.h
Generated on Fri Jan 28 09:21:42 2005 for NVSGSDK by NVIDIA


nvsg::StateSet Class Reference

Class to hold a list of StateAttributes. More...

#include <StateSet.h>

Inheritance diagram for nvsg::StateSet:

[legend]
Collaboration diagram for nvsg::StateSet:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const StateSet * | clone (void) const
Create a StateSet by cloning this.

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

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

NVSG_API void | addAttribute (const StateAttribute *attrib)
Add a StateAttribute to the attribute list.

NVSG_API size_t | getNumberOfAttributes (void) const
Get the number of StateAttributes in this StateSet.

NVSG_API const StateAttribute * | getAttribute (size_t index) const
Returns a pointer to the constant StateAttribute at position index.

NVSG_API const StateAttribute * | getAttributeByObjectCode (unsigned int oc) const
Get a constant pointer to the StateAttribute with the object code oc.

NVSG_API bool | removeAttribute (const StateAttribute *attrib)
Remove a specified StateAttribute.

NVSG_API bool | removeAttribute (size_t index)
Remove the StateAttribute at position index.

NVSG_API bool | removeAttributeByObjectCode (unsigned int oc)
Remove the StateAttribute with the object code oc.

NVSG_API size_t | getNumberOfOwners (void) const
Get the number of owners of this StateSet.

NVSG_API const GeoNode * | getOwner (size_t index) const
Get a constant pointer to the owner node at position index.

virtual NVSG_API bool | containsCgFx (void) const
Ask if this StateSet contains any CgFx attributes.

virtual NVSG_API void | invalidateCgFxContainment (void)
Invalidate the CgFx containment cache.

virtual NVSG_API bool | containsTransparentMaterial (void) const
Ask if this StateSet contains any transparent Material attributes.

virtual NVSG_API void | invalidateTransparentMaterialContainment (void)
Invalidate the transparent Material containment cache.

virtual NVSG_API bool | containsTransparentTexture (void) const
Ask if this StateSet contains any transparent Texture.

virtual NVSG_API void | invalidateTransparentTextureContainment (void)
Invalidate the transparent Texture containment cache.

Static Public Member Functions

NVSG_API const StateSet * | create (void)
Create a StateSet.

NVSG_API const StateSet * | createFromBase (const Object &rhs)
Create a StateSet by copying from an Object.

Protected Member Functions

NVSG_API | StateSet (void)
Constructor.

NVSG_API | StateSet (const Object &rhs)
Partial Constructor.

NVSG_API | StateSet (const StateSet &rhs)
Copy constructor.

virtual NVSG_API | ~StateSet (void)
Protected destructor to prevent explicit creation on stack.

NVSG_API void | invalidateCaches (const StateAttribute *attrib, bool insert)
Invalidate all caches of this StateSet, maybe depending on the added or removed StateAttribute.

Friends

class | GeoNode

Related Functions

(Note that these are not member functions.)

NVSG_API bool | operator== (const StateSet &lhs, const StateSet &rhs)

Detailed Description

Class to hold a list of StateAttributes.

A StateSet is a complete description of the visual appearance of some geometry. This is achieved by a list of StateAttributes, each describing parts of the appearance (e.g. FaceAttribute, Material, TextureAttribute).

Constructor & Destructor Documentation

NVSG_API nvsg::StateSet::StateSet ( void ) [protected]

Constructor.

NVSG_API nvsg::StateSet::StateSet ( const Object & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::StateSet::StateSet ( const StateSet & rhs ) [protected]

Copy constructor.

virtual NVSG_API nvsg::StateSet::~StateSet ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const StateSet* nvsg::StateSet::create ( void ) [static]

Create a StateSet.

Returns:
a constant pointer to a StateSet.

NVSG_API const StateSet* nvsg::StateSet::createFromBase ( const Object & rhs ) [static]

Create a StateSet by copying from an Object.

Returns:
a constant pointer to a StateSet.

virtual NVSG_API const StateSet* nvsg::StateSet::clone ( void ) const [virtual]

Create a StateSet by cloning this.

Returns:
a constant pointer to a StateSet.

virtual NVSG_API bool nvsg::StateSet::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

virtual NVSG_API DataID nvsg::StateSet::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Object.

NVSG_API void nvsg::StateSet::addAttribute ( const StateAttribute * attrib )

Add a StateAttribute to the attribute list.

There is always only one attribute of the same type in the list. So for example if you add a second StateAttribute of the type CgFX the other CgFX attribute will be replaced.

Note:
In RenderTraverser::RT_EFFECTED mode the CgFX attribute is used with higher priority than every other attribute. E.g an additional material attribute will be neglected until you use RenderTraverser::RT_SHADED.
Parameters:
attrib attribute to add

size_t nvsg::StateSet::getNumberOfAttributes ( void ) const [inline]

Get the number of StateAttributes in this StateSet.

Returns:
number of StateAttributes in this StateSet

const StateAttribute * nvsg::StateSet::getAttribute ( size_t index ) const [inline]

Returns a pointer to the constant StateAttribute at position index.

Returns:
A pointer to the constant StateAttribute at position index.
Note:
The behavior is undefined if called with an invalid index.
Parameters:
index position to get StateAttribute at

NVSG_API const StateAttribute* nvsg::StateSet::getAttributeByObjectCode ( unsigned int oc ) const

Get a constant pointer to the StateAttribute with the object code oc.

Returns:
constant pointer to the StateAttribute with object code oc or NULL, if there is none.
Note:
You will find the non custom object codes here: OC_OBJECT
Parameters:
oc object code of StateAttribute to get

NVSG_API bool nvsg::StateSet::removeAttribute ( const StateAttribute * attrib )

Remove a specified StateAttribute.

Returns:
true, if the attribute was successfully removed, false otherwise.
Parameters:
attrib StateAttribute to remove

NVSG_API bool nvsg::StateSet::removeAttribute ( size_t index )

Remove the StateAttribute at position index.

Returns:
true, if the attribute was successfully removed, false otherwise.
Parameters:
index index of StateAttribute to remove

NVSG_API bool nvsg::StateSet::removeAttributeByObjectCode ( unsigned int oc )

Remove the StateAttribute with the object code oc.

Returns:
true, if the attribute was successfully removed, false otherwise.
Note:
You will find the non custom object codes here: OC_OBJECT
Parameters:
oc StateAttribute class to remove

size_t nvsg::StateSet::getNumberOfOwners ( void ) const [inline]

Get the number of owners of this StateSet.

Returns:
The number of owners if this StateSet

const GeoNode * nvsg::StateSet::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 bool nvsg::StateSet::containsCgFx ( void ) const [virtual]

Ask if this StateSet contains any CgFx attributes.

Returns:
true if the StateSet contains a CgFx attribute, otherwise false.

virtual NVSG_API void nvsg::StateSet::invalidateCgFxContainment ( void ) [virtual]

Invalidate the CgFx containment cache.

The cache is invalidated and all owners of this StateSet are invalidated on CgFx containment.

virtual NVSG_API bool nvsg::StateSet::containsTransparentMaterial ( void ) const [virtual]

Ask if this StateSet contains any transparent Material attributes.

Returns:
true if the StateSet contains a transparent Material attribute, otherwise false.

virtual NVSG_API void nvsg::StateSet::invalidateTransparentMaterialContainment ( void ) [virtual]

Invalidate the transparent Material containment cache.

The cache is invalidated and all owners of this StateSet are invalidated on CgFx containment.

virtual NVSG_API bool nvsg::StateSet::containsTransparentTexture ( void ) const [virtual]

Ask if this StateSet contains any transparent Texture.

Returns:
true if the StateSet contains a transparent Texture, otherwise false.

virtual NVSG_API void nvsg::StateSet::invalidateTransparentTextureContainment ( void ) [virtual]

Invalidate the transparent Texture containment cache.

The cache is invalidated and all owners of this StateSet are invalidated on CgFx containment.

NVSG_API void nvsg::StateSet::invalidateCaches | ( | const StateAttribute * | attrib,
 |  | bool | insert
 | ) | [protected]

Invalidate all caches of this StateSet, maybe depending on the added or removed StateAttribute.

If the CgFx containment changes by adding/removing attrib, the CgFx cache is invalidated.

Friends And Related Function Documentation

NVSG_API bool operator== | ( | const StateSet & | lhs,
 |  | const StateSet & | rhs
 | ) | [related]

Compare two StateSets. Two StateSets are considered to be equal, if they have the same number of StateAttributes and each of these StateAttributes are pairwise equal.

Returns:
true, if the StateSets are equal, false otherwise.
Parameters:
lhs | first StateSet to compare
rhs | second StateSet to compare

The documentation for this class was generated from the following file:
  • StateSet.h
Generated on Fri Jan 28 09:21:43 2005 for NVSGSDK by NVIDIA


nvtraverser::StateSetUnifyTraverser Class Reference

Traverser that unifies identical StateSets. More...

#include <StateSetUnifyTraverser.h>

Inheritance diagram for nvtraverser::StateSetUnifyTraverser:

[legend]
Collaboration diagram for nvtraverser::StateSetUnifyTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | StateSetUnifyTraverser (void)
Constructor.

NVSG_API bool | getIgnoreNames (void) const
Get the 'ignore names' flag.

NVSG_API void | setIgnoreNames (bool ignore)
Set the 'ignore names' flags.

Protected Member Functions

virtual NVSG_API | ~StateSetUnifyTraverser (void)
Protected destructor to prevent instantiation of a StateSetUnifyTraverser on stack.

virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx object while traversing the scene graph.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode object while traversing the scene graph.

virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Routine to handle a FaceAttribute object while traversing the scene graph.

virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Routine to handle a Material object while traversing the scene graph.

virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.

virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Routine to handle a TextureAttribute object while traversing the scene graph.

virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t textureUnit)
Routine to handle a TextureAttributeItem object while traversing the scene graph.

Detailed Description

Traverser that unifies identical StateSets.

Identical StateSets are recognized and linked to the same one. Identical StateAttributes are recognized and linked to the same one. This way, redundant objects are removed, thereby reducing storage space as well as run time.

Constructor & Destructor Documentation

NVSG_API nvtraverser::StateSetUnifyTraverser::StateSetUnifyTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::StateSetUnifyTraverser::~StateSetUnifyTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a StateSetUnifyTraverser on stack.

Member Function Documentation

bool nvtraverser::StateSetUnifyTraverser::getIgnoreNames ( void ) const [inline]

Get the 'ignore names' flag.

If the 'ignore names' flag is set, on comparing StateSets and StateAttributes their names are ignored.

Returns:
true if the names will be ignored, otherwise false

void nvtraverser::StateSetUnifyTraverser::setIgnoreNames ( bool ignore ) [inline]

Set the 'ignore names' flags.

If the 'ignore names' flag is set, on comparing StateSets and StateAttributes their names are ignored.

Parameters:
ignore set true to ignore names on comparision

virtual NVSG_API void nvtraverser::StateSetUnifyTraverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx object while traversing the scene graph.

After traversing the CgFx p, this handler compares it to the other previously encountered CgFx objects. If there is another identical CgFx object, p is marked to be replaced by that in the handleStateSet routine.

Parameters:
p Points to the currently visited CgFx object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StateSetUnifyTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode object while traversing the scene graph.

After traversing the GeoNode \ p, this handler replaces all StateSet objects in it's geometries that have been marked for replacement in the handleStateSet routine.

Parameters:
p Points to the currently visited GeoNode object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StateSetUnifyTraverser::handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Routine to handle a FaceAttribute object while traversing the scene graph.

After traversing the FaceAttribute p, this handler compares it to the other previously encountered FaceAttribute objects. If there is another identical FaceAttribute object, p is marked to be replaced by that in the handleStateSet routine.

Parameters:
p Points to the currently visited FaceAttribute object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StateSetUnifyTraverser::handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Routine to handle a Material object while traversing the scene graph.

After traversing the Material p, this handler compares it to the other previously encountered Material objects. If there is another identical Material object, p is marked to be replaced by that in the handleStateSet routine.

Parameters:
p Points to the currently visited Material object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StateSetUnifyTraverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

After traversing the StateSet p, this handler replaces a CgFx, Material, FaceAttribute, and TextureAttribute, that has been marked for replacement in the corresponding handler. Then p is compared to the other previously encountered StateSet objects. If there is another identical StateSet object, p is marked to be replaced by that in the handleGeoNode routine.

Parameters:
p Points to the currently visited StateSet object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StateSetUnifyTraverser::handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Routine to handle a TextureAttribute object while traversing the scene graph.

After traversing the TextureAttribute p, this handler all it's TextureAttributeItems, that has been marked for replacement in the handleTextureAttributeItem routine. Then p is compared to the other previously encountered TextureAttribute objects. If there is another identical TextureAttribute object, p is marked to be replaced by that in the handleSateSet routine.

Parameters:
p Points to the currently visited TextureAttribute object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StateSetUnifyTraverser::handleTextureAttributeItem | ( | const nvsg::TextureAttributeItem * | p,
 |  | size_t | textureUnit
 | ) | [protected, virtual]

Routine to handle a TextureAttributeItem object while traversing the scene graph.

After traversing the TextureAttributeItem p, this handler compares it to the other previously encountered TextureAttributeItem objects. If there is another identical TextureAttributeItem object, p is marked to be replaced by that in the handleTextureAttribute routine.

Parameters:
p | Points to the currently visited TextureAttributeItem object.
textureUnit | Texture unit to use with this TextureAttributeItem

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • StateSetUnifyTraverser.h
Generated on Fri Jan 28 09:22:17 2005 for NVSGSDK by NVIDIA


nvsg::StereoCamera Class Reference

A stereoscopic camera. More...

#include <StereoCamera.h>

Inheritance diagram for nvsg::StereoCamera:

[legend]
Collaboration diagram for nvsg::StereoCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const StereoCamera * | clone (void) const
Create a clone of this StereoCamera.

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

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

NVSG_API float | getDepthFactor (void) const
Get the depth factor.

NVSG_API void | setDepthFactor (float df)
Set the depth factor.

NVSG_API float | getFocusDistance (void) const
Get the focal distance.

NVSG_API void | setFocusDistance (float fd)
Set the focus distance.

NVSG_API bool | isLeftPassIndex (size_t pass) const
Ask if pass is the left pass.

NVSG_API void | reverseLeftRight (void)
Reverse left and right pass order.

NVSG_API void | updateMonoCameras (void) const
Update the monoscopic cameras (right and left).

const MonoCamera * | getMonoCamera (void) const
Get the base camera.

const MonoCamera * | getLeftCamera () const
Get the camera for the left eye.

const MonoCamera * | getRightCamera () const
Get the camera for the right eye.

virtual NVSG_API void | addHeadLight (const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f))
Add a head light on this camera.

virtual NVSG_API size_t | getNumberOfHeadLights (void) const
Get number of headlights attached to the camera.

virtual NVSG_API const LightSource * | getHeadLight (size_t index) const
Get the indexed head light of this camera.

virtual NVSG_API bool | removeHeadLight (size_t index=0)
Remove a headlight.

virtual NVSG_API bool | setHeadLightTrafo (const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0)
Set the head light position and orientation relative to the camera.

virtual NVSG_API void | getHeadLightTrafo (nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const
Get the position/orientation of the indexed head light of this camera.

virtual NVSG_API float | getTargetDistance (void) const
Get the distance to the target point.

virtual NVSG_API void | setTargetDistance (float td)
Set the distance to the target point.

virtual NVSG_API nvmath::Vec3f | getUpVector (void) const
Get the up direction.

virtual NVSG_API const nvmath::Vec3f & | getPosition (void) const
Get the camera position.

virtual NVSG_API void | setPosition (const nvmath::Vec3f &pos)
Set the camera position.

virtual NVSG_API void | setUpVector (const nvmath::Vec3f &up)
Set the up direction.

virtual NVSG_API nvmath::Vec3f | getDirection (void) const
Get viewing direction.

virtual NVSG_API void | setDirection (const nvmath::Vec3f &dir)
Set the viewing direction.

virtual NVSG_API void | setOrientation (const nvmath::Quatf &quat)
Set the orientation of the camera.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &dir, const nvmath::Vec3f &up)
Set the orientation of the camera.

virtual NVSG_API void | setOrientation (const nvmath::Vec3f &axis, float angle)
Interface for setting the orientation of the camera.

virtual NVSG_API nvmath::Quatf | getOrientation (void) const
Get the current orientation.

virtual NVSG_API nvmath::Mat44f | getViewToWorldMatrix (void) const
Get the inverse of the camera specific world-to-view transformation.

virtual NVSG_API nvmath::Mat44f | getWorldToViewMatrix (void) const
Get the world to view transformation.

virtual NVSG_API const nvmath::Vec2f & | getWindowOffset (void) const
Get the window offset.

virtual NVSG_API void | setWindowOffset (const nvmath::Vec2f &offset)
Set the window offset.

virtual NVSG_API void | getWindowRegion (nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const
Get the relative window region to view.

virtual NVSG_API void | setWindowRegion (const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight)
Set the relative window region to view.

virtual NVSG_API const nvmath::Vec2f & | getWindowSize (void) const
Get the window size.

virtual NVSG_API void | setWindowSize (const nvmath::Vec2f &size)
Set the window size.

virtual NVSG_API float | getAspectRatio (void) const
Get the current aspect ratio.

virtual NVSG_API void | setAspectRatio (float ar, bool keepWidth=false)
Set the aspect ratio.

virtual NVSG_API void | setAutoClipPlanes (bool on)
Enable/Disable automatic clip plane determination.

virtual NVSG_API bool | isAutoClipPlanes (void) const
Get auto clipping state.

virtual NVSG_API float | getFarDistance (void) const
Get distance to the far clipping plane.

virtual NVSG_API void | setFarDistance (float fd)
Set the far clipping distance.

virtual NVSG_API float | getNearDistance (void) const
Get distance to the near clipping plane.

virtual NVSG_API void | setNearDistance (float nd)
Set the near clipping distance.

virtual NVSG_API void | calcNearFarDistances (const nvmath::Sphere3f &sphere)
Calculate the distances to the near and far clipping planes.

virtual NVSG_API void | move (const nvmath::Vec3f &delta)
Move the camera.

virtual NVSG_API void | orbit (const nvmath::Vec3f &axis, float rad)
Orbit the camera.

virtual NVSG_API void | rotate (const nvmath::Vec3f &axis, float rad, bool cameraRelative=true)
Interface for rotating the camera.

virtual NVSG_API void | zoom (float factor)
Zoom by a factor.

virtual NVSG_API void | zoom (const nvmath::Sphere3f &sphere, float fovy=-1.0f)
Zoom to fit view to a sphere.

Static Public Member Functions

NVSG_API const StereoCamera * | create (const MonoCamera &base)
Create a StereoCamera using a MonoCamera as a base.

NVSG_API const StereoCamera * | createFromBase (const Camera &rhs, const MonoCamera &base)
Create a StereoCamera by copying from an other.

Protected Member Functions

NVSG_API | StereoCamera (const MonoCamera &base)
Constructor.

NVSG_API | StereoCamera (const Camera &rhs, const MonoCamera &base)
Partial Constructor.

NVSG_API | StereoCamera (const StereoCamera &rhs)
Copy constructor.

virtual NVSG_API | ~StereoCamera (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

A stereoscopic camera.

With this camera stereoscopic vision is introduced.

Constructor & Destructor Documentation

NVSG_API nvsg::StereoCamera::StereoCamera ( const MonoCamera & base ) [protected]

Constructor.

A StereoCamera uses an arbitrary MonoCamera as its base camera. This base camera is used and slightly adjusted to get stereo vision.

Parameters:
base base camera to use

NVSG_API nvsg::StereoCamera::StereoCamera | ( | const Camera & | rhs,
 |  | const MonoCamera & | base
 | ) | [protected]

Partial Constructor.

NVSG_API nvsg::StereoCamera::StereoCamera ( const StereoCamera & rhs ) [protected]

Copy constructor.

virtual NVSG_API nvsg::StereoCamera::~StereoCamera ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const StereoCamera* nvsg::StereoCamera::create ( const MonoCamera & base ) [static]

Create a StereoCamera using a MonoCamera as a base.

Returns:
a constant pointer to a StereoCamera.
Parameters:
base base of the StereoCamera

NVSG_API const StereoCamera* nvsg::StereoCamera::createFromBase | ( | const Camera & | rhs,
 |  | const MonoCamera & | base
 | ) | [static]

Create a StereoCamera by copying from an other.

Parameters:
rhs | Camera to copy from
base | base of the StereoCamera

virtual NVSG_API const StereoCamera* nvsg::StereoCamera::clone ( void ) const [virtual]

Create a clone of this StereoCamera.

Returns:
pointer to the new PerspectiveCamera as a pointer to a Camera

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::StereoCamera::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

virtual NVSG_API DataID nvsg::StereoCamera::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Object.

float nvsg::StereoCamera::getDepthFactor ( void ) const [inline]

Get the depth factor.

The depth factor controls how much the two cameras are horizontally displaced from the base camera. It is measured in multiples of the target distance. A value of 0.0 results in monoscopic vision. A value of 0.03 (the default) gives a good stereo effect. You can imagine that the user is about one meter from the monitor and his eyes are about 0.03 meters displaced to the right and left. The larger the depth factor, the better the stereo effect, until the left and right images are too spread out for eyes to fuse.

void nvsg::StereoCamera::setDepthFactor ( float df ) [inline]

Set the depth factor.

The depth factor controls how much the two cameras for stereo vision are horizontally displaced from the base camera. It is measured in multiples of the target distance. A value of 0.0 results in monoscopic vision. A value of 0.03 (the default) gives a good stereo effect. You can imagine that the user is about one meter from the monitor and his eyes are about 0.03 meters displaced to the right and left. The larger the depth factor, the better the stereo effect, until the left and right images are too spread out for the eyes to fuse.

Parameters:
df new depth factor

float nvsg::StereoCamera::getFocusDistance ( void ) const [inline]

Get the focal distance.

The focus distance controls where the focal plane is in the model. It is measured in the same units as the world space. A value equal to the near distance (the default) makes the near plane the focal plane. This results in a stereo image that seems to be completely inside of the monitor. A value equal to the far distance makes the far plane the focal plane. This results in a stereo image that seems to be completely in front of the monitor.

void nvsg::StereoCamera::setFocusDistance ( float fd ) [inline]

Set the focus distance.

The focus distance controls where the focal plane is in the model. It is measured in the same units as the world space. A value equal to the near distance (the default) make the near plane the focal plane. This results in a stereo image that seems to be completely inside of the monitor. A value equal to the far distance makes the far plane the focal plane. This results in a stereo image that seems to be completely in front of the monitor.

Parameters:
fd new focus distance

bool nvsg::StereoCamera::isLeftPassIndex ( size_t pass ) const [inline]

Ask if pass is the left pass.

A stereo camera is a two pass camera. On rendering, the scene is traversed two times, once for the left eye and once for the right eye. Depending on the synchronization between the monitor and the stereo glasses, it might be important to know which pass is for the left eye and which pass for the right eye.

Returns:
true if pass is the index of the left pass, otherwise false
Parameters:
pass pass index to ask for

void nvsg::StereoCamera::reverseLeftRight ( void ) [inline]

Reverse left and right pass order.

A stereo camera is a two pass camera. On rendering, the scene is traversed two times, once for the left eye and once for the right eye. Depending on the synchronization between the monitor and the stereo glasses, it might be necessary to reverse this order to get the correct stereo effect.

NVSG_API void nvsg::StereoCamera::updateMonoCameras ( void ) const

Update the monoscopic cameras (right and left).

Before traversing the monoscopic cameras (right and left) of a stereo camera, this function should be called to update these cameras with any changes that might have applied to the base camera.

const MonoCamera * nvsg::StereoCamera::getMonoCamera ( void ) const [inline]

Get the base camera.

Returns:
a const poniter to the monoscopic base camera

const MonoCamera * nvsg::StereoCamera::getLeftCamera ( ) const [inline]

Get the camera for the left eye.

Returns:
a constant pointer to the monoscopic camera representing the left eye.

const MonoCamera * nvsg::StereoCamera::getRightCamera ( ) const [inline]

Get the camera for the right eye.

Returns:
a constant pointer to the monoscopic camera representing the right eye.

virtual NVSG_API void nvsg::StereoCamera::addHeadLight | ( | const LightSource * | pLight,
 |  | const nvmath::Vec3f & | position = nvmath::Vec3f(0.0f, 0.0f, 0.0f),
 |  | const nvmath::Quatf & | quat = nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)
 | ) | [virtual]

Add a head light on this camera.

A camera can have a number of headlights that are positioned relative to the camera, i.e. they move together with the camera. These lights are not part of the scene, but part of the camera. The default position and orientation of a new headlight is the camera position and orientation.

Parameters:
pLight | The light source to add
position | The position relative to the camera
quat | The rotation relative to the camera

Implements nvsg::Camera.

virtual NVSG_API size_t nvsg::StereoCamera::getNumberOfHeadLights ( void ) const [virtual]

Get number of headlights attached to the camera.

Returns:
The number of headlights attached to camera

Implements nvsg::Camera.

virtual NVSG_API const LightSource* nvsg::StereoCamera::getHeadLight ( size_t index ) const [virtual]

Get the indexed head light of this camera.

Returns:
A constant pointer to the indexed headlight
Parameters:
index index of head light to get

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::StereoCamera::removeHeadLight ( size_t index = 0 ) [virtual]

Remove a headlight.

Returns:
true if headlight was removed, otherwise false
Parameters:
index index of headlight to remove

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::StereoCamera::setHeadLightTrafo | ( | const nvmath::Vec3f & | trans,
 |  | const nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | [virtual]

Set the head light position and orientation relative to the camera.

Returns:
true if a headlight with this index exists, otherwise false
Parameters:
trans | position of headlight
quat | orientation of headlight
index | index of headlight

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::getHeadLightTrafo | ( | nvmath::Vec3f & | trans,
 |  | nvmath::Quatf & | quat,
 |  | size_t | index = 0
 | ) | const [virtual]

Get the position/orientation of the indexed head light of this camera.

It is assumed that the camera holds at least index headlights.

Parameters:
trans | translation relative to the camera
quat | rotation relative to the camera
index | index of the headlight to get information from

Implements nvsg::Camera.

virtual NVSG_API float nvsg::StereoCamera::getTargetDistance ( void ) const [virtual]

Get the distance to the target point.

Returns:
The distance to the target point

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setTargetDistance ( float td ) [virtual]

Set the distance to the target point.

Parameters:
td distance to target point (or viewing plane)

Implements nvsg::Camera.

virtual NVSG_API nvmath::Vec3f nvsg::StereoCamera::getUpVector ( void ) const [virtual]

Get the up direction.

Returns:
The up direction of camera

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec3f& nvsg::StereoCamera::getPosition ( void ) const [virtual]

Get the camera position.

Returns:
The position of camera

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setPosition ( const nvmath::Vec3f & pos ) [virtual]

Set the camera position.

Parameters:
pos position

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setUpVector ( const nvmath::Vec3f & up ) [virtual]

Set the up direction.

Parameters:
up up direction (might change viewing direction)

Implements nvsg::Camera.

virtual NVSG_API nvmath::Vec3f nvsg::StereoCamera::getDirection ( void ) const [virtual]

Get viewing direction.

The default viewing direction of a SimpleCamera is along the negative z-axis.

Returns:
The viewing direction

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setDirection ( const nvmath::Vec3f & dir ) [virtual]

Set the viewing direction.

Parameters:
dir new viewing direction (might change upVector)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setOrientation ( const nvmath::Quatf & quat ) [virtual]

Set the orientation of the camera.

Parameters:
quat quaternion that determines direction and up vector

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setOrientation | ( | const nvmath::Vec3f & | dir,
 |  | const nvmath::Vec3f & | up
 | ) | [virtual]

Set the orientation of the camera.

Parameters:
dir | direction to look at
up | up vector

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setOrientation | ( | const nvmath::Vec3f & | axis,
 |  | float | angle
 | ) | [virtual]

Interface for setting the orientation of the camera.

Parameters:
axis | axis to rotate about
angle | angle to rotate

Implements nvsg::Camera.

virtual NVSG_API nvmath::Quatf nvsg::StereoCamera::getOrientation ( void ) const [virtual]

Get the current orientation.

Returns:
quaternion that describes the orientation

Implements nvsg::Camera.

virtual NVSG_API nvmath::Mat44f nvsg::StereoCamera::getViewToWorldMatrix ( void ) const [virtual]

Get the inverse of the camera specific world-to-view transformation.

Returns:
The inverse of the world-to-view transformation (i.e. view to world)

Implements nvsg::Camera.

virtual NVSG_API nvmath::Mat44f nvsg::StereoCamera::getWorldToViewMatrix ( void ) const [virtual]

Get the world to view transformation.

Returns:
The world-to-camera transformation

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec2f& nvsg::StereoCamera::getWindowOffset ( void ) const [virtual]

Get the window offset.

Returns:
The window offset

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setWindowOffset ( const nvmath::Vec2f & offset ) [virtual]

Set the window offset.

Parameters:
offset window ofset to viewing reference point

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::getWindowRegion | ( | nvmath::Vec2f & | lowerLeft,
 |  | nvmath::Vec2f & | upperRight
 | ) | const [virtual]

Get the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setWindowRegion | ( | const nvmath::Vec2f & | lowerLeft,
 |  | const nvmath::Vec2f & | upperRight
 | ) | [virtual]

Set the relative window region to view.

Parameters:
lowerLeft | relative lower left position
upperRight | relative upper right position

Implements nvsg::Camera.

virtual NVSG_API const nvmath::Vec2f& nvsg::StereoCamera::getWindowSize ( void ) const [virtual]

Get the window size.

Returns:
The window size

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setWindowSize ( const nvmath::Vec2f & size ) [virtual]

Set the window size.

Parameters:
size window size (world coordinates)

Implements nvsg::Camera.

virtual NVSG_API float nvsg::StereoCamera::getAspectRatio ( void ) const [virtual]

Get the current aspect ratio.

Returns:
The width versus height of the camera window

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setAspectRatio | ( | float | ar,
 |  | bool | keepWidth = false
 | ) | [virtual]

Set the aspect ratio.

Parameters:
ar | new aspect ratio
keepWidth | keep width or height constant

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setAutoClipPlanes ( bool on ) [virtual]

Enable/Disable automatic clip plane determination.

Parameters:
on true to enable, false to disable

Implements nvsg::Camera.

virtual NVSG_API bool nvsg::StereoCamera::isAutoClipPlanes ( void ) const [virtual]

Get auto clipping state.

If auto clip is on, the camera determines the optimal near and front clipping distances out of the scene. If the user has additional information about the scene that might help clipping, it should be turned off.

Returns:
true if auto clip is on, otherwise false

Implements nvsg::Camera.

virtual NVSG_API float nvsg::StereoCamera::getFarDistance ( void ) const [virtual]

Get distance to the far clipping plane.

Near and far distances can be used internally to the camera to improve depth resolution.

Returns:
The distance to the far clipping plane

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setFarDistance ( float fd ) [virtual]

Set the far clipping distance.

Parameters:
fd far clipping distance

Implements nvsg::Camera.

virtual NVSG_API float nvsg::StereoCamera::getNearDistance ( void ) const [virtual]

Get distance to the near clipping plane.

Near and far distances can be used internally to the camera to improve depth resolution.

Returns:
The distance to the near clipping plane

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::setNearDistance ( float nd ) [virtual]

Set the near clipping distance.

Parameters:
nd near clipping distance

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::calcNearFarDistances ( const nvmath::Sphere3f & sphere ) [virtual]

Calculate the distances to the near and far clipping planes.

Near and far distances can be used internally to the camera to improve depth resolution. This function should determine these values such that the sphere given by center and radius just fits between them.

Parameters:
sphere bounding sphere of the world to look at

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::move ( const nvmath::Vec3f & delta ) [virtual]

Move the camera.

Parameters:
delta delta to move the camera (camera coordinates)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::orbit | ( | const nvmath::Vec3f & | axis,
 |  | float | rad
 | ) | [virtual]

Orbit the camera.

Parameters:
axis | axis to orbit around (camera coordinates)
rad | angle to orbit (radians)

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::rotate | ( | const nvmath::Vec3f & | axis,
 |  | float | rad,
 |  | bool | cameraRelative = true
 | ) | [virtual]

Interface for rotating the camera.

Parameters:
axis | axis to rotate around
rad | angle to rotate (radians)
cameraRelative | flag to indicate if the axis is camera or world relative

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::zoom ( float factor ) [virtual]

Zoom by a factor.

Parameters:
factor zoom in/out by this factor; changes windowSize

Implements nvsg::Camera.

virtual NVSG_API void nvsg::StereoCamera::zoom | ( | const nvmath::Sphere3f & | sphere,
 |  | float | fovy = -1.0f
 | ) | [virtual]

Zoom to fit view to a sphere.

Parameters:
sphere | sphere to zoom on
fovy | field of view; if negative, keep the current

Implements nvsg::Camera.

The documentation for this class was generated from the following file:
  • StereoCamera.h
Generated on Fri Jan 28 09:21:45 2005 for NVSGSDK by NVIDIA


str_t Struct Reference

The str_t structure specifies how a string is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numChars
uint_t chars
Specifies the file offset to the string characters.

Detailed Description

The str_t structure specifies how a string is stored in a .NBF file.

Member Data Documentation

uint_t str_t::numChars

Specifies the number of characters in the actual string, < not including the terminating null character.

uint_t str_t::chars

Specifies the file offset to the string characters.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


nvtraverser::StrippingTraverser Class Reference

Traverser to convert Triangles to TriStrips, and Quads to QuadStrips. More...

#include <StrippingTraverser.h>

Inheritance diagram for nvtraverser::StrippingTraverser:

[legend]
Collaboration diagram for nvtraverser::StrippingTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | StrippingTraverser (void)
Constructor.

void | getMinimalLengths (size_t &triStripLength, size_t &quadStripLength) const
Get the minimal lengths for TriStrips and QuadStrips.

void | setMinimalLengths (size_t triStripLength, size_t quadStripLength)
Set the minimal lengths for TriStrips and QuadStrips.

Protected Member Functions

virtual NVSG_API | ~StrippingTraverser (void)
Protected destructor to prevent instantiation of a StrippingTraverser.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Handle an AnimatedQuads object.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Handle an AnimatedTriangles object.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Handle a GeoNode object.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Handle a Quads object.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Handle an SkinnedTriangles object.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Handle a Triangles object.

Detailed Description

Traverser to convert Triangles to TriStrips, and Quads to QuadStrips.

It is strongly recommended to use a CondenseTraverser before using this StrippingTraverser, because it works only on indices.

Constructor & Destructor Documentation

NVSG_API nvtraverser::StrippingTraverser::StrippingTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::StrippingTraverser::~StrippingTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a StrippingTraverser.

Member Function Documentation

void nvtraverser::StrippingTraverser::getMinimalLengths | ( | size_t & | triStripLength,
 |  | size_t & | quadStripLength
 | ) | const [inline]

Get the minimal lengths for TriStrips and QuadStrips.

A strip with less than the minimal length is reconverted to triangles or quads.

void nvtraverser::StrippingTraverser::setMinimalLengths | ( | size_t | triStripLength,
 |  | size_t | quadStripLength
 | ) | [inline]

Set the minimal lengths for TriStrips and QuadStrips.

A strip with less than the minimal length is reconverted to triangles or quads.

virtual NVSG_API void nvtraverser::StrippingTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Handle an AnimatedQuads object.

Parameters:
p AnimatedQuads to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StrippingTraverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Handle an AnimatedTriangles object.

Parameters:
p AnimatedTriangles to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StrippingTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Handle a GeoNode object.

Parameters:
p GeoNode to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StrippingTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Handle a Quads object.

Parameters:
p Quads to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StrippingTraverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Handle an SkinnedTriangles object.

Parameters:
p SkinnedTriangles to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::StrippingTraverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Handle a Triangles object.

Parameters:
p Triangles to handle

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • StrippingTraverser.h
Generated on Fri Jan 28 09:22:18 2005 for NVSGSDK by NVIDIA


nvsg::Switch Class Reference

Switch node. More...

#include <Switch.h>

Inheritance diagram for nvsg::Switch:

[legend]
Collaboration diagram for nvsg::Switch:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Switch * | clone (void) const
Get a clone of this Switch object.

NVSG_API void | setActive (void)
Set all children to active.

NVSG_API void | setActive (size_t index)
Set one child to active.

NVSG_API void | setInactive (void)
Set all children to inactive.

NVSG_API void | setInactive (size_t index)
Set one child to inactive.

NVSG_API size_t | getNumberOfActive (void) const
Get the number of active children.

NVSG_API size_t | getActive (std::vector< size_t > &indices) const
Get indices to active child nodes.

NVSG_API bool | isActive (void) const
Determine if any of the children is active.

NVSG_API bool | isActive (size_t index) const
Determine if the child is active.

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

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

Static Public Member Functions

NVSG_API const Switch * | create (void)
Create Switch.

NVSG_API const Switch * | createFromBase (const Group &rhs)
Create Switch by copying from a Group.

Protected Member Functions

NVSG_API | Switch (void)
Default constructor.

NVSG_API | Switch (const Group &rhs)
Partial Constructor.

NVSG_API | Switch (const Switch &rhs)
Copy Constructor.

virtual NVSG_API | ~Switch (void)
Prohibit explicit creation on stack by making the destructor protected.

virtual NVSG_API bool | calcBoundingSphere (void) const
Calculate the bounding sphere of this switch.

Detailed Description

Switch node.

A switch node is a special kind of grouping node where one can define which children will be traversed or not (active/inactive children).
See LightSource documentation on how to use a switch for light sources.

Constructor & Destructor Documentation

NVSG_API nvsg::Switch::Switch ( void ) [protected]

Default constructor.

NVSG_API nvsg::Switch::Switch ( const Group & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::Switch::Switch ( const Switch & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::Switch::~Switch ( void ) [protected, virtual]

Prohibit explicit creation on stack by making the destructor protected.

Member Function Documentation

NVSG_API const Switch* nvsg::Switch::create ( void ) [static]

Create Switch.

Returns:
a constant pointer to a Switch.

Reimplemented from nvsg::Group.

NVSG_API const Switch* nvsg::Switch::createFromBase ( const Group & rhs ) [static]

Create Switch by copying from a Group.

Returns:
a constant pointer to a Switch.

virtual NVSG_API const Switch* nvsg::Switch::clone ( void ) const [virtual]

Get a clone of this Switch object.

Returns:
a constant pointer to a Switch.

Reimplemented from nvsg::Group.

NVSG_API void nvsg::Switch::setActive ( void )

Set all children to active.

NVSG_API void nvsg::Switch::setActive ( size_t index )

Set one child to active.

Note:
Currently active children will stay active!
Parameters:
index Index of the child.

NVSG_API void nvsg::Switch::setInactive ( void )

Set all children to inactive.

NVSG_API void nvsg::Switch::setInactive ( size_t index )

Set one child to inactive.

Note:
Currently inactive children will stay inactive!
Parameters:
index Index of the child.

NVSG_API size_t nvsg::Switch::getNumberOfActive ( void ) const

Get the number of active children.

Returns:
The number of active children

NVSG_API size_t nvsg::Switch::getActive ( std::vector< size_t > & indices ) const

Get indices to active child nodes.

Copies the indices of all active child nodes to the vector /a indices.

Returns:
The number of indices copied to /a indices.
Note:
The internal format a Switch uses for storing indices is size_t, which expands to 32-bit for 32-bit environments and 64-bit for 64-bit environments.

NVSG_API bool nvsg::Switch::isActive ( void ) const

Determine if any of the children is active.

Returns:
true - at least one child is active.
false - no child is active.

NVSG_API bool nvsg::Switch::isActive ( size_t index ) const

Determine if the child is active.

Returns:
true - the child is active.
false - the child is active.
Parameters:
index Index of the child.

virtual NVSG_API bool nvsg::Switch::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Group.

virtual NVSG_API DataID nvsg::Switch::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Group.

virtual NVSG_API bool nvsg::Switch::calcBoundingSphere ( void ) const [protected, virtual]

Calculate the bounding sphere of this switch.

Calculate the bounding sphere for the active children only. If this group doesn't contain any real geometry ( for example only light sources without a bounding sphere), it doesn't have a valid bounding sphere.

Returns:
true if the calculated bounding sphere is valid, otherwise false.

Reimplemented from nvsg::Group.

The documentation for this class was generated from the following file:
  • Switch.h
Generated on Fri Jan 28 09:21:46 2005 for NVSGSDK by NVIDIA


nvutil::SWMRSync Class Reference

Single write, multiple read synchronization class. More...

#include <SWMRSync.h>

List of all members.

Public Member Functions

SWMRSync (void)
Default constructor.

virtual | ~SWMRSync (void)
Default destructor.

NVSG_API bool | initialize (const char *name=NULL)
Init sync mechanism.

NVSG_API bool | waitToWrite (size_t milliseconds, size_t &status) const
Wait for write access available.

NVSG_API void | doneWriting () const
Signal write/read access available again.

NVSG_API bool | waitToRead (size_t milliseconds, size_t &status) const
Wait for read access available.

NVSG_API void | doneReading () const
Signal one less reading.

Detailed Description

Single write, multiple read synchronization class.

The SWMRSync class is based on the ideas from Jeffrey Richter "Advanced Windows"
We use three handles to kernel synchronize our objects:

m_hMutexNoWriter is used to indicate whether a writer thread has access to the data.
When the mutex is signaled, we know that no writer thread is currently
accessing the data.
m_hEventNoReaders indicates whether any reader threads are currently accessing the data.
If no reader threads are accessing the data, this manual-reset event
object is signaled.
m_hSemNumReaders indicates the number of reader threads that are currently accessing the data.
This semaphore is only used as a counter. If the counter goes to 0
m_hEventMoReaders event can be signaled.

Constructor & Destructor Documentation

nvutil::SWMRSync::SWMRSync ( void )

Default constructor.

virtual nvutil::SWMRSync::~SWMRSync ( void ) [virtual]

Default destructor.

Member Function Documentation

NVSG_API bool nvutil::SWMRSync::initialize ( const char * name = NULL )

Init sync mechanism.

Returns:
true - init went fine, false - init went wrong
Parameters:
name The name of the object. Pass NULL if you do not want to share the object (default).

NVSG_API bool nvutil::SWMRSync::waitToWrite | ( | size_t | milliseconds,
 |  | size_t & | status
 | ) | const

Wait for write access available.

This function checks the current state of the internal write-synchronization object. If that object's state is nonsignaled, the calling thread enters the wait state. It uses no processor time while waiting for the object state to become signaled or the time-out interval to elapse. The function returns, if either the write-synchronization object is signaled or the time-out interval elapses.

Remarks:
If the write-synchronization object was signaled, the function changes the state of both, the internal write-synchronization object and the internal read-synchronization object to nonsignaled before it returns. The state of both objects remains nonsignaled until the calling thread signals write/read access available through a call to doneWriting.
Returns:
true if the calling thread could gain write access, false otherwise.
Parameters:
milliseconds | Time-out interval in milliseconds.
status | currently ignored

NVSG_API void nvutil::SWMRSync::doneWriting ( ) const

Signal write/read access available again.

This function signals both, the internal write-synchronisation object and the internal read-synchronization object, so another thread currently waiting for either write or read access, can be released now.

NVSG_API bool nvutil::SWMRSync::waitToRead | ( | size_t | milliseconds,
 |  | size_t & | status
 | ) | const

Wait for read access available.

This function checks the current state of the internal read-synchronization object. If that object's state is nonsignaled, the calling thread enters the wait state. It uses no processor time while waiting for the object state to become signaled or the time-out interval to elapse. The function returns, if either the read-synchronization object is signaled or the time-out interval elapses.

Remarks:
If the read-synchronization object was signaled, the function changes the state of the internal write-synchronization object to nonsignaled before it returns, so that threads that subsequently begin waiting for write access, will enter the wait state. On the other hand, the state of the read-synchronization object will not be changed, so if the read-synchronization object was signaled, it remains signaled and threads that subsequently begin waiting for read access, immediately will be released. If the calling thread could gain read access, the syncronization object recognizes one more reader. The state of the write-synchronization object will not earlier change to signaled until all readers finished reading through a call to doneReading.
Returns:
true if the calling thread could gain write access, false otherwise.
Parameters:
milliseconds | Time-out interval in millsecond
status | currently ignored

NVSG_API void nvutil::SWMRSync::doneReading ( ) const

Signal one less reading.

Through a call to this function, the synchronization object recognizes one less thread reading. If the number of threads currently reading reaches zero, the function will change the state of the internal write-synchronization object to signaled, so a thread that is currently waiting for write access can be released now.

The documentation for this class was generated from the following file:
  • SWMRSync.h
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


texBinding_t Struct Reference

The texBinding_t structure specifies how a texture binding is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t texUnit
Specifies the texture unit where the actual NBFTextureAttributeItem object is bound to.

uint_t texAttribItem
Specifies the file offset to the corresponding NBFTextureAttributeItem object.

Detailed Description

The texBinding_t structure specifies how a texture binding is stored in a .NBF file.

Texture bindings, in this context, need to be considered in conjunction with NBFTectureAttribute and NBFTextureAttributeItem objects.

Member Data Documentation

uint_t texBinding_t::texUnit

Specifies the texture unit where the actual NBFTextureAttributeItem object is bound to.

uint_t texBinding_t::texAttribItem

Specifies the file offset to the corresponding NBFTextureAttributeItem object.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


texCoordSet_t Struct Reference

The texCoordSet_t structure specifies how a texture coordinate set is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numTexCoords
Specifies the number of texture coordinates contained in the actual set.

uint_t coordDim
uint_t texCoords
Specifies the file offset to the contained texture coordinates.

Detailed Description

The texCoordSet_t structure specifies how a texture coordinate set is stored in a .NBF file.

Texture coordinate sets, in this context, need to be considered in conjunction with NBFGeoSet objects.

Member Data Documentation

uint_t texCoordSet_t::numTexCoords

Specifies the number of texture coordinates contained in the actual set.

uint_t texCoordSet_t::coordDim

Specifies the dimension, in terms of float, of the contained texture coordinates. < Texture coordinates can be either one, two, three, or four dimensional.

uint_t texCoordSet_t::texCoords

Specifies the file offset to the contained texture coordinates.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


nvsg::Texture Class Reference

Class to hold a texture. More...

#include <Texture.h>

Inheritance diagram for nvsg::Texture:

[legend]
Collaboration diagram for nvsg::Texture:

[legend]
List of all members.

Public Types

enum eTexFileType {
TFT_UNKNOWN = -1, TFT_DDS, TFT_JPG, TFT_TGA,
TFT_BMP, TFT_TIF, TFT_RGB, TFT_GIF,
TFT_PNG, TFT_HDR
}
Enumeration of the supported texture file formats. More...

Public Member Functions

NVSG_API int | getComponents (unsigned int image=0, unsigned int mipmap=0) const
Get the components of the mipmap level of an image of the texture.

NVSG_API int | getType (unsigned int image=0, unsigned int mipmap=0) const
Get the type of the mipmap level of an image of the texture.

NVSG_API int | getDepth (unsigned int image=0, unsigned int mipmap=0) const
Get the depth of the mipmap level of an image of the texture.

NVSG_API int | getFormat (unsigned int image=0, unsigned int mipmap=0) const
Get the format of the mipmap level of an image of the texture.

std::string | getFileName (void) const
Get the filename of the texture.

unsigned int | getHandle (void) const
Get the handle of the texture.

NVSG_API int | getHeight (unsigned int image=0, unsigned int mipmap=0) const
Get the height of the mipmap level of an image of the texture.

unsigned int | getNumberOfImages (void) const
Get the number of image in this texture.

NVSG_API unsigned int | getNumberOfMipmaps (unsigned int image=0) const
Get the number of mipmaps of an image of the texture.

NVSG_API const void * | getPixels (unsigned int image=0, unsigned int mipmap=0) const
Get pointer to pixels of the mipmap level of an image of the texture.

NVSG_API int | getSize (unsigned int image=0, unsigned int mipmap=0) const
Get the size of the mipmap level of an image of the texture.

NVSG_API unsigned long | getTarget (void) const
Get the target of the texture.

NVSG_API int | getWidth (unsigned int image=0, unsigned int mipmap=0) const
Get the width of the mipmap-level of an image of the texture.

NVSG_API bool | isCubeMap (void) const
Ask if this texture is a cubemap.

NVSG_API bool | isFloatingPoint (void) const
Ask if this texture is a floating point texture (4 bpp per color channel).

NVSG_API bool | isTexFileType (eTexFileType tft) const
Ask if this texture is of a specific file type.

NVSG_API bool | load (void) const
Load the texture.

NVSG_API void | scale (unsigned int image=0, unsigned int width=128, unsigned int height=128, unsigned int depth=1) const
Scale an image of the texture to the specified size.

NVSG_API void | setHandle (unsigned int handle) const
Set the handle of the texture.

NVSG_API void | setTarget (unsigned long target) const
Set the target of the texture.

NVSG_API void | unload (void) const
Unload the texture.

Static Public Member Functions

NVSG_API const Texture * | create (const std::string &fileName, bool flipImage=true)
Create a Texture out of a file.

Protected Member Functions

NVSG_API | Texture (const std::string &fileName, bool flipImage=true)
Constructor.

virtual NVSG_API | ~Texture (void)
Prohibit explicit creation on stack by making the destructor protected.

Protected Attributes

bool | m_cube
true for cube maps

std::string | m_fileName
file name of the texture

bool | m_flipImage
true for horizontally flipped images

unsigned int | m_handle
opaque handle of the texture

unsigned int | m_imageID
image id of the texture

unsigned int | m_numImages
number of images in the texture

unsigned long | m_target
target type of the texture (GL_TEXTURE_1D,...)

eTexFileType m_texFileType
texture file type, like TFT_DDS, TFT_JPG (see eTexFileType)

Detailed Description

Class to hold a texture.

This class is used to represent a texture of any format in the scenegraph. It is defined by the filename and hides all the format specific information behind this common interface.

A Texture might contain several images (for example a texture can be a cube map, consisting of six images). Each image might be mipmapped.

Member Enumeration Documentation

enum nvsg::Texture::eTexFileType

Enumeration of the supported texture file formats.

Enumeration values:
TFT_UNKNOWN | Unknown format.
TFT_DDS | DDS format.
TFT_JPG | JPG format.
TFT_TGA | TGA format.
TFT_BMP | BMP format.
TFT_TIF | TIF format.
TFT_RGB | RGB format.
TFT_GIF | GIF format.
TFT_PNG | PNG format.
TFT_HDR | HDR format.

Constructor & Destructor Documentation

NVSG_API nvsg::Texture::Texture | ( | const std::string & | fileName,
 |  | bool | flipImage = true
 | ) | [protected]

Constructor.

Creates a texture out of the file fileName. If requested, it flips the image horizontally.

virtual NVSG_API nvsg::Texture::~Texture ( void ) [protected, virtual]

Prohibit explicit creation on stack by making the destructor protected.

Member Function Documentation

NVSG_API const Texture* nvsg::Texture::create | ( | const std::string & | fileName,
 |  | bool | flipImage = true
 | ) | [static]

Create a Texture out of a file.

Parameters:
fileName | file name of texture
flipImage | flip image horizontally if true

NVSG_API int nvsg::Texture::getComponents | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get the components of the mipmap level of an image of the texture.

Returns:
The bytes per pixel of this image
Parameters:
image | image to get bpp from
mipmap | mipmap to get bpp from

NVSG_API int nvsg::Texture::getType | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get the type of the mipmap level of an image of the texture.

Returns:
The data type of this image
Parameters:
image | image to get bpp from
mipmap | mipmap to get bpp from

NVSG_API int nvsg::Texture::getDepth | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get the depth of the mipmap level of an image of the texture.

Returns:
The depth, if it is a 3D-texture, otherwise 1
Parameters:
image | image to get depth from
mipmap | mipmap to get depth from

NVSG_API int nvsg::Texture::getFormat | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get the format of the mipmap level of an image of the texture.

Returns:
The format of the texture (equals GL-format like GL_RGBA)
Parameters:
image | image to get format from
mipmap | mipmap to get format from

std::string nvsg::Texture::getFileName ( void ) const [inline]

Get the filename of the texture.

Returns:
The filename of the texture

unsigned int nvsg::Texture::getHandle ( void ) const [inline]

Get the handle of the texture.

Each texture can have an associated handle that can be queried here.

Returns:
The texture handle of the texture

NVSG_API int nvsg::Texture::getHeight | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get the height of the mipmap level of an image of the texture.

Returns:
The height of the mipmap level of this image
Parameters:
image | image to get height from
mipmap | mipmap to get height from

unsigned int nvsg::Texture::getNumberOfImages ( void ) const [inline]

Get the number of image in this texture.

Returns:
The number of images in the texture (e.g. 6 for a cubemap)

NVSG_API unsigned int nvsg::Texture::getNumberOfMipmaps ( unsigned int image = 0 ) const

Get the number of mipmaps of an image of the texture.

Returns:
The number of mipmaps of image
Parameters:
image image to get information from

NVSG_API const void* nvsg::Texture::getPixels | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get pointer to pixels of the mipmap level of an image of the texture.

Returns:
A constant pointer to image data
Parameters:
image | image to get data from
mipmap | mipmap to get data from

NVSG_API int nvsg::Texture::getSize | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get the size of the mipmap level of an image of the texture.

Returns:
The size of the image data mipmap level
Parameters:
image | image to get image size from
mipmap | mipmap to get image size from

unsigned long nvsg::Texture::getTarget ( void ) const [inline]

Get the target of the texture.

The target is an arbitrary ID that can be used to classify this texture.

Returns:
The target of the texture

NVSG_API int nvsg::Texture::getWidth | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const

Get the width of the mipmap-level of an image of the texture.

Returns:
The width of the mipmap-level of this image
Parameters:
image | image to get width from
mipmap | mipmap to get width from

bool nvsg::Texture::isCubeMap ( void ) const [inline]

Ask if this texture is a cubemap.

Returns:
true, if this texture is a cubemap, otherwise false

NVSG_API bool nvsg::Texture::isFloatingPoint ( void ) const

Ask if this texture is a floating point texture (4 bpp per color channel).

Returns:
true, if this texture is a floating point texture, otherwise false

bool nvsg::Texture::isTexFileType ( eTexFileType tft ) const [inline]

Ask if this texture is of a specific file type.

Returns:
true, if the file type is tft, otherwise false
Parameters:
tft texture file type to test for

NVSG_API bool nvsg::Texture::load ( void ) const

Load the texture.

Returns:
true, if the texture was successfully loaded, otherwise false

NVSG_API void nvsg::Texture::scale | ( | unsigned int | image = 0,
 |  | unsigned int | width = 128,
 |  | unsigned int | height = 128,
 |  | unsigned int | depth = 1
 | ) | const

Scale an image of the texture to the specified size.

Parameters:
image The image to scale - 2D textures conatain one image, so 0 is a reasonable value;
Cube maps contain 6 images so the index runs from 0-4
width | The width to achieve
height | The height to achieve
depth | The depth to achieve - only usefull for 3D textures.

void nvsg::Texture::setHandle ( unsigned int handle ) const [inline]

Set the handle of the texture.

Parameters:
handle handle to use with this Texture

void nvsg::Texture::setTarget ( unsigned long target ) const [inline]

Set the target of the texture.

The target is an arbitrary ID that can be used to classify this texture.

Parameters:
target target for this texture

NVSG_API void nvsg::Texture::unload ( void ) const

Unload the texture.

Member Data Documentation

bool nvsg::Texture::m_cube [mutable, protected]

true for cube maps

std::string nvsg::Texture::m_fileName [protected]

file name of the texture

bool nvsg::Texture::m_flipImage [protected]

true for horizontally flipped images

unsigned int nvsg::Texture::m_handle [mutable, protected]

opaque handle of the texture

unsigned int nvsg::Texture::m_imageID [mutable, protected]

image id of the texture

unsigned int nvsg::Texture::m_numImages [mutable, protected]

number of images in the texture

unsigned long nvsg::Texture::m_target [mutable, protected]

target type of the texture (GL_TEXTURE_1D,...)

eTexFileType nvsg::Texture::m_texFileType [mutable, protected]

texture file type, like TFT_DDS, TFT_JPG (see eTexFileType)

The documentation for this class was generated from the following file:
  • Texture.h
Generated on Fri Jan 28 09:21:47 2005 for NVSGSDK by NVIDIA


nvsg::TextureAttribute Class Reference

Texture attribute. More...

#include <TextureAttribute.h>

Inheritance diagram for nvsg::TextureAttribute:

[legend]
Collaboration diagram for nvsg::TextureAttribute:

[legend]
List of all members.

Public Types

enum | { INVALID_ITEM = 0xFFFFFFFF }

Public Member Functions

virtual NVSG_API const TextureAttribute * | clone (void) const
Get a clone of this texture attribute.

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

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

NVSG_API void | bindTextureAttributeItem (const TextureAttributeItem *item, size_t unit)
Bind texture attribute item.

NVSG_API void | unbindTextureAttributeItem (size_t unit)
Unbind texture attribute item.

NVSG_API size_t | getFirstItem (void) const
Get first item.

NVSG_API size_t | getNextItem (void) const
Get next item.

NVSG_API size_t | getNumberOfItems (void) const
Get number of item.

NVSG_API const TextureAttributeItem * | getTextureAttributeItem (size_t unit) const
Get texture attribute item.

Static Public Member Functions

NVSG_API const TextureAttribute * | create (void)
Create a TextureAttribute.

NVSG_API const TextureAttribute * | createFromBase (const StateAttribute &rhs)
Create a TextureAttribute by copying from a StateAttribute.

Protected Member Functions

NVSG_API | TextureAttribute (void)
Default Constructor.

NVSG_API | TextureAttribute (const StateAttribute &rhs)
Partial Constructor.

NVSG_API | TextureAttribute (const TextureAttribute &rhs)
Copy constructor.

virtual NVSG_API | ~TextureAttribute (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Texture attribute.

This maintains bindings between abstract texture units and TextureAttributeItem objects. For this purpose it provides an interface to bind a certain TextureAttributeItem to a specified texture unit or to unbind a TextureAttributeItem from a certain texture unit. It also provides an interface to iterate through all bounded TextureAttributeItem objects.

As a StateAttribute, a TextureAttribute can be added to a StateSet of a certain GeoNode for texturing purposes.

Constructor & Destructor Documentation

NVSG_API nvsg::TextureAttribute::TextureAttribute ( void ) [protected]

Default Constructor.

NVSG_API nvsg::TextureAttribute::TextureAttribute ( const StateAttribute & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::TextureAttribute::TextureAttribute ( const TextureAttribute & rhs ) [protected]

Copy constructor.

virtual NVSG_API nvsg::TextureAttribute::~TextureAttribute ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const TextureAttribute* nvsg::TextureAttribute::create ( void ) [static]

Create a TextureAttribute.

Returns:
a constant pointer to a TextureAttribute.

NVSG_API const TextureAttribute* nvsg::TextureAttribute::createFromBase ( const StateAttribute & rhs ) [static]

Create a TextureAttribute by copying from a StateAttribute.

Returns:
a constant pointer to a TextureAttribute.

virtual NVSG_API const TextureAttribute* nvsg::TextureAttribute::clone ( void ) const [virtual]

Get a clone of this texture attribute.

Returns:
a constant pointer to a TextureAttribute.

Implements nvsg::StateAttribute.

virtual NVSG_API bool nvsg::TextureAttribute::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::StateAttribute.

virtual NVSG_API DataID nvsg::TextureAttribute::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::StateAttribute.

NVSG_API void nvsg::TextureAttribute::bindTextureAttributeItem | ( | const TextureAttributeItem * | item,
 |  | size_t | unit
 | ) |

Bind texture attribute item.

This binds the texture attribute item pointed to by item to the texture unit specified by unit. A texture attribute that was bound to that texture unit prior to this call, will be unbound.

Parameters:
item | Texture attribute item to be bound.
unit | Zero based index of the texture unit the item should be bound to.

NVSG_API void nvsg::TextureAttribute::unbindTextureAttributeItem ( size_t unit )

Unbind texture attribute item.

Unbind the texture attribute item currently bound to the texture unit specified by unit. Immediately after this call, no texture attribute item is bound to that unit.

Parameters:
unit Zero based index of the texture unit.

size_t nvsg::TextureAttribute::getFirstItem ( void ) const [inline]

Get first item.

This is thought to initiate iteration of bounded texture attribute items. Use this in conjunction with getNextItem to iterate over all bounded texture attribute items.

Returns:
The zero based index of the first texture unit a texture attribute item is actually bound to or INVALID_ITEM if no texture attribute item is currently bound.

size_t nvsg::TextureAttribute::getNextItem ( void ) const [inline]

Get next item.

This is thought to pursue iteration of bounded texture attribute items.

Note:
An iteration must be started by a call to getFirstItem to ensure that the iteration starts at the very first texture unit a texture attribute item is actually bound to.
Returns:
The zero based index of the very next texture unit a texture attribute item is actually bound to or INVALID_ITEM if no further texture attribute item is currently bound.

size_t nvsg::TextureAttribute::getNumberOfItems ( void ) const [inline]

Get number of item.

Returns:
The number of texture attribute items currently bound.
Note:
Do not use this to iterate through the items. If you want to iterate use this construct:
 for ( size_t tu = pAttrib->getFirstItem()
     ; tu != TextureAttribute::INVALID_ITEM
     ; tu = pAttrib->getNextItem())
 {
 }

const TextureAttributeItem * nvsg::TextureAttribute::getTextureAttributeItem ( size_t unit ) const [inline]

Get texture attribute item.

Returns:
The texture attribute item that is currently bound to the texture unit specified by unit or a null pointer if no texture attribute item is currently bound to texture unit unit.
Parameters:
unit Zero based index of queried texture unit.

The documentation for this class was generated from the following file:
  • TextureAttribute.h
Generated on Fri Jan 28 09:21:50 2005 for NVSGSDK by NVIDIA


nvsg::TextureAttributeItem Class Reference

Texture attribute item. More...

#include <TextureAttribute.h>

Inheritance diagram for nvsg::TextureAttributeItem:

[legend]
Collaboration diagram for nvsg::TextureAttributeItem:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const TextureAttributeItem * | clone (void) const
Create a TextureAttributeItem by cloning an other.

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

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

NVSG_API void | setFileName (const std::string &fname)
Set texture file name.

NVSG_API const std::string & | getFileName (void) const
Get texture file name.

NVSG_API const Texture * | getTexture (void) const
Get texture.

NVSG_API void | setTexture (const Texture *p) const
Set texture.

NVSG_API void | setBorderColor (const nvmath::Vec4f &color)
Sets the texture border color.

NVSG_API const nvmath::Vec4f & | getBorderColor (void) const
Gets the texture border color.

NVSG_API TextureEnvMode | getEnvMode (void) const
Get texture environment mode.

NVSG_API void | setEnvMode (TextureEnvMode mode)
Set texture environment mode.

NVSG_API void | setMagFilterMode (TextureMagFilterMode mode)
Set the texture magnification filter mode.

NVSG_API TextureMagFilterMode | getMagFilterMode (void) const
Get the texture magnification filter mode.

NVSG_API void | setMinFilterMode (TextureMinFilterMode mode)
Set the texture minification filter mode.

NVSG_API TextureMinFilterMode | getMinFilterMode (void) const
Get the texture minification filter mode.

NVSG_API TextureWrapMode | getWrapMode (TexCoordAxis target) const
Get the texture wrap mode.

NVSG_API void | setWrapMode (TexCoordAxis target, TextureWrapMode mode)
Set the texture wrap mode.

NVSG_API TextureType | getType (void) const
Get texture type.

NVSG_API void | setType (TextureType tt)
Set texture type.

NVSG_API nvmath::Mat44f | getMatrix (void) const
Get texture matrix.

NVSG_API const nvmath::Quatf & | getOrientation (void) const
Get orientation.

NVSG_API void | setOrientation (const nvmath::Quatf &orientation)
Set orientation.

NVSG_API const nvmath::Vec3f & | getScaling (void) const
Get scaling.

NVSG_API void | setScaling (const nvmath::Vec3f &scale)
Set scaling.

NVSG_API const nvmath::Vec3f & | getTranslation (void) const
Get translation.

NVSG_API void | setTranslation (const nvmath::Vec3f &trans)
Set translation.

NVSG_API bool | isLookupRequired (void) const
Determine if a texture lookup is required with the very next rendering step.

NVSG_API void | setTexGenEnvironmentMapping (bool sAxis=true, bool tAxis=true)
Set the texture coordinate generation of the s- and t-axis to TGM_SPHERE_MAP.

NVSG_API void | setTexGenLinearMapping (TexCoordAxis axis, TexGenLinearMode mode, const nvmath::Plane3f &plane)
Set the texture coordinate generation of axis to object or eye linear.

NVSG_API void | disableTexGen (TexCoordAxis axis)
Disable the texture coordinate generation of axis.

NVSG_API TexGenMode | getTexGenMode (TexCoordAxis axis) const
Get the texture coordinate generation mode.

NVSG_API const nvmath::Plane3f & | getTexGenPlane (TexCoordAxis axis) const
Get the base plane for linear texture coordinate generation.

Static Public Member Functions

NVSG_API const TextureAttributeItem * | create (void)
Create a TextureAttributeItem.

NVSG_API const TextureAttributeItem * | createFromBase (const Object &rhs)
Create a TextureAttributeItem by copying from an Object.

Protected Member Functions

NVSG_API | TextureAttributeItem (void)
Default constructor.

NVSG_API | TextureAttributeItem (const Object &rhs)
Partial Constructor.

NVSG_API | TextureAttributeItem (const TextureAttributeItem &rhs)
Copy constructor.

Friends

class | TextureAttribute

Detailed Description

Texture attribute item.

This class serves as an abstract layer for a single texture object. The use of a TextureAttributeItem is meaningful only in conjunction with a TextureAttribute, which provides an interface to bind a TextureAttributeItem to a specified texture unit.

Constructor & Destructor Documentation

NVSG_API nvsg::TextureAttributeItem::TextureAttributeItem ( void ) [protected]

Default constructor.

NVSG_API nvsg::TextureAttributeItem::TextureAttributeItem ( const Object & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::TextureAttributeItem::TextureAttributeItem ( const TextureAttributeItem & rhs ) [protected]

Copy constructor.

Member Function Documentation

NVSG_API const TextureAttributeItem* nvsg::TextureAttributeItem::create ( void ) [static]

Create a TextureAttributeItem.

Returns:
a constant pointer to a TextureAttributeItem.

NVSG_API const TextureAttributeItem* nvsg::TextureAttributeItem::createFromBase ( const Object & rhs ) [static]

Create a TextureAttributeItem by copying from an Object.

Returns:
a constant pointer to a TextureAttributeItem.
Parameters:
rhs Object to copy from

virtual NVSG_API const TextureAttributeItem* nvsg::TextureAttributeItem::clone ( void ) const [virtual]

Create a TextureAttributeItem by cloning an other.

Returns:
a constant pointer to a TextureAttributeItem.

virtual NVSG_API bool nvsg::TextureAttributeItem::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Object.

virtual NVSG_API DataID nvsg::TextureAttributeItem::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Object.

void nvsg::TextureAttributeItem::setFileName ( const std::string & fname ) [inline]

Set texture file name.

Use this to specify the name of the image file from which to load the texture

Parameters:
fname Name of the image file

const std::string & nvsg::TextureAttributeItem::getFileName ( void ) const [inline]

Get texture file name.

Returns:
The name of the image file from which to load the texture.

const Texture * nvsg::TextureAttributeItem::getTexture ( void ) const [inline]

Get texture.

Returns:
A constant pointer to the device dependent texture object.

void nvsg::TextureAttributeItem::setTexture ( const Texture * p ) const [inline]

Set texture.

This is used to attach the device dependent texture object to this texture attribute item.

Note:
The device dependent texture will be generated while rendering the scenegraph. As rendering is a const traverser step working on a const texture attribute item, this function needs to be a const member function.
Parameters:
p Pointer to the Texture object to be set.

void nvsg::TextureAttributeItem::setBorderColor ( const nvmath::Vec4f & color ) [inline]

Sets the texture border color.

const nvmath::Vec4f & nvsg::TextureAttributeItem::getBorderColor ( void ) const [inline]

Gets the texture border color.

TextureEnvMode nvsg::TextureAttributeItem::getEnvMode ( void ) const [inline]

Get texture environment mode.

Returns:
The texture environment mode used with rasterizing

void nvsg::TextureAttributeItem::setEnvMode ( TextureEnvMode mode ) [inline]

Set texture environment mode.

Use this to specify the texture environment mode to be used with rasterizing.

Parameters:
mode Environment mode.

void nvsg::TextureAttributeItem::setMagFilterMode ( TextureMagFilterMode mode ) [inline]

Set the texture magnification filter mode.

The texture magnification function is used when the pixel being textured maps to an area less than or equal to one texture element. It sets the texture magnification function to either TFM_MAG_NEAREST or TFM_MAG_BILINEAR.

Parameters:
mode magnification filter mode to set

TextureMagFilterMode nvsg::TextureAttributeItem::getMagFilterMode ( void ) const [inline]

Get the texture magnification filter mode.

Returns:
The magnification filter mode.

void nvsg::TextureAttributeItem::setMinFilterMode ( TextureMinFilterMode mode ) [inline]

Set the texture minification filter mode.

The texture minifying function is used whenever the pixel being textured maps to an area greater than one texture element. There are three defined minifying functions. TFM_MIN_NEAREST uses the nearest texture element to compute the texture value. TFM_MIN_BILINEAR uses the nearest four texture elements. TFM_MIN_TRILINEAR uses mipmaps.

Parameters:
mode minification filter mode to set

TextureMinFilterMode nvsg::TextureAttributeItem::getMinFilterMode ( void ) const [inline]

Get the texture minification filter mode.

Returns:
The minification filter mode.

TextureWrapMode nvsg::TextureAttributeItem::getWrapMode ( TexCoordAxis target ) const [inline]

Get the texture wrap mode.

The texture wrap mode can be either TWM_REPEAT (default), TWM_CLAMP, or TWM_MIRROR. Each of the up to three texture dimensions may have it's own wrap mode.

Returns:
TextureWrapMode of the texture target (TCA_S, TCA_T, or TCA_R)
Parameters:
target Target dimension to get wrap mode for

void nvsg::TextureAttributeItem::setWrapMode | ( | TexCoordAxis | target,
 |  | TextureWrapMode | mode
 | ) | [inline]

Set the texture wrap mode.

The texture wrap mode can be set independently for each of up to three texture dimensions to either TWM_REPEAT (default), TWM_CLAMP or TWM_MIRROR.

Note:
If the underlying hardware doesn't support mirroring textures, it falls back to the repeat mode.
Parameters:
target | Target dimension to set wrap mode for
mode | Wrap mode to set

TextureType nvsg::TextureAttributeItem::getType ( void ) const [inline]

Get texture type.

Note:
Currently only diffuse textures are supported.
Returns:
The type of the embedded texture object.

void nvsg::TextureAttributeItem::setType ( TextureType tt ) [inline]

Set texture type.

Use this to specify the texture type.

Note:
Only diffuse textures are currently supported.
Parameters:
tt Texture type.

nvmath::Mat44f nvsg::TextureAttributeItem::getMatrix ( void ) const [inline]

Get texture matrix.

The texture matrix is composed of the cropping and the rotation matrix.

Returns:
The matrix used to transform the embedded texture object.

const nvmath::Quatf & nvsg::TextureAttributeItem::getOrientation ( void ) const [inline]

Get orientation.

Get the rotation part of the texture transformation.

Returns:
A quaternion that describes the rotational part.

void nvsg::TextureAttributeItem::setOrientation ( const nvmath::Quatf & orientation ) [inline]

Set orientation.

Sets the orientation of the texture transformation.

Parameters:
orientation Rotational part of the texture transformation.

const nvmath::Vec3f & nvsg::TextureAttributeItem::getScaling ( void ) const [inline]

Get scaling.

Get the scaling part of the texture transformation.

Returns:
A three component vector that describes the scaling in u, v, and w.

void nvsg::TextureAttributeItem::setScaling ( const nvmath::Vec3f & scale ) [inline]

Set scaling.

Sets the scaling of the texture transformation.

Parameters:
scale Scaling factors in u, v, w.

const nvmath::Vec3f & nvsg::TextureAttributeItem::getTranslation ( void ) const [inline]

Get translation.

Get the translation part of the texture transformation.

Returns:
The translation in u, v, and w

void nvsg::TextureAttributeItem::setTranslation ( const nvmath::Vec3f & trans ) [inline]

Set translation.

Sets the translation of the texture transformation.

Parameters:
trans Translation in u, v, w.

bool nvsg::TextureAttributeItem::isLookupRequired ( void ) const [inline]

Determine if a texture lookup is required with the very next rendering step.

Returns:
true if a texture lookup is required with the very next rendering step, false otherwise.

void nvsg::TextureAttributeItem::setTexGenEnvironmentMapping | ( | bool | sAxis = true,
 |  | bool | tAxis = true
 | ) | [inline]

Set the texture coordinate generation of the s- and t-axis to TGM_SPHERE_MAP.

Parameters:
sAxis | enable TGM_SPHERE_MAP on the s-axis
tAxis | enable TGM_SPHERE_MAP on the t-axis

void nvsg::TextureAttributeItem::setTexGenLinearMapping | ( | TexCoordAxis | axis,
 |  | TexGenLinearMode | mode,
 |  | const nvmath::Plane3f & | plane
 | ) | [inline]

Set the texture coordinate generation of axis to object or eye linear.

Parameters:
axis | select the axis to enable
mode | select the linear mode to set
plane | set the plane equation

void nvsg::TextureAttributeItem::disableTexGen ( TexCoordAxis axis ) [inline]

Disable the texture coordinate generation of axis.

Parameters:
axis select the axis to disable

TexGenMode nvsg::TextureAttributeItem::getTexGenMode ( TexCoordAxis axis ) const [inline]

Get the texture coordinate generation mode.

Parameters:
axis select the axis to query

const nvmath::Plane3f & nvsg::TextureAttributeItem::getTexGenPlane ( TexCoordAxis axis ) const [inline]

Get the base plane for linear texture coordinate generation.

Parameters:
axis select the axis to query

The documentation for this class was generated from the following file:
  • TextureAttribute.h
Generated on Fri Jan 28 09:21:49 2005 for NVSGSDK by NVIDIA


nvsg::TextureAttributeItemData Class Reference

Data of a texture attribute item that is worth sharing. More...

#include <TextureAttribute.h>

Inheritance diagram for nvsg::TextureAttributeItemData:

[legend]
Collaboration diagram for nvsg::TextureAttributeItemData:

[legend]
List of all members.

Public Member Functions

NVSG_API | TextureAttributeItemData (const TextureAttributeItemData &rhs)
Copy constructor.

Friends

class | TextureAttributeItem

Detailed Description

Data of a texture attribute item that is worth sharing.

Constructor & Destructor Documentation

NVSG_API nvsg::TextureAttributeItemData::TextureAttributeItemData ( const TextureAttributeItemData & rhs )

Copy constructor.

Initialize a new copy from rhs

The documentation for this class was generated from the following file:
  • TextureAttribute.h
Generated on Fri Jan 28 09:21:48 2005 for NVSGSDK by NVIDIA


Templatenvutil::Trace< Functor > class Reference

nvutil::Trace< Functor > Class Template Reference

Trace class template. More...

#include <Trace.h>

List of all members.

Public Member Functions

Trace (const char *fn, bool traceOut)
Constructor for entering a function \ fn.

~Trace ()
Destructor for leaving a function.

Detailed Description

template<typename Functor>
class nvutil::Trace< Functor >

Trace class template.

Constructor & Destructor Documentation

template<typename Functor>
nvutil::Trace< Functor >::Trace | ( | const char * | fn,
 |  | bool | traceOut
 | ) | [inline]

Constructor for entering a function \ fn.

template<typename Functor>
nvutil::Trace< Functor >::~Trace ( ) [inline]

Destructor for leaving a function.

The documentation for this class was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvutil::traceConsoleDebugOutput Struct Reference

output to console _AND_ attached debugger More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to console _AND_ attached debugger

Member Function Documentation

void nvutil::traceConsoleDebugOutput::operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvutil::traceConsoleOutput Struct Reference

output to console More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to console

Member Function Documentation

void nvutil::traceConsoleOutput::operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvutil::traceDebugOutput Struct Reference

output to attached debugger More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to attached debugger

Member Function Documentation

void nvutil::traceDebugOutput::operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


nvutil::traceFileConsoleOutput Struct Reference

output to log file _AND_ console More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to log file _AND_ console

Member Function Documentation

void nvutil::traceFileConsoleOutput::operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvutil::traceFileDebugOutput Struct Reference

output to log file _AND_ attached debugger More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to log file _AND_ attached debugger

Member Function Documentation

void nvutil::traceFileDebugOutput::operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvutil::traceFileOutput Struct Reference

output to file More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to file

Member Function Documentation

void nvutil::traceFileOutput::operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Templatenvutil::TraceFunctor< OutFunctor > struct Reference

nvutil::TraceFunctor< OutFunctor > Struct Template Reference

uses the function given as template argument to print out a given string More...

#include <Trace.h>

List of all members.

Public Member Functions

void | operator() (const char *str)
Function call operator to print out a string.

void | format (const char *fmt,...)
Formatted output of a variable number of arguments.

Detailed Description

template<typename OutFunctor>
struct nvutil::TraceFunctor< OutFunctor >

uses the function given as template argument to print out a given string

Member Function Documentation

template<typename OutFunctor>
void nvutil::TraceFunctor< OutFunctor >::operator() ( const char * str ) [inline]

Function call operator to print out a string.

template<typename OutFunctor>
void nvutil::TraceFunctor< OutFunctor >::format | ( | const char * | fmt,
 |  | ... |
 | ) | [inline]

Formatted output of a variable number of arguments.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvutil::Trackball Class Reference

Trackball class for simulating a virtual trackball. More...

#include <Trackball.h>

List of all members.

Public Member Functions

Trackball (void)
Default constructor.

virtual | ~Trackball (void)
Default destructor.

void | apply (const nvmath::Vec2f &p0, const nvmath::Vec2f &p1, nvmath::Vec3f &axis, float &rad)
Start trackball calculation.

void | setSize (float size)
Set trackball size.

float | getSize (void)
Determine current size of the trackball.

Protected Member Functions

float | projectOntoTBSphere (const nvmath::Vec2f &p)
Project the x,y mouse position onto a sphere.

Protected Attributes

float | m_tbsize
Trackball size (default is 0.8f)

Detailed Description

Trackball class for simulating a virtual trackball.

This class simulates a virtual trackball using the last and current mouse position. It simply projects the stuff onto a sphere or hyperbolic sheet and calculates the axis and angle that is needed to rotate the trackball from the last to the current position.

Constructor & Destructor Documentation

nvutil::Trackball::Trackball ( void )

Default constructor.

virtual nvutil::Trackball::~Trackball ( void ) [virtual]

Default destructor.

Member Function Documentation

void nvutil::Trackball::apply | ( | const nvmath::Vec2f & | p0,
 |  | const nvmath::Vec2f & | p1,
 |  | nvmath::Vec3f & | axis,
 |  | float & | rad
 | ) |

Start trackball calculation.

Calculate the axis and the angle (radians) by the given mouse coordinates. Project the points onto the virtual trackball, then figure out the axis of rotation, which is the cross product of p0 p1 and O p0 (O is the center of the ball, 0,0,0)

Note:
This is a deformed trackball-- is a trackball in the center, but is deformed into a hyperbolic sheet of rotation away from the center.
Parameters:
p0 | Last mouse position - components must be scaled to [-1,1]
p1 | Current mouse position - components must be scaled to [-1,1]
axis | Resulting axis
rad | Resulting angle

void nvutil::Trackball::setSize ( float size ) [inline]

Set trackball size.

Define the size of the trackball. Default size is 0.8f. This size should really be based on the distance from the center of rotation to the point on the object underneath the mouse. That point would then track the mouse as closely as possible.

Parameters:
size Trackball size

float nvutil::Trackball::getSize ( void ) [inline]

Determine current size of the trackball.

Returns:
Trackball size

float nvutil::Trackball::projectOntoTBSphere ( const nvmath::Vec2f & p ) [protected]

Project the x,y mouse position onto a sphere.

Project an x,y pair onto a sphere of radius r OR a hyperbolic sheet if we are away from the center of the sphere.

Member Data Documentation

float nvutil::Trackball::m_tbsize [protected]

Trackball size (default is 0.8f)

The documentation for this class was generated from the following file:
  • Trackball.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvui::TrackballCamManip Class Reference

Trackball Camera Manipulator. More...

#include <TrackballCamManip.h>

Inheritance diagram for nvui::TrackballCamManip:

[legend]
Collaboration diagram for nvui::TrackballCamManip:

[legend]
List of all members.

Public Member Functions

NVSG_API | TrackballCamManip (void)
Default constructor.

virtual NVSG_API | ~TrackballCamManip (void)
Default destructor.

virtual NVSG_API void | apply ()
Apply the states to the camera.

virtual NVSG_API void | setViewportSize (size_t x, size_t y)
Set Viewport size.

bool | isDolly (void)
Signals if manipulator is in dolly mode.

bool | isPan (void)
Signals if manipulator is in pan mode.

bool | isRotate (void)
Signals if manipulator is in rotate mode.

Protected Member Functions

virtual NVSG_API void | rotate (void)
Do camera rotation.

virtual NVSG_API void | pan (void)
Do camera panning.

virtual NVSG_API void | dolly (void)
Do the camera dolly.

Protected Attributes

nvutil::Trackball m_trackball
Trackball object that does all the calculations.

Static Protected Attributes

NVSG_API const UINT | DOLLY1
Button configuration for dolly.

NVSG_API const UINT | DOLLY2
Button configuration for dolly.

NVSG_API const UINT | PAN1
Button configuration for pan.

NVSG_API const UINT | PAN2
Button configuration for pan.

NVSG_API const UINT | ROTATE1
Button configuration for pan.

Detailed Description

Trackball Camera Manipulator.

This manipulator is a special CameraManipulator that interpretes mouse movement as trackball input. Think of a big sphere centered inside of the viewport where you can lay your hand on and rotate it. The manipulator also allows you to dolly and move the objects of the scene.

Note:
If you implement your own manipulator, refer to the button state to see how to add additional button combinations.

Constructor & Destructor Documentation

NVSG_API nvui::TrackballCamManip::TrackballCamManip ( void )

Default constructor.

virtual NVSG_API nvui::TrackballCamManip::~TrackballCamManip ( void ) [virtual]

Default destructor.

Member Function Documentation

virtual NVSG_API void nvui::TrackballCamManip::apply ( ) [virtual]

Apply the states to the camera.

Recalculate the camera regarding the manipulator states.

Implements nvui::CameraManipulator.

virtual NVSG_API void nvui::TrackballCamManip::setViewportSize | ( | size_t | x,
 |  | size_t | y
 | ) | [virtual]

Set Viewport size.

Adapt resize of the render area and update the size of the trackball. Call this method whenever the viewport size changes or if you create / initialize the manipulator.

Parameters:
x | Specifies the width of the viewport (pixel).
y | Specifies the height of the viewport (pixel).

Reimplemented from nvui::CameraManipulator.

bool nvui::TrackballCamManip::isDolly ( void ) [inline]

Signals if manipulator is in dolly mode.

This method compares the current button state with the configured button states of this object. e.g. DOLLY1, DOLLY2

Returns:
true: manipulator is in dolly mode

bool nvui::TrackballCamManip::isPan ( void ) [inline]

Signals if manipulator is in pan mode.

This method compares the current button state with the configured button states of this object. e.g. PAN1, PAN2

Returns:
true: manipulator is in pan mode

bool nvui::TrackballCamManip::isRotate ( void ) [inline]

Signals if manipulator is in rotate mode.

This method compares the current button state with the configured button states of this object. e.g. ROTATE1

Returns:
true: manipulator is in rotate mode

virtual NVSG_API void nvui::TrackballCamManip::rotate ( void ) [protected, virtual]

Do camera rotation.

Trackball movement of the camera. You can simply replace it with your own way to handle this.

virtual NVSG_API void nvui::TrackballCamManip::pan ( void ) [protected, virtual]

Do camera panning.

Move the camera in the camera plane. (left, right up, down) You can simply replace it with your own way to handle this.

virtual NVSG_API void nvui::TrackballCamManip::dolly ( void ) [protected, virtual]

Do the camera dolly.

Dolly in and out. You can simply replace it with your own way to handle this.

Member Data Documentation

NVSG_API const UINT nvui::TrackballCamManip::DOLLY1 [static, protected]

Button configuration for dolly.

NVSG_API const UINT nvui::TrackballCamManip::DOLLY2 [static, protected]

Button configuration for dolly.

NVSG_API const UINT nvui::TrackballCamManip::PAN1 [static, protected]

Button configuration for pan.

NVSG_API const UINT nvui::TrackballCamManip::PAN2 [static, protected]

Button configuration for pan.

NVSG_API const UINT nvui::TrackballCamManip::ROTATE1 [static, protected]

Button configuration for pan.

nvutil::Trackball nvui::TrackballCamManip::m_trackball [protected]

Trackball object that does all the calculations.

The documentation for this class was generated from the following file:
  • TrackballCamManip.h
Generated on Fri Jan 28 09:22:28 2005 for NVSGSDK by NVIDIA


nvmath::Trafo Class Reference

transformation class. More...

#include <Trafo.h>

Collaboration diagram for nvmath::Trafo:

[legend]
List of all members.

Public Member Functions

NVSG_API | Trafo (void)
Constructor: initialized to identity.

NVSG_API Mat44f | getInverse (void) const
Get the inverse of the current transformation.

NVSG_API const Vec3f & | getCenter (void) const
Get the center of rotation of this transformation.

NVSG_API const Quatf & | getOrientation (void) const
Get the rotational part of this transformation.

NVSG_API const Vec3f & | getScaling (void) const
Get the scaling part of this transformation.

NVSG_API Mat44f | getMatrix (void) const
Get the current transformation.

NVSG_API const Vec3f & | getTranslation (void) const
Get the translational part of this transformation.

NVSG_API void | setCenter (const Vec3f &center)
Set the center of ration of the transformation.

NVSG_API void | setIdentity (void)
Set the Trafo to identity.

NVSG_API void | setOrientation (const Quatf &orientation)
Set the rotational part of the transformation, using a quaternion.

NVSG_API void | setScaling (const Vec3f &scaling)
Set the scaling part of the transformation.

NVSG_API void | setTranslation (const Vec3f &translation)
Set the translational part of the transformation.

Related Functions

(Note that these are not member functions.)

Trafo | lerp (float alpha, const Trafo &t0, const Trafo &t1)

Detailed Description

transformation class.

This class is used to ease transformation handling. It has an interface to rotate, scale, and translate and can produce a Mat44f that combines them.

Constructor & Destructor Documentation

nvmath::Trafo::Trafo ( void ) [inline]

Constructor: initialized to identity.

Member Function Documentation

NVSG_API Mat44f nvmath::Trafo::getInverse ( void ) const

Get the inverse of the current transformation.

Returns:
inverse transformation as a Mat44f

const Vec3f & nvmath::Trafo::getCenter ( void ) const [inline]

Get the center of rotation of this transformation.

Returns:
vector that describes the center or rotation.

const Quatf & nvmath::Trafo::getOrientation ( void ) const [inline]

Get the rotational part of this transformation.

Returns:
quaternion that describes the rotational part

const Vec3f & nvmath::Trafo::getScaling ( void ) const [inline]

Get the scaling part of this transformation.

Returns:
vector that describes the scaling part

NVSG_API Mat44f nvmath::Trafo::getMatrix ( void ) const

Get the current transformation.

Returns:
transformation as a Mat44f

const Vec3f & nvmath::Trafo::getTranslation ( void ) const [inline]

Get the translational part of this transformation.

Returns:
vector that describes the translational part

void nvmath::Trafo::setCenter ( const Vec3f & center ) [inline]

Set the center of ration of the transformation.

Parameters:
center center of rotation

void nvmath::Trafo::setIdentity ( void ) [inline]

Set the Trafo to identity.

void nvmath::Trafo::setOrientation ( const Quatf & orientation ) [inline]

Set the rotational part of the transformation, using a quaternion.

Parameters:
orientation rotational part of transformation

void nvmath::Trafo::setScaling ( const Vec3f & scaling ) [inline]

Set the scaling part of the transformation.

Parameters:
scaling scaling part of transformation

void nvmath::Trafo::setTranslation ( const Vec3f & translation ) [inline]

Set the translational part of the transformation.

Parameters:
translation translational part of transformation

Friends And Related Function Documentation

Trafo lerp | ( | float | alpha,
 |  | const Trafo & | t0,
 |  | const Trafo & | t1
 | ) | [related]

Linear interpolation between two trafos t0 and t1. t = t0 + alpha * ( t1 - t0 )

Parameters:
alpha | interpolation parameter
t0 | starting value
t1 | ending value

The documentation for this class was generated from the following file:
  • Trafo.h
Generated on Fri Jan 28 09:20:52 2005 for NVSGSDK by NVIDIA


trafo_t Struct Reference

The trafo_t structure specifies how a transfrmation is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

float4_t orientation
Specifies the orientational part of the transformation.

float3_t scaling
Specifies the scaling part of the transformation.

float3_t translation
Specifies the translational part of the transformation.

float3_t center
Specifies the center of rotation of the transformation.

Detailed Description

The trafo_t structure specifies how a transfrmation is stored in a .NBF file.

Member Data Documentation

float4_t trafo_t::orientation

Specifies the orientational part of the transformation.

float3_t trafo_t::scaling

Specifies the scaling part of the transformation.

float3_t trafo_t::translation

Specifies the translational part of the transformation.

float3_t trafo_t::center

Specifies the center of rotation of the transformation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


nvsg::Transform Class Reference

Transformation node. More...

#include <Transform.h>

Inheritance diagram for nvsg::Transform:

[legend]
Collaboration diagram for nvsg::Transform:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Transform * | clone (void) const
Get a clone of this Transform object.

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

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

nvmath::Mat44f | getInverse (void) const
Get the inverse of the current transformation.

const nvmath::Vec3f & | getCenter (void) const
Get the center of rotation of this transformation.

const nvmath::Quatf & | getOrientation (void) const
Get the rotational part of this transformation.

const nvmath::Vec3f & | getScaling (void) const
Get the scaling part of this transformation.

nvmath::Mat44f | getMatrix (void) const
Get the current transformation.

const nvmath::Vec3f & | getTranslation (void) const
Get the translational part of this transformation.

NVSG_API bool | isIdentity (void) const
Determine if this Transform is an identity.

virtual NVSG_API void | setCenter (const nvmath::Vec3f &center)
Set the center of rotation of this transformation.

virtual NVSG_API void | setIdentity (void)
Set the Transform to be the identity.

virtual NVSG_API void | setOrientation (const nvmath::Quatf &orientation)
Set the rotational part of this transformation, using a quaternion.

virtual NVSG_API void | setScaling (const nvmath::Vec3f &scaling)
Set the scaling part of this transformation.

virtual NVSG_API void | setTranslation (const nvmath::Vec3f &translation)
Set the translational part of this transformation.

Static Public Member Functions

NVSG_API const Transform * | create (void)
Create a Transform.

NVSG_API const Transform * | createFromBase (const Group &rhs)
Create a Transform by copying from a Group.

Protected Member Functions

NVSG_API | Transform (void)
Constructor.

NVSG_API | Transform (const Group &rhs)
Partial Constructor.

NVSG_API | Transform (const Transform &rhs)
Copy Constructor.

virtual NVSG_API | ~Transform (void)
Protected destructor to prevent explicit creation on stack.

virtual NVSG_API bool | calcBoundingSphere (void) const
Calculate the bounding sphere of this transform.

Detailed Description

Transformation node.

A Transform contains a transformation that is appended to the current transform and a number of children that are relative to this transformation.

Constructor & Destructor Documentation

NVSG_API nvsg::Transform::Transform ( void ) [protected]

Constructor.

NVSG_API nvsg::Transform::Transform ( const Group & rhs ) [protected]

Partial Constructor.

NVSG_API nvsg::Transform::Transform ( const Transform & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::Transform::~Transform ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const Transform* nvsg::Transform::create ( void ) [static]

Create a Transform.

Returns:
a constant pointer to a Transform.

Reimplemented from nvsg::Group.

NVSG_API const Transform* nvsg::Transform::createFromBase ( const Group & rhs ) [static]

Create a Transform by copying from a Group.

Returns:
a constant pointer to a Transform.

virtual NVSG_API const Transform* nvsg::Transform::clone ( void ) const [virtual]

Get a clone of this Transform object.

Returns:
A constant pointer to a Transform.

Reimplemented from nvsg::Group.

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API bool nvsg::Transform::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::Group.

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API DataID nvsg::Transform::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::Group.

Reimplemented in nvsg::AnimatedTransform.

nvmath::Mat44f nvsg::Transform::getInverse ( void ) const [inline]

Get the inverse of the current transformation.

Returns:
inverse transformation as a Mat44f

const nvmath::Vec3f & nvsg::Transform::getCenter ( void ) const [inline]

Get the center of rotation of this transformation.

Returns:
vector that describes the center of rotation.

const nvmath::Quatf & nvsg::Transform::getOrientation ( void ) const [inline]

Get the rotational part of this transformation.

Returns:
The quaternion that describes the rotational part

const nvmath::Vec3f & nvsg::Transform::getScaling ( void ) const [inline]

Get the scaling part of this transformation.

Returns:
The vector that describes the scaling part

nvmath::Mat44f nvsg::Transform::getMatrix ( void ) const [inline]

Get the current transformation.

Returns:
The transformation as a Mat44f

const nvmath::Vec3f & nvsg::Transform::getTranslation ( void ) const [inline]

Get the translational part of this transformation.

Returns:
The vector that describes the translational part

bool nvsg::Transform::isIdentity ( void ) const [inline]

Determine if this Transform is an identity.

Returns:
true, if this Transform is an identity, otherwise false.

virtual NVSG_API void nvsg::Transform::setCenter ( const nvmath::Vec3f & center ) [virtual]

Set the center of rotation of this transformation.

Parameters:
center center of rotation

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API void nvsg::Transform::setIdentity ( void ) [virtual]

Set the Transform to be the identity.

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API void nvsg::Transform::setOrientation ( const nvmath::Quatf & orientation ) [virtual]

Set the rotational part of this transformation, using a quaternion.

Parameters:
orientation rotational part of transformation

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API void nvsg::Transform::setScaling ( const nvmath::Vec3f & scaling ) [virtual]

Set the scaling part of this transformation.

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API void nvsg::Transform::setTranslation ( const nvmath::Vec3f & translation ) [virtual]

Set the translational part of this transformation.

Parameters:
translation translational part of transformation

Reimplemented in nvsg::AnimatedTransform.

virtual NVSG_API bool nvsg::Transform::calcBoundingSphere ( void ) const [protected, virtual]

Calculate the bounding sphere of this transform.

To calculate the bounding sphere of a transform, it transforms the bounding sphere of all its children.

Returns:
true if the calculated bounding sphere is valid, otherwise false.

Reimplemented from nvsg::Group.

The documentation for this class was generated from the following file:
  • Transform.h
Generated on Fri Jan 28 09:21:51 2005 for NVSGSDK by NVIDIA


nvutil::TransformStack Class Reference

Utility class to hold a stack of concatenated transformation matrices. More...

#include <TransformStack.h>

Collaboration diagram for nvutil::TransformStack:

[legend]
List of all members.

Public Member Functions

TransformStack ()
Default constructor.

NVSG_API const nvmath::Mat44f | getClipToModel (void) const
Get the transformation from clip space to model space.

NVSG_API const nvmath::Mat44f & | getClipToView (void) const
Get the transformtion from clip space to view space.

NVSG_API const nvmath::Mat44f | getModelToClip (void) const
Get the transformtion from model space to clip space.

NVSG_API const nvmath::Mat44f | getModelToView (void) const
Get the transformtion from model space to view space.

NVSG_API const nvmath::Mat44f & | getModelToWorld (void) const
Get the transformtion from model space to world space.

NVSG_API const nvmath::Mat44f & | getViewToClip (void) const
Get the transformtion from view space to clip space.

NVSG_API const nvmath::Mat44f | getViewToModel (void) const
Get the transformtion from view space to model space.

NVSG_API const nvmath::Mat44f & | getViewToWorld (void) const
Get the transformtion from view space to world space.

NVSG_API const nvmath::Mat44f & | getWorldToModel (void) const
Get the transformtion from world space to model space.

NVSG_API const nvmath::Mat44f & | getWorldToView (void) const
Get the transformtion from world space to view space.

NVSG_API size_t | getStackDepth (void) const
Get the depth of the model <-> world transformation stack.

NVSG_API void | popModelToWorld (void)
Pop the top element of the model <-> world transformation stack.

NVSG_API void | pushModelToWorld (const nvmath::Mat44f &modelWorld, const nvmath::Mat44f &worldModel)
Push a new pair of matrices on the model <-> world transformation stack.

NVSG_API void | setViewToClip (const nvmath::Mat44f &viewClip, const nvmath::Mat44f &clipView)
Set the pair of matrices for the view <-> clip transformation.

NVSG_API void | setWorldToView (const nvmath::Mat44f &worldView, const nvmath::Mat44f &viewWorld)
Set the pair of matrices for the world <-> view transformation.

Detailed Description

Utility class to hold a stack of concatenated transformation matrices.

This class makes it easy to maintain all steps of the transformation pipeline from model space via world space and view space to clip space (and vice versa).
Individiual objects are defined in an local coordinate system called model space. There is often a hierarchy of modeling coordinate systems that are maintained by this class by using popModelToWorld and pushModelToWorld.
Objects are then transformed into the world space.
The view space is used to define a view volume. This system is used so that, with the eye or camera at the origin looking toward -z, decreasing values of z are farther away from the eye, x is to the right and y is up.
From view space, we next go to the clip space, that is we're using the projection to get logical 2D device coordinates (In contrast to physical device coordinates, which additionally need the viewport information).

With these terms, the transformation pipeline looks like that:
   model <-> world <-> view <-> clip

Constructor & Destructor Documentation

nvutil::TransformStack::TransformStack ( ) [inline]

Default constructor.

Initializes the model <-> world transformation stacks.

Member Function Documentation

const nvmath::Mat44f nvutil::TransformStack::getClipToModel ( void ) const [inline]

Get the transformation from clip space to model space.

const nvmath::Mat44f & nvutil::TransformStack::getClipToView ( void ) const [inline]

Get the transformtion from clip space to view space.

const nvmath::Mat44f nvutil::TransformStack::getModelToClip ( void ) const [inline]

Get the transformtion from model space to clip space.

const nvmath::Mat44f nvutil::TransformStack::getModelToView ( void ) const [inline]

Get the transformtion from model space to view space.

const nvmath::Mat44f & nvutil::TransformStack::getModelToWorld ( void ) const [inline]

Get the transformtion from model space to world space.

const nvmath::Mat44f & nvutil::TransformStack::getViewToClip ( void ) const [inline]

Get the transformtion from view space to clip space.

const nvmath::Mat44f nvutil::TransformStack::getViewToModel ( void ) const [inline]

Get the transformtion from view space to model space.

const nvmath::Mat44f & nvutil::TransformStack::getViewToWorld ( void ) const [inline]

Get the transformtion from view space to world space.

const nvmath::Mat44f & nvutil::TransformStack::getWorldToModel ( void ) const [inline]

Get the transformtion from world space to model space.

const nvmath::Mat44f & nvutil::TransformStack::getWorldToView ( void ) const [inline]

Get the transformtion from world space to view space.

size_t nvutil::TransformStack::getStackDepth ( void ) const [inline]

Get the depth of the model <-> world transformation stack.

void nvutil::TransformStack::popModelToWorld ( void ) [inline]

Pop the top element of the model <-> world transformation stack.

void nvutil::TransformStack::pushModelToWorld | ( | const nvmath::Mat44f & | modelWorld,
 |  | const nvmath::Mat44f & | worldModel
 | ) | [inline]

Push a new pair of matrices on the model <-> world transformation stack.

Note:
modelWorld and worldModel should be inverse to each other to get correct results.
Parameters:
modelWorld | additional model to world transformation
worldModel | additional world to model transformation

void nvutil::TransformStack::setViewToClip | ( | const nvmath::Mat44f & | viewClip,
 |  | const nvmath::Mat44f & | clipView
 | ) | [inline]

Set the pair of matrices for the view <-> clip transformation.

Note:
viewClip and clipView should be inverse to each other to get correct results.
Parameters:
viewClip | new view to clip transformation (projection)
clipView | new clip to view transformation

void nvutil::TransformStack::setWorldToView | ( | const nvmath::Mat44f & | worldView,
 |  | const nvmath::Mat44f & | viewWorld
 | ) | [inline]

Set the pair of matrices for the world <-> view transformation.

Note:
worldView and viewWorld should be inverse to each other to get correct results.
Parameters:
worldView | new world to view transformation
viewWorld | new view to world transformation

The documentation for this class was generated from the following file:
  • TransformStack.h
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


nvtraverser::TransformUnifyTraverser Class Reference

Traverser that unifies identical Transforms. More...

#include <TransformUnifyTraverser.h>

Inheritance diagram for nvtraverser::TransformUnifyTraverser:

[legend]
Collaboration diagram for nvtraverser::TransformUnifyTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | TransformUnifyTraverser (void)
Constructor.

NVSG_API bool | getIgnoreNames (void) const
Get the 'ignore names' flag.

NVSG_API void | setIgnoreNames (bool ignore)
Set the 'ignore names' flags.

Protected Member Functions

virtual NVSG_API | ~TransformUnifyTraverser (void)
Protected destructor to prevent instantiation of a StateSetUnifyTraverser on stack.

virtual NVSG_API void | doApply (const nvsg::ViewState *viewState, const nvsg::Scene *scene)
doApply override

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Routine to handle a Transform node while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Routine to handle a AnimatedTransform node while traversing the scene graph.

virtual NVSG_API void | preTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately before a Group is to be traversed.

virtual NVSG_API void | postTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately after a Group has been traversed.

Detailed Description

Traverser that unifies identical Transforms.

Identical Transforms (only siblings!) are recognized and their children are gathered beneath a single Transform. This way, redundant objects are removed, thereby reducing storage space as well as run time.

Note:
When there is a LightSource inbetween of some Transform nodes, unifying is not allowed (and therefore not performed) across this LightSource.

Constructor & Destructor Documentation

NVSG_API nvtraverser::TransformUnifyTraverser::TransformUnifyTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::TransformUnifyTraverser::~TransformUnifyTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a StateSetUnifyTraverser on stack.

Member Function Documentation

bool nvtraverser::TransformUnifyTraverser::getIgnoreNames ( void ) const [inline]

Get the 'ignore names' flag.

If the 'ignore names' flag is set, the names of the Transforms are ignored.

Returns:
true if the names will be ignored, otherwise false

void nvtraverser::TransformUnifyTraverser::setIgnoreNames ( bool ignore ) [inline]

Set the 'ignore names' flags.

If the 'ignore names' flag is set, the names of the Transforms are ignored.

Parameters:
ignore set true to ignore names on comparison

virtual NVSG_API void nvtraverser::TransformUnifyTraverser::doApply | ( | const nvsg::ViewState * | viewState,
 |  | const nvsg::Scene * | scene
 | ) | [protected, virtual]

doApply override

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::TransformUnifyTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Routine to handle a Transform node while traversing the scene graph.

This handler compares the Transform p with previously encountered Transforms. If it is identical to one of them all it's children are moved to that other Transform and p is marked for deletion.

Parameters:
p Points to the currently visited Transform object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::TransformUnifyTraverser::handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Routine to handle a AnimatedTransform node while traversing the scene graph.

This handler compares the AnimatedTransform p with previously encountered AnimatedTransforms. If it is identical to one of them all it's children are moved to that AnimatedTransform and p is marked for deletion.

Parameters:
p Points to the currently visited AnimatedTransform object.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::TransformUnifyTraverser::preTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately before a Group is to be traversed.

Remarks:
Custom traversers can override this function for any tasks that need to be done immediately before the Group pointed to by p is traversed.
Parameters:
p Points to the Group that will be traversed immediately after this call.

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::TransformUnifyTraverser::postTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately after a Group has been traversed.

Remarks:
Custom traversers can override this function for any tasks that need to be done immediately after the Group pointed to by p has been traversed.
Parameters:
p Points to the Group that was traversed immediately before this call.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • TransformUnifyTraverser.h
Generated on Fri Jan 28 09:22:19 2005 for NVSGSDK by NVIDIA


nvtraverser::Traverser Class Reference

Base class providing an interface for read-write traversing of a given scene graph. More...

#include <Traverser.h>

Inheritance diagram for nvtraverser::Traverser:

[legend]
Collaboration diagram for nvtraverser::Traverser:

[legend]
List of all members.

Public Member Functions

NVSG_API void | apply (const nvsg::ViewState *viewState, const nvsg::Scene *scene)
Start traversing a scene graph.

Protected Member Functions

NVSG_API | Traverser (bool readOnly=true)
Default construction on instantiation.

virtual NVSG_API | ~Traverser (void)
Protected destructor to prevent instantiation of a Traverser.

virtual NVSG_API void | doApply (const nvsg::ViewState *viewState, const nvsg::Scene *scene)
Initiate traversing a given scene graph.

template<typename HandlerType> void | addObjectHandler (unsigned int objectCode, HandlerType handler)
Add a handler routine for a concrete Object derived object.

void | traverseObject (const nvsg::Object *object)
Start traversing a general object.

template<typename T> void | traverseObject (const nvsg::Object *object, T arg)
Start traversing a general object.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.

virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Routine to handle a Group node while traversing the scene graph.

virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Routine to handle a Switch node while traversing the scene graph.

virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Routine to handle a Transform node while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Routine to handle a AnimatedTransform node while traversing the scene graph.

virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p)
Routine to handle a DirectedLight node while traversing the scene graph.

virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p)
Routine to handle a PointLight node while traversing the scene graph.

virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p)
Routine to handle a SpotLight node while traversing the scene graph.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Routine to handle a AnimatedQuads object while traversing the scene graph.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.

virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.

virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p)
Routine to handle a AnimatedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p)
Routine to handle a SkinnedTriangles object while traversing the scene graph.

virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.

virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.

virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx attribute while traversing the scene graph.

virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Routine to handle a FaceAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Routine to handle a Material attribute while traversing the scene graph.

virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Routine to handle a TextureAttribute attribute while traversing the scene graph.

virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t tu)
Routine to handle a TextureAttributeItem object while traversing the scene graph.

virtual NVSG_API void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root)
Routine to handle a JitterCamera object while traversing the scene graph.

virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root)
Routine to handle a ParallelCamera object while traversing the scene graph.

virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root)
Routine to handle a PerspectiveCamera object while traversing the scene graph.

virtual NVSG_API void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root)
Routine to handle a StereoCamera object while traversing the scene graph.

virtual NVSG_API void | handleFramedTrafoAnimation (const nvsg::FramedAnimation< nvmath::Trafo > *p)
Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph.

virtual NVSG_API void | handleFramedVNVectorAnimation (const nvsg::FramedAnimation< nvsg::VNVector > *p)
Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph.

virtual NVSG_API void | handleLinearInterpolatedTrafoAnimation (const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p)
Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph.

virtual NVSG_API void | handleLinearInterpolatedVNVectorAnimation (const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p)
Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph.

virtual NVSG_API void | handleHighlightBox (const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet)
Routine to handle a HighlightBox object while traversing the scene graph.

virtual NVSG_API void | handleHighlightEdges (const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet)
Routine to handle a HighlightEdges object while traversing the scene graph.

virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root)
This function will be called from the framework immediately before the scene graph is traversed.

virtual NVSG_API void | postTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root)
This function will be called from the framework immediately after the scene graph has been traversed.

virtual NVSG_API void | preTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately before a Group is traversed.

virtual NVSG_API void | postTraverseGroup (const nvsg::Group *p)
This function will be called from the framework immediately after a Group has been traversed.

virtual NVSG_API bool | preTraverseDrawable (const nvsg::Drawable *p)
This function will be called from the framework immediately before a Drawable is traversed.

virtual NVSG_API void | traverseLight (const nvsg::LightSource *p)
This function will be called from the framework when a LightSource node is visited.

template<typename T> T * | beginEdit (const T *obj) const
Get a writable pointer to a constant object.

template<typename T> const T * | endEdit (const T *obj) const
End the editing operation on a constant object.

Protected Attributes

std::stack< size_t > | m_lodStack
holds the index of the current LOD level

std::stack< const nvsg::CullData * > | m_cullStack
holds the cull data corresponding to the traversed tree

std::stack< const nvsg::Group * > | m_groupStack
stack of groups just traversing

const nvsg::StateSet * | m_defaultStateSet
private copy of the scene's default states

const nvsg::StateSet * | m_overrideStateSet
private copy of the scnee's override states

Detailed Description

Base class providing an interface for read-write traversing of a given scene graph.

A traverser serves as a link between a scene graph and a defined operation to be performed on the scene graph. That is, according to a certain scene graph's hierarchy, a traverser iterates over all scene graph components and performes a defined operation for each by means of an overloadable handler routine.

The Traverser class offers base functionality for all traversers that intend to provide read-write operations on a given scene graph. For all known and concrete Objects this base class provides a set of overloadable handler routines, each ensuring that all components following the actual object in the graph hierarchy will be traversed correctly. Hence, for derived traversers it is recommended to always call the base implementation of an overloaded handler routine for traversing purposes.

To provide new read-only operations to be applied on known and concrete components or objects arranged in a scene graph, it is sufficient to derive a new traverser from either Traverser or one of its derived traversers, and overload the corresponding handler routines as needed.

Constructor & Destructor Documentation

NVSG_API nvtraverser::Traverser::Traverser ( bool readOnly = true ) [protected]

Default construction on instantiation.

The constructor is protected, and hence, a Traverser object cannot be instantiated directly but only by deriving from Traverser.

virtual NVSG_API nvtraverser::Traverser::~Traverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a Traverser.

Member Function Documentation

NVSG_API void nvtraverser::Traverser::apply | ( | const nvsg::ViewState * | viewState,
 |  | const nvsg::Scene * | scene
 | ) |

Start traversing a scene graph.

This serves as the main entry point for clients to traverse a certain scene graph. The function waits to gain read access to the Scene object pointed to by scene. If an optional ViewState object is provided, the function also waits to gain read access to the ViewState object pointed to by viewState. After the function gains read access to the Scene object (and the ViewState object, if provided), it calls the protected and overloadable doApply member function to start traversing the corresponding scene graph. After traversing is completed, the function releases the read access to the Scene object and, if provided, the optional ViewState object.

Note:
The behavior is undefined if scene points to an invalid location.
Parameters:
viewState | Specifies an optional ViewState object to be applied prior to traversing the scene graph.
scene | Abstracts the scene graph to be traversed.

virtual NVSG_API void nvtraverser::Traverser::doApply | ( | const nvsg::ViewState * | viewState,
 |  | const nvsg::Scene * | scene
 | ) | [protected, virtual]

Initiate traversing a given scene graph.

This overloadable function is called from the traverser's entry point apply . The base implementation first initiates the traversing of the scene's global states, if available. After that the scene itself is traversed. If an optional ViewState ViewState is passed through viewState, it is applied prior to traversing the scene.

Custom traversers may override this function in order to implement initial work to be done before traversing the scene. For derived classes to ensure proper traversing of the scene, it is recommended to always call the base implementation after the initial work has been done.

Parameters:
viewState | Optional ViewState to be applied prior to traversing the scene.
scene | Points to the scene to be traversed.

Reimplemented in WRLLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::CondenseTraverser, nvtraverser::CullTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, and nvtraverser::TransformUnifyTraverser.

template<typename HandlerType>
void nvtraverser::Traverser::addObjectHandler | ( | unsigned int | objectCode,
 |  | HandlerType | handler
 | ) | [inline, protected]

Add a handler routine for a concrete Object derived object.

The function registers the handler routine specified by handler to handle a concrete Object that is explicitly identified by objectCode.

A handler routine must be a member function of a Traverser-derived class. It must return void and expect a pointer to the concrete object as a first parameter, and can have one additional (optional) argument of arbitrary type. A handler routine must not have a default argument! If a handler routine is intended to remain overloadable, it should be declared virtual.

Note:
A possibly pre-registered handler routine for the specified object will be overridden by the new handler.
Remarks:
For derived classes intended to provide new operations for known objects arranged in a scene graph, it is strongly recommended not to add new handler routines for a certain known objects but to overload the corresponding handler routines. In this context, we refer to 'known objects' as objects that are known by the Traverser base class and for which a corresponding handler routine is provided.
However, addObjectHandler is indispensible if newly invented objects, and hence, objects that are unknown by the Traverser base class, need to be considered for traversing.
Parameters:
objectCode | Object code to identify an object type at run-time.
handler | Specifies the address of the handler routine.

void nvtraverser::Traverser::traverseObject ( const nvsg::Object * object ) [inline, protected]

Start traversing a general object.

The function first waits to gain read access to the object pointed to by object. After that, it calls the corresponding and overloadable handler routine. After the handler routine returns, the function releases the read access to the object.

Note:
The behavior is undefined if p points to an invalid location.
Parameters:
object Points to the object to be traversed.

template<typename T>
void nvtraverser::Traverser::traverseObject | ( | const nvsg::Object * | object,
 |  | T | arg
 | ) | [inline, protected]

Start traversing a general object.

The function first waits to gain read access to the object pointed to by object. After that, it calls the corresponding and overloadable handler routine with the additional argument arg. After the handler routine returns, the function releases the read access to the object.

Note:
The behavior is undefined if p points to an invalid location. The behavior is also undefined if the additional argument doesn't match that of the corresponding handler routine.
Parameters:
object | Points to the object to be traversed.
arg | Specifies an additional argument that will be passed to the handler routine.

virtual NVSG_API void nvtraverser::Traverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

This routine gets called for each GeoNode object that will be visited while traversing the scene graph. The currently visited GeoNode object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited GeoNode object.

Reimplemented in NVBLoadTraverser, WRLLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::CondenseTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::StrippingTraverser, and nvtraverser::TriangulateTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleGroup ( const nvsg::Group * p ) [protected, virtual]

Routine to handle a Group node while traversing the scene graph.

This routine gets called for each Group object that will be visited while traversing the scene graph. The currently visited Group object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Group object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::RayIntersectTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

This routine gets called for each LOD object that will be visited while traversing the scene graph. The currently visited LOD object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited LOD object.

Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RayIntersectTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Routine to handle a Switch node while traversing the scene graph.

This routine gets called for each Switch object that will be visited while traversing the scene graph. The currently visited Switch object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Switch object.

Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::RayIntersectTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Routine to handle a Transform node while traversing the scene graph.

This routine gets called for each Transform object that will be visited while traversing the scene graph. The currently visited Transform object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Transform object.

Reimplemented in WRLLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::GLTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, and nvtraverser::TransformUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Routine to handle a AnimatedTransform node while traversing the scene graph.

This routine gets called for each AnimatedTransform object that will be visited while traversing the scene graph. The currently visited AnimatedTransform object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited AnimatedTransform object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::SearchTraverser, and nvtraverser::TransformUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Routine to handle a DirectedLight node while traversing the scene graph.

This routine gets called for each DirectedLight object that will be visited while traversing the scene graph. The currently visited DirectedLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited DirectedLight object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Routine to handle a PointLight node while traversing the scene graph.

This routine gets called for each PointLight object that will be visited while traversing the scene graph. The currently visited PointLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited PointLight object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Routine to handle a SpotLight node while traversing the scene graph.

This routine gets called for each SpotLight object that will be visited while traversing the scene graph. The currently visited SpotLight object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited SpotLight object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

This routine gets called for each Quads object that will be visited while traversing the scene graph. The currently visited Quads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Quads object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, nvtraverser::StrippingTraverser, and nvtraverser::TriangulateTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Routine to handle a AnimatedQuads object while traversing the scene graph.

This routine gets called for each AnimatedQuads object that will be visited while traversing the scene graph. The currently visited AnimatedQuads object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited AnimatedQuads object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, nvtraverser::StrippingTraverser, and nvtraverser::TriangulateTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

This routine gets called for each QuadStrips object that will be visited while traversing the scene graph. The currently visited QuadStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited QuadStrips object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::TriangulateTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

This routine gets called for each Triangles object that will be visited while traversing the scene graph. The currently visited Triangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Triangles object.

Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::StrippingTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleAnimatedTriangles ( const nvsg::AnimatedTriangles * p ) [protected, virtual]

Routine to handle a AnimatedTriangles object while traversing the scene graph.

This routine gets called for each AnimatedTriangles object that will be visited while traversing the scene graph. The currently visited AnimatedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited AnimatedTriangles object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::StrippingTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleSkinnedTriangles ( const nvsg::SkinnedTriangles * p ) [protected, virtual]

Routine to handle a SkinnedTriangles object while traversing the scene graph.

This routine gets called for each SkinnedTriangles object that will be visited while traversing the scene graph. The currently visited SkinnedTriangles object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited SkinnedTriangles object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, nvtraverser::SmoothTraverser, and nvtraverser::StrippingTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

This routine gets called for each TriStrips object that will be visited while traversing the scene graph. The currently visited TriStrips object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited TriStrips object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::CullTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::SearchTraverser, and nvtraverser::SmoothTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

This routine gets called for each StateSet object that will be visited while traversing the scene graph. The currently visited StateSet object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited StateSet object.

Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx attribute while traversing the scene graph.

This routine gets called for each CgFx object that will be visited while traversing the scene graph. The currently visited CgFx object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited CgFx object.

Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::AppTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Routine to handle a FaceAttribute attribute while traversing the scene graph.

This routine gets called for each FaceAttribute object that will be visited while traversing the scene graph. The currently visited FaceAttribute object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited FaceAttribute object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Routine to handle a Material attribute while traversing the scene graph.

This routine gets called for each Material object that will be visited while traversing the scene graph. The currently visited Material object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Material object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Routine to handle a TextureAttribute attribute while traversing the scene graph.

This routine gets called for each TextureAttribute object that will be visited while traversing the scene graph. The currently visited TextureAttribute object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited TextureAttribute object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::SearchTraverser, and nvtraverser::StateSetUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleTextureAttributeItem | ( | const nvsg::TextureAttributeItem * | p,
 |  | size_t | tu
 | ) | [protected, virtual]

Routine to handle a TextureAttributeItem object while traversing the scene graph.

This routine gets called for each TextureAttributeItem object that will be visited while traversing the scene graph. The currently visited TextureAttributeItem object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p | Points to the currently visited TextureAttributeItem object.
tu | Specifies the zero based index of the texture unit to bind the item to.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::StateSetUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleJitterCamera | ( | const nvsg::JitterCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a JitterCamera object while traversing the scene graph.

This routine gets called for each JitterCamera object that will be visited while traversing the scene graph. The currently visited JitterCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p | Points to the currently visited JitterCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleParallelCamera | ( | const nvsg::ParallelCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a ParallelCamera object while traversing the scene graph.

This routine gets called for each ParallelCamera object that will be visited while traversing the scene graph. The currently visited ParallelCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p | Points to the currently visited ParallelCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RenderTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handlePerspectiveCamera | ( | const nvsg::PerspectiveCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a PerspectiveCamera object while traversing the scene graph.

This routine gets called for each PerspectiveCamera object that will be visited while traversing the scene graph. The currently visited PerspectiveCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p | Points to the currently visited PerspectiveCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::ModelViewTraverser, nvtraverser::RenderTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleStereoCamera | ( | const nvsg::StereoCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

Routine to handle a StereoCamera object while traversing the scene graph.

This routine gets called for each StereoCamera object that will be visited while traversing the scene graph. The currently visited StereoCamera object is pointed to by p. If the root node pointed to by root is valid (that is, root is not a null pointer), this function traverses the root node after the camera settings have been evaluated. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p | Points to the currently visited StereoCamera object.
root | If valid, points to the root node to be traversed with the actual camera settings.

Reimplemented in NVBLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, nvtraverser::GLTraverser, nvtraverser::OcclusionCullGLTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleFramedTrafoAnimation ( const nvsg::FramedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a FramedAnimation<Trafo> object while traversing the scene graph.

This routine gets called for each FramedAnimation<Trafo> object that will be visited while traversing the scene graph. The currently visited FramedAnimation<Trafo> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Animation object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleFramedVNVectorAnimation ( const nvsg::FramedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Routine to handle a FramedAnimation<VNVector> object while traversing the scene graph.

This routine gets called for each FramedAnimation<VNVector> object that will be visited while traversing the scene graph. The currently visited FramedAnimation<VNVector> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Animation object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleLinearInterpolatedTrafoAnimation ( const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimation<Trafo> object while traversing the scene graph.

This routine gets called for each LinearInterpolatedAnimation<Trafo> object that will be visited while traversing the sc ene graph. The currently visited LinearInterpolatedAnimation<Trafo> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Animation object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleLinearInterpolatedVNVectorAnimation ( const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimation<VNVector> object while traversing the scene graph.

This routine gets called for each LinearInterpolatedAnimation<VNVector> object that will be visited while traversing the scene graph. The currently visited LinearInterpolatedAnimation<VNVector> object is pointed to by p. The base implementation ensures that all underlying components will be traversed in a correct way. For derived classes, it is recommended to always call the base implementation for traversing purposes.

Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p Points to the currently visited Animation object.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and nvtraverser::SearchTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleHighlightBox | ( | const nvsg::HighlightBox * | p,
 |  | const nvsg::GeoSet * | geoSet
 | ) | [protected, virtual]

Routine to handle a HighlightBox object while traversing the scene graph.

This routine gets called for each HighlightBox object that will be visited while traversing the scene graph. The currently visited Highlight object is pointed to by p.

Remarks:
A HighlighBox always is attached to its corresponding GeoSet object as a HighlightObject .
Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p | Points to the currently visited HighlightBox object.
geoSet | Points to the corresponding GeoSet object.

Reimplemented in nvtraverser::AppTraverser, nvtraverser::GLTraverser, and nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::Traverser::handleHighlightEdges | ( | const nvsg::HighlightEdges * | p,
 |  | const nvsg::GeoSet * | geoSet
 | ) | [protected, virtual]

Routine to handle a HighlightEdges object while traversing the scene graph.

This routine gets called for each HighlightEdges object that will be visited while traversing the scene graph. The currently visited Highlight object is pointed to by p.

Remarks:
A HighlighEdges always is attached to its corresponding GeoSet object as a HighlightObject .
Note:
: The behavior is undefined if p points to an invalid location.
Parameters:
p | Points to the currently visited HighlightEdges object.
geoSet | Points to the corresponding GeoSet object.

Reimplemented in nvtraverser::GLTraverser, and nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API bool nvtraverser::Traverser::preTraverseRoot | ( | const nvsg::SimpleCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

This function will be called from the framework immediately before the scene graph is traversed.

If the function returns false, further traversing will be skipped.

Remarks:
Custom traversers can override this function for any tasks that need to be done immediately before the scene graph is traversed.
Parameters:
p | Camera that will be applied while traversing the scene graph.
root | Root node to start traversing from.

Reimplemented in nvtraverser::FrustumCullTraverser, nvtraverser::GLTraverser, nvtraverser::ModelViewTraverser, and nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::Traverser::postTraverseRoot | ( | const nvsg::SimpleCamera * | p,
 |  | const nvsg::Node * | root
 | ) | [protected, virtual]

This function will be called from the framework immediately after the scene graph has been traversed.

remarks Custom traversers can override this function for any tasks that need to be done immediately after the scene graph has been traversed.

Parameters:
p | Camera that was applied while traversing the scene graph.
root | Root node were traversing has been started from.

Reimplemented in nvtraverser::OcclusionCullGLTraverser.

virtual NVSG_API void nvtraverser::Traverser::preTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately before a Group is traversed.

Remarks:
Custom traversers can override this function for any tasks that need to be done immediately before the Group pointed to by p is traversed.
Parameters:
p Points to the Group that will be traversed immediately after this call.

Reimplemented in nvtraverser::GeoNodeUnifyTraverser, nvtraverser::GroupUnifyTraverser, and nvtraverser::TransformUnifyTraverser.

virtual NVSG_API void nvtraverser::Traverser::postTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

This function will be called from the framework immediately after a Group has been traversed.

Remarks:
Custom traversers can override this function for any tasks that need to be done immediately after the Group pointed to by p has been traversed.
Parameters:
p Points to the Group that was traversed immediately before this call.

Reimplemented in nvtraverser::GeoNodeUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::RenderTraverser, and nvtraverser::TransformUnifyTraverser.

virtual NVSG_API bool nvtraverser::Traverser::preTraverseDrawable ( const nvsg::Drawable * p ) [protected, virtual]

This function will be called from the framework immediately before a Drawable is traversed.

If the function returns false, further traversing will be skipped.

Remarks:
Custom traversers can override this function for any tasks that need to be done immediately before the Drawable is traversed.
Parameters:
p Drawable that is going to be traversed

Reimplemented in nvtraverser::GLTraverser.

virtual NVSG_API void nvtraverser::Traverser::traverseLight ( const nvsg::LightSource * p ) [protected, virtual]

This function will be called from the framework when a LightSource node is visited.

remarks Custom traversers can override this function for special tasks that need to be performed when visiting a LightSource node.

Parameters:
p Points to the currently visited LightSource node.

Reimplemented in nvtraverser::AppTraverser, nvtraverser::CullTraverser, and nvtraverser::RenderTraverser.

template<typename T>
T* nvtraverser::Traverser::beginEdit ( const T * obj ) const [inline, protected]

Get a writable pointer to a constant object.

While traversing, all modifications of objects have to be embraced by beginEdit/endEdit.

Returns:
A non-constant pointer to the object.
Parameters:
obj object to get a non-constant pointer to

template<typename T>
const T* nvtraverser::Traverser::endEdit ( const T * obj ) const [inline, protected]

End the editing operation on a constant object.

While traversing, all modifications of objects have to be embraced by beginEdit/endEdit.

Returns:
A constant pointer to the object.
Parameters:
obj object to end editing operations on

Member Data Documentation

std::stack<size_t> nvtraverser::Traverser::m_lodStack [protected]

holds the index of the current LOD level

std::stack<const nvsg::CullData *> nvtraverser::Traverser::m_cullStack [protected]

holds the cull data corresponding to the traversed tree

std::stack<const nvsg::Group *> nvtraverser::Traverser::m_groupStack [protected]

stack of groups just traversing

const nvsg::StateSet* nvtraverser::Traverser::m_defaultStateSet [protected]

private copy of the scene's default states

const nvsg::StateSet* nvtraverser::Traverser::m_overrideStateSet [protected]

private copy of the scnee's override states

The documentation for this class was generated from the following file:
  • Traverser.h
Generated on Fri Jan 28 09:22:21 2005 for NVSGSDK by NVIDIA


nvsg::Triangles Class Reference

GeoSet for Triangles. More...

#include <Triangles.h>

Inheritance diagram for nvsg::Triangles:

[legend]
Collaboration diagram for nvsg::Triangles:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const Triangles * | clone (void) const
Get a clone of this Triangles object.

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

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

NVSG_API bool | hasFaces (void) const
Ask if this Triangles has faces.

NVSG_API size_t | getNumberOfFaces (void) const
Get number of faces.

NVSG_API const Face3 * | getFaces (void) const
Get constant pointer to faces.

NVSG_API void | setFaces (const Face3 *pFaces, size_t numFaces)
Set the faces for this Triangles.

NVSG_API void | setFaces (size_t pos, const Face3 *pFaces, size_t numFaces)
Set the faces for this Triangles.

virtual NVSG_API void | calculateTangentSpace (size_t tu=0, size_t tg=1, size_t bn=2)
Calculate tangents and binormals.

Static Public Member Functions

NVSG_API const Triangles * | create (void)
Create a Triangles.

NVSG_API const Triangles * | createFromBase (const GeoSet &rhs)
Create a Triangles by copying from a GeoSet.

Protected Member Functions

NVSG_API | Triangles (void)
Constructor.

NVSG_API | Triangles (const GeoSet &rhs)
Partial Constructor from a GeoSet.

NVSG_API | Triangles (const Triangles &rhs)
Copy Constructor.

virtual NVSG_API | ~Triangles (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

GeoSet for Triangles.

A Triangles is a GeoSet that holds an array of index-triplets. Each of these triplets describe a triangle with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.

Constructor & Destructor Documentation

NVSG_API nvsg::Triangles::Triangles ( void ) [protected]

Constructor.

NVSG_API nvsg::Triangles::Triangles ( const GeoSet & rhs ) [protected]

Partial Constructor from a GeoSet.

NVSG_API nvsg::Triangles::Triangles ( const Triangles & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::Triangles::~Triangles ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const Triangles* nvsg::Triangles::create ( void ) [static]

Create a Triangles.

Returns:
a constant pointer to a Triangles.

Reimplemented in nvsg::SkinnedTriangles.

NVSG_API const Triangles* nvsg::Triangles::createFromBase ( const GeoSet & rhs ) [static]

Create a Triangles by copying from a GeoSet.

Returns:
a constant pointer to a Triangles.
Parameters:
rhs GeoSet to copy from

virtual NVSG_API const Triangles* nvsg::Triangles::clone ( void ) const [virtual]

Get a clone of this Triangles object.

Returns:
A constant pointer to a Triangles.

Implements nvsg::Drawable.

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

virtual NVSG_API bool nvsg::Triangles::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::GeoSet.

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

virtual NVSG_API DataID nvsg::Triangles::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::GeoSet.

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

bool nvsg::Triangles::hasFaces ( void ) const [inline]

Ask if this Triangles has faces.

Returns:
true, if this Triangles has faces, otherwise false

size_t nvsg::Triangles::getNumberOfFaces ( void ) const [inline]

Get number of faces.

Returns:
The number of faces

const Face3 * nvsg::Triangles::getFaces ( void ) const [inline]

Get constant pointer to faces.

Returns:
A constant pointer to faces.

NVSG_API void nvsg::Triangles::setFaces | ( | const Face3 * | pFaces,
 |  | size_t | numFaces
 | ) |

Set the faces for this Triangles.

Copies numFaces faces from pFaces into this Triangles. Pre-existing faces will be entirely erased.

Parameters:
pFaces | faces to set
numFaces | number of faces

NVSG_API void nvsg::Triangles::setFaces | ( | size_t | pos,
 |  | const Face3 * | pFaces,
 |  | size_t | numFaces
 | ) |

Set the faces for this Triangles.

Copies numFaces faces from pFaces into this Triangles, startin at position pos inside the range of pre-existing faces.

Pre-existing faces in the range [pos, pos + numFaces) will be replaced. Pre-existing faces outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of faces currently stored, the faces pointed to by pFaces will be appended to the pre-existing faces.

If you not specify -1 for pos or pos neither specifies the number of faces currently stored nor does it specify a valid position inside the range of pre-existing faces, the behaviour is undefined!

Parameters:
pos | Start position inside the range of pre-existing faces
pFaces | faces to set
numFaces | number of faces

virtual NVSG_API void nvsg::Triangles::calculateTangentSpace | ( | size_t | tu = 0,
 |  | size_t | tg = 1,
 |  | size_t | bn = 2
 | ) | [virtual]

Calculate tangents and binormals.

The two dimensional texture coordinates out of texture unit tu are used as the parameterization for the calculation. The tangents are written to texture unit tg and the binormals to texture unit bn.

Parameters:
tu | texture unit to get parameterizing coords
tg | texture unit to write tangents to
bn | texture unit to write binormals to

Implements nvsg::GeoSet.

The documentation for this class was generated from the following file:
  • Triangles.h
Generated on Fri Jan 28 09:21:52 2005 for NVSGSDK by NVIDIA


nvtraverser::TriangulateTraverser Class Reference

Traverser that converts all flavors of quads to triangles. More...

#include <TriangulateTraverser.h>

Inheritance diagram for nvtraverser::TriangulateTraverser:

[legend]
Collaboration diagram for nvtraverser::TriangulateTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | TriangulateTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~TriangulateTraverser (void)
Protected destructor to prevent instantiation of a StrippingTraverser.

virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p)
Handle an AnimatedQuads object.

virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Handle a GeoNode object.

virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Handle a Quads object.

virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Handle a QuadStrips object.

Detailed Description

Traverser that converts all flavors of quads to triangles.

Converts AnimatedQuads to AnimatedTriangles, Quads to Triangles, and QuadStrips to TriangleStrips.

Constructor & Destructor Documentation

NVSG_API nvtraverser::TriangulateTraverser::TriangulateTraverser ( void )

Constructor.

virtual NVSG_API nvtraverser::TriangulateTraverser::~TriangulateTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a StrippingTraverser.

Member Function Documentation

virtual NVSG_API void nvtraverser::TriangulateTraverser::handleAnimatedQuads ( const nvsg::AnimatedQuads * p ) [protected, virtual]

Handle an AnimatedQuads object.

Replaces an AnimatedQuads object by an AnimatedTriangles object.

Parameters:
p AnimatedQuads to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::TriangulateTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Handle a GeoNode object.

The GeoNode is the primary object for quads-to-triangles conversion.

Parameters:
p GeoNode to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::TriangulateTraverser::handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Handle a Quads object.

Replaces a Quads object by a Triangles object.

Parameters:
p Quads to handle

Reimplemented from nvtraverser::Traverser.

virtual NVSG_API void nvtraverser::TriangulateTraverser::handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Handle a QuadStrips object.

Replaces a QuadStrips object by a TrianglesStrips object.

Parameters:
p QuadStrips to handle

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • TriangulateTraverser.h
Generated on Fri Jan 28 09:22:22 2005 for NVSGSDK by NVIDIA


nvsg::TriStrips Class Reference

GeoSet defining triangle strips. More...

#include <TriStrips.h>

Inheritance diagram for nvsg::TriStrips:

[legend]
Collaboration diagram for nvsg::TriStrips:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const TriStrips * | clone () const
Get a clone of this Triangles object.

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

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

NVSG_API bool | hasStrips (void) const
Ask if this TriStrips has strips.

NVSG_API size_t | getNumberOfStrips (void) const
Get number of strips.

NVSG_API const IndexSet * | getStrips () const
Get constant pointer to strips.

NVSG_API void | setStrips (const IndexSet *pStrips, size_t numStrips)
Set the strips for this TriStrip.

NVSG_API void | setStrips (size_t pos, const IndexSet *pStrips, size_t numStrips)
Set the strips for this TriStrip.

virtual NVSG_API void | calculateTangentSpace (size_t tu=0, size_t tg=1, size_t bn=2)
Calculate tangents and binormals.

Static Public Member Functions

NVSG_API const TriStrips * | create (void)
Create a TriStrips.

NVSG_API const TriStrips * | createFromBase (const GeoSet &rhs)
Create a TriStrips by copying from a GeoSet.

Protected Member Functions

NVSG_API | TriStrips (void)
Constructor.

NVSG_API | TriStrips (const GeoSet &rhs)
Partial Constructor from a GeoSet.

NVSG_API | TriStrips (const TriStrips &rhs)
Copy Constructor.

virtual NVSG_API | ~TriStrips (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

GeoSet defining triangle strips.

A TriStrips is a GeoSet that represents the vertex attributes of the GeoSet as triangle strips. The strips are defined by a number of IndexSet elements. Each IndexSet is a std::vector<unsigned int> and represents one triangle strip. If you have, for example, an array of eight vertices in the GeoSet, one possibility to make them a cube is, to define three IndexSet elements like that:

   set[0] = { 0, 1, 2, 3, 4, 5, 6, 7, 0, 1 };
   set[1] = { 1, 7, 3, 5 };
   set[2] = { 6, 0, 4, 2 };
The ordering ensures that the triangles are all drawn with the same orientation so that the triangle strip correctly form part of a surface. Preserving the orientation is important for some operations, such as culling. The number of vertices per IndexSet must be at least 3 for anything to be drawn.

Constructor & Destructor Documentation

NVSG_API nvsg::TriStrips::TriStrips ( void ) [protected]

Constructor.

NVSG_API nvsg::TriStrips::TriStrips ( const GeoSet & rhs ) [protected]

Partial Constructor from a GeoSet.

NVSG_API nvsg::TriStrips::TriStrips ( const TriStrips & rhs ) [protected]

Copy Constructor.

virtual NVSG_API nvsg::TriStrips::~TriStrips ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const TriStrips* nvsg::TriStrips::create ( void ) [static]

Create a TriStrips.

Returns:
a constant pointer to a TriStrips.

NVSG_API const TriStrips* nvsg::TriStrips::createFromBase ( const GeoSet & rhs ) [static]

Create a TriStrips by copying from a GeoSet.

Returns:
a constant pointer to a TriStrips.

virtual NVSG_API const TriStrips* nvsg::TriStrips::clone ( ) const [virtual]

Get a clone of this Triangles object.

Returns:
A constant pointer to a TriStrips.

Implements nvsg::Drawable.

virtual NVSG_API bool nvsg::TriStrips::isDataShared ( void ) const [virtual]

Determine whether the data of this object is shared.

Returns:
true if the object's data is shared, otherwise false.

Reimplemented from nvsg::GeoSet.

virtual NVSG_API DataID nvsg::TriStrips::getDataID ( void ) const [virtual]

Get the DataID of the data of this object.

Returns:
DataID of the object's data.

Reimplemented from nvsg::GeoSet.

bool nvsg::TriStrips::hasStrips ( void ) const [inline]

Ask if this TriStrips has strips.

Returns:
true, if this TriStrips has strips, otherwise false

size_t nvsg::TriStrips::getNumberOfStrips ( void ) const [inline]

Get number of strips.

Returns:
The number of strips

const IndexSet * nvsg::TriStrips::getStrips ( ) const [inline]

Get constant pointer to strips.

Returns:
A constant pointer to strips

NVSG_API void nvsg::TriStrips::setStrips | ( | const IndexSet * | pStrips,
 |  | size_t | numStrips
 | ) |

Set the strips for this TriStrip.

Copies numStrips strips from pStrips into this TriStrips.

Parameters:
pStrips | strips to set
numStrips | number of strips

NVSG_API void nvsg::TriStrips::setStrips | ( | size_t | pos,
 |  | const IndexSet * | pStrips,
 |  | size_t | numStrips
 | ) |

Set the strips for this TriStrip.

Copies numStrips strips from pStrips into this TriStrips, starting at position pos inside the range of pre-existing strips.

Pre-existing strips in the range [pos, pos + numStrips) will be replaced. Pre-existing strips outside this range remain untouched.

If you specify -1 for pos or if pos specifies the number of strips currently stored, the strips pointed to by pStrips will be appended to the pre-existing faces.

If you not specify -1 for pos or pos neither specifies the number of faces currently stored nor does it specify a valid position inside the range of pre-existing strips, the behaviour is undefined!

Parameters:
pos | Start position inside the range of pre-existing strips
pStrips | strips to set
numStrips | number of strips

virtual NVSG_API void nvsg::TriStrips::calculateTangentSpace | ( | size_t | tu = 0,
 |  | size_t | tg = 1,
 |  | size_t | bn = 2
 | ) | [virtual]

Calculate tangents and binormals.

The two dimensional texture coordinates out of texture unit tu are used as the parameterization for the calculation. The tangents are written to texture unit tg and the binormals to texture unit bn.

Parameters:
tu | texture unit to get parameterizing coords
tg | texture unit to write tangents to
bn | texture unit to write binormals to

Implements nvsg::GeoSet.

The documentation for this class was generated from the following file:
  • TriStrips.h
Generated on Fri Jan 28 09:21:54 2005 for NVSGSDK by NVIDIA


tweak_t Struct Reference

The tweak_t structure specifies how a tweakable parameter is stored in a .NBF file. More...

#include <NBF.h>

Collaboration diagram for tweak_t:

[legend]
List of all members.

Public Attributes

str_t name
Specifies the tweakable's name as it appears in the .fx source file.

uint_t type
Specifies the tweakable's value type enum as specified in the CgFX format.

Detailed Description

The tweak_t structure specifies how a tweakable parameter is stored in a .NBF file.

Tweakables need to be considered in conjunction with NBFCgFx objects.

Member Data Documentation

str_t tweak_t::name

Specifies the tweakable's name as it appears in the .fx source file.

uint_t tweak_t::type

Specifies the tweakable's value type enum as specified in the CgFX format.

uint_t tweak_t::value

Specifies the file offset to a non-string value. This offset is not a valid offset < for string type enums. The value's size results from its type enum.

str_t tweak_t::strval

Specifies the string value in cases of string type enums. This is invalid for non-string < type enums.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


nvutil::UPIID Class Reference

Unique Plug Interface ID. More...

#include <PlugIn.h>

Collaboration diagram for nvutil::UPIID:

[legend]
List of all members.

Public Member Functions

UPIID ()
Default constructor.

NVSG_API | UPIID (const char idstr[8], UPITID pitid)
Constructor.

NVSG_API UPIID & | operator= (const UPIID &rhs)
Assignment operator.

const char * | getPlugSpecificIDString () const
Receive specific identifier string.

const UPITID & | getPlugInterfaceType () const
Receive the unique interface type.

Friends

bool | operator< (const UPIID &lhs, const UPIID &rhs)
"Less than" comparison

bool | operator== (const UPIID &lhs, const UPIID &rhs)
Comparison.

bool | operator!= (const UPIID &lhs, const UPIID &rhs)
Comparison.

Detailed Description

Unique Plug Interface ID.

A helper class for assembling unique IDs that identify a certain plug interface. An 8 byte specific identifier string will be concatenated to a UPITID to define a unique plug interface identifier, client code can query for.

Note:
A UPIID will be defined by a plug-in which provides a certain plug interface type.

Constructor & Destructor Documentation

nvutil::UPIID::UPIID ( ) [inline]

Default constructor.

Default constructs a UPIID object.

NVSG_API nvutil::UPIID::UPIID | ( | const char | idstr[8],
 |  | UPITID | pitid
 | ) |

Constructor.

Constructs a UPIID object from a specific identifier string (8 bytes) and a UPITID which identifies the certain type of the interface a plug-in provides.

Parameters:
idstr | Specific identifier string
pitid | UPITID the plug-in provides

Member Function Documentation

NVSG_API UPIID& nvutil::UPIID::operator= ( const UPIID & rhs )

Assignment operator.

Assigning a new UPIID.

Returns:
A reference to this UPIID object.

const char * nvutil::UPIID::getPlugSpecificIDString ( ) const [inline]

Receive specific identifier string.

Get hold of the identifier that is specific for a plug interface provided by a certain plug-in. Client code can take this additional information to decide which plug-in best matches the client's requirements concerning a certain plug interface type. The kind of information stored in the specific identifier string and how a certain client can use it, must be documented in detail by the plug-in writer.

For example, plug-ins that provide the nvsg::PITID_SCENE_LOADER or nvsg::PITID_SCENE_SAVER interface type for either loading or saving a NVSG scene, store the specific file extension within the specific identifier string of the UPIID object the plug-in returns, if client code queries for these interface types using the nvutil:queryInterfaceType interface.
Returns:
A constant string holding the specific identifier string.

const UPITID & nvutil::UPIID::getPlugInterfaceType ( ) const [inline]

Receive the unique interface type.

This is for a client to verify if the plug interface type stored in this interface ID is the same, it was querying for.

Returns:
The UPITID stored in the UPIID.

Friends And Related Function Documentation

bool operator< | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [friend]

"Less than" comparison

Compares two UPIID objects. This operator is required e.g. if it is intended to store UPIID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [friend]

Comparison.

Tests two UPIID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [friend]

Comparison.

Tests two UPIID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jan 28 09:22:32 2005 for NVSGSDK by NVIDIA


nvutil::UPITID Class Reference

Unique Plug Interface Type ID. More...

#include <PlugIn.h>

List of all members.

Public Member Functions

UPITID ()
Default constructor.

NVSG_API | UPITID (unsigned short pit, const char verStr[16])
Constructor.

NVSG_API | UPITID (const UPITID &rhs)
Copy constructor.

Friends

bool | operator< (const UPITID &lhs, const UPITID &rhs)
"Less than" comparison

bool | operator== (const UPITID &lhs, const UPITID &rhs)
Comparison.

bool | operator!= (const UPITID &lhs, const UPITID &rhs)
Comparison.

Detailed Description

Unique Plug Interface Type ID.

A helper class for assembling unique IDs that identify a certain plug interface type. A short numeric interface type ID and a 16 byte version string are concatenated to define a unique plug interface type identifier.

Note:
A UPITID must be defined by a client which wants to use a certain plug interface type provided by a plug-in.

Constructor & Destructor Documentation

nvutil::UPITID::UPITID ( ) [inline]

Default constructor.

Default constructs a UPITID object.

NVSG_API nvutil::UPITID::UPITID | ( | unsigned short | pit,
 |  | const char | verStr[16]
 | ) |

Constructor.

Constructs a UPITID object from a plug interface type ID and a version string.

Parameters:
pit | Identifies a certain plug interface type
verStr | A 16 byte version string to maintain version safty

NVSG_API nvutil::UPITID::UPITID ( const UPITID & rhs )

Copy constructor.

Constructs a UPITID object from another UPITID object.

Friends And Related Function Documentation

bool operator< | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [friend]

"Less than" comparison

Compares two UPITID objects. This operator is required e.g. if it is intended to store UPITID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [friend]

Comparison.

Tests two UPITID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [friend]

Comparison.

Tests two UPITID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jan 28 09:22:32 2005 for NVSGSDK by NVIDIA


nvmath::Vec2f Class Reference

2-component vector class. More...

#include <Vec2f.h>

Inheritance diagram for nvmath::Vec2f:

[legend]
Collaboration diagram for nvmath::Vec2f:

[legend]
List of all members.

Public Member Functions

NVSG_API | Vec2f (void)
Default constructor.

NVSG_API | Vec2f (float x, float y)
Constructor using two floats.

NVSG_API | Vec2f (const Vecnf< 2 > &v)
Copy constructor.

NVSG_API void | set (float x, float y)
Set the vector with two float values.

Related Functions

(Note that these are not member functions.)

Vec2f | operator * (float f, const Vec2f &v)

Detailed Description

2-component vector class.

Constructor & Destructor Documentation

nvmath::Vec2f::Vec2f ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Vec2f::Vec2f | ( | float | x,
 |  | float | y
 | ) | [inline]

Constructor using two floats.

A vector with the given values is constructed.

Parameters:
x | x component
y | y component

nvmath::Vec2f::Vec2f ( const Vecnf< 2 > & v ) [inline]

Copy constructor.

Member Function Documentation

void nvmath::Vec2f::set | ( | float | x,
 |  | float | y
 | ) | [inline]

Set the vector with two float values.

Parameters:
x | x component
y | y component

Friends And Related Function Documentation

Vec2f operator * | ( | float | f,
 |  | const Vec2f & | v
 | ) | [related]

Multiplication of a scalar with a vector.

Returns:
product of f with v
Parameters:
f | scalar to multiply with
v | vector to multiply

The documentation for this class was generated from the following file:
  • Vec2f.h
Generated on Fri Jan 28 09:20:53 2005 for NVSGSDK by NVIDIA


nvmath::Vec3f Class Reference

3-component vector class. More...

#include <Vec3f.h>

Inheritance diagram for nvmath::Vec3f:

[legend]
Collaboration diagram for nvmath::Vec3f:

[legend]
List of all members.

Public Member Functions

NVSG_API | Vec3f (void)
Default constructor.

NVSG_API | Vec3f (float x, float y, float z)
Constructor using three floats.

NVSG_API | Vec3f (const Vecnf< 3 > &v)
Copy constructor.

NVSG_API | Vec3f (const Vecnf< 4 > &v)
Constructor by a Vec4f.

NVSG_API Vec3f & | operator= (const Vec4f &v)
Assignment operator.

NVSG_API Vec3f | operator- (void) const
Negation operator.

NVSG_API void | set (float x, float y, float z)
Set the vector with three float values.

Related Functions

(Note that these are not member functions.)

Vec3f | normalize (const Vec3f &v)
void | normalizeV (const std::vector< Vec3f > &vecIn, std::vector< Vec3f > &vecOut)
Vec3f | operator * (float f, const Vec3f &v)
Vec3f | operator^ (const Vecnf< 3 > &v0, const Vecnf< 3 > &v1)
bool | areCollinear (const Vec3f &v0, const Vec3f &v1)
NVSG_API void | smoothNormals (const std::vector< Vec3f > &vertices, const Sphere3f &sphere, float creaseAngle, std::vector< Vec3f > &normals)

Detailed Description

3-component vector class.

Constructor & Destructor Documentation

nvmath::Vec3f::Vec3f ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Vec3f::Vec3f | ( | float | x,
 |  | float | y,
 |  | float | z
 | ) | [inline]

Constructor using three floats.

A vector with the given values is constructed.

Parameters:
x | x component
y | y component
z | z component

nvmath::Vec3f::Vec3f ( const Vecnf< 3 > & v ) [inline]

Copy constructor.

Parameters:
v vector to copy

nvmath::Vec3f::Vec3f ( const Vecnf< 4 > & v ) [inline]

Constructor by a Vec4f.

Ignores fourth component of constructing vector.

Parameters:
v vector to use first three components from

Member Function Documentation

NVSG_API Vec3f& nvmath::Vec3f::operator= ( const Vec4f & v )

Assignment operator.

Ignores the fourth component of the assigning vector.

Returns:
reference to the assigned vector
Parameters:
v copy v to the vector

Vec3f nvmath::Vec3f::operator- ( void ) const [inline]

Negation operator.

Returns:
negated vector

Reimplemented from nvmath::Vecnf< 3 >.

void nvmath::Vec3f::set | ( | float | x,
 |  | float | y,
 |  | float | z
 | ) | [inline]

Set the vector with three float values.

Parameters:
x | x component
y | y component
z | z component

Friends And Related Function Documentation

Vec3f normalize ( const Vec3f & v ) [related]

Calculate the normalized vector of a given one.

Returns:
normalized version of v
Parameters:
v vector to determine normalized vector from

void normalizeV | ( | const std::vector< Vec3f > & | vecIn,
 |  | std::vector< Vec3f > & | vecOut
 | ) | [related]

Calculate the normalized vector of a vector of Vec3fs

Vec3f operator * | ( | float | f,
 |  | const Vec3f & | v
 | ) | [related]

Multiplication of a scalar with a vector.

Returns:
product of f with v
Parameters:
f | scalar to multiply with
v | vector to multiply

Vec3f operator^ | ( | const Vecnf< 3 > & | v0,
 |  | const Vecnf< 3 > & | v1
 | ) | [related]

Calculation of the cross product of v0 with v1. The cross product of two vectors is a vector that is orthogonal to both arguments

Returns:
cross product of v0 and v1.

bool areCollinear | ( | const Vec3f & | v0,
 |  | const Vec3f & | v1
 | ) | [related]

Test two Vec3f for collinearity. The test is done by testing the cross product (operator^) of the two objects being less than some epsilon.

Returns:
true if t0 and t1 are collinear, otherwise false
Parameters:
v0 | first Vec3f
v1 | second Vec3f

NVSG_API void smoothNormals | ( | const std::vector< Vec3f > & | vertices,
 |  | const Sphere3f & | sphere,
 |  | float | creaseAngle,
 |  | std::vector< Vec3f > & | normals
 | ) | [related]

Determine smoothed normals for a set of vertices.

The documentation for this class was generated from the following file:
  • Vec3f.h
Generated on Fri Jan 28 09:20:54 2005 for NVSGSDK by NVIDIA


nvmath::Vec4f Class Reference

4-component vector class. More...

#include <Vec4f.h>

Inheritance diagram for nvmath::Vec4f:

[legend]
Collaboration diagram for nvmath::Vec4f:

[legend]
List of all members.

Public Member Functions

NVSG_API | Vec4f (void)
Default constructor.

NVSG_API | Vec4f (float x, float y, float z, float w)
Constructor using four floats.

NVSG_API | Vec4f (const Vec3f &v3, float w)
Constructor using a 3-vector and a float.

NVSG_API | Vec4f (const Vecnf< 4 > &v)
Copy constructor.

NVSG_API void | set (float x, float y, float z, float w)
Set the vector with four float values.

Related Functions

(Note that these are not member functions.)

Vec4f | operator * (float f, const Vec4f &v)

Detailed Description

4-component vector class.

Constructor & Destructor Documentation

nvmath::Vec4f::Vec4f ( void ) [inline]

Default constructor.

For performance reasons no initialization is performed.

nvmath::Vec4f::Vec4f | ( | float | x,
 |  | float | y,
 |  | float | z,
 |  | float | w
 | ) | [inline]

Constructor using four floats.

A vector with the given values is constructed.

Parameters:
x | x component
y | y component
z | z component
w | w component

nvmath::Vec4f::Vec4f | ( | const Vec3f & | v3,
 |  | float | w
 | ) | [inline]

Constructor using a 3-vector and a float.

Parameters:
v3 | vector of x, y, z component
w | w component

nvmath::Vec4f::Vec4f ( const Vecnf< 4 > & v ) [inline]

Copy constructor.

Parameters:
v vector to copy

Member Function Documentation

void nvmath::Vec4f::set | ( | float | x,
 |  | float | y,
 |  | float | z,
 |  | float | w
 | ) | [inline]

Set the vector with four float values.

Parameters:
x | x component
y | y component
z | z component
w | w component

Friends And Related Function Documentation

Vec4f operator * | ( | float | f,
 |  | const Vec4f & | v
 | ) | [related]

Multiplication of a scalar with a vector.

Returns:
product of f with v
Parameters:
f | scalar to multiply with
v | vector to multiply

The documentation for this class was generated from the following file:
  • Vec4f.h
Generated on Fri Jan 28 09:20:54 2005 for NVSGSDK by NVIDIA


Templatenvmath::Vecnf< n > class Reference

nvmath::Vecnf< n > Class Template Reference

Template for n-dimensional vector. More...

#include <Vecnf.h>

Inheritance diagram for nvmath::Vecnf< n >:

[legend]
List of all members.

Public Member Functions

Vecnf (void)
Default constructor.

Vecnf (const Vecnf< n > &v)
Copy constructor.

float & | operator[] (size_t i)
Non-constant subscript operator.

const float & | operator[] (size_t i) const
Constant subscript operator.

Vecnf< n > | operator- (void) const
Negation operator.

Vecnf< n > | operator * (float f) const
Vector multiplication with a scalar operator.

float | operator * (const Vecnf< n > &v) const
Vector multiplication with a vector (i.e. dot product) operator.

Vecnf< n > | operator/ (float f) const
Vector division by a scalar operator.

Vecnf< n > | operator+ (const Vecnf< n > &v) const
Vector addition operator.

Vecnf< n > | operator- (const Vecnf< n > &v) const
Vector subtraction operator.

bool | operator== (const Vecnf< n > &v) const
Equality operator.

bool | operator!= (const Vecnf< n > &v) const
Inequality operator.

Vecnf< n > & | operator= (const Vecnf< n > &v)
Assignment operator.

Vecnf< n > & | operator *= (float f)
Vector multiplication with a scalar and assignment operator.

Vecnf< n > & | operator/= (float f)
Vector division by a scalar and assignment operator.

Vecnf< n > & | operator+= (const Vecnf< n > &v)
Vector addition and assignment operator.

Vecnf< n > & | operator-= (const Vecnf< n > &v)
Vector subtraction and assignment operator.

const float * | getPtr (void) const
Get a constant pointer to the floats of the vector.

float | normalize (void)
Normalize the vector and return the previous length.

void | orthogonalize (const Vecnf< n > &v)
Orthogonolize the vector with respect to a vector.

void | orthonormalize (const Vecnf< n > &v)
Orthonormalize the vector with respect to an other.

Protected Attributes

float | m_vec [n]

Related Functions

(Note that these are not member functions.)

bool | areOrthogonal (const Vecnf< n > &v0, const Vecnf< n > &v1)
bool | areOrthonormal (const Vecnf< n > &v0, const Vecnf< n > &v1)
bool | areSimilar (const Vecnf< n > &v0, const Vecnf< n > &v1, float tol=FLT_EPSILON)
float | distance (const Vecnf< n > &p0, const Vecnf< n > &p1)
bool | isNormalized (const Vecnf< n > &v)
bool | isNull (const Vecnf< n > &v)
float | length (const Vecnf< n > &v)
float | lengthSquared (const Vecnf< n > &v)
float | maxElement (const Vecnf< n > &v)
float | minElement (const Vecnf< n > &v)
Vecnf< n > | operator * (float f, const Vecnf< n > &v)

Detailed Description

template<unsigned char n>
class nvmath::Vecnf< n >

Template for n-dimensional vector.

Constructor & Destructor Documentation

template<unsigned char n>
nvmath::Vecnf< n >::Vecnf ( void )

Default constructor.

For performance reasons no initialization is performed.

template<unsigned char n>
nvmath::Vecnf< n >::Vecnf ( const Vecnf< n > & v )

Copy constructor.

Parameters:
v vector to copy

Member Function Documentation

template<unsigned char n>
float & nvmath::Vecnf< n >::operator[] ( size_t i )

Non-constant subscript operator.

Returns:
reference to i th element of the vector
Parameters:
i index to vector to use (i=0,..,n-1)

template<unsigned char n>
const float & nvmath::Vecnf< n >::operator[] ( size_t i ) const

Constant subscript operator.

Returns:
constant reference to i th element of the vector
Parameters:
i index to vector to use (i=0,..,n-1)

template<unsigned char n>
Vecnf< n > nvmath::Vecnf< n >::operator- ( void ) const

Negation operator.

Returns:
negated vector

Reimplemented in nvmath::Vec3f.

template<unsigned char n>
Vecnf< n > nvmath::Vecnf< n >::operator * ( float f ) const

Vector multiplication with a scalar operator.

Returns:
multiplied vector
Parameters:
f scalar to multiply with

template<unsigned char n>
float nvmath::Vecnf< n >::operator * ( const Vecnf< n > & v ) const

Vector multiplication with a vector (i.e. dot product) operator.

Returns:
dot product of this with v
Parameters:
v vector to multiply with

template<unsigned char n>
Vecnf< n > nvmath::Vecnf< n >::operator/ ( float f ) const

Vector division by a scalar operator.

Returns:
divided vector
Parameters:
f scalar to divide through

template<unsigned char n>
Vecnf< n > nvmath::Vecnf< n >::operator+ ( const Vecnf< n > & v ) const

Vector addition operator.

Returns:
sum of the two vectors
Parameters:
v vector to add

template<unsigned char n>
Vecnf< n > nvmath::Vecnf< n >::operator- ( const Vecnf< n > & v ) const

Vector subtraction operator.

Returns:
difference of the two vectors
Parameters:
v vector to subtract

template<unsigned char n>
bool nvmath::Vecnf< n >::operator== ( const Vecnf< n > & v ) const

Equality operator.

Returns:
true if the vector is equal to v, otherwise false
Parameters:
v vector to compare with

template<unsigned char n>
bool nvmath::Vecnf< n >::operator!= ( const Vecnf< n > & v ) const

Inequality operator.

Returns:
true if the vector is not equal to v, otherwise false
Parameters:
v vector to compare with

template<unsigned char n>
Vecnf< n > & nvmath::Vecnf< n >::operator= ( const Vecnf< n > & v )

Assignment operator.

Returns:
reference to the assigned vector
Parameters:
v vector to copy

template<unsigned char n>
Vecnf< n > & nvmath::Vecnf< n >::operator *= ( float f )

Vector multiplication with a scalar and assignment operator.

Returns:
reference to the assigned vector after multiplication
Parameters:
f scalar to multiply with

template<unsigned char n>
Vecnf< n > & nvmath::Vecnf< n >::operator/= ( float f )

Vector division by a scalar and assignment operator.

Returns:
reference to the assigned vector after division
Parameters:
f scalar to divide by

template<unsigned char n>
Vecnf< n > & nvmath::Vecnf< n >::operator+= ( const Vecnf< n > & v )

Vector addition and assignment operator.

Returns:
reference to the assigned vector after addition
Parameters:
v vector to add

template<unsigned char n>
Vecnf< n > & nvmath::Vecnf< n >::operator-= ( const Vecnf< n > & v )

Vector subtraction and assignment operator.

Returns:
reference to the assigned vector after subtraction
Parameters:
v vector to subtract

template<unsigned char n>
const float * nvmath::Vecnf< n >::getPtr ( void ) const

Get a constant pointer to the floats of the vector.

Returns:
constant pointer to vector elements

template<unsigned char n>
float nvmath::Vecnf< n >::normalize ( void )

Normalize the vector and return the previous length.

Returns:
length of the vector before normalization

template<unsigned char n>
void nvmath::Vecnf< n >::orthogonalize ( const Vecnf< n > & v )

Orthogonolize the vector with respect to a vector.

Sets the vector to be orthogonal to v.

Parameters:
v vector to orthogonalize to

template<unsigned char n>
void nvmath::Vecnf< n >::orthonormalize ( const Vecnf< n > & v )

Orthonormalize the vector with respect to an other.

Sets the vector to be orthonormal to v.

Parameters:
v vector to orthonormalize to

Friends And Related Function Documentation

template<unsigned char n>
bool areOrthogonal | ( | const Vecnf< n > & | v0,
 |  | const Vecnf< n > & | v1
 | ) | [related]

Test if two vectors are orthogonal to each other.

Returns:
true if the vectors are orthogonal, otherwise false
Parameters:
v0 | first vector
v1 | second vector

template<unsigned char n>
bool areOrthonormal | ( | const Vecnf< n > & | v0,
 |  | const Vecnf< n > & | v1
 | ) | [related]

Test if two vectors are orthonormal to each other. Two vectors are orthonormal if they are normalized and orthogonal to each other.

Returns:
true if the vector is orthonormal to v, otherwise false
Parameters:
v0 | first vector
v1 | second vector

template<unsigned char n>
bool areSimilar | ( | const Vecnf< n > & | v0,
 |  | const Vecnf< n > & | v1,
 |  | float | tol = FLT_EPSILON
 | ) | [related]

Test if two vectors are similar to each other. Two vectors are considered to be similar if they differ within a given tolerance in each component.

Returns:
true if the vector and v differ less than tol in each component.
Parameters:
v0 | first vector
v1 | second vector
tol | maximal allowed tolerance for similarity

template<unsigned char n>
float distance | ( | const Vecnf< n > & | p0,
 |  | const Vecnf< n > & | p1
 | ) | [related]

Determine the distance between two points.

Returns:
The distance between p0 and p1
Parameters:
p0 | first point
p1 | second point

template<unsigned char n>
bool isNormalized ( const Vecnf< n > & v ) [related]

Test if a vector is normalized. A vector is normalized if its length is one.

Returns:
true if the vector is normalized, otherwise false
Parameters:
v vector to test

template<unsigned char n>
bool isNull ( const Vecnf< n > & v ) [related]

Test if a vector is a null vector. A vector is a null vector if its length is zero.

Returns:
true if the vector is a null vector, otherwise false
Parameters:
v vector to test

template<unsigned char n>
float length ( const Vecnf< n > & v ) [related]

Calculate the length of a vector.

Returns:
length of v
Parameters:
v vector to get length of

template<unsigned char n>
float lengthSquared ( const Vecnf< n > & v ) [related]

Calculate the squared length of a vector.

Returns:
squared length of v
Parameters:
v vector to get squared length of

template<unsigned char n>
float maxElement ( const Vecnf< n > & v ) [related]

Get the maximal absolute value of a vector.

Returns:
maximal element of v
Parameters:
v vector to get maximal element of

template<unsigned char n>
float minElement ( const Vecnf< n > & v ) [related]

Get the minimal element of a vector.

Returns:
minimal element of v
Parameters:
v vector to get maximal element of

template<unsigned char n>
Vecnf< n > operator * | ( | float | f,
 |  | const Vecnf< n > & | v
 | ) | [related]

Multiplication of a scalar with a vector.

Returns:
product of f with v
Parameters:
f | scalar to multiply with
v | vector to multiply

The documentation for this class was generated from the following file:
  • Vecnf.h
Generated on Fri Jan 28 09:20:55 2005 for NVSGSDK by NVIDIA


nvsg::ViewState Class Reference

Class to encapsulate the view specific states. More...

#include <ViewState.h>

Inheritance diagram for nvsg::ViewState:

[legend]
Collaboration diagram for nvsg::ViewState:

[legend]
List of all members.

Public Member Functions

NVSG_API const ViewState * | clone () const
Instantiates a constant copy of this ViewState object.

NVSG_API size_t | getAnimationFrame (void) const
Get the current animation frame.

NVSG_API const Camera * | getCamera (void) const
Get the current camera.

NVSG_API bool | isAnimating (void) const
Ask if the view is animated.

NVSG_API bool | isStereo (void) const
Ask if the view is in stereo mode.

NVSG_API void | setAnimationFrame (size_t frame)
Set the animation frame.

NVSG_API void | setAnimation (bool state)
Enable/Disable animation.

NVSG_API void | setCamera (const Camera *pCamera)
Set the current camera.

NVSG_API void | setStereo (bool state)
Enable/Disable stereo.

NVSG_API void | clearCullTree (void) const
Clear the current cull tree.

NVSG_API const CullData * | getCullTree (void) const
Get the root of the CullData-tree.

NVSG_API void | setCullTree (const CullData *cullTree)
Set a given cull tree as the current.

NVSG_API bool | waitToRead (size_t milliseconds=0xFFFFFFFF) const
Acquire read access in a multithreaded environment.

NVSG_API void | doneReading (void) const
Signal when finished reading the object.

NVSG_API bool | waitToWrite (size_t milliseconds=0xFFFFFFFF) const
Acquire write access in a multithreaded enviroment.

NVSG_API void | doneWriting (void) const
Signal finished writing the object.

Static Public Member Functions

NVSG_API const ViewState * | create ()
Instantiates a default-constructed constant ViewState.

Protected Member Functions

NVSG_API | ViewState (void)
Default-initializes a ViewState object.

NVSG_API | ViewState (const ViewState &rhs)
Initializes a ViewState as a copy of another ViewState object.

virtual NVSG_API | ~ViewState (void)
Protected destructor to prevent explicit creation on stack.

Detailed Description

Class to encapsulate the view specific states.

Constructor & Destructor Documentation

NVSG_API nvsg::ViewState::ViewState ( void ) [protected]

Default-initializes a ViewState object.

Note:
A default-constructwed ViewState has no camera attached!

NVSG_API nvsg::ViewState::ViewState ( const ViewState & rhs ) [protected]

Initializes a ViewState as a copy of another ViewState object.

Note:
The new constructed ViewState will not inherit the cull tree from the source ViewState
  • that is the cull tree for the new constructed ViewState initially is cleared!

virtual NVSG_API nvsg::ViewState::~ViewState ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

NVSG_API const ViewState* nvsg::ViewState::create ( ) [static]

Instantiates a default-constructed constant ViewState.

Returns:
A pointer to the new created ViewState.

NVSG_API const ViewState* nvsg::ViewState::clone ( ) const

Instantiates a constant copy of this ViewState object.

Note:
The new copy does not inherit this ViewState's cull information but will initialy have its cull tree cleared!
Returns:
A pointer to the copy-constructed ViewState.

size_t nvsg::ViewState::getAnimationFrame ( void ) const [inline]

Get the current animation frame.

Returns:
The current animation frame

const Camera * nvsg::ViewState::getCamera ( void ) const [inline]

Get the current camera.

Returns:
A pointer to the camera in use with this view

bool nvsg::ViewState::isAnimating ( void ) const [inline]

Ask if the view is animated.

Returns:
true if this view is currently animated, otherwise false

bool nvsg::ViewState::isStereo ( void ) const [inline]

Ask if the view is in stereo mode.

Returns:
true if this view is currently in stereo mode, otherwise false

void nvsg::ViewState::setAnimationFrame ( size_t frame ) [inline]

Set the animation frame.

Parameters:
frame frame to use for next evaluation

void nvsg::ViewState::setAnimation ( bool state ) [inline]

Enable/Disable animation.

Parameters:
state true, to enable animation in this view, otherwise false

void nvsg::ViewState::setCamera ( const Camera * pCamera ) [inline]

Set the current camera.

Parameters:
pCamera pointer to camera to use in this view

void nvsg::ViewState::setStereo ( bool state ) [inline]

Enable/Disable stereo.

Parameters:
state true, to enable stereo display, otherwise false

NVSG_API void nvsg::ViewState::clearCullTree ( void ) const

Clear the current cull tree.

const CullData * nvsg::ViewState::getCullTree ( void ) const [inline]

Get the root of the CullData-tree.

void nvsg::ViewState::setCullTree ( const CullData * cullTree ) [inline]

Set a given cull tree as the current.

bool nvsg::ViewState::waitToRead ( size_t milliseconds = 0xFFFFFFFF ) const [inline]

Acquire read access in a multithreaded environment.

For safety in a multithreaded environment, an object maintains a read/write locking mechanism that allows contemporaneous access for multiple readers but write access for only a single writer.

This function returns either when it gets read access or when the time-out interval elapses. By default, this function waits indefinitely.
Returns:
true, if read access could be acquired, false otherwise.

void nvsg::ViewState::doneReading ( void ) const [inline]

Signal when finished reading the object.

A read access to this object, that has been acquired by a previous call to waitToRead, will be ended by a call to this function.

bool nvsg::ViewState::waitToWrite ( size_t milliseconds = 0xFFFFFFFF ) const [inline]

Acquire write access in a multithreaded enviroment.

or safety in a multithreaded environment, an object maintains a read/write locking mechanism that allows contemporaneous access for multiple readers but write access for only a single writer.

This function returns either when it gets write access or when the time-out interval elapses. By default, this function waits indefinitely.
Returns:
true, if write access could be acquired, false otherwise.
Parameters:
milliseconds Time-out interval, in milliseconds.

void nvsg::ViewState::doneWriting ( void ) const [inline]

Signal finished writing the object.

A write access to this object, that has been acquired by a previous call to waitToWrite, will be ended by a call to this function.

The documentation for this class was generated from the following file:
  • ViewState.h
Generated on Fri Jan 28 09:21:55 2005 for NVSGSDK by NVIDIA


nvsg::VNVector Class Reference

Helper class for use in Animation. More...

#include <VNVector.h>

List of all members.

Public Attributes

std::vector< nvmath::Vec3f > | normals
vector of normals

std::vector< nvmath::Vec3f > | vertices
vector of vertices

Detailed Description

Helper class for use in Animation.

A VNVector holds a vector of normals and vertices. It is used to produce animations on vertices/normals (instead of transformations only).

Member Data Documentation

std::vector<nvmath::Vec3f> nvsg::VNVector::normals

vector of normals

std::vector<nvmath::Vec3f> nvsg::VNVector::vertices

vector of vertices

The documentation for this class was generated from the following file:
  • VNVector.h
Generated on Fri Jan 28 09:21:55 2005 for NVSGSDK by NVIDIA


nvui::WalkCamManip Class Reference

Walk Camera Manipulator Class. More...

#include <WalkCamManip.h>

Inheritance diagram for nvui::WalkCamManip:

[legend]
Collaboration diagram for nvui::WalkCamManip:

[legend]
List of all members.

Public Types

enum | { _W_KEY = 0x0400, _S_KEY = 0x0800 }
Additional keys for walking. More...

Public Member Functions

NVSG_API | WalkCamManip (void)
Default Constructor.

NVSG_API | ~WalkCamManip (void)
Default Destructor.

virtual NVSG_API void | keyRepeat ()
Handle key repeats.

virtual NVSG_API void | apply ()
Apply the states to the camera.

bool | isWalk (void)
Signals if the manipulator is in walk mode.

bool | isTranslate (void)
Signals if the manipulator is in translation mode.

bool | isTilt (void)
Signals if the manipulator is in tilting mode.

void | setScreenSize (UINT x, UINT y)
Set the screen size.

void | setWorldUpVector (nvmath::Vec3f up)
Set the world up-vector.

const nvmath::Vec3f & | getWorldUpVector ()
Get the world up-vector.

void | setSpeedIncreaseFactor (float factor)
Define speed increase factor.

float | getSpeedIncreaseFactor ()
Get the speed increase factor.

void | setHSensitivity (float sensitivity)
Define horizontal sensitivity.

float | getHSensitivity ()
Get the horizontal sensitivity.

void | setSpeed (float speed)
Set the speed.

float | getSpeed ()
Get the movement speed.

Protected Member Functions

virtual NVSG_API UINT | convertKey (UINT key)
Map your keys.

bool | isWalkForward (void)
Signals if the manipulator is in forward walking mode.

bool | isWalkBackward (void)
Signals if the manipulator is in backward walking mode.

virtual NVSG_API void | walk (void)
Do the camera walk.

virtual NVSG_API void | translate (void)
Do the camera translate.

virtual NVSG_API void | tilt (void)
Do the camera tilt.

Protected Attributes

UINT | m_ScreenSizeX
width of the screen (pixels)

UINT | m_ScreenSizeY
height of the screen (pixels)

nvmath::Vec3f m_worldUpVector
Up-vector of the world.

float | m_speedIncreaseFactor
Factor that influences the stepping. Default: 2.0 NOTE: This factor must not be 0!

float | m_hSensitivity
Factor that influences the horizontal rotation. Default: 1.0.

float | m_speed
Walk speed. Controlled via key or button input. Default: 1.0.

Static Protected Attributes

NVSG_API const UINT | WALKFORWARD
Key/button configuration walking.

NVSG_API const UINT | WALKBACKWARD
Key/button configuration walking.

NVSG_API const UINT | TRANSLATE
Key/button configuration for translating up, down, left and right.

NVSG_API const UINT | TILT
Key/button configuration looking left, right, up and down.

NVSG_API const UINT | INCREASESPEED
Key/button configuration speed up.

NVSG_API const UINT | DECREASESPEED
Key/button configuration slow down.

NVSG_API const UINT | AREAOFPEACE
Size of the area where the mouse does not trigger the manipulator.

Detailed Description

Walk Camera Manipulator Class.

This manipulator is a special CameraManipulator that interprets/converts mouse movement into walk-through camera movements.

Keys & Buttons
Left mouse button : Walk forward.
Middle mouse button : Walk backward.
W-key : Increase speed.
S-key : Decrease speed.
Ctrl + Left mouse button : Tilt.
Ctrl + Middle mouse button : Pan.

Note:
If you use this manipulator your application must use a mechanism (such as a small thread that triggers redraw, etc. ) that provides continuous camera updates when walking forward or backward.

If you implement your own manipulator, refer to the button state configuration to see how to add additional button combinations in the same way.

Member Enumeration Documentation

anonymous enum

Additional keys for walking.

Enumeration values:
_W_KEY | Speed up.
_S_KEY | Speed up.

Constructor & Destructor Documentation

NVSG_API nvui::WalkCamManip::WalkCamManip ( void )

Default Constructor.

NVSG_API nvui::WalkCamManip::~WalkCamManip ( void )

Default Destructor.

Member Function Documentation

virtual NVSG_API void nvui::WalkCamManip::keyRepeat ( ) [virtual]

Handle key repeats.

Adapt key repeats.

Reimplemented from nvui::CameraManipulator.

virtual NVSG_API void nvui::WalkCamManip::apply ( ) [virtual]

Apply the states to the camera.

Recalculate the camera with respect to the manipulator states.

Implements nvui::CameraManipulator.

bool nvui::WalkCamManip::isWalk ( void ) [inline]

Signals if the manipulator is in walk mode.

This method compares the current button or key state with the configured button states of this object. e.g. TRANSLATE1

Returns:
true: manipulator is in walk mode

bool nvui::WalkCamManip::isTranslate ( void ) [inline]

Signals if the manipulator is in translation mode.

This method compares the current button or key state with the configured button states of this object. e.g. TRANSLATE1

Returns:
true: manipulator is in translation mode

bool nvui::WalkCamManip::isTilt ( void ) [inline]

Signals if the manipulator is in tilting mode.

This method compares the current button or key state with the configured button states of this object. e.g. TRANSLATE1

Returns:
true: manipulator is in tilting mode

void nvui::WalkCamManip::setScreenSize | ( | UINT | x,
 |  | UINT | y
 | ) | [inline]

Set the screen size.

Set the screen resolution. The resolution is needed for the sensitivity of the manipulator. Default is 1280x1024.

Parameters:
x | width of the screen (pixels) - must not be 0
y | height of the screen (pixels) - must not be 0

void nvui::WalkCamManip::setWorldUpVector ( nvmath::Vec3f up ) [inline]

Set the world up-vector.

Define where the 'sky' is.

Parameters:
up World up-vector

const nvmath::Vec3f & nvui::WalkCamManip::getWorldUpVector ( ) [inline]

Get the world up-vector.

Returns:
Vector of the world pointing to the 'sky'

void nvui::WalkCamManip::setSpeedIncreaseFactor ( float factor ) [inline]

Define speed increase factor.

The current speed will be multiplied or divided by this factor

Parameters:
factor Speed increase factor - default 2.f
Note:
This factor must not be 0!

float nvui::WalkCamManip::getSpeedIncreaseFactor ( ) [inline]

Get the speed increase factor.

Returns:
Speed increase factor.

void nvui::WalkCamManip::setHSensitivity ( float sensitivity ) [inline]

Define horizontal sensitivity.

The horizontal sensitivity is a factor that influences how sensitive the manipulator reacts to horizontal rotation changes

Parameters:
sensitivity Sensitivity factor - default 1.f

float nvui::WalkCamManip::getHSensitivity ( ) [inline]

Get the horizontal sensitivity.

Returns:
Horizontal sensitivity factor.

void nvui::WalkCamManip::setSpeed ( float speed ) [inline]

Set the speed.

This parameter controls the speed of the camera movement

Parameters:
speed Speed value - default 1.f

float nvui::WalkCamManip::getSpeed ( ) [inline]

Get the movement speed.

Returns:
Speed value.

virtual NVSG_API UINT nvui::WalkCamManip::convertKey ( UINT key ) [protected, virtual]

Map your keys.

Returns:
Manipulator key code
Parameters:
key External key code.

Reimplemented from nvui::CameraManipulator.

bool nvui::WalkCamManip::isWalkForward ( void ) [inline, protected]

Signals if the manipulator is in forward walking mode.

This method compares the current button or key state with the configured button states of this object. e.g. TRANSLATE1

Returns:
true: manipulator is in forward walking mode

bool nvui::WalkCamManip::isWalkBackward ( void ) [inline, protected]

Signals if the manipulator is in backward walking mode.

This method compares the current button or key state with the configured button states of this object. e.g. TRANSLATE1

Returns:
true: manipulator is in backward walking mode

virtual NVSG_API void nvui::WalkCamManip::walk ( void ) [protected, virtual]

Do the camera walk.

Walk forward or backward. You can simply replace it with your own way to handle this.

virtual NVSG_API void nvui::WalkCamManip::translate ( void ) [protected, virtual]

Do the camera translate.

Translate the camera perpendicular to the movement plane. (up, down, left and right) You can simply replace it with your own way to handle this.

virtual NVSG_API void nvui::WalkCamManip::tilt ( void ) [protected, virtual]

Do the camera tilt.

Tilt the camera. You rotate the camera in place so you can look at your feet, up into the sky, or rotate left and right. You can simply replace it with your own way to handle this.

Member Data Documentation

UINT nvui::WalkCamManip::m_ScreenSizeX [protected]

width of the screen (pixels)

UINT nvui::WalkCamManip::m_ScreenSizeY [protected]

height of the screen (pixels)

nvmath::Vec3f nvui::WalkCamManip::m_worldUpVector [protected]

Up-vector of the world.

float nvui::WalkCamManip::m_speedIncreaseFactor [protected]

Factor that influences the stepping. Default: 2.0 NOTE: This factor must not be 0!

float nvui::WalkCamManip::m_hSensitivity [protected]

Factor that influences the horizontal rotation. Default: 1.0.

float nvui::WalkCamManip::m_speed [protected]

Walk speed. Controlled via key or button input. Default: 1.0.

NVSG_API const UINT nvui::WalkCamManip::WALKFORWARD [static, protected]

Key/button configuration walking.

NVSG_API const UINT nvui::WalkCamManip::WALKBACKWARD [static, protected]

Key/button configuration walking.

NVSG_API const UINT nvui::WalkCamManip::TRANSLATE [static, protected]

Key/button configuration for translating up, down, left and right.

NVSG_API const UINT nvui::WalkCamManip::TILT [static, protected]

Key/button configuration looking left, right, up and down.

NVSG_API const UINT nvui::WalkCamManip::INCREASESPEED [static, protected]

Key/button configuration speed up.

NVSG_API const UINT nvui::WalkCamManip::DECREASESPEED [static, protected]

Key/button configuration slow down.

NVSG_API const UINT nvui::WalkCamManip::AREAOFPEACE [static, protected]

Size of the area where the mouse does not trigger the manipulator.

The documentation for this class was generated from the following file:
  • WalkCamManip.h
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


WRLLoader Class Reference

A Scene Loader for wrl files. More...

#include <WRLLoader.h>

Inheritance diagram for WRLLoader:

[legend]
Collaboration diagram for WRLLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.

const nvsg::Scene * | load (const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState)
Realization of the pure virtual interface function of a SceneLoader.

Detailed Description

A Scene Loader for wrl files.

Member Function Documentation

void WRLLoader::deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements nvutil::PlugIn.

const nvsg::Scene* WRLLoader::load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | const nvsg::ViewState *& | viewState
 | ) |

Realization of the pure virtual interface function of a SceneLoader.

Loads a nvsg file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • WRLLoader.h
Generated on Fri Jan 28 09:20:41 2005 for NVSGSDK by NVIDIA


WRLLoadTraverser Class Reference

Internally used traverser for post-processing a just loaded VRML file. More...

#include <WRLLoadTraverser.h>

Inheritance diagram for WRLLoadTraverser:

[legend]
Collaboration diagram for WRLLoadTraverser:

[legend]
List of all members.

Public Member Functions

WRLLoadTraverser ()
Constructor.

virtual | ~WRLLoadTraverser (void)
Destructor.

Protected Member Functions

virtual void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene)
Entry point of the postprocessor of the WRLLoader.

virtual void | handleGeoNode (const nvsg::GeoNode *p)
Postprocessing on GeoNode.

virtual void | handleTransform (const nvsg::Transform *p)
Postprocessing on Transform.

Detailed Description

Internally used traverser for post-processing a just loaded VRML file.

Constructor & Destructor Documentation

WRLLoadTraverser::WRLLoadTraverser ( )

Constructor.

virtual WRLLoadTraverser::~WRLLoadTraverser ( void ) [virtual]

Destructor.

Member Function Documentation

virtual void WRLLoadTraverser::doApply | ( | const nvsg::ViewState * | pViewState,
 |  | const nvsg::Scene * | pScene
 | ) | [protected, virtual]

Entry point of the postprocessor of the WRLLoader.

It first initiates a standard traversal of the ViewSate and Scene, then all encountered lights are set to be children of the root node.

Reimplemented from nvtraverser::Traverser.

virtual void WRLLoadTraverser::handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Postprocessing on GeoNode.

All empty children of p are removed.

Reimplemented from nvtraverser::Traverser.

virtual void WRLLoadTraverser::handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Postprocessing on Transform.

First the standard traversal of p is initiated, then all empty children of type GeoNode or Transform are removed and all children of type LightSource are stored and later moved to the root node.

Reimplemented from nvtraverser::Traverser.

The documentation for this class was generated from the following file:
  • WRLLoadTraverser.h
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Hierarchical Index

NVSGSDK Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

  • __GLXEvent
  • nvutil::addReference
  • nvutil::Allocator
  • nvutil::Bit< n >
  • nvsg::Bone
  • bone_t
  • nvui::CameraManipulator
    • nvui::AnimationCamManip
    • nvui::FlightCamManip
    • nvui::TrackballCamManip
    • nvui::WalkCamManip
  • nvutil::Chunk
  • nvsg::DALData
  • nvsg::DALDataCreator
    • nvtraverser::RenderTraverser
      • nvtraverser::GLTraverser
        • nvtraverser::OcclusionCullGLTraverser
  • nvsg::DALHost
    • nvsg::Object
      • nvsg::Animation< T >
        • nvsg::FramedAnimation< T >
        • nvsg::InterpolatedAnimation< T >
          • nvsg::LinearInterpolatedAnimation< T >
      • nvsg::Camera
        • nvsg::MonoCamera
          • nvsg::JitterCamera
          • nvsg::SimpleCamera
            • nvsg::ParallelCamera
            • nvsg::PerspectiveCamera
        • nvsg::StereoCamera
      • nvsg::Drawable
        • nvsg::GeoSet
          • nvsg::Quads
            • nvsg::AnimatedQuads
          • nvsg::QuadStrips
          • nvsg::Triangles
            • nvsg::AnimatedTriangles
            • nvsg::SkinnedTriangles
          • nvsg::TriStrips
      • nvsg::HighlightObject
        • nvsg::HighlightBox
        • nvsg::HighlightEdges
      • nvsg::Node
        • nvsg::GeoNode
        • nvsg::Group
          • nvsg::LOD
          • nvsg::Switch
          • nvsg::Transform
            • nvsg::AnimatedTransform
        • nvsg::LightSource
          • nvsg::DirectedLight
          • nvsg::PointLight
          • nvsg::SpotLight
      • nvsg::StateAttribute
        • nvsg::CgFx
        • nvsg::FaceAttribute
        • nvsg::Material
        • nvsg::TextureAttribute
      • nvsg::StateSet
      • nvsg::TextureAttributeItem
    • nvsg::Texture
  • nvsg::DALServer
  • nvsg::Face< n >
  • nvutil::FixedAllocator
  • geometrySet_t
  • nvgl::GLContext
  • nvgl::GLFunctions
  • nvgl::GLObjects
  • GLXPbufferClobberEvent
  • nvutil::IAllocator
    • nvsg::CullData
    • nvutil::RCObject
      • nvsg::FaceAttributeData
      • nvsg::Object
      • nvsg::Path
      • nvsg::Scene
      • nvsg::Texture
      • nvsg::TextureAttributeItemData
      • nvsg::ViewState
      • nvtraverser::Traverser
        • NBFSaveTraverser
        • NVBLoadTraverser
        • NVSGSaveTraverser
        • nvtraverser::CondenseTraverser
        • nvtraverser::DrawableUnifyTraverser
        • nvtraverser::GeoNodeUnifyTraverser
        • nvtraverser::GroupUnifyTraverser
        • nvtraverser::IdentityToGroupTraverser
        • nvtraverser::ModelViewTraverser
          • nvtraverser::AppTraverser
          • nvtraverser::CullTraverser
            • nvtraverser::FrustumCullTraverser
            • nvtraverser::OcclusionCullTraverser
          • nvtraverser::RayIntersectTraverser
          • nvtraverser::RenderTraverser
        • nvtraverser::SearchTraverser
        • nvtraverser::SmoothTraverser
        • nvtraverser::StateSetUnifyTraverser
        • nvtraverser::StrippingTraverser
        • nvtraverser::TransformUnifyTraverser
        • nvtraverser::TriangulateTraverser
        • WRLLoadTraverser
      • nvutil::PlugInCallback
      • nvutil::RCVector< T >
  • nvutil::Incarnation
  • indexSet_t
  • nvtraverser::Intersection
  • nvutil::Log< TestMode, OutputFn >
  • nvmath::Matnnf< n >
  • nvmath::Matnnf< 3 >
    • nvmath::Mat33f
  • nvmath::Matnnf< 4 >
    • nvmath::Mat44f
  • nvutil::MemFunTbl< T >
  • NBFFramedAnimation
    • NBFFramedTrafoAnimation
    • NBFFramedVNVectorAnimation
  • NBFHeader
  • NBFInterpolatedAnimation
    • NBFInterpolatedTrafoAnimation
    • NBFInterpolatedVNVectorAnimation
  • NBFObject
    • NBFCamera
      • NBFMonoCamera
        • NBFJitterCamera
        • NBFSimpleCamera
          • NBFParallelCamera
          • NBFPerspectiveCamera
      • NBFStereoCamera
    • NBFDrawable
      • NBFGeoSet
        • NBFQuads
          • NBFAnimatedQuads
        • NBFStrips
        • NBFTriangles
          • NBFAnimatedTriangles
          • NBFSkinnedTriangles
    • NBFNode
      • NBFGeoNode
      • NBFGroup
        • NBFLOD
        • NBFSwitch
        • NBFTransform
          • NBFAnimatedTransform
      • NBFLightSource
        • NBFDirectedLight
        • NBFPointLight
        • NBFSpotLight
    • NBFStateAttribute
      • NBFCgFx
      • NBFFaceAttribute
      • NBFMaterial
      • NBFTextureAttribute
    • NBFStateSet
    • NBFTextureAttributeItem
    • NBFTrafoAnimation
      • NBFFramedTrafoAnimation
      • NBFInterpolatedTrafoAnimation
    • NBFVNVectorAnimation
      • NBFFramedVNVectorAnimation
      • NBFInterpolatedVNVectorAnimation
  • NBFScene
  • NBFViewState
  • NVNVB
  • nvsg::NVSGException
  • nvmath::Plane3f
  • nvutil::PlugIn
    • nvsg::SceneLoader
      • NBFLoader
      • NVBLoader
      • NVSGLoader
      • WRLLoader
    • nvsg::SceneSaver
      • NBFSaver
      • NVSGSaver
  • nvutil::PlugInCallback::EmptyTokenInfo
  • nvutil::PlugInCallback::FileAccessFailedInfo
  • nvutil::PlugInCallback::FileMappingFailedInfo
  • nvutil::PlugInCallback::IncompatibleFileInfo
  • nvutil::PlugInCallback::IncompatibleValueInfo
  • nvutil::PlugInCallback::InvalidFileInfo
  • nvutil::PlugInCallback::InvalidValueInfo
  • nvutil::PlugInCallback::UndefinedTokenInfo
  • nvutil::PlugInCallback::UnexpectedTokenInfo
  • nvutil::PlugInCallback::UnknownTokenInfo
  • nvutil::PlugInCallback::UnsupportedTokenInfo
  • nvutil::PlugInServer
  • nvmath::Quatf
  • nvutil::RCIPtr< T >
  • nvutil::RCObject_AutoPtr< T >
  • nvutil::RCPtr< T >
  • nvutil::RegVal< T >
  • nvutil::removeReference
  • nvui::RenderArea
    • nvui::GLWinRenderArea
  • nvutil::Singleton< T >
  • nvsg::Skin
  • skin_t
  • nvmath::Sphere3f
    • nvmath::BoundingSphere
  • vector
  • vector
  • vector
  • vector
  • vector
  • str_t
  • nvutil::SWMRSync
  • texBinding_t
  • texCoordSet_t
  • nvutil::Trace< Functor >
  • nvutil::traceConsoleDebugOutput
  • nvutil::traceConsoleOutput
  • nvutil::traceDebugOutput
  • nvutil::traceFileConsoleOutput
  • nvutil::traceFileDebugOutput
  • nvutil::traceFileOutput
  • nvutil::TraceFunctor< OutFunctor >
  • nvutil::Trackball
  • nvmath::Trafo
  • trafo_t
  • nvutil::TransformStack
  • tweak_t
  • nvutil::UPIID
  • nvutil::UPITID
  • nvmath::Vecnf< n >
  • nvmath::Vecnf< 2 >
    • nvmath::Vec2f
  • nvmath::Vecnf< 3 >
    • nvmath::Vec3f
  • nvmath::Vecnf< 4 >
    • nvmath::Vec4f
  • nvsg::VNVector
Generated on Fri Jan 28 09:20:07 2005 for NVSGSDK by NVIDIA


Compound Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
_ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | y | z | ~

Here is a list of all documented class members with links to the class documentation for each member:

- _ -

  • _BSFAR : nvtraverser::RayIntersectTraverser
  • _BSNEAR : nvtraverser::RayIntersectTraverser
  • _BSNEARFAR : nvtraverser::RayIntersectTraverser
  • _BSTANGENT : nvtraverser::RayIntersectTraverser
  • _CONTROL_KEY : nvui::CameraManipulator
  • _LEFT_MOUSE_BTN : nvui::CameraManipulator
  • _MIDDLE_MOUSE_BTN : nvui::CameraManipulator
  • _MULTISAMPLE : nvui::RenderArea
  • _NO_BTN_KEY : nvui::CameraManipulator
  • _NONE : nvtraverser::RayIntersectTraverser
  • _RAY_DIRECTION_DEFAULT : nvtraverser::RayIntersectTraverser
  • _RAY_ORIGIN_DEFAULT : nvtraverser::RayIntersectTraverser
  • _RIGHT_MOUSE_BTN : nvui::CameraManipulator
  • _S_KEY : nvui::WalkCamManip, nvui::FlightCamManip
  • _SHIFT_KEY : nvui::CameraManipulator
  • _STEREO : nvui::RenderArea
  • _UNDEFINED : nvui::RenderArea
  • _W_KEY : nvui::WalkCamManip, nvui::FlightCamManip

- a -

  • activeChildren : NBFSwitch
  • addAttribute() : nvsg::StateSet
  • addBuffers() : nvgl::GLObjects
  • addCamera() : nvsg::Scene
  • addCameraAnimation() : nvsg::Scene
  • addChild() : nvsg::Group, nvsg::CullData
  • addEntry() : nvutil::MemFunTbl< T >
  • addGeometry() : nvsg::GeoNode
  • addHeadLight() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • addLists() : nvgl::GLObjects
  • addObjectHandler() : nvtraverser::Traverser
  • addOcclusionQueries() : nvgl::GLObjects
  • addPrograms() : nvgl::GLObjects
  • addQueries() : nvgl::GLObjects
  • addRef() : nvutil::RCObject
  • addTextures() : nvgl::GLObjects
  • alloc() : nvutil::Allocator, nvutil::FixedAllocator, nvutil::Chunk, NBFSaveTraverser
  • Allocator() : nvutil::Allocator
  • ambientColor : NBFMaterial, NBFFaceAttribute, NBFLightSource
  • AnimatedQuads() : nvsg::AnimatedQuads
  • AnimatedTransform() : nvsg::AnimatedTransform
  • AnimatedTriangles() : nvsg::AnimatedTriangles
  • animation : NBFLightSource, NBFAnimatedTransform, NBFAnimatedQuads, NBFAnimatedTriangles, bone_t
  • Animation() : nvsg::Animation< T >
  • AnimationCamManip() : nvui::AnimationCamManip
  • apply() : nvutil::Trackball, nvui::WalkCamManip, nvui::TrackballCamManip, nvui::FlightCamManip, nvui::CameraManipulator, nvui::AnimationCamManip, nvtraverser::Traverser
  • AppTraverser() : nvtraverser::AppTraverser
  • AREAOFPEACE : nvui::WalkCamManip, nvui::FlightCamManip
  • areCollinear() : nvmath::Vec3f
  • areOnOppositeSides() : nvmath::Plane3f
  • areOnSameSide() : nvmath::Plane3f
  • areOrthogonal() : nvmath::Vecnf< n >
  • areOrthonormal() : nvmath::Vecnf< n >
  • areSimilar() : nvmath::Vecnf< n >
  • attach() : nvui::CameraManipulator
  • attachHighlightObject() : nvsg::GeoSet
  • attachWindow() : nvui::GLWinRenderArea
  • attenuation : NBFSpotLight, NBFPointLight

- b -

  • backColor : NBFScene
  • backFaceCulling : NBFFaceAttribute
  • balance() : nvsg::CullData
  • beginEdit() : nvsg::Object, nvtraverser::Traverser
  • bindings : NBFTextureAttribute
  • bindTextureAttributeItem() : nvsg::TextureAttribute
  • blocksAvailable() : nvutil::Chunk
  • Bone() : nvsg::Bone
  • bones : skin_t
  • boundingSphere() : nvmath::Sphere3f
  • BoundingSphere() : nvmath::BoundingSphere
  • byteOrder : NBFHeader

- c -

  • c() : nvmath::Plane3f
  • calcBoundingSphere() : nvsg::Transform, nvsg::Switch, nvsg::Node, nvsg::LightSource, nvsg::Group, nvsg::GeoNode
  • calcNearFarDistances() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • calculateTangentSpace() : nvsg::TriStrips, nvsg::Triangles, nvsg::QuadStrips, nvsg::Quads, nvsg::GeoSet, nvsg::GeoNode
  • calculatingStorageRequirements() : NBFSaveTraverser
  • callback() : nvutil::PlugIn
  • camera : NBFViewState
  • Camera() : nvsg::Camera
  • cameraAnimations : NBFScene
  • CameraManipulator() : nvui::CameraManipulator
  • cameras : NBFScene
  • center : NBFLOD, trafo_t
  • CgFx() : nvsg::CgFx
  • chars : str_t
  • checkIntersection() : nvtraverser::RayIntersectTraverser
  • children : NBFGroup
  • Chunk() : nvutil::Chunk
  • clearCullTree() : nvsg::ViewState
  • clone() : nvtraverser::Intersection, nvsg::ViewState, nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::StateAttribute, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::SimpleCamera, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::Node, nvsg::MonoCamera, nvsg::Material, nvsg::LOD, nvsg::LinearInterpolatedAnimation< T >, nvsg::JitterCamera, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::FaceAttribute, nvsg::Drawable, nvsg::DirectedLight, nvsg::CgFx, nvsg::Camera, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • colorDim : NBFGeoSet
  • colors : NBFGeoSet
  • CondenseTraverser() : nvtraverser::CondenseTraverser
  • containsCgFx() : nvsg::StateSet, nvsg::Scene, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • containsLight() : nvsg::Scene, nvsg::Node, nvsg::LightSource, nvsg::Group
  • containsTransparentMaterial() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Scene, nvsg::Node, nvsg::Material, nvsg::Group, nvsg::GeoNode
  • containsTransparentTexture() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Scene, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • context : nvutil::PlugInCallback::InvalidFileInfo, nvutil::PlugInCallback::IncompatibleFileInfo, nvutil::PlugInCallback::UnsupportedTokenInfo, nvutil::PlugInCallback::UnknownTokenInfo, nvutil::PlugInCallback::UndefinedTokenInfo, nvutil::PlugInCallback::InvalidValueInfo, nvutil::PlugInCallback::IncompatibleValueInfo, nvutil::PlugInCallback::EmptyTokenInfo
  • convertKey() : nvui::WalkCamManip, nvui::FlightCamManip, nvui::CameraManipulator
  • convertMouseButton() : nvui::CameraManipulator
  • coordDim : texCoordSet_t
  • create() : nvsg::ViewState, nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Texture, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::Scene, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::Material, nvsg::LOD, nvsg::LinearInterpolatedAnimation< T >, nvsg::JitterCamera, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::FaceAttribute, nvsg::DirectedLight, nvsg::CgFx, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • createEffectFromFile() : nvsg::CgFx
  • createFromBase() : nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::Material, nvsg::LOD, nvsg::LinearInterpolatedAnimation< T >, nvsg::JitterCamera, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::FaceAttribute, nvsg::DirectedLight, nvsg::CgFx, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • createNewRenderAreaID() : nvui::RenderArea
  • cullCode() : nvtraverser::OcclusionCullTraverser, nvtraverser::FrustumCullTraverser, nvtraverser::CullTraverser
  • CullData() : nvsg::CullData
  • CullTraverser() : nvtraverser::CullTraverser
  • currTech : NBFCgFx
  • cutoffAngle : NBFSpotLight

- d -

  • DALData() : nvsg::DALData
  • DALDataCreator() : nvsg::DALDataCreator
  • dayLastModified : NBFHeader
  • dealloc() : nvutil::Allocator, nvutil::FixedAllocator, nvutil::Chunk
  • decompose() : nvmath::Quatf, nvmath::Mat44f, nvmath::Mat33f
  • DECREASESPEED : nvui::WalkCamManip, nvui::FlightCamManip
  • defaultStateSet : NBFScene
  • deleteThis() : nvutil::PlugIn, nvsg::DALData, NVSGSaver, NBFSaver, WRLLoader, NVSGLoader, NVBLoader, NBFLoader
  • destroy() : nvui::RenderArea, nvui::GLWinRenderArea
  • detectedVersion : nvutil::PlugInCallback::IncompatibleFileInfo
  • determinant() : nvmath::Mat33f
  • determinePixelFormat() : nvui::GLWinRenderArea
  • diffuseColor : NBFMaterial, NBFLightSource
  • DirectedLight() : nvsg::DirectedLight
  • direction : NBFSimpleCamera
  • disableLightSource() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • disableTexGen() : nvsg::TextureAttributeItem
  • distance() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Plane3f
  • doApply() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser, nvtraverser::CullTraverser, nvtraverser::CondenseTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • dolly() : nvui::TrackballCamManip
  • DOLLY1 : nvui::TrackballCamManip
  • DOLLY2 : nvui::TrackballCamManip
  • doneReading() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • doneWriting() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • drawable : geometrySet_t
  • Drawable() : nvsg::Drawable
  • DrawableUnifyTraverser() : nvtraverser::DrawableUnifyTraverser

- e -

  • emissiveColor : NBFMaterial
  • encountered : nvutil::PlugInCallback::UnexpectedTokenInfo
  • endEdit() : nvsg::Object, nvtraverser::Traverser
  • EndImport() : NVNVB
  • enlarge() : nvmath::BoundingSphere
  • eTexFileType : nvsg::Texture
  • expected : nvutil::PlugInCallback::UnexpectedTokenInfo
  • expectedVersion : nvutil::PlugInCallback::IncompatibleFileInfo
  • extend() : nvmath::BoundingSphere
  • extendBoundingSphere() : nvsg::Node

- f -

  • FaceAttribute() : nvsg::FaceAttribute
  • FaceAttributeData() : nvsg::FaceAttributeData
  • faces : NBFQuads, NBFTriangles
  • falloffExponent : NBFSpotLight
  • farDist : NBFSimpleCamera
  • file : nvutil::PlugInCallback::InvalidFileInfo, nvutil::PlugInCallback::IncompatibleFileInfo, nvutil::PlugInCallback::FileAccessFailedInfo, NBFTextureAttributeItem, NBFCgFx
  • FixedAllocator() : nvutil::FixedAllocator
  • FlightCamManip() : nvui::FlightCamManip
  • fly() : nvui::FlightCamManip
  • FLYBACKWARD : nvui::FlightCamManip
  • FLYFORWARD : nvui::FlightCamManip
  • fogCoords : NBFGeoSet
  • format() : nvutil::TraceFunctor< OutFunctor >, nvutil::Log< TestMode, OutputFn >
  • FramedAnimation() : nvsg::FramedAnimation< T >
  • freeMemory() : nvutil::Chunk
  • FrustumCullTraverser() : nvtraverser::FrustumCullTraverser

- g -

  • GCT_DL : nvtraverser::RenderTraverser
  • GCT_NONE : nvtraverser::RenderTraverser
  • GCT_VBO : nvtraverser::RenderTraverser
  • generateTexCoords() : nvsg::GeoSet, nvsg::GeoNode
  • GeometryCacheTechnique : nvtraverser::RenderTraverser
  • GeoNode() : nvsg::GeoNode
  • GeoNodeUnifyTraverser() : nvtraverser::GeoNodeUnifyTraverser
  • GeoSet() : nvsg::GeoSet
  • get() : nvutil::RCObject_AutoPtr< T >
  • getActive() : nvsg::Switch
  • getAmbientColor() : nvsg::Material, nvsg::LightSource, nvsg::FaceAttribute
  • getAnimation() : nvsg::Bone, nvsg::LightSource, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • getAnimationFrame() : nvsg::ViewState
  • getAnnotation() : nvsg::Node, nvsg::CgFx
  • getAppTraverser() : nvui::RenderArea
  • getAspectRatio() : nvui::RenderArea, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getAttachedCamera() : nvui::CameraManipulator
  • getAttenuation() : nvsg::SpotLight, nvsg::PointLight
  • getAttribute() : nvsg::StateSet
  • getAttributeByObjectCode() : nvsg::StateSet
  • getBackColor() : nvsg::Scene
  • getBaseCamera() : nvsg::JitterCamera
  • getBorderColor() : nvsg::TextureAttributeItem
  • getBoundingSphere() : nvsg::Node, nvsg::HighlightObject, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::GeoSet, nvsg::Drawable
  • getButtonState() : nvui::CameraManipulator
  • getCamera() : nvsg::ViewState, nvsg::Scene, nvsg::JitterCamera
  • getCameraAnimation() : nvsg::Scene
  • getCenter() : nvsg::Transform, nvsg::LOD, nvmath::Trafo, nvmath::Sphere3f, nvmath::BoundingSphere
  • getChild() : nvsg::Group, nvsg::CullData
  • getClipToModel() : nvutil::TransformStack
  • getClipToView() : nvutil::TransformStack
  • getColor() : nvsg::HighlightEdges, nvsg::HighlightBox
  • getColors() : nvsg::GeoSet
  • getColorsDim() : nvsg::GeoSet
  • getComponents() : nvsg::Texture
  • getCullCode() : nvsg::CullData
  • getCullTraverser() : nvui::RenderArea
  • getCullTree() : nvsg::ViewState
  • getCurrentFrame() : nvsg::InterpolatedAnimation< T >
  • getCurrentLightIndex() : nvtraverser::RenderTraverser
  • getCurrentTechnique() : nvsg::CgFx
  • getCurrentValue() : nvsg::InterpolatedAnimation< T >
  • getCutoffAngle() : nvsg::SpotLight
  • getDataID() : nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::StateAttribute, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::SimpleCamera, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::Object, nvsg::Node, nvsg::Material, nvsg::LightSource, nvsg::JitterCamera, nvsg::Group, nvsg::GeoSet, nvsg::GeoNode, nvsg::FaceAttribute, nvsg::Drawable, nvsg::DirectedLight, nvsg::CgFx, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • getDefaultStateSet() : nvsg::Scene
  • getDepth() : nvsg::Texture
  • getDepthFactor() : nvsg::StereoCamera
  • getDeviceAbstractionLinkData() : nvsg::DALHost
  • getDiffuseColor() : nvsg::Material, nvsg::LightSource
  • getDirection() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • getDist() : nvtraverser::Intersection
  • getDrawable() : nvtraverser::Intersection, nvsg::GeoNode
  • getDrawables() : nvsg::GeoNode
  • getEffectFile() : nvsg::CgFx
  • getEmissiveColor() : nvsg::Material
  • getEnvMode() : nvsg::TextureAttributeItem
  • getErrorMessage() : nvsg::NVSGException
  • getFaces() : nvsg::Triangles, nvsg::Quads
  • getFalloffExponent() : nvsg::SpotLight
  • getFarDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getFieldOfView() : nvsg::PerspectiveCamera
  • getFileName() : nvsg::TextureAttributeItem, nvsg::Texture
  • getFirstItem() : nvsg::TextureAttribute
  • getFocusDistance() : nvsg::StereoCamera
  • getFogCoords() : nvsg::GeoSet
  • getFormat() : nvsg::Texture
  • getFrame() : nvsg::InterpolatedAnimation< T >
  • getGeometryCacheTechnique() : nvtraverser::RenderTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser
  • getHandle() : nvsg::Texture
  • getHead() : nvsg::Path
  • getHeadLight() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getHeadLightTrafo() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getHeight() : nvsg::Texture
  • getHighlightObject() : nvsg::GeoSet
  • getHSensitivity() : nvui::WalkCamManip, nvui::FlightCamManip
  • getIgnoreNames() : nvtraverser::TransformUnifyTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::DrawableUnifyTraverser
  • getIncarnation() : nvsg::StateAttribute
  • getIndex() : nvsg::Group
  • getIntensity() : nvsg::LightSource
  • getInterface : nvutil::PlugInServer
  • getIntersections() : nvtraverser::RayIntersectTraverser
  • getInverse() : nvsg::Transform, nvsg::LightSource, nvmath::Trafo
  • getInverseProjection() : nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • getIsp() : nvtraverser::Intersection
  • getJitters() : nvsg::JitterCamera
  • getJitterTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getKey() : nvsg::InterpolatedAnimation< T >
  • getKeyState() : nvui::CameraManipulator
  • getLastRecentlyUsedDeviceAbstractionLinkData() : nvsg::DALHost
  • getLeftCamera() : nvsg::StereoCamera
  • getLength() : nvsg::Path
  • getLineAntiAliasing() : nvtraverser::RenderTraverser
  • getLineWidth() : nvtraverser::RenderTraverser, nvsg::HighlightEdges, nvsg::HighlightBox
  • getLODToUse() : nvsg::LOD
  • getMagFilterMode() : nvsg::TextureAttributeItem
  • getMatrix() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::Bone, nvmath::Trafo
  • getMinFilterMode() : nvsg::TextureAttributeItem
  • getMinimalLengths() : nvtraverser::StrippingTraverser
  • getModelToClip() : nvutil::TransformStack
  • getModelToView() : nvutil::TransformStack
  • getModelToWorld() : nvutil::TransformStack
  • getMonoCamera() : nvsg::StereoCamera
  • getName() : nvsg::Object
  • getNearDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getNearest() : nvtraverser::RayIntersectTraverser
  • getNextItem() : nvsg::TextureAttribute
  • getNodeFromHead() : nvsg::Path
  • getNodeFromTail() : nvsg::Path
  • getNormals() : nvsg::GeoSet
  • getNumberOfActive() : nvsg::Switch
  • getNumberOfAnnotations() : nvsg::CgFx
  • getNumberOfAttributes() : nvsg::StateSet
  • getNumberOfCameraAnimations() : nvsg::Scene
  • getNumberOfCameras() : nvsg::Scene
  • getNumberOfChildren() : nvsg::Group, nvsg::CullData
  • getNumberOfColors() : nvsg::GeoSet
  • getNumberOfCullTraverser() : nvui::RenderArea
  • getNumberOfDrawables() : nvsg::GeoNode
  • getNumberOfFaces() : nvsg::Triangles, nvsg::Quads
  • getNumberOfFogCoords() : nvsg::GeoSet
  • getNumberOfFrames() : nvsg::SkinnedTriangles, nvsg::Scene, nvsg::Node, nvsg::LightSource, nvsg::InterpolatedAnimation< T >, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::Drawable, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • getNumberOfGeometries() : nvsg::GeoNode
  • getNumberOfHeadLights() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getNumberOfImages() : nvsg::Texture
  • getNumberOfIntersections() : nvtraverser::RayIntersectTraverser
  • getNumberOfItems() : nvsg::TextureAttribute
  • getNumberOfKeys() : nvsg::InterpolatedAnimation< T >
  • getNumberOfMipmaps() : nvsg::Texture
  • getNumberOfNormals() : nvsg::GeoSet
  • getNumberOfOwners() : nvsg::StateSet, nvsg::Drawable
  • getNumberOfParents() : nvsg::StateAttribute, nvsg::Node
  • getNumberOfPasses() : nvsg::JitterCamera, nvsg::CgFx
  • getNumberOfRanges() : nvsg::LOD
  • getNumberOfSecondaryColors() : nvsg::GeoSet
  • getNumberOfSkins() : nvsg::SkinnedTriangles
  • getNumberOfStateSets() : nvsg::GeoNode
  • getNumberOfStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • getNumberOfTechniques() : nvsg::CgFx
  • getNumberOfTexCoords() : nvsg::GeoSet
  • getNumberOfTransforms() : nvsg::CgFx
  • getNumberOfTweakables() : nvsg::CgFx
  • getNumberOfVertexAttributeBytes() : nvsg::GeoSet
  • getNumberOfVertexAttributeData() : nvsg::GeoSet
  • getNumberOfVertices() : nvsg::GeoSet
  • getObjectCode() : nvsg::Object
  • getOITMaxPasses() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getOITTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getOITThreshold() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getOpacity() : nvsg::Material
  • getOrientation() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera, nvmath::Trafo
  • getOverrideStateSet() : nvsg::Scene
  • getOwner() : nvsg::StateSet, nvsg::Drawable
  • getParent() : nvsg::StateAttribute, nvsg::Node
  • getPass() : nvsg::CgFx
  • getPath() : nvtraverser::Intersection
  • getPixels() : nvsg::Texture
  • getPlugInterfaceType() : nvutil::UPIID
  • getPlugSpecificIDString() : nvutil::UPIID
  • getPointAntiAliasing() : nvtraverser::RenderTraverser
  • getPointSize() : nvtraverser::RenderTraverser
  • getPolygonOffsetFactor() : nvsg::FaceAttribute
  • getPolygonOffsetUnits() : nvsg::FaceAttribute
  • getPosition() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • getProjection() : nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • getProjectionDx() : nvsg::SimpleCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • getPtr() : nvmath::Vecnf< n >, nvmath::Matnnf< n >
  • getRadius() : nvmath::Sphere3f, nvmath::BoundingSphere
  • getRanges() : nvsg::LOD
  • getRenderTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getRenderTraverser() : nvui::RenderArea
  • getResults() : nvtraverser::SearchTraverser
  • getRightCamera() : nvsg::StereoCamera
  • getRootNode() : nvsg::Scene
  • getScaling() : nvsg::Transform, nvsg::TextureAttributeItem, nvmath::Trafo
  • getSecondaryColors() : nvsg::GeoSet
  • getSecondaryColorsDim() : nvsg::GeoSet
  • getSize() : nvutil::Trackball, nvsg::Texture
  • getSkins() : nvsg::SkinnedTriangles
  • getSpecularColor() : nvsg::Material, nvsg::LightSource
  • getSpecularExponent() : nvsg::Material
  • getSpeed() : nvui::WalkCamManip, nvui::FlightCamManip
  • getSpeedIncreaseFactor() : nvui::WalkCamManip, nvui::FlightCamManip
  • getSphere() : nvmath::BoundingSphere
  • getStackDepth() : nvutil::TransformStack
  • getStateSet() : nvsg::GeoNode
  • getStateSets() : nvsg::GeoNode
  • getStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • getTail() : nvsg::Path
  • getTarget() : nvsg::Texture
  • getTargetDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getTechnique() : nvsg::CgFx
  • getTexCoords() : nvsg::GeoSet
  • getTexCoordsDim() : nvsg::GeoSet
  • getTexGenMode() : nvsg::TextureAttributeItem
  • getTexGenPlane() : nvsg::TextureAttributeItem
  • getTexture() : nvsg::TextureAttributeItem
  • getTextureAttributeItem() : nvsg::TextureAttribute
  • getTextureSizeLimits() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getTransform() : nvsg::CgFx
  • getTransformationMatrix() : nvsg::LightSource
  • getTranslation() : nvsg::Transform, nvsg::TextureAttributeItem, nvmath::Trafo
  • getTransparencyTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getTweakable() : nvsg::CgFx
  • getType() : nvsg::TextureAttributeItem, nvsg::Texture
  • getUpVector() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getValue() : nvsg::InterpolatedAnimation< T >, nvsg::CgFx
  • getVertexAttributeData() : nvsg::GeoSet
  • getVertexAttributeDataDim() : nvsg::GeoSet
  • getVertices() : nvsg::HighlightBox, nvsg::GeoSet
  • getViewState() : nvui::RenderArea
  • getViewToClip() : nvutil::TransformStack
  • getViewToModel() : nvutil::TransformStack
  • getViewToWorld() : nvutil::TransformStack
  • getViewToWorldMatrix() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getVSensitivity() : nvui::FlightCamManip
  • getWeight() : nvsg::Bone
  • getWidth() : nvsg::Texture
  • getWindowOffset() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWindowRegion() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWindowSize() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWorldToModel() : nvutil::TransformStack
  • getWorldToView() : nvutil::TransformStack
  • getWorldToViewMatrix() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWorldUpVector() : nvui::WalkCamManip, nvui::FlightCamManip
  • getWrapMode() : nvsg::TextureAttributeItem
  • GLAccum : nvgl::GLContext
  • GLActiveTexture : nvgl::GLContext
  • GLAlphaFunc : nvgl::GLContext
  • GLAreTexturesResident : nvgl::GLContext
  • GLArrayElement : nvgl::GLContext
  • GLBegin : nvgl::GLContext
  • GLBeginOcclusionQuery : nvgl::GLContext
  • GLBindBufferARB : nvgl::GLContext
  • GLBindProgram : nvgl::GLContext
  • GLBindTexture : nvgl::GLContext
  • GLBitmap : nvgl::GLContext
  • GLBlendFunc : nvgl::GLContext
  • GLBufferDataARB : nvgl::GLContext
  • GLBufferSubDataARB : nvgl::GLContext
  • GLCallList : nvgl::GLContext
  • GLCallLists : nvgl::GLContext
  • GLClear : nvgl::GLContext
  • GLClearAccum : nvgl::GLContext
  • GLClearColor : nvgl::GLContext
  • GLClearDepth : nvgl::GLContext
  • GLClearIndex : nvgl::GLContext
  • GLClearStencil : nvgl::GLContext
  • GLClientActiveTexture : nvgl::GLContext
  • GLClipPlane : nvgl::GLContext
  • GLColor3b : nvgl::GLContext
  • GLColor3d : nvgl::GLContext
  • GLColor3f : nvgl::GLContext
  • GLColor3fv : nvgl::GLContext
  • GLColor3i : nvgl::GLContext
  • GLColor3s : nvgl::GLContext
  • GLColor3ub : nvgl::GLContext
  • GLColor3ui : nvgl::GLContext
  • GLColor3us : nvgl::GLContext
  • GLColor4b : nvgl::GLContext
  • GLColor4d : nvgl::GLContext
  • GLColor4f : nvgl::GLContext
  • GLColor4i : nvgl::GLContext
  • GLColor4s : nvgl::GLContext
  • GLColor4ub : nvgl::GLContext
  • GLColor4ui : nvgl::GLContext
  • GLColor4us : nvgl::GLContext
  • GLColorMask : nvgl::GLContext
  • GLColorMaterial : nvgl::GLContext
  • GLColorPointer : nvgl::GLContext
  • GLCompressedTexImage1D : nvgl::GLContext
  • GLCompressedTexImage2D : nvgl::GLContext
  • GLCompressedTexImage3D : nvgl::GLContext
  • GLCopyPixels : nvgl::GLContext
  • GLCopyTexImage1D : nvgl::GLContext
  • GLCopyTexImage2D : nvgl::GLContext
  • GLCopyTexSubImage1D : nvgl::GLContext
  • GLCopyTexSubImage2D : nvgl::GLContext
  • GLCullFace : nvgl::GLContext
  • GLDeleteBuffersARB : nvgl::GLContext
  • GLDeleteLists : nvgl::GLContext
  • GLDeleteOcclusionQueries : nvgl::GLContext
  • GLDeletePrograms : nvgl::GLContext
  • GLDeleteQueries : nvgl::GLContext
  • GLDeleteTextures : nvgl::GLContext
  • GLDepthFunc : nvgl::GLContext
  • GLDepthMask : nvgl::GLContext
  • GLDepthRange : nvgl::GLContext
  • GLDisable : nvgl::GLContext
  • GLDisableClientState : nvgl::GLContext
  • GLDrawArrays : nvgl::GLContext
  • GLDrawBuffer : nvgl::GLContext
  • GLDrawElements : nvgl::GLContext
  • GLDrawPixels : nvgl::GLContext
  • GLDrawRangeElements : nvgl::GLContext
  • GLEdgeFlag : nvgl::GLContext
  • GLEdgeFlagPointer : nvgl::GLContext
  • GLEdgeFlagv : nvgl::GLContext
  • GLEnable : nvgl::GLContext
  • GLEnableClientState : nvgl::GLContext
  • GLEnd : nvgl::GLContext
  • GLEndList : nvgl::GLContext
  • GLEndOcclusionQuery : nvgl::GLContext
  • GLEvalCoord1d : nvgl::GLContext
  • GLEvalCoord1f : nvgl::GLContext
  • GLEvalCoord2d : nvgl::GLContext
  • GLEvalCoord2f : nvgl::GLContext
  • GLEvalMesh1 : nvgl::GLContext
  • GLEvalMesh2 : nvgl::GLContext
  • GLEvalPoint1 : nvgl::GLContext
  • GLEvalPoint2 : nvgl::GLContext
  • GLFeedbackBuffer : nvgl::GLContext
  • GLFinish : nvgl::GLContext
  • GLFlush : nvgl::GLContext
  • GLFogCoordPointer : nvgl::GLContext
  • GLFogf : nvgl::GLContext
  • GLFogfv : nvgl::GLContext
  • GLFogi : nvgl::GLContext
  • GLFogiv : nvgl::GLContext
  • GLFrontFace : nvgl::GLContext
  • GLFrustum : nvgl::GLContext
  • GLGenBuffersARB : nvgl::GLContext
  • GLGenLists : nvgl::GLContext
  • GLGenOcclusionQueries : nvgl::GLContext
  • GLGenPrograms : nvgl::GLContext
  • GLGenQueries : nvgl::GLContext
  • GLGenTextures : nvgl::GLContext
  • GLGetBooleanv : nvgl::GLContext
  • GLGetClipPlane : nvgl::GLContext
  • GLGetDoublev : nvgl::GLContext
  • GLGetFloatv : nvgl::GLContext
  • GLGetIntegerv : nvgl::GLContext
  • GLGetLightfv : nvgl::GLContext
  • GLGetLightiv : nvgl::GLContext
  • GLGetMapdv : nvgl::GLContext
  • GLGetMapfv : nvgl::GLContext
  • GLGetMapiv : nvgl::GLContext
  • GLGetMaterialfv : nvgl::GLContext
  • GLGetMaterialiv : nvgl::GLContext
  • GLGetOcclusionQueryuiv : nvgl::GLContext
  • GLGetPixelMapfv : nvgl::GLContext
  • GLGetPixelMapuiv : nvgl::GLContext
  • GLGetPixelMapusv : nvgl::GLContext
  • GLGetPointerv : nvgl::GLContext
  • GLGetPolygonStipple : nvgl::GLContext
  • GLGetString : nvgl::GLContext
  • GLGetTexEnvfv : nvgl::GLContext
  • GLGetTexEnviv : nvgl::GLContext
  • GLGetTexGendv : nvgl::GLContext
  • GLGetTexGenfv : nvgl::GLContext
  • GLGetTexGeniv : nvgl::GLContext
  • GLGetTexImage : nvgl::GLContext
  • GLGetTexLevelParameterfv : nvgl::GLContext
  • GLGetTexLevelParameteriv : nvgl::GLContext
  • GLGetTexParameterfv : nvgl::GLContext
  • GLGetTexParameteriv : nvgl::GLContext
  • GLHint : nvgl::GLContext
  • GLIndexd : nvgl::GLContext
  • GLIndexf : nvgl::GLContext
  • GLIndexi : nvgl::GLContext
  • GLIndexMask : nvgl::GLContext
  • GLIndexPointer : nvgl::GLContext
  • GLIndexs : nvgl::GLContext
  • GLIndexub : nvgl::GLContext
  • GLInitNames : nvgl::GLContext
  • GLInterleavedArrays : nvgl::GLContext
  • GLIsBufferARB : nvgl::GLContext
  • GLIsEnabled : nvgl::GLContext
  • GLIsExtensionAvailable : nvgl::GLContext
  • GLIsExtensionExported : nvgl::GLContext
  • GLIsList : nvgl::GLContext
  • GLIsOcclusionQuery : nvgl::GLContext
  • GLIsProgram : nvgl::GLContext
  • GLIsQuery : nvgl::GLContext
  • GLIsTexture : nvgl::GLContext
  • GLLightf : nvgl::GLContext
  • GLLightfv : nvgl::GLContext
  • GLLighti : nvgl::GLContext
  • GLLightiv : nvgl::GLContext
  • GLLightModelf : nvgl::GLContext
  • GLLightModelfv : nvgl::GLContext
  • GLLightModeli : nvgl::GLContext
  • GLLightModeliv : nvgl::GLContext
  • GLLineStipple : nvgl::GLContext
  • GLLineWidth : nvgl::GLContext
  • GLListBase : nvgl::GLContext
  • GLLoadIdentity : nvgl::GLContext
  • GLLoadMatrixd : nvgl::GLContext
  • GLLoadMatrixf : nvgl::GLContext
  • GLLoadName : nvgl::GLContext
  • GLLoadProgram : nvgl::GLContext
  • GLLogicOp : nvgl::GLContext
  • GLMap1d : nvgl::GLContext
  • GLMap1f : nvgl::GLContext
  • GLMap2d : nvgl::GLContext
  • GLMap2f : nvgl::GLContext
  • GLMapBufferARB : nvgl::GLContext
  • GLMapGrid1d : nvgl::GLContext
  • GLMapGrid1f : nvgl::GLContext
  • GLMapGrid2d : nvgl::GLContext
  • GLMapGrid2f : nvgl::GLContext
  • GLMaterialf : nvgl::GLContext
  • GLMaterialfv : nvgl::GLContext
  • GLMateriali : nvgl::GLContext
  • GLMaterialiv : nvgl::GLContext
  • GLMatrixMode : nvgl::GLContext
  • GLMultiDrawElements : nvgl::GLContext
  • GLMultiTexCoord2f : nvgl::GLContext
  • GLMultMatrixd : nvgl::GLContext
  • GLMultMatrixf : nvgl::GLContext
  • GLNewList : nvgl::GLContext
  • GLNormal3b : nvgl::GLContext
  • GLNormal3bv : nvgl::GLContext
  • GLNormal3d : nvgl::GLContext
  • GLNormal3dv : nvgl::GLContext
  • GLNormal3f : nvgl::GLContext
  • GLNormal3fv : nvgl::GLContext
  • GLNormal3i : nvgl::GLContext
  • GLNormal3iv : nvgl::GLContext
  • GLNormal3s : nvgl::GLContext
  • GLNormal3sv : nvgl::GLContext
  • GLNormalPointer : nvgl::GLContext
  • GLOrtho : nvgl::GLContext
  • GLPassThrough : nvgl::GLContext
  • GLPixelMapfv : nvgl::GLContext
  • GLPixelMapuiv : nvgl::GLContext
  • GLPixelMapusv : nvgl::GLContext
  • GLPixelStoref : nvgl::GLContext
  • GLPixelStorei : nvgl::GLContext
  • GLPixelTransferf : nvgl::GLContext
  • GLPixelTransferi : nvgl::GLContext
  • GLPixelZoom : nvgl::GLContext
  • GLPointSize : nvgl::GLContext
  • GLPolygonMode : nvgl::GLContext
  • GLPolygonOffset : nvgl::GLContext
  • GLPolygonStipple : nvgl::GLContext
  • GLPopAttrib : nvgl::GLContext
  • GLPopClientAttrib : nvgl::GLContext
  • GLPopMatrix : nvgl::GLContext
  • GLPopName : nvgl::GLContext
  • GLPrioritizeTextures : nvgl::GLContext
  • GLProgramNamedParameter4f : nvgl::GLContext
  • GLPushAttrib : nvgl::GLContext
  • GLPushClientAttrib : nvgl::GLContext
  • GLPushMatrix : nvgl::GLContext
  • GLPushName : nvgl::GLContext
  • GLRasterPos2d : nvgl::GLContext
  • GLRasterPos2f : nvgl::GLContext
  • GLRasterPos2i : nvgl::GLContext
  • GLRasterPos2s : nvgl::GLContext
  • GLRasterPos3d : nvgl::GLContext
  • GLRasterPos3f : nvgl::GLContext
  • GLRasterPos3i : nvgl::GLContext
  • GLRasterPos3s : nvgl::GLContext
  • GLRasterPos4d : nvgl::GLContext
  • GLRasterPos4f : nvgl::GLContext
  • GLRasterPos4i : nvgl::GLContext
  • GLRasterPos4s : nvgl::GLContext
  • GLReadBuffer : nvgl::GLContext
  • GLReadPixels : nvgl::GLContext
  • GLRectd : nvgl::GLContext
  • GLRectf : nvgl::GLContext
  • GLRecti : nvgl::GLContext
  • GLRects : nvgl::GLContext
  • GLRenderMode : nvgl::GLContext
  • GLRotated : nvgl::GLContext
  • GLRotatef : nvgl::GLContext
  • GLScaled : nvgl::GLContext
  • GLScalef : nvgl::GLContext
  • GLScissor : nvgl::GLContext
  • GLSecondaryColorPointer : nvgl::GLContext
  • GLSelectBuffer : nvgl::GLContext
  • GLSetWindowStereoMode : nvgl::GLContext
  • GLShadeModel : nvgl::GLContext
  • GLStencilFunc : nvgl::GLContext
  • GLStencilMask : nvgl::GLContext
  • GLStencilOp : nvgl::GLContext
  • GLTexCoord1d : nvgl::GLContext
  • GLTexCoord1f : nvgl::GLContext
  • GLTexCoord1i : nvgl::GLContext
  • GLTexCoord1s : nvgl::GLContext
  • GLTexCoord2d : nvgl::GLContext
  • GLTexCoord2f : nvgl::GLContext
  • GLTexCoord2fv : nvgl::GLContext
  • GLTexCoord2i : nvgl::GLContext
  • GLTexCoord2s : nvgl::GLContext
  • GLTexCoord3d : nvgl::GLContext
  • GLTexCoord3f : nvgl::GLContext
  • GLTexCoord3i : nvgl::GLContext
  • GLTexCoord3s : nvgl::GLContext
  • GLTexCoord4d : nvgl::GLContext
  • GLTexCoord4f : nvgl::GLContext
  • GLTexCoord4i : nvgl::GLContext
  • GLTexCoord4s : nvgl::GLContext
  • GLTexCoordPointer : nvgl::GLContext
  • GLTexEnvf : nvgl::GLContext
  • GLTexEnvfv : nvgl::GLContext
  • GLTexEnvi : nvgl::GLContext
  • GLTexEnviv : nvgl::GLContext
  • GLTexGend : nvgl::GLContext
  • GLTexGenf : nvgl::GLContext
  • GLTexGenfv : nvgl::GLContext
  • GLTexGeni : nvgl::GLContext
  • GLTexImage1D : nvgl::GLContext
  • GLTexImage2D : nvgl::GLContext
  • GLTexImage3D : nvgl::GLContext
  • GLTexParameterf : nvgl::GLContext
  • GLTexParameterfv : nvgl::GLContext
  • GLTexParameteri : nvgl::GLContext
  • GLTexParameteriv : nvgl::GLContext
  • GLTexSubImage1D : nvgl::GLContext
  • GLTexSubImage2D : nvgl::GLContext
  • GLTranslated : nvgl::GLContext
  • GLTranslatef : nvgl::GLContext
  • GLTraverser() : nvtraverser::GLTraverser
  • GLUnmapBufferARB : nvgl::GLContext
  • GLVertex2d : nvgl::GLContext
  • GLVertex2f : nvgl::GLContext
  • GLVertex2i : nvgl::GLContext
  • GLVertex2s : nvgl::GLContext
  • GLVertex3d : nvgl::GLContext
  • GLVertex3f : nvgl::GLContext
  • GLVertex3fv : nvgl::GLContext
  • GLVertex3i : nvgl::GLContext
  • GLVertex3s : nvgl::GLContext
  • GLVertex4d : nvgl::GLContext
  • GLVertex4f : nvgl::GLContext
  • GLVertex4i : nvgl::GLContext
  • GLVertex4s : nvgl::GLContext
  • GLVertexPointer : nvgl::GLContext
  • GLViewport : nvgl::GLContext
  • GLWinRenderArea() : nvui::GLWinRenderArea
  • Group() : nvsg::Group
  • GroupUnifyTraverser() : nvtraverser::GroupUnifyTraverser

- h -

  • handleAnimatedQuads() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleAnimatedTransform() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleAnimatedTriangles() : nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleCgFx() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleDirectedLight() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFaceAttribute() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedTrafoAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedVNVectorAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleGeoNode() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, nvtraverser::CondenseTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser, NVBLoadTraverser
  • handleGroup() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleHighlightBox() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::AppTraverser
  • handleHighlightEdges() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser
  • handleJitterCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleLinearInterpolatedTrafoAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLinearInterpolatedVNVectorAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLOD() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleMaterial() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleParallelCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RenderTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePerspectiveCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RenderTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePointLight() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuads() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadStrips() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSkinnedTriangles() : nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSpotLight() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStateSet() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleStereoCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleSwitch() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleTextureAttribute() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTextureAttributeItem() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTransform() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::GLTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleTriangles() : nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleTriStrips() : nvtraverser::Traverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • hasChild() : nvsg::Group
  • hasFaces() : nvsg::Triangles, nvsg::Quads
  • hasStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • hasTexCoords() : nvsg::GeoSet
  • headLights : NBFSimpleCamera
  • HighlightBox() : nvsg::HighlightBox
  • HighlightEdges() : nvsg::HighlightEdges
  • HighlightObject() : nvsg::HighlightObject
  • hourLastModified : NBFHeader

- i -

  • IAllocator() : nvutil::IAllocator
  • IdentityToGroupTraverser() : nvtraverser::IdentityToGroupTraverser
  • Incarnation() : nvutil::Incarnation
  • INCREASESPEED : nvui::WalkCamManip, nvui::FlightCamManip
  • indices : indexSet_t, nvsg::Face< n >
  • init() : nvutil::Log< TestMode, OutputFn >, nvutil::FixedAllocator, nvui::RenderArea, nvui::GLWinRenderArea
  • initGL() : nvui::GLWinRenderArea
  • initialize() : nvutil::SWMRSync
  • instance() : nvutil::Singleton< T >
  • intensity : NBFLightSource
  • InterpolatedAnimation() : nvsg::InterpolatedAnimation< T >
  • Intersection() : nvtraverser::Intersection
  • intersectTriangle() : nvtraverser::RayIntersectTraverser
  • invalidate() : nvsg::HighlightObject, nvmath::BoundingSphere
  • invalidateBoundingSphere() : nvsg::Node, nvsg::GeoSet, nvsg::Drawable
  • invalidateCaches() : nvsg::StateSet, nvsg::Group, nvsg::GeoNode
  • invalidateCgFxContainment() : nvsg::StateSet, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • invalidateLightContainment() : nvsg::Node, nvsg::Group
  • invalidateNumberOfFrames() : nvsg::Node, nvsg::Group, nvsg::GeoNode, nvsg::Drawable
  • invalidateTransparentMaterialContainment() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • invalidateTransparentTextureContainment() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • invert() : nvmath::Quatf
  • isActive() : nvsg::Switch
  • isAnimating() : nvsg::ViewState
  • isAttenuated() : nvsg::SpotLight, nvsg::PointLight
  • isAutoClipPlanes : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera, NBFSimpleCamera
  • isAvailable() : nvgl::GLFunctions
  • isBackFaceCulling() : nvsg::FaceAttribute
  • isBackFaceCullingEnabled() : nvtraverser::RayIntersectTraverser
  • isBoundingSphereValid() : nvsg::Node, nvsg::HighlightObject, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::GeoSet, nvsg::Drawable
  • isCritical() : nvsg::NVSGException
  • isCubeMap() : nvsg::Texture
  • isCurrentTechniqueValid() : nvsg::CgFx
  • isCurrentTechniqueValidationPending() : nvsg::CgFx
  • isDataShared() : nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::StateAttribute, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::SimpleCamera, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::Object, nvsg::Node, nvsg::Material, nvsg::LightSource, nvsg::JitterCamera, nvsg::Group, nvsg::GeoSet, nvsg::GeoNode, nvsg::FaceAttribute, nvsg::Drawable, nvsg::DirectedLight, nvsg::CgFx, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • isDolly() : nvui::TrackballCamManip
  • isEffectValid() : nvsg::CgFx
  • isEmpty() : nvsg::Path
  • isEnabled() : nvutil::Log< TestMode, OutputFn >
  • isExported() : nvgl::GLFunctions
  • isFloatingPoint() : nvsg::Texture
  • isFly() : nvui::FlightCamManip
  • isFlyBackward() : nvui::FlightCamManip
  • isFlyForward() : nvui::FlightCamManip
  • isGeometryCacheTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser
  • isIdentity() : nvmath::Matnnf< n >, nvsg::Transform
  • isInsideBounds() : nvutil::Chunk
  • isJitterTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isLeftPassIndex() : nvsg::StereoCamera
  • isLookupRequired() : nvsg::TextureAttributeItem
  • isNormalized() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • isNull() : nvmath::Vecnf< n >, nvmath::Quatf
  • isOITTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isOrthogonal() : nvmath::Matnnf< n >
  • isPan() : nvui::TrackballCamManip
  • isPolygonOffset() : nvsg::FaceAttribute
  • isRenderTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isRotate() : nvui::TrackballCamManip
  • isRotation() : nvmath::Mat33f
  • isShareable() : nvutil::RCObject
  • isShared : nvutil::RCObject, NBFObject
  • isStereo() : nvsg::ViewState
  • isStereoAvailable() : nvui::RenderArea
  • isTexFileType() : nvsg::Texture
  • isTilt() : nvui::WalkCamManip
  • isTranslate() : nvui::WalkCamManip
  • isTransparencyTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isTwoSidedLighting() : nvsg::FaceAttribute
  • ISType : nvtraverser::RayIntersectTraverser
  • isUnused() : nvutil::Chunk
  • isValid() : nvsg::HighlightObject, nvmath::BoundingSphere
  • isWalk() : nvui::WalkCamManip
  • isWalkBackward() : nvui::WalkCamManip
  • isWalkForward() : nvui::WalkCamManip
  • iterator : nvtraverser::SearchTraverser

- j -

  • JitterCamera() : nvsg::JitterCamera
  • JitterTechnique : nvtraverser::RenderTraverser
  • JT_ACCUM : nvtraverser::RenderTraverser
  • JT_PBUFFER : nvtraverser::RenderTraverser
  • JT_READ_PIXELS : nvtraverser::RenderTraverser

- k -

  • keyDown() : nvui::RenderArea, nvui::CameraManipulator
  • keyRepeat() : nvui::WalkCamManip, nvui::FlightCamManip, nvui::CameraManipulator
  • keys : NBFInterpolatedAnimation
  • keyUp() : nvui::RenderArea, nvui::CameraManipulator

- l -

  • length() : nvmath::Vecnf< n >
  • lengthSquared() : nvmath::Vecnf< n >
  • lerp() : nvmath::Trafo, nvmath::Quatf
  • LightSource() : nvsg::LightSource
  • LinearInterpolatedAnimation() : nvsg::LinearInterpolatedAnimation< T >
  • load() : nvsg::Texture, nvsg::SceneLoader, WRLLoader, NVSGLoader, NVNVB, NVBLoader, NBFLoader
  • loadCustomObject() : NBFLoader
  • LOD() : nvsg::LOD
  • Log() : nvutil::Log< TestMode, OutputFn >

- m -

  • m_animation : nvui::AnimationCamManip
  • m_animationFrame : nvtraverser::AppTraverser
  • m_appTraverser : nvui::RenderArea
  • m_backFaceCulling : nvtraverser::RayIntersectTraverser
  • m_bApplyingCgFx : nvtraverser::AppTraverser
  • m_bones : nvsg::Skin
  • m_boundingSphere : nvsg::HighlightBox
  • m_buttonState : nvui::CameraManipulator
  • m_camClipping : nvtraverser::RayIntersectTraverser
  • m_camera : nvui::CameraManipulator, nvtraverser::RayIntersectTraverser
  • m_camManip : nvui::RenderArea
  • m_ccw : nvtraverser::RayIntersectTraverser
  • m_color : nvsg::HighlightEdges, nvsg::HighlightBox
  • m_cube : nvsg::Texture
  • m_cullStack : nvtraverser::Traverser
  • m_cullTraverser : nvui::RenderArea
  • m_curPath : nvtraverser::RayIntersectTraverser
  • m_currentFrame : nvui::AnimationCamManip, nvtraverser::RayIntersectTraverser
  • m_defaultStateSet : nvtraverser::Traverser
  • m_dist : nvtraverser::Intersection
  • m_dragAndThrowAnim : nvui::CameraManipulator
  • m_features : nvui::RenderArea
  • m_fileName : nvsg::Texture
  • m_flipImage : nvsg::Texture
  • m_glFunctions : nvgl::GLContext
  • m_groupStack : nvtraverser::Traverser
  • m_handle : nvsg::Texture
  • m_hdc : nvui::GLWinRenderArea
  • m_hglrc : nvui::GLWinRenderArea
  • m_hSensitivity : nvui::WalkCamManip, nvui::FlightCamManip
  • m_idRenderArea : nvui::RenderArea
  • m_imageID : nvsg::Texture
  • m_incarnation : nvsg::StateAttribute
  • m_intersectionList : nvtraverser::RayIntersectTraverser
  • m_invalid : nvsg::HighlightObject
  • m_isp : nvtraverser::Intersection
  • m_keyState : nvui::CameraManipulator
  • m_lineWidth : nvsg::HighlightEdges, nvsg::HighlightBox
  • m_lodStack : nvtraverser::Traverser
  • m_mouseX : nvui::CameraManipulator
  • m_mouseXlast : nvui::CameraManipulator
  • m_mouseXstart : nvui::CameraManipulator
  • m_mouseY : nvui::CameraManipulator
  • m_mouseYlast : nvui::CameraManipulator
  • m_mouseYstart : nvui::CameraManipulator
  • m_msCamDir : nvtraverser::RayIntersectTraverser
  • m_msRayDir : nvtraverser::RayIntersectTraverser
  • m_msRayOrigin : nvtraverser::RayIntersectTraverser
  • m_nearestIntIdx : nvtraverser::RayIntersectTraverser
  • m_normal : nvsg::Skin
  • m_numImages : nvsg::Texture
  • m_numMSBuffers : nvui::RenderArea
  • m_objectCode : nvsg::Object
  • m_overrideStateSet : nvtraverser::Traverser
  • m_pDrawable : nvtraverser::Intersection
  • m_perStateAttributeIncarnationMap : nvtraverser::RenderTraverser
  • m_pPath : nvtraverser::Intersection
  • m_raCreated : nvui::RenderArea
  • m_raHeight : nvui::RenderArea
  • m_raWidth : nvui::RenderArea
  • m_rayDir : nvtraverser::RayIntersectTraverser
  • m_rayOrigin : nvtraverser::RayIntersectTraverser
  • m_renderTraverser : nvui::RenderArea
  • m_scaleFactor : nvtraverser::RayIntersectTraverser
  • m_scene : nvui::RenderArea
  • m_ScreenSizeX : nvui::WalkCamManip, nvui::FlightCamManip
  • m_ScreenSizeY : nvui::WalkCamManip, nvui::FlightCamManip
  • m_speed : nvui::WalkCamManip, nvui::FlightCamManip
  • m_speedIncreaseFactor : nvui::WalkCamManip, nvui::FlightCamManip
  • m_target : nvsg::Texture
  • m_tbsize : nvutil::Trackball
  • m_texFileType : nvsg::Texture
  • m_trackball : nvui::TrackballCamManip
  • m_transformStack : nvtraverser::ModelViewTraverser
  • m_traverser : NBFSaver
  • m_vertex : nvsg::Skin
  • m_vertices : nvsg::HighlightBox
  • m_viewState : nvui::RenderArea
  • m_vpHeight : nvui::CameraManipulator
  • m_vpWidth : nvui::CameraManipulator
  • m_vSensitivity : nvui::FlightCamManip
  • m_worldUpVector : nvui::WalkCamManip, nvui::FlightCamManip
  • magFilter : NBFTextureAttributeItem
  • magnitude() : nvmath::Quatf
  • makeCurrent() : nvui::GLWinRenderArea
  • mapOffset() : NBFLoader
  • mapViewOfFile() : NBFSaveTraverser
  • markUnshareable() : nvutil::RCObject
  • Mat33f() : nvmath::Mat33f
  • Mat44f() : nvmath::Mat44f
  • Material() : nvsg::Material
  • Matnnf() : nvmath::Matnnf< n >
  • maxElement() : nvmath::Vecnf< n >
  • MemFunTbl() : nvutil::MemFunTbl< T >
  • minElement() : nvmath::Vecnf< n >
  • minFilter : NBFTextureAttributeItem
  • minuteLastModified : NBFHeader
  • ModelViewTraverser() : nvtraverser::ModelViewTraverser
  • MonoCamera() : nvsg::MonoCamera
  • monthLastModified : NBFHeader
  • mouseButtonDown() : nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • mouseButtonUp() : nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • mouseMotion() : nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • move() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • moveX() : nvsg::Camera
  • moveY() : nvsg::Camera
  • moveZ() : nvsg::Camera

- n -

  • n() : nvmath::Plane3f
  • name : tweak_t
  • nbfBugfixLevel : NBFHeader
  • nbfMajorVersion : NBFHeader
  • nbfMinorVersion : NBFHeader
  • NBFSaver() : NBFSaver
  • NBFSaveTraverser() : NBFSaveTraverser
  • nearDist : NBFSimpleCamera
  • nearestPoint() : nvmath::Plane3f
  • NewCamera() : NVNVB
  • NewController() : NVNVB
  • NewHelper() : NVNVB
  • NewLight() : NVNVB
  • NewMaterial() : NVNVB
  • NewMesh() : NVNVB
  • NewMotion() : NVNVB
  • NewScene() : NVNVB
  • NewShape() : NVNVB
  • NewTexture() : NVNVB
  • Node() : nvsg::Node
  • normal : skin_t
  • normalize() : nvmath::Vec3f, nvmath::Vecnf< n >, nvmath::Quatf
  • normalizeV() : nvmath::Vec3f
  • normals : nvsg::VNVector, NBFGeoSet
  • normalSets : NBFVNVectorAnimation
  • numActiveChildren : NBFSwitch
  • numberOfAnimationFrames : NBFScene
  • numBindings : NBFTextureAttribute
  • numBones : skin_t
  • numCameraAnimations : NBFScene
  • numCameras : NBFScene
  • numChars : str_t
  • numChildren : NBFGroup
  • numColors : NBFGeoSet
  • numFaces : NBFQuads, NBFTriangles
  • numFogCoords : NBFGeoSet
  • numFrames : NBFFramedAnimation
  • numHeadLights : NBFSimpleCamera
  • numIndices : indexSet_t
  • numKeys : NBFInterpolatedAnimation
  • numNormals : NBFGeoSet, NBFVNVectorAnimation
  • numRanges : NBFLOD
  • numSecondaryColors : NBFGeoSet
  • numSkins : NBFSkinnedTriangles
  • numStateAttribs : NBFStateSet
  • numStrips : NBFStrips
  • numTexCoords : texCoordSet_t
  • numTexCoordsSets : NBFGeoSet
  • numTweaks : NBFCgFx
  • numVertices : NBFGeoSet, NBFVNVectorAnimation
  • NVBImportError() : NVNVB
  • NVBLoadTraverser() : NVBLoadTraverser
  • NVBLog() : NVNVB
  • nvsgBugfixLevel : NBFHeader
  • NVSGException() : nvsg::NVSGException
  • nvsgMajorVersion : NBFHeader
  • nvsgMinorVersion : NBFHeader
  • NVSGSaveTraverser() : NVSGSaveTraverser

- o -

  • Object() : nvsg::Object
  • objectCode : NBFObject, NBFViewState
  • objectDataID : NBFObject
  • objectName : NBFObject
  • OcclusionCullGLTraverser() : nvtraverser::OcclusionCullGLTraverser
  • OcclusionCullTraverser() : nvtraverser::OcclusionCullTraverser
  • OITTechnique : nvtraverser::RenderTraverser
  • onEmptyToken() : nvutil::PlugInCallback
  • onError() : nvutil::PlugInCallback
  • onFileAccessFailed() : nvutil::PlugInCallback
  • onFileEmpty() : nvutil::PlugInCallback
  • onFileMappingFailed() : nvutil::PlugInCallback
  • onFileNotFound() : nvutil::PlugInCallback
  • onFilesNotFound() : nvutil::PlugInCallback
  • onImcompatibleFile() : nvutil::PlugInCallback
  • onIncompatibleValues() : nvutil::PlugInCallback
  • onInvalidFile() : nvutil::PlugInCallback
  • onInvalidValue() : nvutil::PlugInCallback
  • onReleaseDAL() : nvtraverser::GLTraverser, nvsg::DALDataCreator
  • onSetVertexAttributeData() : nvsg::GeoSet, nvsg::AnimatedTriangles, nvsg::AnimatedQuads
  • onUndefinedToken() : nvutil::PlugInCallback
  • onUnexpectedEndOfFile() : nvutil::PlugInCallback
  • onUnexpectedToken() : nvutil::PlugInCallback
  • onUnknownToken() : nvutil::PlugInCallback
  • onUnsupportedToken() : nvutil::PlugInCallback
  • onWarning() : nvutil::PlugInCallback
  • opacity : NBFMaterial
  • operator *() : nvmath::Vecnf< n >, nvmath::Vec4f, nvmath::Vec3f, nvmath::Vec2f, nvmath::Quatf, nvmath::Matnnf< n >, nvmath::Mat44f, nvutil::RCObject_AutoPtr< T >, nvutil::RCIPtr< T >, nvutil::RCPtr< T >, nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator *=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator const T &() : nvutil::RegVal< T >
  • operator delete() : nvutil::IAllocator
  • operator new() : nvutil::IAllocator
  • operator!=() : nvutil::UPIID, nvutil::UPITID, nvutil::Incarnation, nvutil::Chunk, nvmath::Vecnf< n >, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator()() : nvutil::TraceFunctor< OutFunctor >, nvutil::traceFileConsoleOutput, nvutil::traceFileDebugOutput, nvutil::traceFileOutput, nvutil::traceConsoleDebugOutput, nvutil::traceConsoleOutput, nvutil::traceDebugOutput, nvutil::removeReference, nvutil::addReference, nvsg::Bone, nvmath::Sphere3f, nvmath::Plane3f
  • operator+() : nvmath::Vecnf< n >, nvmath::Matnnf< n >
  • operator++() : nvutil::Incarnation
  • operator+=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator-() : nvmath::Vecnf< n >, nvmath::Vec3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator-=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator->() : nvutil::RCObject_AutoPtr< T >, nvutil::RCIPtr< T >, nvutil::RCPtr< T >
  • operator/() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator/=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator< : nvutil::UPIID, nvutil::UPITID
  • operator=() : nvutil::RegVal< T >, nvutil::RCObject_AutoPtr< T >, nvutil::RCIPtr< T >, nvutil::RCPtr< T >, nvutil::RCObject, nvutil::UPIID, nvutil::Incarnation, nvtraverser::Intersection, nvmath::Vecnf< n >, nvmath::Vec3f, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator==() : nvsg::StateSet, nvutil::UPIID, nvutil::UPITID, nvutil::Incarnation, nvutil::Chunk, nvmath::Vecnf< n >, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator[]() : nvutil::MemFunTbl< T >, nvsg::LinearInterpolatedAnimation< T >, nvsg::FramedAnimation< T >, nvsg::Face< n >, nvsg::Animation< T >, nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator^() : nvmath::Vec3f
  • operator~() : nvmath::Quatf, nvmath::Matnnf< n >
  • orbit() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • orbitX() : nvsg::Camera
  • orbitY() : nvsg::Camera
  • orbitZ() : nvsg::Camera
  • orientation : trafo_t
  • orthogonalize() : nvmath::Vecnf< n >
  • orthonormalize() : nvmath::Vecnf< n >
  • OT_PBUFFER : nvtraverser::RenderTraverser
  • OT_TEXTURE : nvtraverser::RenderTraverser
  • overrideStateSet : NBFScene

- p -

  • PADDING() : NBFFaceAttribute, NBFCgFx, NBFSpotLight, NBFPointLight, NBFAnimatedTransform, NBFTransform, NBFLOD, NBFAnimatedQuads, NBFAnimatedTriangles, NBFSimpleCamera, NBFFramedVNVectorAnimation, NBFFramedTrafoAnimation, NBFTrafoAnimation, NBFObject, NBFHeader
  • pan() : nvui::TrackballCamManip
  • PAN1 : nvui::TrackballCamManip
  • PAN2 : nvui::TrackballCamManip
  • ParallelCamera() : nvsg::ParallelCamera
  • passFirstPass() : nvsg::CgFx
  • passNextPass() : nvsg::CgFx
  • Path() : nvsg::Path
  • PerspectiveCamera() : nvsg::PerspectiveCamera
  • PIC_ERROR : nvutil::PlugInCallback
  • PIC_TYPE_ID : nvutil::PlugInCallback
  • PIC_WARNING : nvutil::PlugInCallback
  • pickCameraTargetPoint() : nvui::RenderArea
  • Plane3f() : nvmath::Plane3f
  • PlugInCallback() : nvutil::PlugInCallback
  • PlugInServer : nvutil::PlugIn
  • PointLight() : nvsg::PointLight
  • polygonOffsetEnabled : NBFFaceAttribute
  • polygonOffsetFactor : NBFFaceAttribute
  • polygonOffsetUnits : NBFFaceAttribute
  • pop() : nvsg::Path
  • popCullTraverser() : nvui::RenderArea
  • popModelToWorld() : nvutil::TransformStack
  • position : nvutil::PlugInCallback::UnsupportedTokenInfo, nvutil::PlugInCallback::UnknownTokenInfo, nvutil::PlugInCallback::UnexpectedTokenInfo, nvutil::PlugInCallback::UndefinedTokenInfo, nvutil::PlugInCallback::InvalidValueInfo, nvutil::PlugInCallback::IncompatibleValueInfo, nvutil::PlugInCallback::EmptyTokenInfo, NBFSimpleCamera
  • postTraverseGroup() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::RenderTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser
  • postTraverseRoot() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser
  • postTraverseTransform() : nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::FrustumCullTraverser
  • preCalculateFileSize() : NBFSaveTraverser
  • preTraverseDrawable() : nvtraverser::Traverser, nvtraverser::GLTraverser
  • preTraverseGroup() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser
  • preTraverseRoot() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, nvtraverser::FrustumCullTraverser
  • preTraverseTransform() : nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, nvtraverser::FrustumCullTraverser
  • projectionDx : NBFSimpleCamera
  • projectOntoTBSphere() : nvutil::Trackball
  • pseudoAlloc() : NBFSaveTraverser
  • push() : nvsg::Path
  • pushCullTraverser() : nvui::RenderArea
  • pushModelToWorld() : nvutil::TransformStack

- q -

  • Quads() : nvsg::Quads
  • QuadStrips() : nvsg::QuadStrips
  • Quatf() : nvmath::Quatf
  • queryInterfaceType : nvutil::PlugInServer

- r -

  • ranges : NBFLOD
  • RayIntersectTraverser() : nvtraverser::RayIntersectTraverser
  • RCIPtr() : nvutil::RCIPtr< T >
  • RCObject() : nvutil::RCObject
  • RCObject_AutoPtr() : nvutil::RCObject_AutoPtr< T >
  • RCPtr() : nvutil::RCPtr< T >
  • RCVector() : nvutil::RCVector< T >
  • RegVal() : nvutil::RegVal< T >
  • release() : nvutil::RCObject_AutoPtr< T >, nvtraverser::RayIntersectTraverser
  • releaseDeviceAbstractionLinkData() : nvsg::DALDataCreator, nvsg::DALHost
  • releaseInterface : nvutil::PlugInServer
  • removeAttribute() : nvsg::StateSet
  • removeAttributeByObjectCode() : nvsg::StateSet
  • removeBuffers() : nvgl::GLObjects
  • removeCamera() : nvsg::Scene
  • removeCameraAnimation() : nvsg::Scene
  • removeChild() : nvsg::Group
  • removeGeometries() : nvsg::GeoNode
  • removeGeometry() : nvsg::GeoNode
  • removeHeadLight() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • removeLists() : nvgl::GLObjects
  • removeOcclusionQueries() : nvgl::GLObjects
  • removePrograms() : nvgl::GLObjects
  • removeQueries() : nvgl::GLObjects
  • removeRef() : nvutil::RCObject
  • removeTextures() : nvgl::GLObjects
  • RenderArea() : nvui::RenderArea
  • renderScene() : nvui::RenderArea, nvui::GLWinRenderArea
  • RenderTechnique : nvtraverser::RenderTraverser
  • RenderTraverser() : nvtraverser::RenderTraverser
  • replaceChild() : nvsg::Group
  • replaceDrawable() : nvsg::GeoNode
  • replaceStateSet() : nvsg::GeoNode
  • requestFSAA() : nvui::RenderArea
  • requestStereoSupport() : nvui::RenderArea
  • reserved : NBFHeader
  • reset() : nvutil::RCObject_AutoPtr< T >
  • resetButtonState() : nvui::RenderArea, nvui::CameraManipulator
  • resetKeyState() : nvui::RenderArea, nvui::CameraManipulator
  • reverseLeftRight() : nvsg::StereoCamera
  • root : NBFScene
  • rotate() : nvui::TrackballCamManip, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • ROTATE1 : nvui::TrackballCamManip
  • rotateX() : nvsg::Camera
  • rotateY() : nvsg::Camera
  • rotateZ() : nvsg::Camera
  • RT_EFFECTED : nvtraverser::RenderTraverser
  • RT_POINTS : nvtraverser::RenderTraverser
  • RT_SHADED : nvtraverser::RenderTraverser
  • RT_TEXTURED : nvtraverser::RenderTraverser
  • RT_WIREFRAME : nvtraverser::RenderTraverser

- s -

  • save() : nvsg::SceneSaver, NVSGSaver, NBFSaver
  • scale() : nvsg::Texture
  • scaling : trafo_t
  • scene : NBFHeader
  • Scene() : nvsg::Scene
  • search() : nvtraverser::SearchTraverser
  • SearchTraverser() : nvtraverser::SearchTraverser
  • secondaryColorDim : NBFGeoSet
  • secondaryColors : NBFGeoSet
  • secondLastModified : NBFHeader
  • set() : nvmath::Vec4f, nvmath::Vec3f, nvmath::Vec2f, nvmath::Mat44f, nvmath::Mat33f, nvmath::BoundingSphere
  • setActive() : nvsg::Switch
  • setAmbientColor() : nvsg::Material, nvsg::LightSource, nvsg::FaceAttribute
  • setAnimation() : nvui::AnimationCamManip, nvsg::ViewState, nvsg::Bone, nvsg::LightSource, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • setAnimationFrame() : nvui::AnimationCamManip, nvsg::ViewState, nvsg::SkinnedTriangles, nvsg::LightSource, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • setAnnotation() : nvsg::Node
  • setAppTraverser() : nvui::RenderArea
  • setAspectRatio() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setAttenuation() : nvsg::SpotLight, nvsg::PointLight
  • setAutoClipPlanes() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setBackColor() : nvsg::Scene
  • setBackFaceCulling() : nvtraverser::RayIntersectTraverser, nvsg::FaceAttribute
  • setBaseClassSearch() : nvtraverser::SearchTraverser
  • setBorderColor() : nvsg::TextureAttributeItem
  • setCallback() : nvutil::PlugIn
  • setCamClipping() : nvtraverser::RayIntersectTraverser
  • setCamera() : nvsg::ViewState
  • setCenter() : nvsg::Transform, nvsg::LOD, nvsg::AnimatedTransform, nvmath::Trafo, nvmath::Sphere3f
  • setClassName() : nvtraverser::SearchTraverser
  • setColors() : nvsg::GeoSet
  • setCreaseAngle() : nvtraverser::SmoothTraverser
  • setCullTree() : nvsg::ViewState
  • setCurrent() : nvsg::InterpolatedAnimation< T >
  • setCurrentTechnique() : nvsg::CgFx
  • setCutoffAngle() : nvsg::SpotLight
  • setDefaultStateSet() : nvsg::Scene
  • setDepthFactor() : nvsg::StereoCamera
  • setDiffuseColor() : nvsg::Material, nvsg::LightSource
  • setDirection() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • setEmissiveColor() : nvsg::Material
  • setEnvMode() : nvsg::TextureAttributeItem
  • setEpsilon() : nvtraverser::CondenseTraverser
  • setFaces() : nvsg::Triangles, nvsg::Quads
  • setFalloffExponent() : nvsg::SpotLight
  • setFarDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setFieldOfView() : nvsg::PerspectiveCamera
  • setFILE() : NVSGSaveTraverser
  • setFileName() : nvsg::TextureAttributeItem
  • setFocusDistance() : nvsg::StereoCamera
  • setFogCoords() : nvsg::GeoSet
  • setGeometryCacheTechnique() : nvtraverser::RenderTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser
  • setHandle() : nvsg::Texture
  • setHeadLightTrafo() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setHSensitivity() : nvui::WalkCamManip, nvui::FlightCamManip
  • setIdentity() : nvsg::Transform, nvsg::AnimatedTransform, nvmath::Trafo
  • setIgnoreNames() : nvtraverser::TransformUnifyTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::DrawableUnifyTraverser
  • setInactive() : nvsg::Switch
  • setIntensity() : nvsg::LightSource
  • setInverse() : nvsg::Bone
  • setJitters() : nvsg::JitterCamera
  • setJitterTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setKeyFrame() : nvsg::InterpolatedAnimation< T >
  • setLastRecentlyUsedDeviceAbstractionLinkData() : nvsg::DALHost
  • setLineAntiAliasing() : nvtraverser::RenderTraverser
  • setLineWidth() : nvtraverser::RenderTraverser
  • SetLogCallback() : NVNVB
  • setMagFilterMode() : nvsg::TextureAttributeItem
  • setMatrix() : nvsg::Bone
  • setMinFilterMode() : nvsg::TextureAttributeItem
  • setMinimalLengths() : nvtraverser::StrippingTraverser
  • setName() : nvsg::Object
  • setNearDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setNormals() : nvsg::SkinnedTriangles, nvsg::GeoSet
  • setNumberOfFrames() : nvsg::FramedAnimation< T >
  • setNumberOfKeys() : nvsg::InterpolatedAnimation< T >
  • setOITMaxPasses() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setOITTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setOITThreshold() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setOpacity() : nvsg::Material
  • setOrientation() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera, nvsg::AnimatedTransform, nvmath::Trafo
  • setOverrideStateSet() : nvsg::Scene
  • setPlugInFileFilter : nvutil::PlugInServer
  • setPointAntiAliasing() : nvtraverser::RenderTraverser
  • setPointSize() : nvtraverser::RenderTraverser
  • setPolygonOffset() : nvsg::FaceAttribute
  • setPosition() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • setProjectionDx() : nvsg::SimpleCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • setRadius() : nvmath::Sphere3f
  • setRanges() : nvsg::LOD
  • setRay() : nvtraverser::RayIntersectTraverser
  • setRenderTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setRenderTraverser() : nvui::RenderArea
  • setRootNode() : nvsg::Scene
  • setScaling() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::AnimatedTransform, nvmath::Trafo
  • setSceneData() : nvui::RenderArea
  • setScreenSize() : nvui::WalkCamManip, nvui::FlightCamManip
  • setSecondaryColors() : nvsg::GeoSet
  • setSize() : nvutil::Trackball
  • setSkins() : nvsg::SkinnedTriangles
  • setSpecularColor() : nvsg::Material, nvsg::LightSource
  • setSpecularExponent() : nvsg::Material
  • setSpeed() : nvui::WalkCamManip, nvui::FlightCamManip
  • setSpeedIncreaseFactor() : nvui::WalkCamManip, nvui::FlightCamManip
  • setSphere() : nvmath::BoundingSphere
  • setStereo() : nvsg::ViewState
  • setStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • setTarget() : nvsg::Texture
  • setTargetDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::PerspectiveCamera, nvsg::JitterCamera, nvsg::Camera
  • setTexCoords() : nvsg::GeoSet
  • setTexGenEnvironmentMapping() : nvsg::TextureAttributeItem
  • setTexGenLinearMapping() : nvsg::TextureAttributeItem
  • setTexture() : nvsg::TextureAttributeItem
  • setTextureSizeLimits() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setThrowExceptionOnError() : nvutil::PlugInCallback
  • setTranslation() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::AnimatedTransform, nvmath::Trafo
  • setTransparencyTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setTwoSidedLighting() : nvsg::FaceAttribute
  • setType() : nvsg::TextureAttributeItem
  • setUpVector() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setValue() : nvsg::CgFx
  • setVertexAttributeData() : nvsg::GeoSet
  • setVertices() : nvsg::HighlightBox, nvsg::GeoSet
  • setViewportSize() : nvui::TrackballCamManip, nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • setViewState() : nvui::RenderArea
  • setViewToClip() : nvutil::TransformStack
  • setVSensitivity() : nvui::FlightCamManip
  • setWeight() : nvsg::Bone
  • setWindowOffset() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setWindowRegion() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setWindowSize() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setWorldToView() : nvutil::TransformStack
  • setWorldUpVector() : nvui::WalkCamManip, nvui::FlightCamManip
  • setWrapMode() : nvsg::TextureAttributeItem
  • shareLists() : nvui::GLWinRenderArea
  • signature : NBFHeader
  • signedDistance() : nvmath::Plane3f
  • SimpleCamera() : nvsg::SimpleCamera
  • SkinnedTriangles() : nvsg::SkinnedTriangles
  • skins : NBFSkinnedTriangles
  • smoothNormals() : nvmath::Vec3f
  • SmoothTraverser() : nvtraverser::SmoothTraverser
  • sourceObject : NBFObject
  • specularColor : NBFMaterial, NBFLightSource
  • specularExponent : NBFMaterial
  • Sphere3f() : nvmath::Sphere3f
  • SpotLight() : nvsg::SpotLight
  • stateAttribs : NBFStateSet
  • StateAttribute() : nvsg::StateAttribute
  • StateSet() : nvsg::StateSet
  • stateSet : geometrySet_t
  • StateSetUnifyTraverser() : nvtraverser::StateSetUnifyTraverser
  • StereoCamera() : nvsg::StereoCamera
  • storeDeviceAbstractionLinkData() : nvsg::DALHost
  • storeIntersection() : nvtraverser::RayIntersectTraverser
  • StrippingTraverser() : nvtraverser::StrippingTraverser
  • strips : NBFStrips
  • strval : tweak_t
  • Switch() : nvsg::Switch
  • SWMRSync() : nvutil::SWMRSync
  • systemSpecificErrorCode : nvutil::PlugInCallback::FileMappingFailedInfo, nvutil::PlugInCallback::FileAccessFailedInfo

- t -

  • targDist : NBFSimpleCamera
  • testEntry() : nvutil::MemFunTbl< T >
  • texAttribItem : texBinding_t
  • texBorderColor : NBFTextureAttributeItem
  • texCoords : texCoordSet_t
  • texCoordsSets : NBFGeoSet
  • texEnvMode : NBFTextureAttributeItem
  • texGenMode : NBFTextureAttributeItem
  • texGenPlane : NBFTextureAttributeItem
  • Texture() : nvsg::Texture
  • TextureAttribute() : nvsg::TextureAttribute
  • TextureAttributeItem() : nvsg::TextureAttributeItem
  • TextureAttributeItemData() : nvsg::TextureAttributeItemData
  • texType : NBFTextureAttributeItem
  • texUnit : texBinding_t
  • texWrapR : NBFTextureAttributeItem
  • texWrapS : NBFTextureAttributeItem
  • texWrapT : NBFTextureAttributeItem
  • TFT_BMP : nvsg::Texture
  • TFT_DDS : nvsg::Texture
  • TFT_GIF : nvsg::Texture
  • TFT_HDR : nvsg::Texture
  • TFT_JPG : nvsg::Texture
  • TFT_PNG : nvsg::Texture
  • TFT_RGB : nvsg::Texture
  • TFT_TGA : nvsg::Texture
  • TFT_TIF : nvsg::Texture
  • TFT_UNKNOWN : nvsg::Texture
  • theAllocator : nvutil::IAllocator
  • tilt() : nvui::WalkCamManip
  • TILT : nvui::WalkCamManip
  • token : nvutil::PlugInCallback::UnsupportedTokenInfo, nvutil::PlugInCallback::UnknownTokenInfo, nvutil::PlugInCallback::UndefinedTokenInfo, nvutil::PlugInCallback::EmptyTokenInfo
  • Trace() : nvutil::Trace< Functor >
  • Trackball() : nvutil::Trackball
  • TrackballCamManip() : nvui::TrackballCamManip
  • trafo : NBFTextureAttributeItem, NBFLightSource
  • Trafo() : nvmath::Trafo
  • trafos : NBFTrafoAnimation
  • transform() : nvmath::BoundingSphere
  • Transform() : nvsg::Transform
  • transformBoundingSphere() : nvsg::Node
  • TransformStack() : nvutil::TransformStack
  • TransformUnifyTraverser() : nvtraverser::TransformUnifyTraverser
  • translate() : nvui::WalkCamManip
  • TRANSLATE : nvui::WalkCamManip
  • translation : trafo_t
  • TransparencyTechnique : nvtraverser::RenderTraverser
  • traverseLight() : nvtraverser::Traverser, nvtraverser::RenderTraverser, nvtraverser::CullTraverser, nvtraverser::AppTraverser
  • traverseObject() : nvtraverser::Traverser
  • Traverser() : nvtraverser::Traverser
  • Triangles() : nvsg::Triangles
  • TriangulateTraverser() : nvtraverser::TriangulateTraverser
  • triggerRedraw() : nvui::RenderArea, nvui::GLWinRenderArea
  • TriStrips() : nvsg::TriStrips
  • truncate() : nvsg::Path
  • TT_BLENDED : nvtraverser::RenderTraverser
  • TT_NONE : nvtraverser::RenderTraverser
  • TT_ORDER_INDEPENDENT : nvtraverser::RenderTraverser
  • TT_STIPPLED : nvtraverser::RenderTraverser
  • tweaks : NBFCgFx
  • twoSidedLighting : NBFFaceAttribute
  • type : tweak_t

- u -

  • unbindTextureAttributeItem() : nvsg::TextureAttribute
  • unload() : nvsg::Texture
  • unmapViewOfFile() : NBFSaveTraverser
  • updateMonoCameras() : nvsg::StereoCamera
  • updateSimpleCameras() : nvsg::JitterCamera
  • UPIID() : nvutil::UPIID
  • UPITID() : nvutil::UPITID
  • upVector : NBFSimpleCamera

- v -

  • validateCurrentTechnique() : nvsg::CgFx
  • value : nvutil::PlugInCallback::InvalidValueInfo, tweak_t
  • value0 : nvutil::PlugInCallback::IncompatibleValueInfo
  • value0Name : nvutil::PlugInCallback::IncompatibleValueInfo
  • value1 : nvutil::PlugInCallback::IncompatibleValueInfo
  • value1Name : nvutil::PlugInCallback::IncompatibleValueInfo
  • valueName : nvutil::PlugInCallback::InvalidValueInfo
  • valueType : nvutil::PlugInCallback::InvalidValueInfo, nvutil::PlugInCallback::IncompatibleValueInfo
  • Vec2f() : nvmath::Vec2f
  • Vec3f() : nvmath::Vec3f
  • Vec4f() : nvmath::Vec4f
  • Vecnf() : nvmath::Vecnf< n >
  • vertex : skin_t
  • vertexSets : NBFVNVectorAnimation
  • vertices : nvsg::VNVector, NBFGeoSet
  • ViewState() : nvsg::ViewState
  • viewState : NBFHeader

- w -

  • waitToRead() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • waitToWrite() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • walk() : nvui::WalkCamManip
  • WALKBACKWARD : nvui::WalkCamManip
  • WalkCamManip() : nvui::WalkCamManip
  • WALKFORWARD : nvui::WalkCamManip
  • weight : bone_t
  • windowOffset : NBFSimpleCamera
  • windowSize : NBFSimpleCamera
  • writeAccess : nvutil::RCIPtr< T >, nvutil::RCPtr< T >
  • WRLLoadTraverser() : WRLLoadTraverser

- y -

  • yearLastModified : NBFHeader

- z -

  • zoom() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera

- ~ -

  • ~Allocator() : nvutil::Allocator
  • ~AnimatedQuads() : nvsg::AnimatedQuads
  • ~AnimatedTransform() : nvsg::AnimatedTransform
  • ~AnimatedTriangles() : nvsg::AnimatedTriangles
  • ~Animation() : nvsg::Animation< T >
  • ~AnimationCamManip() : nvui::AnimationCamManip
  • ~AppTraverser() : nvtraverser::AppTraverser
  • ~Bone() : nvsg::Bone
  • ~Camera() : nvsg::Camera
  • ~CameraManipulator() : nvui::CameraManipulator
  • ~CondenseTraverser() : nvtraverser::CondenseTraverser
  • ~CullData() : nvsg::CullData
  • ~CullTraverser() : nvtraverser::CullTraverser
  • ~DirectedLight() : nvsg::DirectedLight
  • ~Drawable() : nvsg::Drawable
  • ~DrawableUnifyTraverser() : nvtraverser::DrawableUnifyTraverser
  • ~FaceAttribute() : nvsg::FaceAttribute
  • ~FixedAllocator() : nvutil::FixedAllocator
  • ~FlightCamManip() : nvui::FlightCamManip
  • ~FramedAnimation() : nvsg::FramedAnimation< T >
  • ~FrustumCullTraverser() : nvtraverser::FrustumCullTraverser
  • ~GeoNode() : nvsg::GeoNode
  • ~GeoNodeUnifyTraverser() : nvtraverser::GeoNodeUnifyTraverser
  • ~GeoSet() : nvsg::GeoSet
  • ~GLFunctions() : nvgl::GLFunctions
  • ~GLTraverser() : nvtraverser::GLTraverser
  • ~GLWinRenderArea() : nvui::GLWinRenderArea
  • ~Group() : nvsg::Group
  • ~GroupUnifyTraverser() : nvtraverser::GroupUnifyTraverser
  • ~IAllocator() : nvutil::IAllocator
  • ~IdentityToGroupTraverser() : nvtraverser::IdentityToGroupTraverser
  • ~InterpolatedAnimation() : nvsg::InterpolatedAnimation< T >
  • ~Intersection() : nvtraverser::Intersection
  • ~JitterCamera() : nvsg::JitterCamera
  • ~LightSource() : nvsg::LightSource
  • ~LinearInterpolatedAnimation() : nvsg::LinearInterpolatedAnimation< T >
  • ~LOD() : nvsg::LOD
  • ~Material() : nvsg::Material
  • ~ModelViewTraverser() : nvtraverser::ModelViewTraverser
  • ~MonoCamera() : nvsg::MonoCamera
  • ~NBFLoader() : NBFLoader
  • ~Node() : nvsg::Node
  • ~NVBLoader() : NVBLoader
  • ~NVBLoadTraverser() : NVBLoadTraverser
  • ~Object() : nvsg::Object
  • ~OcclusionCullGLTraverser() : nvtraverser::OcclusionCullGLTraverser
  • ~OcclusionCullTraverser() : nvtraverser::OcclusionCullTraverser
  • ~ParallelCamera() : nvsg::ParallelCamera
  • ~Path() : nvsg::Path
  • ~PerspectiveCamera() : nvsg::PerspectiveCamera
  • ~PlugInCallback() : nvutil::PlugInCallback
  • ~PointLight() : nvsg::PointLight
  • ~Quads() : nvsg::Quads
  • ~QuadStrips() : nvsg::QuadStrips
  • ~RayIntersectTraverser() : nvtraverser::RayIntersectTraverser
  • ~RCIPtr() : nvutil::RCIPtr< T >
  • ~RCObject() : nvutil::RCObject
  • ~RCObject_AutoPtr() : nvutil::RCObject_AutoPtr< T >
  • ~RCPtr() : nvutil::RCPtr< T >
  • ~RegVal() : nvutil::RegVal< T >
  • ~RenderArea() : nvui::RenderArea
  • ~RenderTraverser() : nvtraverser::RenderTraverser
  • ~Scene() : nvsg::Scene
  • ~SceneLoader() : nvsg::SceneLoader
  • ~SceneSaver() : nvsg::SceneSaver
  • ~SearchTraverser() : nvtraverser::SearchTraverser
  • ~SimpleCamera() : nvsg::SimpleCamera
  • ~SkinnedTriangles() : nvsg::SkinnedTriangles
  • ~SmoothTraverser() : nvtraverser::SmoothTraverser
  • ~SpotLight() : nvsg::SpotLight
  • ~StateAttribute() : nvsg::StateAttribute
  • ~StateSet() : nvsg::StateSet
  • ~StateSetUnifyTraverser() : nvtraverser::StateSetUnifyTraverser
  • ~StereoCamera() : nvsg::StereoCamera
  • ~StrippingTraverser() : nvtraverser::StrippingTraverser
  • ~Switch() : nvsg::Switch
  • ~SWMRSync() : nvutil::SWMRSync
  • ~Texture() : nvsg::Texture
  • ~TextureAttribute() : nvsg::TextureAttribute
  • ~Trace() : nvutil::Trace< Functor >
  • ~Trackball() : nvutil::Trackball
  • ~TrackballCamManip() : nvui::TrackballCamManip
  • ~Transform() : nvsg::Transform
  • ~TransformUnifyTraverser() : nvtraverser::TransformUnifyTraverser
  • ~Traverser() : nvtraverser::Traverser
  • ~Triangles() : nvsg::Triangles
  • ~TriangulateTraverser() : nvtraverser::TriangulateTraverser
  • ~TriStrips() : nvsg::TriStrips
  • ~ViewState() : nvsg::ViewState
  • ~WalkCamManip() : nvui::WalkCamManip
  • ~WRLLoadTraverser() : WRLLoadTraverser
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Namespace Index

NVSGSDK Namespace List

Here is a list of all documented namespaces with brief descriptions:
nvgl | Namespace for OpenGL
nvmath | Namespace for mathematical helper functions and classes
nvsg | Scenegrah classes - core NVSG
nvtraverser | Scenegraph traverser classes
nvui | User interface and interaction classes
nvutil::IO | IO namespace
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


nvgl Namespace Reference

Namespace for OpenGL. More...

Classes

class | GLContext
Wrapper for OpenGL functions to provide error handling, caching, and extension handling per context. More...

class | GLFunctions
The GLFunctions class holds the OpenGL extension function pointers. More...

class | GLObjects
The GLObjects class is a container of OpenGL objects. More...

struct | GLObjects::GLShareables

Functions

void | GLAccum (GLenum op, GLfloat value)
Replacement of glAccum.

void | GLActiveTexture (GLenum texture)
Replacement of glActiveTexture.

void | GLAlphaFunc (GLenum func, GLclampf ref)
Replacement of glAlphaFunc.

GLboolean | GLAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences)
Replacement of glAreTexturesResident.

void | GLArrayElement (GLint i)
Replacement of glArrayElement.

void | GLBegin (GLenum mode)
Replacement of glBegin.

void | GLBeginOcclusionQuery (GLuint id)
Replacement of glBeginOcclusionQueryNV.

void | GLBeginQuery (GLenum target, GLuint id)
Replacement of glBeginQueryARB.

void | GLBindBufferARB (GLenum target, GLuint id)
Replacement of glBindBufferARB.

void | GLBufferDataARB (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage)
Replacement of glBufferDataARB.

void | GLBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data)
Replacement of glBufferSubDataARB.

void | GLDeleteBuffersARB (GLsizei n, const GLuint *buffers)
Replacement of glDeleteBuffersARB.

void | GLGenBuffersARB (GLsizei n, GLuint *buffers)
Replacement of glGenBuffersARB.

GLvoid * | GLMapBufferARB (GLenum target, GLenum access)
Replacement of glMapBufferARB.

GLboolean | GLUnmapBufferARB (GLenum target)
Replacement of glUnmapBufferARB.

GLboolean | GLIsBufferARB (GLuint name)
Replacement of glIsBufferARB.

void | GLBindProgram (GLenum target, GLuint id)
Replacement of glBindProgramNV.

void | GLBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
Replacement of glBitmap.

void | GLBlendFunc (GLenum sfactor, GLenum dfactor)
Replacement of glBlendFunc.

void | GLBindTexture (GLenum target, GLuint texture)
Replacement of glBindTexture.

void | GLCallList (GLuint list)
Replacement of glCallList.

void | GLCallLists (GLsizei n, GLenum type, const GLvoid *lists)
Replacement of glCallLists.

void | GLClear (GLbitfield mask)
Replacement of glClear.

void | GLClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glClearAccum.

void | GLClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glClearColor.

void | GLClearDepth (GLclampd depth)
Replacement of glClearDepth.

void | GLClearIndex (GLfloat c)
Replacement of glClearIndex.

void | GLClearStencil (GLint s)
Replacement of glClearStencil.

void | GLClientActiveTexture (GLenum texture)
Replacement of glClientActiveTexture.

void | GLClipPlane (GLenum plane, const GLdouble *equation)
Replacement of glClipPlane.

void | GLColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glColor3b.

void | GLColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glColor3d.

void | GLColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glColor3f.

void | GLColor3fv (const GLfloat *v)
Replacement of glColor3fv.

void | GLColor3i (GLint red, GLint green, GLint blue)
Replacement of glColor3i.

void | GLColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glColor3s.

void | GLColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glColor3ub.

void | GLColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glColor3ui.

void | GLColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glColor3us.

void | GLColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
Replacement of glColor4b.

void | GLColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
Replacement of glColor4d.

void | GLColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glColor4f.

void | GLColor4i (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glColor4i.

void | GLColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha)
Replacement of glColor4s.

void | GLColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
Replacement of glColor4ub.

void | GLColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glColor4ui.

void | GLColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha)
Replacement of glColor4us.

void | GLColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
Replacement of glColorMask.

void | GLColorMaterial (GLenum face, GLenum mode)
Replacement of glColorMaterial.

void | GLColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glColorPointer.

void | GLCompressedTexImage1D (GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage1D.

void | GLCompressedTexImage2D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage2D.

void | GLCompressedTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage3D.

void | GLCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
Replacement of glCopyPixels.

void | GLCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border)
Replacement of glCopyTexImage1D.

void | GLCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
Replacement of glCopyTexImage2D.

void | GLCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
Replacement of glCopyTexSubImage1D.

void | GLCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.

void | GLCullFace (GLenum mode)
Replacement of glCullFace.

void | GLDeleteLists (GLuint list, GLsizei range)
Replacement of glDeleteLists.

void | GLDeleteOcclusionQueries (GLsizei n, const GLuint *ids)
Replacement of glDeleteOcclusionQueriesNV.

void | GLDeletePrograms (GLsizei n, const GLuint *ids)
Replacement of glDeleteProgramsNV.

void | GLDeleteQueries (GLsizei n, const GLuint *ids)
Replacement of glDeleteQueriesARB.

void | GLDeleteTextures (GLsizei n, const GLuint *textures)
Replacement of glDeleteTextures.

void | GLDepthFunc (GLenum func)
Replacement of glDepthFunc.

void | GLDepthMask (GLboolean flag)
Replacement of glDepthMask.

void | GLDepthRange (GLclampd znear, GLclampd zfar)
Replacement of glDepthRange.

void | GLDisable (GLenum cap)
Replacement of glDisable.

void | GLDisableClientState (GLenum array)
Replacement of glDisableClientState.

void | GLDrawArrays (GLenum mode, GLint first, GLsizei count)
Replacement of glDrawArrays.

void | GLDrawBuffer (GLenum mode)
Replacement of glDrawBuffer.

void | GLDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawElements.

void | GLMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
Replacement of glMultiDrawElements.

void | GLDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glDrawPixels.

void | GLDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawRangeElements.

void | GLEdgeFlagPointer (GLsizei stride, const GLboolean *pointer)
Replacement of glEdgeFlagPointer.

void | GLEdgeFlag (GLboolean flag)
Replacement of glEdgeFlag.

void | GLEdgeFlagv (const GLboolean *flag)
Replacement of glEdgeFlagv.

void | GLEnable (GLenum cap)
Replacement of glEnable.

void | GLEnableClientState (GLenum array)
Replacement of glEnableClientState.

void | GLEnd (void)
Replacement of glEnd.

void | GLEndList (void)
Replacement of glEndList.

void | GLEndOcclusionQuery (void)
Replacement of glEndOcclusionQueryNV.

void | GLEndQuery (GLenum target)
Replacement of glEndQueryARB.

void | GLEvalCoord1d (GLdouble u)
Replacement of glEvalCoord1d.

void | GLEvalCoord1f (GLfloat u)
Replacement of glEvalCoord1f.

void | GLEvalCoord2d (GLdouble u, GLdouble v)
Replacement of glEvalCoord2d.

void | GLEvalCoord2f (GLfloat u, GLfloat v)
Replacement of glEvalCoord2f.

void | GLEvalMesh1 (GLenum mode, GLint i1, GLint i2)
Replacement of glEvalMesh1.

void | GLEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
Replacement of glEvalMesh2.

void | GLEvalPoint1 (GLint i)
Replacement of glEvalPoint1.

void | GLEvalPoint2 (GLint i, GLint j)
Replacement of glEvalPoint2.

void | GLFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer)
Replacement of glFeedbackBuffer.

void | GLFinish (void)
Replacement of glFinish.

void | GLFlush (void)
Replacement of glFlush.

void | GLFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glFogCoordPointer.

void | GLFogf (GLenum pname, GLfloat param)
Replacement of glFogf.

void | GLFogfv (GLenum pname, const GLfloat *params)
Replacement of glFogfv.

void | GLFogi (GLenum pname, GLint param)
Replacement of glFogi.

void | GLFogiv (GLenum pname, const GLint *params)
Replacement of glFogiv.

void | GLFrontFace (GLenum mode)
Replacement of glFrontFace.

void | GLFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glFrustum.

GLuint | GLGenLists (GLsizei range)
Replacement of glGenLists.

void | GLGenOcclusionQueries (GLsizei n, GLuint *ids)
Replacement of glGenOcclusionQueriesNV.

void | GLGenPrograms (GLsizei n, GLuint *ids)
Replacement of glGenProgramsNV.

void | GLGenQueries (GLsizei n, GLuint *ids)
Replacement of glGenQueriesARB.

void | GLGenTextures (GLsizei n, GLuint *textures)
Replacement of glGenTextures.

void | GLGetBooleanv (GLenum pname, GLboolean *params)
Replacement of glGetBooleanv.

void | GLGetDoublev (GLenum pname, GLdouble *params)
Replacement of glGetDoublev.

void | GLGetFloatv (GLenum pname, GLfloat *params)
Replacement of glGetFloatv.

void | GLGetIntegerv (GLenum pname, GLint *params)
Replacement of glGetIntegerv.

void | GLGetClipPlane (GLenum plane, GLdouble *equation)
Replacement of glGetClipPlane.

void | GLGetLightfv (GLenum light, GLenum pname, GLfloat *params)
Replacement of glGetLightfv.

void | GLGetLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glGetLightiv.

void | GLGetMapdv (GLenum target, GLenum query, GLdouble *v)
Replacement of glGetMapdv.

void | GLGetMapfv (GLenum target, GLenum query, GLfloat *v)
Replacement of glGetMapfv.

void | GLGetMapiv (GLenum target, GLenum query, GLint *v)
Replacement of glGetMapiv.

void | GLGetMaterialfv (GLenum face, GLenum pname, GLfloat *params)
Replacement of glGetMaterialfv.

void | GLGetMaterialiv (GLenum face, GLenum pname, GLint *params)
Replacement of glGetMaterialiv.

void | GLGetOcclusionQueryuiv (GLuint id, GLenum pname, GLuint *params)
Replacement of glGetOcclusionQueryuivNV.

void | GLGetPixelMapfv (GLenum map, GLfloat *values)
Replacement of glGetPixelMapfv.

void | GLGetPixelMapuiv (GLenum map, GLuint *values)
Replacement of glGetPixelMapuiv.

void | GLGetPixelMapusv (GLenum map, GLushort *values)
Replacement of glGetPixelMapusv.

void | GLGetPointerv (GLenum pname, GLvoid **params)
Replacement of glGetPointerv.

void | GLGetPolygonStipple (GLubyte *mask)
Replacement of glGetPolygonStipple.

void | GLGetQueryiv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetQueryivARB.

void | GLGetQueryObjectiv (GLuint id, GLenum pname, GLint *params)
Replacement of glGetQueryObjectivARB.

void | GLGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params)
Replacement of glGetQueryObjectuivARB.

const GLubyte * | GLGetString (GLenum name)
Replacement of glGetString.

void | GLGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexEnvfv.

void | GLGetTexEnviv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexEnviv.

void | GLGetTexGendv (GLenum coord, GLenum pname, GLdouble *params)
Replacement of glGetTexGendv.

void | GLGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params)
Replacement of glGetTexGenfv.

void | GLGetTexGeniv (GLenum coord, GLenum pname, GLint *params)
Replacement of glGetTexGeniv.

void | GLGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glGetTexImage.

void | GLGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params)
Replacement of glGetTexLevelParameterfv.

void | GLGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params)
Replacement of glGetTexLevelParameteriv.

void | GLGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexParameterfv.

void | GLGetTexParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameteriv.

void | GLHint (GLenum target, GLenum mode)
Replacement of glHint.

void | GLIndexd (GLdouble c)
Replacement of glIndexd.

void | GLIndexf (GLfloat c)
Replacement of glIndexf.

void | GLIndexi (GLint c)
Replacement of glIndexi.

void | GLIndexMask (GLuint mask)
Replacement of glIndexMask.

void | GLIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glIndexPointer.

void | GLIndexs (GLshort c)
Replacement of glIndexs.

void | GLIndexub (GLubyte c)
Replacement of glIndexub.

void | GLInitNames (void)
Replacement of glInitNames.

void | GLInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer)
Replacement of glInterleavedArrays.

GLboolean | GLIsEnabled (GLenum cap)
Replacement of glIsEnabled.

GLboolean | GLIsList (GLuint list)
Replacement of glIsList.

GLboolean | GLIsOcclusionQuery (GLuint id)
Replacement of glIsOcclusionQueryNV.

GLboolean | GLIsProgram (GLuint id)
Replacement of glIsProgramNV.

GLboolean | GLIsQuery (GLuint id)
Replacement of glIsQueryARB.

GLboolean | GLIsTexture (GLuint texture)
Replacement of glIsTexture.

void | GLLightf (GLenum light, GLenum pname, GLfloat param)
Replacement of glLightf.

void | GLLightfv (GLenum light, GLenum pname, const GLfloat *params)
Replacement of glLightfv.

void | GLLighti (GLenum light, GLenum pname, GLint param)
Replacement of glLighti.

void | GLLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glLightiv.

void | GLLightModelf (GLenum pname, GLfloat param)
Replacement of glLightModelf.

void | GLLightModelfv (GLenum pname, const GLfloat *params)
Replacement of glLightModelfv.

void | GLLightModeli (GLenum pname, GLint param)
Replacement of glLightModeli.

void | GLLightModeliv (GLenum pname, const GLint *params)
Replacement of glLightModeliv.

void | GLLineStipple (GLint factor, GLushort pattern)
Replacement of glLineStipple.

void | GLLineWidth (GLfloat width)
Replacement of glLineWidth.

void | GLListBase (GLuint base)
Replacement of glListBase.

void | GLLoadIdentity (void)
Replacement of glLoadItentity.

void | GLLoadMatrixd (const GLdouble *m)
Replacement of glLoadMatrixd.

void | GLLoadMatrixf (const GLfloat *m)
Replacement of glLoadMatrixf.

void | GLLoadName (GLuint name)
Replacement of glLoadName.

void | GLLoadProgram (GLenum target, GLuint id, GLsizei len, const GLubyte *program)
Replacement of glLoadProgramNV.

void | GLLogicOp (GLenum opcode)
Replacement of glLogicOp.

void | GLMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
Replacement of glMap1d.

void | GLMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
Replacement of glMap1f.

void | GLMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
Replacement of glMap2d.

void | GLMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
Replacement of glMap2f.

void | GLMapGrid1d (GLint un, GLdouble u1, GLdouble u2)
Replacement of glMapGrid1d.

void | GLMapGrid1f (GLint un, GLfloat u1, GLfloat u2)
Replacement of glMapGrid1f.

void | GLMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
Replacement of glMapGrid2d.

void | GLMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
Replacement of glMapGrid2f.

void | GLMaterialf (GLenum face, GLenum pname, const GLfloat param)
Replacement of glMaterialf.

void | GLMaterialfv (GLenum face, GLenum pname, const GLfloat *params)
Replacement of glMaterialfv.

void | GLMateriali (GLenum face, GLenum pname, const GLint param)
Replacement of glMateriali.

void | GLMaterialiv (GLenum face, GLenum pname, const GLint *params)
Replacement of glMaterialiv.

void | GLMatrixMode (GLenum mode)
Replacement of glMatrixMode.

void | GLMultiTexCoord2f (GLenum texture, GLfloat tx, GLfloat ty)
Replacement of glMultiTexCoord2f.

void | GLMultMatrixd (const GLdouble *m)
Replacement of glMultMatrixd.

void | GLMultMatrixf (const GLfloat *m)
Replacement of glMultMatrixf.

void | GLNewList (GLuint list, GLenum mode)
Replacement of glNewList.

void | GLNormal3b (GLbyte nx, GLbyte ny, GLbyte nz)
Replacement of glNormal3b.

void | GLNormal3bv (const GLbyte *v)
Replacement of glNormal3bv.

void | GLNormal3d (GLdouble nx, GLdouble ny, GLdouble nz)
Replacement of glNormal3d.

void | GLNormal3dv (const GLdouble *v)
Replacement of glNormal3dv.

void | GLNormal3f (GLfloat nx, GLfloat ny, GLfloat nz)
Replacement of glNormal3f.

void | GLNormal3fv (const GLfloat *v)
Replacement of glNormal3fv.

void | GLNormal3i (GLint nx, GLint ny, GLint nz)
Replacement of glNormal3i.

void | GLNormal3iv (const GLint *v)
Replacement of glNormal3iv.

void | GLNormal3s (GLshort nx, GLshort ny, GLshort nz)
Replacement of glNormal3s.

void | GLNormal3sv (const GLshort *v)
Replacement of glNormal3sv.

void | GLNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glNormalPointer.

void | GLOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glOrtho.

void | GLPassThrough (GLfloat token)
Replacement of glPassThrough.

void | GLPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values)
Replacement of glPixelMapufv.

void | GLPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values)
Replacement of glPixelMapuiv.

void | GLPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values)
Replacement of glPixelMapusv.

void | GLPixelStoref (GLenum pname, GLfloat param)
Replacement of glPixelStoref.

void | GLPixelStorei (GLenum pname, GLint param)
Replacement of glPixelStorei.

void | GLPixelTransferf (GLenum pname, GLfloat param)
Replacement of glPixelTransferf.

void | GLPixelTransferi (GLenum pname, GLint param)
Replacement of glPixelTransferi.

void | GLPixelZoom (GLfloat xfactor, GLfloat yfactor)
Replacement of glPixelZoom.

void | GLPointSize (GLfloat size)
Replacement of glPointSize.

void | GLPolygonMode (GLenum face, GLenum mode)
Replacement of glPolygonMode.

void | GLPolygonOffset (GLfloat factor, GLfloat units)
Replacement of glPolygonOffset.

void | GLPolygonStipple (const GLubyte *mask)
Replacement of glPolygonStipple.

void | GLPopAttrib (void)
Replacement of glPopAttrib.

void | GLPopClientAttrib (void)
Replacement of glPopClientAttrib.

void | GLPopMatrix (void)
Replacement of glPopMatrix.

void | GLPopName (void)
Replacement of glPopName.

void | GLPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities)
Replacement of glPrioritizeTextures.

void | GLProgramNamedParameter4f (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramNamedParameter4fNV.

void | GLPushAttrib (GLbitfield mask)
Replacement of glPushAttrib.

void | GLPushClientAttrib (GLbitfield mask)
Replacement of glPushClientAttrib.

void | GLPushMatrix (void)
Replacement of glPushMatrix.

void | GLPushName (GLuint name)
Replacement of glPushName.

void | GLRasterPos2d (GLdouble x, GLdouble y)
Replacement of glRasterPos2d.

void | GLRasterPos2f (GLfloat x, GLfloat y)
Replacement of glRasterPos2f.

void | GLRasterPos2i (GLint x, GLint y)
Replacement of glRasterPos2i.

void | GLRasterPos2s (GLshort x, GLshort y)
Replacement of glRasterPos2s.

void | GLRasterPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glRasterPos3d.

void | GLRasterPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glRasterPos3f.

void | GLRasterPos3i (GLint x, GLint y, GLint z)
Replacement of glRasterPos3i.

void | GLRasterPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glRasterPos3s.

void | GLRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glRasterPos4d.

void | GLRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glRasterPos4f.

void | GLRasterPos4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glRasterPos4i.

void | GLRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glRasterPos4s.

void | GLReadBuffer (GLenum mode)
Replacement of glReadBuffer.

void | GLReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glReadPixels.

void | GLRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
Replacement of glRectd.

void | GLRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Replacement of glRectf.

void | GLRecti (GLint x1, GLint y1, GLint x2, GLint y2)
Replacement of glRecti.

void | GLRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2)
Replacement of glRects.

void | GLRenderMode (GLenum mode)
Replacement of glRenderMode.

void | GLRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
Replacement of glRotated.

void | GLRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
Replacement of glRotatef.

void | GLScaled (GLdouble x, GLdouble y, GLdouble z)
Replacement of glScaled.

void | GLScalef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glScalef.

void | GLScissor (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glScissor.

void | GLSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glSecondaryColorPointer.

void | GLSelectBuffer (GLsizei size, GLuint *buffer)
Replacement of glSelectBuffer.

void | GLSetWindowStereoMode (GLboolean displayMode)
Replacement of glSetWindowStereoModeNV.

void | GLShadeModel (GLenum mode)
Replacement of glShadeModel.

void | GLStencilFunc (GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFunc.

void | GLStencilMask (GLuint mask)
Replacement of glStencilMask.

void | GLStencilOp (GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOp.

void | GLTexCoord1d (GLdouble s)
Replacement of glTexCoord1d.

void | GLTexCoord1f (GLfloat s)
Replacement of glTexCoord1f.

void | GLTexCoord1i (GLint s)
Replacement of glTexCoord1i.

void | GLTexCoord1s (GLshort s)
Replacement of glTexCoord1s.

void | GLTexCoord2d (GLdouble s, GLdouble t)
Replacement of glTexCoord2d.

void | GLTexCoord2f (GLfloat s, GLfloat t)
Replacement of glTexCoord2f.

void | GLTexCoord2fv (const GLfloat *v)
Replacement of glTexCoord2fv.

void | GLTexCoord2i (GLint s, GLint t)
Replacement of glTexCoord2i.

void | GLTexCoord2s (GLshort s, GLshort t)
Replacement of glTexCoord2s.

void | GLTexCoord3d (GLdouble s, GLdouble t, GLdouble r)
Replacement of glTexCoord3d.

void | GLTexCoord3f (GLfloat s, GLfloat t, GLfloat r)
Replacement of glTexCoord3f.

void | GLTexCoord3i (GLint s, GLint t, GLint r)
Replacement of glTexCoord3i.

void | GLTexCoord3s (GLshort s, GLshort t, GLshort r)
Replacement of glTexCoord3s.

void | GLTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glTexCoord4d.

void | GLTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glTexCoord4f.

void | GLTexCoord4i (GLint s, GLint t, GLint r, GLint q)
Replacement of glTexCoord4i.

void | GLTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glTexCoord4s.

void | GLTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glTexCoordPointer.

void | GLTexEnvf (GLenum target, GLenum pname, GLfloat param)
Replacement of glTexEnvf.

void | GLTexEnvfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glTexEnvfv.

void | GLTexEnvi (GLenum target, GLenum pname, GLint param)
Replacement of glTexEnvi.

void | GLTexEnviv (GLenum target, GLenum pname, const GLint *params)
Replacement of glTexEnviv.

void | GLTexGend (GLenum coord, GLenum pname, GLdouble param)
Replacement of glTexGend.

void | GLTexGenf (GLenum coord, GLenum pname, GLfloat param)
Replacement of glTexGenf.

void | GLTexGenfv (GLenum coord, GLenum pname, const GLfloat *param)
Replacement of glTexGenfv.

void | GLTexGeni (GLenum coord, GLenum pname, GLint param)
Replacement of glTexGeni.

void | GLTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage1D.

void | GLTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage2D.

void | GLTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void *pixels)
Replacement of glTexImage3D.

void | GLTexParameterf (GLenum target, GLenum pname, GLfloat param)
Replacement of glTexParameterf.

void | GLTexParameteri (GLenum target, GLenum pname, GLint param)
Replacement of glTexParameteri.

void | GLTexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glTexParameterfv.

void | GLTexParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glTexParameteriv.

void | GLTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImate1D.

void | GLTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImate2D.

void | GLTranslated (GLdouble x, GLdouble y, GLdouble z)
Replacement of glTranslated.

void | GLTranslatef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glTranslatef.

void | GLVertex2d (GLdouble x, GLdouble y)
Replacement of glVertex2d.

void | GLVertex2f (GLfloat x, GLfloat y)
Replacement of glVertex2f.

void | GLVertex2i (GLint x, GLint y)
Replacement of glVertex2i.

void | GLVertex2s (GLshort x, GLshort y)
Replacement of glVertex2s.

void | GLVertex3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertex3d.

void | GLVertex3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertex3f.

void | GLVertex3fv (const GLfloat *v)
Replacement of glVertex3fv.

void | GLVertex3i (GLint x, GLint y, GLint z)
Replacement of glVertex3i.

void | GLVertex3s (GLshort x, GLshort y, GLshort z)
Replacement of glVertex3s.

void | GLVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertex4d.

void | GLVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertex4f.

void | GLVertex4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glVertex4i.

void | GLVertex4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertex4s.

void | GLVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexPointer.

void | GLViewport (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glViewport.

Variables

NVSG_API GLContext * | glContext
pointer to the current GLContext

NVSG_API GLenum | glError
current OpenGL error code

bool | wglFunctionsInitialized
indicator of initialization state of wgl functions

Detailed Description

Namespace for OpenGL.

This namespace wraps around the native OpenGL implementation. It organizes caching, attribute handling, etc....

Note:
Do not use native OpenGL calls when extending NVSG or NVSG-based viewers. Instead, use the implementation of the OpenGL commands contained in this namespace so you do not break caching, etc.

Do not include other OpenGL headers. nvgl.h should be the only OpenGL header you need.

Function Documentation

void GLAccum | ( | GLenum | op,
 |  | GLfloat | value
 | ) | [inline]

Replacement of glAccum.

This function asserts on the result before returning.

void GLActiveTexture ( GLenum texture ) [inline]

Replacement of glActiveTexture.

This function stores the texture to activate for subsequent texture operations.

void GLAlphaFunc | ( | GLenum | func,
 |  | GLclampf | ref
 | ) | [inline]

Replacement of glAlphaFunc.

This function caches the alpha function settings and asserts on the result before returning.

GLboolean GLAreTexturesResident | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | GLboolean * | residences
 | ) | [inline]

Replacement of glAreTexturesResident.

This function asserts on the result before returning.

void GLArrayElement ( GLint i ) [inline]

Replacement of glArrayElement.

This function asserts on the result before returning.

void GLBegin ( GLenum mode ) [inline]

Replacement of glBegin.

This function asserts on the result before returning.

void GLBeginOcclusionQuery ( GLuint id ) [inline]

Replacement of glBeginOcclusionQueryNV.

This function hides the extension character of glBeginOcclusionQueryNV and asserts on the result before returning.

void GLBeginQuery | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBeginQueryARB.

This function hides the extension character of glBeginQueryARB and asserts on the result before returning.

void GLBindBufferARB | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBindBufferARB.

This function hides the extension character of glBindBufferARB and asserts on the result before returning.

void GLBufferDataARB | ( | GLenum | target,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data,
 |  | GLenum | usage
 | ) | [inline]

Replacement of glBufferDataARB.

This function hides the extension character of glBufferDataARB and asserts on the result before returning.

void GLBufferSubDataARB | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glBufferSubDataARB.

This function hides the extension character of glBufferSubDataARB and asserts on the result before returning.

void GLDeleteBuffersARB | ( | GLsizei | n,
 |  | const GLuint * | buffers
 | ) | [inline]

Replacement of glDeleteBuffersARB.

This function hides the extension character of glDeleteBuffersARB and asserts on the result before returning.

void GLGenBuffersARB | ( | GLsizei | n,
 |  | GLuint * | buffers
 | ) | [inline]

Replacement of glGenBuffersARB.

This function hides the extension character of glGenBuffersARB and asserts on the result before returning.

GLvoid* GLMapBufferARB | ( | GLenum | target,
 |  | GLenum | access
 | ) | [inline]

Replacement of glMapBufferARB.

This function hides the extension character of glMapBufferARB and asserts on the result before returning.

GLboolean GLUnmapBufferARB ( GLenum target ) [inline]

Replacement of glUnmapBufferARB.

This function hides the extension character of glUnmapBufferARB and asserts on the result before returning.

GLboolean GLIsBufferARB ( GLuint name ) [inline]

Replacement of glIsBufferARB.

This function tests if for the current render context, name denotes a valid vertex buffer object.

void GLBindProgram | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBindProgramNV.

This function hides the extension character of glBindProgramNV and asserts on the result before returning.

void GLBitmap | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLfloat | xorig,
 |  | GLfloat | yorig,
 |  | GLfloat | xmove,
 |  | GLfloat | ymove,
 |  | const GLubyte * | bitmap
 | ) | [inline]

Replacement of glBitmap.

This function asserts on the result before returning.

void GLBlendFunc | ( | GLenum | sfactor,
 |  | GLenum | dfactor
 | ) | [inline]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

void GLBindTexture | ( | GLenum | target,
 |  | GLuint | texture
 | ) | [inline]

Replacement of glBindTexture.

This function activates the texture unit if necessary, calls glBindTexture and asserts on the result before returning.

void GLCallList ( GLuint list ) [inline]

Replacement of glCallList.

This function asserts on the result before returning.

void GLCallLists | ( | GLsizei | n,
 |  | GLenum | type,
 |  | const GLvoid * | lists
 | ) | [inline]

Replacement of glCallLists.

This function asserts on the result before returning.

void GLClear ( GLbitfield mask ) [inline]

Replacement of glClear.

This function asserts on the result before returning.

void GLClearAccum | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [inline]

Replacement of glClearAccum.

This function asserts on the result before returning.

void GLClearColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [inline]

Replacement of glClearColor.

This function caches the clear color settings and asserts on the result before returning.

void GLClearDepth ( GLclampd depth ) [inline]

Replacement of glClearDepth.

This function caches the clear depth setting and asserts on the result before returning.

void GLClearIndex ( GLfloat c ) [inline]

Replacement of glClearIndex.

This function asserts on the result before returning.

void GLClearStencil ( GLint s ) [inline]

Replacement of glClearStencil.

This function asserts on the result before returning.

void GLClientActiveTexture ( GLenum texture ) [inline]

Replacement of glClientActiveTexture.

This functions stores the next active texture unit.

void GLClipPlane | ( | GLenum | plane,
 |  | const GLdouble * | equation
 | ) | [inline]

Replacement of glClipPlane.

This function caches the clip plane settings and asserts on the result before returning.

void GLColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [inline]

Replacement of glColor3b.

This function asserts on the result before returning.

void GLColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [inline]

Replacement of glColor3d.

This function asserts on the result before returning.

void GLColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [inline]

Replacement of glColor3f.

This function asserts on the result before returning.

void GLColor3fv ( const GLfloat * v ) [inline]

Replacement of glColor3fv.

This function asserts on the result before returning.

void GLColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [inline]

Replacement of glColor3i.

This function asserts on the result before returning.

void GLColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [inline]

Replacement of glColor3s.

This function asserts on the result before returning.

void GLColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [inline]

Replacement of glColor3ub.

This function asserts on the result before returning.

void GLColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [inline]

Replacement of glColor3ui.

This function asserts on the result before returning.

void GLColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [inline]

Replacement of glColor3us.

This function asserts on the result before returning.

void GLColor4b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue,
 |  | GLbyte | alpha
 | ) | [inline]

Replacement of glColor4b.

This function asserts on the result before returning.

void GLColor4d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue,
 |  | GLdouble | alpha
 | ) | [inline]

Replacement of glColor4d.

This function asserts on the result before returning.

void GLColor4f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [inline]

Replacement of glColor4f.

This function asserts on the result before returning.

void GLColor4i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [inline]

Replacement of glColor4i.

This function asserts on the result before returning.

void GLColor4s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue,
 |  | GLshort | alpha
 | ) | [inline]

Replacement of glColor4s.

This function asserts on the result before returning.

void GLColor4ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue,
 |  | GLubyte | alpha
 | ) | [inline]

Replacement of glColor4ub.

This function asserts on the result before returning.

void GLColor4ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [inline]

Replacement of glColor4ui.

This function asserts on the result before returning.

void GLColor4us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue,
 |  | GLushort | alpha
 | ) | [inline]

Replacement of glColor4us.

This function asserts on the result before returning.

void GLColorMask | ( | GLboolean | red,
 |  | GLboolean | green,
 |  | GLboolean | blue,
 |  | GLboolean | alpha
 | ) | [inline]

Replacement of glColorMask.

This function asserts on the result before returning.

void GLColorMaterial | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glColorMaterial.

This function asserts on the result before returning.

void GLColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glColorPointer.

This function caches the color pointer settings and asserts on the result before returning.

void GLCompressedTexImage1D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage1D.

This function hides the extension character of glCompressedTexImage1D and asserts on the result before returning.

void GLCompressedTexImage2D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage2D.

This function hides the extension character of glCompressedTexImage2D and asserts on the result before returning.

void GLCompressedTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage3D.

This function hides the extension character of glCompressedTexImage3D and asserts on the result before returning.

void GLCopyPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | type
 | ) | [inline]

Replacement of glCopyPixels.

This function asserts on the result before returning.

void GLCopyTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalFormat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLint | border
 | ) | [inline]

Replacement of glCopyTexImage1D.

This function asserts on the result before returning.

void GLCopyTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalFormat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border
 | ) | [inline]

Replacement of glCopyTexImage2D.

This function asserts on the result before returning.

void GLCopyTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyTexSubImage1D.

This function asserts on the result before returning.

void GLCopyTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glCopyTexSubImage2D.

This function asserts on the result before returning.

void GLCullFace ( GLenum mode ) [inline]

Replacement of glCullFace.

This function caches the cull face setting and asserts on the result before returning.

void GLDeleteLists | ( | GLuint | list,
 |  | GLsizei | range
 | ) | [inline]

Replacement of glDeleteLists.

This function asserts on the result before returning.

void GLDeleteOcclusionQueries | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [inline]

Replacement of glDeleteOcclusionQueriesNV.

This function hides the extension character of glDeleteOcclusionQueriesNV and asserts on the result before returning.

void GLDeletePrograms | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [inline]

Replacement of glDeleteProgramsNV.

This function hides the extension character of glDeleteProgramsNV and asserts on the result before returning.

void GLDeleteQueries | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [inline]

Replacement of glDeleteQueriesARB.

This function hides the extension character of glDeleteQueriesARB and asserts on the result before returning.

void GLDeleteTextures | ( | GLsizei | n,
 |  | const GLuint * | textures
 | ) | [inline]

Replacement of glDeleteTextures.

This function asserts on the result before returning.

void GLDepthFunc ( GLenum func ) [inline]

Replacement of glDepthFunc.

This function caches the depth function setting and asserts on the result before returning.

void GLDepthMask ( GLboolean flag ) [inline]

Replacement of glDepthMask.

This function caches the depth mask setting and asserts on the result before returning.

void GLDepthRange | ( | GLclampd | znear,
 |  | GLclampd | zfar
 | ) | [inline]

Replacement of glDepthRange.

This function caches the depth range settings and asserts on the result before returning.

void GLDisable ( GLenum cap ) [inline]

Replacement of glDisable.

This function caches the settings and asserts on the result before returning.

void GLDisableClientState ( GLenum array ) [inline]

Replacement of glDisableClientState.

This function caches the client state settings and asserts on the result before returning.

void GLDrawArrays | ( | GLenum | mode,
 |  | GLint | first,
 |  | GLsizei | count
 | ) | [inline]

Replacement of glDrawArrays.

This function asserts on the result before returning.

void GLDrawBuffer ( GLenum mode ) [inline]

Replacement of glDrawBuffer.

This function asserts on the result before returning.

void GLDrawElements | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [inline]

Replacement of glDrawElements.

This function asserts on the result before returning.

void GLMultiDrawElements | ( | GLenum | mode,
 |  | const GLsizei * | count,
 |  | GLenum | type,
 |  | const GLvoid ** | indices,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glMultiDrawElements.

This function asserts on the result before returning.

void GLDrawPixels | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glDrawPixels.

This function asserts on the result before returning.

void GLDrawRangeElements | ( | GLenum | mode,
 |  | GLuint | start,
 |  | GLuint | end,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [inline]

Replacement of glDrawRangeElements.

This function asserts on the result before returning.

void GLEdgeFlagPointer | ( | GLsizei | stride,
 |  | const GLboolean * | pointer
 | ) | [inline]

Replacement of glEdgeFlagPointer.

This function caches the edge flag pointer setting and asserts on the result before returning.

void GLEdgeFlag ( GLboolean flag ) [inline]

Replacement of glEdgeFlag.

This function asserts on the result before returning.

void GLEdgeFlagv ( const GLboolean * flag ) [inline]

Replacement of glEdgeFlagv.

This function asserts on the result before returning.

void GLEnable ( GLenum cap ) [inline]

Replacement of glEnable.

This function caches the settings and asserts on the result before returning.

void GLEnableClientState ( GLenum array ) [inline]

Replacement of glEnableClientState.

This function caches the client state settings and asserts on the result before returning.

void GLEnd ( void ) [inline]

Replacement of glEnd.

This function asserts on the result before returning.

void GLEndList ( void ) [inline]

Replacement of glEndList.

This function asserts on the result before returning.

void GLEndOcclusionQuery ( void ) [inline]

Replacement of glEndOcclusionQueryNV.

This function hides the extension character of glEndOcclusionQueryNV and asserts on the result before returning.

void GLEndQuery ( GLenum target ) [inline]

Replacement of glEndQueryARB.

This function hides the extension character of glEndQueryARB and asserts on the result before returning.

void GLEvalCoord1d ( GLdouble u ) [inline]

Replacement of glEvalCoord1d.

This function asserts on the result before returning.

void GLEvalCoord1f ( GLfloat u ) [inline]

Replacement of glEvalCoord1f.

This function asserts on the result before returning.

void GLEvalCoord2d | ( | GLdouble | u,
 |  | GLdouble | v
 | ) | [inline]

Replacement of glEvalCoord2d.

This function asserts on the result before returning.

void GLEvalCoord2f | ( | GLfloat | u,
 |  | GLfloat | v
 | ) | [inline]

Replacement of glEvalCoord2f.

This function asserts on the result before returning.

void GLEvalMesh1 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2
 | ) | [inline]

Replacement of glEvalMesh1.

This function asserts on the result before returning.

void GLEvalMesh2 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2,
 |  | GLint | j1,
 |  | GLint | j2
 | ) | [inline]

Replacement of glEvalMesh2.

This function asserts on the result before returning.

void GLEvalPoint1 ( GLint i ) [inline]

Replacement of glEvalPoint1.

This function asserts on the result before returning.

void GLEvalPoint2 | ( | GLint | i,
 |  | GLint | j
 | ) | [inline]

Replacement of glEvalPoint2.

This function asserts on the result before returning.

void GLFeedbackBuffer | ( | GLsizei | size,
 |  | GLenum | type,
 |  | GLfloat * | buffer
 | ) | [inline]

Replacement of glFeedbackBuffer.

This function asserts on the result before returning.

void GLFinish ( void ) [inline]

Replacement of glFinish.

This function asserts on the result before returning.

void GLFlush ( void ) [inline]

Replacement of glFlush.

This function asserts on the result before returning.

void GLFogCoordPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glFogCoordPointer.

This function caches the fog coordinate pointer setting and asserts on the result before returning.

void GLFogf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glFogf.

This function caches the fog settings and asserts on the result before returning.

void GLFogfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glFogfv.

This function caches the fog settings and asserts on the result before returning.

void GLFogi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glFogi.

This function caches the fog settings and asserts on the result before returning.

void GLFogiv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glFogiv.

This function asserts on the result before returning.

void GLFrontFace ( GLenum mode ) [inline]

Replacement of glFrontFace.

This function caches the front face setting and asserts on the result before returning.

void GLFrustum | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glFrustum.

This function asserts on the result before returning.

GLuint GLGenLists ( GLsizei range ) [inline]

Replacement of glGenLists.

This function asserts on the result before returning.

void GLGenOcclusionQueries | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [inline]

Replacement of glGenOcclusionQueriesNV.

This function hides the extension character of glGenOcclusionQueriesNV and asserts on the result before returning.

void GLGenPrograms | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [inline]

Replacement of glGenProgramsNV.

This function hides the extension character of glGenProgramsNV and asserts on the result before returning.

void GLGenQueries | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [inline]

Replacement of glGenQueriesARB.

This function hides the extension character of glGenQueriesARB and asserts on the result before returning.

void GLGenTextures | ( | GLsizei | n,
 |  | GLuint * | textures
 | ) | [inline]

Replacement of glGenTextures.

This function asserts on the result before returning.

void GLGetBooleanv | ( | GLenum | pname,
 |  | GLboolean * | params
 | ) | [inline]

Replacement of glGetBooleanv.

This function asserts on the result before returning.

void GLGetDoublev | ( | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetDoublev.

This function asserts on the result before returning.

void GLGetFloatv | ( | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetFloatv.

This function asserts on the result before returning.

void GLGetIntegerv | ( | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetIntegerv.

This function asserts on the result before returning.

void GLGetClipPlane | ( | GLenum | plane,
 |  | GLdouble * | equation
 | ) | [inline]

Replacement of glGetClipPlane.

This function asserts on the result before returning.

void GLGetLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetLightfv.

This function asserts on the result before returning.

void GLGetLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetLightiv.

This function asserts on the result before returning.

void GLGetMapdv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLdouble * | v
 | ) | [inline]

Replacement of glGetMapdv.

This function asserts on the result before returning.

void GLGetMapfv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLfloat * | v
 | ) | [inline]

Replacement of glGetMapfv.

This function asserts on the result before returning.

void GLGetMapiv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLint * | v
 | ) | [inline]

Replacement of glGetMapiv.

This function asserts on the result before returning.

void GLGetMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetMaterialfv.

This function asserts on the result before returning.

void GLGetMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetMaterialiv.

This function asserts on the result before returning.

void GLGetOcclusionQueryuiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetOcclusionQueryuivNV.

This function hides the extension character of glGetOcclusionQueryuivNV and asserts on the result before returning.

void GLGetPixelMapfv | ( | GLenum | map,
 |  | GLfloat * | values
 | ) | [inline]

Replacement of glGetPixelMapfv.

This function asserts on the result before returning.

void GLGetPixelMapuiv | ( | GLenum | map,
 |  | GLuint * | values
 | ) | [inline]

Replacement of glGetPixelMapuiv.

This function asserts on the result before returning.

void GLGetPixelMapusv | ( | GLenum | map,
 |  | GLushort * | values
 | ) | [inline]

Replacement of glGetPixelMapusv.

This function asserts on the result before returning.

void GLGetPointerv | ( | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [inline]

Replacement of glGetPointerv.

This function asserts on the result before returning.

void GLGetPolygonStipple ( GLubyte * mask ) [inline]

Replacement of glGetPolygonStipple.

This function asserts on the result before returning.

void GLGetQueryiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetQueryivARB.

This function hides the extension character of glGetQueryivARB and asserts on the result before returning.

void GLGetQueryObjectiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetQueryObjectivARB.

This function hides the extension character of glGetQueryObjectivARB and asserts on the result before returning.

void GLGetQueryObjectuiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetQueryObjectuivARB.

This function hides the extension character of glGetQueryObjectuivARB and asserts on the result before returning.

const GLubyte* GLGetString ( GLenum name ) [inline]

Replacement of glGetString.

This function asserts on the result before returning.

void GLGetTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexEnvfv.

This function asserts on the result before returning.

void GLGetTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexEnviv.

This function asserts on the result before returning.

void GLGetTexGendv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetTexGendv.

This function asserts on the result before returning.

void GLGetTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexGenfv.

This function asserts on the result before returning.

void GLGetTexGeniv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexGeniv.

This function asserts on the result before returning.

void GLGetTexImage | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [inline]

Replacement of glGetTexImage.

This function asserts on the result before returning.

void GLGetTexLevelParameterfv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexLevelParameterfv.

This function asserts on the result before returning.

void GLGetTexLevelParameteriv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexLevelParameteriv.

This function asserts on the result before returning.

void GLGetTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexParameterfv.

This function asserts on the result before returning.

void GLGetTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexParameteriv.

This function asserts on the result before returning.

void GLHint | ( | GLenum | target,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glHint.

This function asserts on the result before returning.

void GLIndexd ( GLdouble c ) [inline]

Replacement of glIndexd.

This function asserts on the result before returning.

void GLIndexf ( GLfloat c ) [inline]

Replacement of glIndexf.

This function asserts on the result before returning.

void GLIndexi ( GLint c ) [inline]

Replacement of glIndexi.

This function asserts on the result before returning.

void GLIndexMask ( GLuint mask ) [inline]

Replacement of glIndexMask.

This function asserts on the result before returning.

void GLIndexPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glIndexPointer.

This function asserts on the result before returning.

void GLIndexs ( GLshort c ) [inline]

Replacement of glIndexs.

This function asserts on the result before returning.

void GLIndexub ( GLubyte c ) [inline]

Replacement of glIndexub.

This function asserts on the result before returning.

void GLInitNames ( void ) [inline]

Replacement of glInitNames.

This function asserts on the result before returning.

void GLInterleavedArrays | ( | GLenum | format,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glInterleavedArrays.

This function asserts on the result before returning.

GLboolean GLIsEnabled ( GLenum cap ) [inline]

Replacement of glIsEnabled.

This function returns the cached state of the queried capability.

GLboolean GLIsList ( GLuint list ) [inline]

Replacement of glIsList.

This function tests if for the current context, list denotes a valid display list.

GLboolean GLIsOcclusionQuery ( GLuint id ) [inline]

Replacement of glIsOcclusionQueryNV.

This function tests if for the current context, id denotes a valid query.

GLboolean GLIsProgram ( GLuint id ) [inline]

Replacement of glIsProgramNV.

This function tests if for the current context, id denotes a valid program.

GLboolean GLIsQuery ( GLuint id ) [inline]

Replacement of glIsQueryARB.

This function tests if for the current context, id denotes a valid query.

GLboolean GLIsTexture ( GLuint texture ) [inline]

Replacement of glIsTexture.

This function asserts on the result before returning.

void GLLightf | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glLightf.

This function caches the light model settings and asserts on the result before returning.

void GLLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glLightfv.

This function caches the light settings and asserts on the result before returning.

Note:
GL_POSITION and GL_SPOT_DIRECTION are not cached, because they depend on the GL_MODELVIEW.

void GLLighti | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glLighti.

This function asserts on the result before returning.

void GLLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glLightiv.

This function asserts on the result before returning.

void GLLightModelf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glLightModelf.

This function caches the light model settings and asserts on the result before returning.

void GLLightModelfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glLightModelfv.

This function caches the light model settings and asserts on the result before returning.

void GLLightModeli | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glLightModeli.

This function caches the light model settings and asserts on the result before returning.

void GLLightModeliv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glLightModeliv.

This function caches the light model settings and asserts on the result before returning.

void GLLineStipple | ( | GLint | factor,
 |  | GLushort | pattern
 | ) | [inline]

Replacement of glLineStipple.

This function caches the line stipple settings and asserts on the result before returning.

void GLLineWidth ( GLfloat width ) [inline]

Replacement of glLineWidth.

This function caches the line width setting and asserts on the result before returning.

void GLListBase ( GLuint base ) [inline]

Replacement of glListBase.

This function asserts on the result before returning.

void GLLoadIdentity ( void ) [inline]

Replacement of glLoadItentity.

This function asserts on the result before returning.

void GLLoadMatrixd ( const GLdouble * m ) [inline]

Replacement of glLoadMatrixd.

This function asserts on the result before returning.

void GLLoadMatrixf ( const GLfloat * m ) [inline]

Replacement of glLoadMatrixf.

This function asserts on the result before returning.

void GLLoadName ( GLuint name ) [inline]

Replacement of glLoadName.

This function asserts on the result before returning.

void GLLoadProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | program
 | ) | [inline]

Replacement of glLoadProgramNV.

This function hides the extension character of glLoadProgramNV and asserts on the result before returning.

void GLLogicOp ( GLenum opcode ) [inline]

Replacement of glLogicOp.

This function asserts on the result before returning.

void GLMap1d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLdouble * | points
 | ) | [inline]

Replacement of glMap1d.

This function asserts on the result before returning.

void GLMap1f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLfloat * | points
 | ) | [inline]

Replacement of glMap1f.

This function asserts on the result before returning.

void GLMap2d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLdouble | v1,
 |  | GLdouble | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLdouble * | points
 | ) | [inline]

Replacement of glMap2d.

This function asserts on the result before returning.

void GLMap2f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLfloat * | points
 | ) | [inline]

Replacement of glMap2f.

This function asserts on the result before returning.

void GLMapGrid1d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2
 | ) | [inline]

Replacement of glMapGrid1d.

This function asserts on the result before returning.

void GLMapGrid1f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2
 | ) | [inline]

Replacement of glMapGrid1f.

This function asserts on the result before returning.

void GLMapGrid2d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | vn,
 |  | GLdouble | v1,
 |  | GLdouble | v2
 | ) | [inline]

Replacement of glMapGrid2d.

This function asserts on the result before returning.

void GLMapGrid2f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | vn,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [inline]

Replacement of glMapGrid2f.

This function asserts on the result before returning.

void GLMaterialf | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLfloat | param
 | ) | [inline]

Replacement of glMaterialf.

This function caches the material settings and asserts on the result before returning.

void GLMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glMaterialfv.

This function caches the material settings and asserts on the result before returning.

void GLMateriali | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLint | param
 | ) | [inline]

Replacement of glMateriali.

This function caches the material settings and asserts on the result before returning.

void GLMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glMaterialiv.

This function caches the material settings and asserts on the result before returning.

void GLMatrixMode ( GLenum mode ) [inline]

Replacement of glMatrixMode.

This function caches the matrix mode setting and asserts on the result before returning.

void GLMultiTexCoord2f | ( | GLenum | texture,
 |  | GLfloat | tx,
 |  | GLfloat | ty
 | ) | [inline]

Replacement of glMultiTexCoord2f.

This function hides the extension character of glMultiTexCoord2f and asserts on the result before returning.

void GLMultMatrixd ( const GLdouble * m ) [inline]

Replacement of glMultMatrixd.

This function asserts on the result before returning.

void GLMultMatrixf ( const GLfloat * m ) [inline]

Replacement of glMultMatrixf.

This function asserts on the result before returning.

void GLNewList | ( | GLuint | list,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glNewList.

This function asserts on the result before returning.

void GLNormal3b | ( | GLbyte | nx,
 |  | GLbyte | ny,
 |  | GLbyte | nz
 | ) | [inline]

Replacement of glNormal3b.

This function asserts on the result before returning.

void GLNormal3bv ( const GLbyte * v ) [inline]

Replacement of glNormal3bv.

This function asserts on the result before returning.

void GLNormal3d | ( | GLdouble | nx,
 |  | GLdouble | ny,
 |  | GLdouble | nz
 | ) | [inline]

Replacement of glNormal3d.

This function asserts on the result before returning.

void GLNormal3dv ( const GLdouble * v ) [inline]

Replacement of glNormal3dv.

This function asserts on the result before returning.

void GLNormal3f | ( | GLfloat | nx,
 |  | GLfloat | ny,
 |  | GLfloat | nz
 | ) | [inline]

Replacement of glNormal3f.

This function asserts on the result before returning.

void GLNormal3fv ( const GLfloat * v ) [inline]

Replacement of glNormal3fv.

This function asserts on the result before returning.

void GLNormal3i | ( | GLint | nx,
 |  | GLint | ny,
 |  | GLint | nz
 | ) | [inline]

Replacement of glNormal3i.

This function asserts on the result before returning.

void GLNormal3iv ( const GLint * v ) [inline]

Replacement of glNormal3iv.

This function asserts on the result before returning.

void GLNormal3s | ( | GLshort | nx,
 |  | GLshort | ny,
 |  | GLshort | nz
 | ) | [inline]

Replacement of glNormal3s.

This function asserts on the result before returning.

void GLNormal3sv ( const GLshort * v ) [inline]

Replacement of glNormal3sv.

This function asserts on the result before returning.

void GLNormalPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glNormalPointer.

This function caches the normal pointer setings and asserts on the result before returning.

void GLOrtho | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glOrtho.

This function asserts on the result before returning.

void GLPassThrough ( GLfloat token ) [inline]

Replacement of glPassThrough.

This function asserts on the result before returning.

void GLPixelMapfv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLfloat * | values
 | ) | [inline]

Replacement of glPixelMapufv.

This function asserts on the result before returning.

void GLPixelMapuiv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLuint * | values
 | ) | [inline]

Replacement of glPixelMapuiv.

This function asserts on the result before returning.

void GLPixelMapusv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLushort * | values
 | ) | [inline]

Replacement of glPixelMapusv.

This function asserts on the result before returning.

void GLPixelStoref | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPixelStoref.

This function asserts on the result before returning.

void GLPixelStorei | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPixelStorei.

This function asserts on the result before returning.

void GLPixelTransferf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPixelTransferf.

This function asserts on the result before returning.

void GLPixelTransferi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPixelTransferi.

This function asserts on the result before returning.

void GLPixelZoom | ( | GLfloat | xfactor,
 |  | GLfloat | yfactor
 | ) | [inline]

Replacement of glPixelZoom.

This function asserts on the result before returning.

void GLPointSize ( GLfloat size ) [inline]

Replacement of glPointSize.

This function caches the point size setting and asserts on the result before returning.

void GLPolygonMode | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glPolygonMode.

This function caches the polygon mode setting and asserts on the result before returning.

void GLPolygonOffset | ( | GLfloat | factor,
 |  | GLfloat | units
 | ) | [inline]

Replacement of glPolygonOffset.

This function caches the polygon offset settings and asserts on the result before returning.

void GLPolygonStipple ( const GLubyte * mask ) [inline]

Replacement of glPolygonStipple.

This function asserts on the result before returning.

void GLPopAttrib ( void ) [inline]

Replacement of glPopAttrib.

This function asserts on the result before returning.

void GLPopClientAttrib ( void ) [inline]

Replacement of glPopClientAttrib.

This function asserts on the result before returning.

void GLPopMatrix ( void ) [inline]

Replacement of glPopMatrix.

This function asserts on the result before returning.

void GLPopName ( void ) [inline]

Replacement of glPopName.

This function asserts on the result before returning.

void GLPrioritizeTextures | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | const GLclampf * | priorities
 | ) | [inline]

Replacement of glPrioritizeTextures.

This function asserts on the result before returning.

void GLProgramNamedParameter4f | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramNamedParameter4fNV.

This function hides the extension character of glProgramNamedParameter4fNV and asserts on the result before returning.

void GLPushAttrib ( GLbitfield mask ) [inline]

Replacement of glPushAttrib.

This function asserts on the result before returning.

void GLPushClientAttrib ( GLbitfield mask ) [inline]

Replacement of glPushClientAttrib.

This function asserts on the result before returning.

void GLPushMatrix ( void ) [inline]

Replacement of glPushMatrix.

This function asserts on the result before returning.

void GLPushName ( GLuint name ) [inline]

Replacement of glPushName.

This function asserts on the result before returning.

void GLRasterPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glRasterPos2d.

This function asserts on the result before returning.

void GLRasterPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glRasterPos2f.

This function asserts on the result before returning.

void GLRasterPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glRasterPos2i.

This function asserts on the result before returning.

void GLRasterPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glRasterPos2s.

This function asserts on the result before returning.

void GLRasterPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glRasterPos3d.

This function asserts on the result before returning.

void GLRasterPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glRasterPos3f.

This function asserts on the result before returning.

void GLRasterPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glRasterPos3i.

This function asserts on the result before returning.

void GLRasterPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glRasterPos3s.

This function asserts on the result before returning.

void GLRasterPos4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glRasterPos4d.

This function asserts on the result before returning.

void GLRasterPos4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glRasterPos4f.

This function asserts on the result before returning.

void GLRasterPos4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glRasterPos4i.

This function asserts on the result before returning.

void GLRasterPos4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glRasterPos4s.

This function asserts on the result before returning.

void GLReadBuffer ( GLenum mode ) [inline]

Replacement of glReadBuffer.

This function asserts on the result before returning.

void GLReadPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [inline]

Replacement of glReadPixels.

This function asserts on the result before returning.

void GLRectd | ( | GLdouble | x1,
 |  | GLdouble | y1,
 |  | GLdouble | x2,
 |  | GLdouble | y2
 | ) | [inline]

Replacement of glRectd.

This function asserts on the result before returning.

void GLRectf | ( | GLfloat | x1,
 |  | GLfloat | y1,
 |  | GLfloat | x2,
 |  | GLfloat | y2
 | ) | [inline]

Replacement of glRectf.

This function asserts on the result before returning.

void GLRecti | ( | GLint | x1,
 |  | GLint | y1,
 |  | GLint | x2,
 |  | GLint | y2
 | ) | [inline]

Replacement of glRecti.

This function asserts on the result before returning.

void GLRects | ( | GLshort | x1,
 |  | GLshort | y1,
 |  | GLshort | x2,
 |  | GLshort | y2
 | ) | [inline]

Replacement of glRects.

This function asserts on the result before returning.

void GLRenderMode ( GLenum mode ) [inline]

Replacement of glRenderMode.

This function asserts on the result before returning.

void GLRotated | ( | GLdouble | angle,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glRotated.

This function asserts on the result before returning.

void GLRotatef | ( | GLfloat | angle,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glRotatef.

This function asserts on the result before returning.

void GLScaled | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glScaled.

This function asserts on the result before returning.

void GLScalef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glScalef.

This function asserts on the result before returning.

void GLScissor | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glScissor.

This function caches the scissor settings and asserts on the result before returning.

void GLSecondaryColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glSecondaryColorPointer.

This function caches the secondary color pointer setting and asserts on the result before returning.

void GLSelectBuffer | ( | GLsizei | size,
 |  | GLuint * | buffer
 | ) | [inline]

Replacement of glSelectBuffer.

This function asserts on the result before returning.

void GLSetWindowStereoMode ( GLboolean displayMode ) [inline]

Replacement of glSetWindowStereoModeNV.

This function hides the extension character of glSetWindowStereoModeNV and asserts on the result before returning.

void GLShadeModel ( GLenum mode ) [inline]

Replacement of glShadeModel.

This function caches the shade model setting and asserts on the result before returning.

void GLStencilFunc | ( | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [inline]

Replacement of glStencilFunc.

This function caches the stencil fuctnion setting and asserts on the result before returning.

void GLStencilMask ( GLuint mask ) [inline]

Replacement of glStencilMask.

This function caches the stencil mask setting and asserts on the result before returning.

void GLStencilOp | ( | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [inline]

Replacement of glStencilOp.

This function caches the stencil operation setting and asserts on the result before returning.

void GLTexCoord1d ( GLdouble s ) [inline]

Replacement of glTexCoord1d.

This function asserts on the result before returning.

void GLTexCoord1f ( GLfloat s ) [inline]

Replacement of glTexCoord1f.

This function asserts on the result before returning.

void GLTexCoord1i ( GLint s ) [inline]

Replacement of glTexCoord1i.

This function asserts on the result before returning.

void GLTexCoord1s ( GLshort s ) [inline]

Replacement of glTexCoord1s.

This function asserts on the result before returning.

void GLTexCoord2d | ( | GLdouble | s,
 |  | GLdouble | t
 | ) | [inline]

Replacement of glTexCoord2d.

This function asserts on the result before returning.

void GLTexCoord2f | ( | GLfloat | s,
 |  | GLfloat | t
 | ) | [inline]

Replacement of glTexCoord2f.

This function asserts on the result before returning.

void GLTexCoord2fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord2fv.

This function asserts on the result before returning.

void GLTexCoord2i | ( | GLint | s,
 |  | GLint | t
 | ) | [inline]

Replacement of glTexCoord2i.

This function asserts on the result before returning.

void GLTexCoord2s | ( | GLshort | s,
 |  | GLshort | t
 | ) | [inline]

Replacement of glTexCoord2s.

This function asserts on the result before returning.

void GLTexCoord3d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [inline]

Replacement of glTexCoord3d.

This function asserts on the result before returning.

void GLTexCoord3f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [inline]

Replacement of glTexCoord3f.

This function asserts on the result before returning.

void GLTexCoord3i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [inline]

Replacement of glTexCoord3i.

This function asserts on the result before returning.

void GLTexCoord3s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [inline]

Replacement of glTexCoord3s.

This function asserts on the result before returning.

void GLTexCoord4d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [inline]

Replacement of glTexCoord4d.

This function asserts on the result before returning.

void GLTexCoord4f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [inline]

Replacement of glTexCoord4f.

This function asserts on the result before returning.

void GLTexCoord4i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [inline]

Replacement of glTexCoord4i.

This function asserts on the result before returning.

void GLTexCoord4s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [inline]

Replacement of glTexCoord4s.

This function asserts on the result before returning.

void GLTexCoordPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glTexCoordPointer.

This function caches the tex coord pointer setting and asserts on the result before returning.

void GLTexEnvf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glTexEnvf.

This function asserts on the result before returning.

void GLTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glTexEnvfv.

This function asserts on the result before returning.

void GLTexEnvi | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glTexEnvi.

This function asserts on the result before returning.

void GLTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glTexEnviv.

This function asserts on the result before returning.

void GLTexGend | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble | param
 | ) | [inline]

Replacement of glTexGend.

This function asserts on the result before returning.

void GLTexGenf | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glTexGenf.

This function asserts on the result before returning.

void GLTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | const GLfloat * | param
 | ) | [inline]

Replacement of glTexGenfv.

This function asserts on the result before returning.

void GLTexGeni | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glTexGeni.

This function asserts on the result before returning.

void GLTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexImage1D.

This function asserts on the result before returning.

void GLTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexImage2D.

This function asserts on the result before returning.

void GLTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const void * | pixels
 | ) | [inline]

Replacement of glTexImage3D.

This function hides the extension character of glTexImage3D and asserts on the result before returning.

void GLTexParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glTexParameterf.

This function asserts on the result before returning.

void GLTexParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glTexParameteri.

This function asserts on the result before returning.

void GLTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glTexParameterfv.

This function asserts on the result before returning.

void GLTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glTexParameteriv.

This function asserts on the result before returning.

void GLTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImate1D.

This function asserts on the result before returning.

void GLTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImate2D.

This function asserts on the result before returning.

void GLTranslated | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glTranslated.

This function asserts on the result before returning.

void GLTranslatef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glTranslatef.

This function asserts on the result before returning.

void GLVertex2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glVertex2d.

This function asserts on the result before returning.

void GLVertex2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glVertex2f.

This function asserts on the result before returning.

void GLVertex2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glVertex2i.

This function asserts on the result before returning.

void GLVertex2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glVertex2s.

This function asserts on the result before returning.

void GLVertex3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glVertex3d.

This function asserts on the result before returning.

void GLVertex3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glVertex3f.

This function asserts on the result before returning.

void GLVertex3fv ( const GLfloat * v ) [inline]

Replacement of glVertex3fv.

This function asserts on the result before returning.

void GLVertex3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glVertex3i.

This function asserts on the result before returning.

void GLVertex3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glVertex3s.

This function asserts on the result before returning.

void GLVertex4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glVertex4d.

This function asserts on the result before returning.

void GLVertex4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glVertex4f.

This function asserts on the result before returning.

void GLVertex4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glVertex4i.

This function asserts on the result before returning.

void GLVertex4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glVertex4s.

This function asserts on the result before returning.

void GLVertexPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexPointer.

This function caches the vertex pointer setting and asserts on the result before returning.

void GLViewport | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glViewport.

This function caches the viewport settings and asserts on the result before returning.

Variable Documentation

NVSG_API GLContext* nvgl::glContext

pointer to the current GLContext

NVSG_API GLenum nvgl::glError

current OpenGL error code

bool nvgl::wglFunctionsInitialized

indicator of initialization state of wgl functions

Generated on Fri Jan 28 09:20:45 2005 for NVSGSDK by NVIDIA


nvmath Namespace Reference

Namespace for mathematical helper functions and classes. More...

Classes

class | BoundingSphere
Sphere class that represents the bounding sphere of a set of points. More...

class | Mat33f
3x3 matrix class. More...

class | Mat44f
4x4 matrix class. More...

class | Matnnf
Template for nxn-matrices. More...

class | Plane3f
Plane class. More...

class | Quatf
Quaternion class. More...

class | Sphere3f
Sphere class. More...

class | Trafo
transformation class. More...

class | Vec2f
2-component vector class. More...

class | Vec3f
3-component vector class. More...

class | Vec4f
4-component vector class. More...

class | Vecnf
Template for n-dimensional vector. More...

Functions

template<class T> T | clamp (T v, T l, T u)
Template to clamp an object of type T to a lower and an upper limit.

float | degToRad (float angle)
Transform an angle in degrees to radians.

bool | isPowerOfTwo (int n)
Determine if an integer is a power of two.

template<typename T> T | lerp (float alpha, const T &v0, const T &v1)
Linear interpolation between two values v0 and v1.

int | powerOfTwoBelow (int n)
Determine the largest integer power of two below an integer.

float | radToDeg (float angle)
Transform an angle in radian to degree.

template<typename T> int | sign (const T &t)
Determine the sign of a scalar.

template<typename T> float | square (const T &t)
Template to square an object of Type T.

Variables

NVSG_API const Mat44f | cIdentity44f
global identity matrix.

const float | PI = 3.14159265358979323846f
constant PI

const float | PI_HALF = 1.57079632679489661923f
constant PI half

const float | PI_QUARTER = 0.78539816339744830962f
constant PI quarter

const float | SQRT_TWO = 1.41421356237309504880f
constant square root two

const float | SQRT_TWO_HALF = 0.70710678118654752440f
constant square root two half

NVSG_API const Sphere3f | cUnitSphere
global unit sphere.

Detailed Description

Namespace for mathematical helper functions and classes.

Function Documentation

template<class T>
T clamp | ( | T | v,
 |  | T | l,
 |  | T | u
 | ) |

Template to clamp an object of type T to a lower and an upper limit.

Returns:
clamped value of v between l and u
Parameters:
v | value to clamp
l | lower limit
u | upper limit

float degToRad ( float angle ) [inline]

Transform an angle in degrees to radians.

Returns:
angle in radians
Parameters:
angle angle in degrees

bool isPowerOfTwo ( int n ) [inline]

Determine if an integer is a power of two.

Returns:
true if n is a power of two, otherwise false
Parameters:
n integer to test

template<typename T>
T lerp | ( | float | alpha,
 |  | const T & | v0,
 |  | const T & | v1
 | ) |

Linear interpolation between two values v0 and v1.

v = v0 + alpha * ( v1 - v0 )

Parameters:
alpha | interpolation parameter
v0 | starting value
v1 | ending value

int powerOfTwoBelow ( int n ) [inline]

Determine the largest integer power of two below an integer.

Returns:
largest power of two below n
Parameters:
n integer to use as the upper limit

float radToDeg ( float angle ) [inline]

Transform an angle in radian to degree.

Returns:
angle in degrees
Parameters:
angle angle in radians

template<typename T>
int sign ( const T & t )

Determine the sign of a scalar.

Returns:
sign of t
Parameters:
t scalar value

template<typename T>
float square ( const T & t )

Template to square an object of Type T.

Returns:
product of t with itself
Parameters:
t object to square

Variable Documentation

NVSG_API const Mat44f nvmath::cIdentity44f

global identity matrix.

const float nvmath::PI = 3.14159265358979323846f

constant PI

const float nvmath::PI_HALF = 1.57079632679489661923f

constant PI half

const float nvmath::PI_QUARTER = 0.78539816339744830962f

constant PI quarter

const float nvmath::SQRT_TWO = 1.41421356237309504880f

constant square root two

const float nvmath::SQRT_TWO_HALF = 0.70710678118654752440f

constant square root two half

NVSG_API const Sphere3f nvmath::cUnitSphere

global unit sphere.

Generated on Fri Jan 28 09:20:48 2005 for NVSGSDK by NVIDIA


nvsg Namespace Reference

Scenegrah classes - core NVSG. More...

Classes

class | AnimatedQuads
GeoSet for animated Quads. More...

class | AnimatedTransform
Class representing an animated transformation. More...

class | AnimatedTriangles
GeoSet for animated Triangles. More...

class | Animation
Class defining the common interface of an animation. More...

class | Camera
Base class for all camera types. More...

class | CgFx
Effect attribute. More...

class | CullData
Class holding culling information for an object and it's children. More...

class | DALHost
Device Abstraction Link (DAL) Host. More...

class | DALDataCreator
Creating DALData to be exchanged via a Device Abstraction Link requires this particular interface. More...

class | DALData
Device Abstraction Link Data. More...

class | DALServer
Device Abstraction Link Server. More...

class | DirectedLight
Class representing a directed light. More...

class | Drawable
Base class of all drawable objects. More...

class | NVSGException
struct | Face
Helper class for Quads and Triangles. More...

class | FaceAttributeData
Data of a FaceAttribute that is worth sharing. More...

class | FaceAttribute
StateAttribute that determines the render modes to use for the following geometries. More...

class | FramedAnimation
An Animation that holds a complete data set for each frame. More...

class | GeoNode
Node to hold a set of geometry. More...

class | GeoSet
Base class for Geometries. More...

class | Group
Group node. More...

class | HighlightBox
Base class for Highlighting objects that can be attached to Geosets. More...

class | HighlightEdges
Base class for Highlighting objects that can be attached to Geosets. More...

class | HighlightObject
Base class for Highlighting objects that can be attached to Geosets. More...

class | InterpolatedAnimation
Base class for an interpolating Animation. More...

class | JitterCamera
A jittering camera. More...

class | LightSource
Base class for representing all light sources. More...

class | LinearInterpolatedAnimation
An InterpolatedAnimation that performs linear interpolations between the key frames. More...

class | LOD
Level Of Detail class. More...

class | Material
StateAttribute that determines the material properties to use for the following geometries. More...

class | MonoCamera
A monoscopic camera. More...

class | Node
Base class for all nodes of the scene graph. More...

class | Object
Base class for all objects. More...

class | ParallelCamera
A parallel camera. More...

class | Path
Path representation in the tree. More...

class | PerspectiveCamera
A perspective camera. More...

class | SceneLoader
Pure virtual base class for NVSG scene loader plug-ins. More...

class | SceneSaver
Pure virtual base class for NVSG scene saver plug-ins. More...

class | PointLight
Class representing a point light. More...

class | Quads
GeoSet for Quads. More...

class | QuadStrips
GeoSet defining quad strips. More...

class | Scene
Shrink wrap class to subsume all scene related information. More...

class | SimpleCamera
A simple camera. More...

class | Bone
Internal helper class for SkinnedTriangles. More...

struct | Skin
Internal helper class for SkinnedTriangles. More...

class | SkinnedTriangles
GeoSet for animated Triangles. More...

class | SpotLight
Class representing a spot light. More...

class | StateAttribute
Pure virtual base class of all state attribute objects. More...

class | StateSet
Class to hold a list of StateAttributes. More...

class | StereoCamera
A stereoscopic camera. More...

class | Switch
Switch node. More...

class | Texture
Class to hold a texture. More...

class | TextureAttributeItemData
Data of a texture attribute item that is worth sharing. More...

class | TextureAttributeItem
Texture attribute item. More...

class | TextureAttribute
Texture attribute. More...

class | Transform
Transformation node. More...

class | Triangles
GeoSet for Triangles. More...

class | TriStrips
GeoSet defining triangle strips. More...

class | ViewState
Class to encapsulate the view specific states. More...

class | VNVector
Helper class for use in Animation. More...

Typedefs

typedef const CgFxEntity * | CgFxEntityHandle
Handle to a CgFxEntity.

typedef const CgFxAnnotation * | CgFxAnnotationHandle
Handle to a CgFxAnnotation.

typedef const CgFxParameter * | CgFxParameterHandle
Handle to a CgFxParameter.

typedef const CgFxTechnique * | CgFxTechniqueHandle
Handle to a CgFxTechnique.

typedef const CgFxPass * | CgFxPassHandle
Handle to a CgFxPass.

typedef std::pair< eCgFxSemantic,
CgFxParameterHandle > 		CgFxTransform
A pair of a eCgFxSemantic and a CgFxParameterHandle.

typedef unsigned long | HDAL
typedef void | NVSGERRORHANDLER (const NVSGException &)
typedef Face< 3 > | Face3
Shortcut for a 3-element face.

typedef Face< 4 > | Face4
Shortcut for a 4-element face.

typedef std::vector< unsigned
int > 		IndexSet
Shortcut for a vector of indices as used in TriStrips and QuadStrips.

typedef unsigned long long | DataID
64-bit save DataID.

Enumerations

enum eCgFxSemantic {
CGFX_SEMANTIC_UNKNOWN = 0, CGFX_SEMANTIC_WORLD, CGFX_SEMANTIC_FIRST_TRANSFORM = CGFX_SEMANTIC_WORLD, CGFX_SEMANTIC_VIEW,
CGFX_SEMANTIC_PROJECTION, CGFX_SEMANTIC_WORLDT, CGFX_SEMANTIC_VIEWT, CGFX_SEMANTIC_PROJECTIONT,
CGFX_SEMANTIC_WORLDI, CGFX_SEMANTIC_VIEWI, CGFX_SEMANTIC_PROJECTIONI, CGFX_SEMANTIC_WORLDIT,
CGFX_SEMANTIC_VIEWIT, CGFX_SEMANTIC_PROJECTIONIT, CGFX_SEMANTIC_WORLDVIEW, CGFX_SEMANTIC_WORLDVIEWPROJECTION,
CGFX_SEMANTIC_WORLDVIEWT, CGFX_SEMANTIC_WORLDVIEWPROJECTIONT, CGFX_SEMANTIC_WORLDVIEWI, CGFX_SEMANTIC_WORLDVIEWPROJECTIONI,
CGFX_SEMANTIC_WORLDVIEWIT, CGFX_SEMANTIC_WORLDVIEWPROJECTIONIT, CGFX_SEMANTIC_LAST_TRANSFORM = CGFX_SEMANTIC_WORLDVIEWPROJECTIONIT
}
enum | CullCode { CC_OUT, CC_IN, CC_PART }
ID to describe the cull code for an object. More...

enum | TextureCoordType { TCT_CYLINDRICAL, TCT_PLANAR, TCT_SPHERICAL }
Type to specify the type of texture coordinate to generate. More...

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...

enum | TextureType { TT_INVALID = 0, TT_TRANSPARENT = 1, TT_DIFFUSE = 3 }
Texture types. More...

enum | TexCoordAxis { TCA_S = 0, TCA_T, TCA_R, TCA_Q }
Texture coordinate axis. More...

enum TextureEnvMode {
TEM_REPLACE = 0, TEM_MODULATE, TEM_DECAL, TEM_BLEND,
TEM_ADD
}
Texture environment mode. More...

enum | TexGenLinearMode { TGML_OBJECT = 0, TGML_EYE }
Texture coordinate generation linear mode. More...

enum | TexGenMode { TGM_OFF = -1, TGM_OBJECT_LINEAR = TGML_OBJECT, TGM_EYE_LINEAR = TGML_EYE, TGM_SPHERE_MAP }
Texture coordinate generation mode. More...

enum | TextureWrapMode { TWM_REPEAT = 0, TWM_CLAMP, TWM_MIRROR }
Texture wrap mode. More...

enum | TextureMinFilterMode { TFM_MIN_NEAREST = 0, TFM_MIN_BILINEAR, TFM_MIN_TRILINEAR }
Texture minification mode. More...

enum | TextureMagFilterMode { TFM_MAG_NEAREST = 0, TFM_MAG_BILINEAR }
Texture magnification mode. More...

Functions

NVSG_API bool | CgFx_getTextureFileName (const CgFx *cgfx, CgFxParameterHandle hdl, std::string &file)
Get texture file name.

NVSG_API void | CgFx_setTextureFileName (CgFx *cgfx, CgFxParameterHandle hdl, const std::string &file)
Set texture file name.

const char * | getParameterName (CgFxParameterHandle hdl)
Get the name for a certain parameter.

const char * | getPassName (CgFxPassHandle hdl)
Get the name for a certain render pass.

const char * | getTechniqueName (CgFxTechniqueHandle hdl)
Get the name for a certain render technique.

const char * | getParameterSemantic (CgFxParameterHandle hdl)
Get the semantic for a certain parameter.

CgFXPARAMETERTYPE | getParameterType (CgFxParameterHandle hdl)
Get the type of a certain parameter.

bool | isParameterScalarType (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a scalar type.

bool | isParameterVector2Type (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a two-dimensional vector type.

bool | isParameterVector3Type (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a three-dimensional vector type.

bool | isParameterVector4Type (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a four-dimensional vector type.

bool | isParameterMatrix33Type (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a 3x3 matrix type.

bool | isParameterMatrix34Type (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a 3x4 matrix type.

bool | isParameterMatrix43Type (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a 4x3 matrix type.

bool | isParameterMatrix44Type (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a 4x4 matrix type.

bool | isParameterTextureType (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a texture type.

bool | isParameterSamplerType (CgFxParameterHandle hdl)
Detect if the parameter identified by hdl is a sampler type.

bool | isTechniqueValid (CgFxTechniqueHandle hdl)
Detect whether the technique identified by hdl is valid.

NVSGERRORHANDLER * | nvsgSetErrorHandler (NVSGERRORHANDLER *newErrorHandler)
NVSG_API void | nvsgInitialize (bool runInMultithreadedEnvironment=false)
Per-application initialization of NVSG global data.

NVSG_API void | nvsgTerminate ()
Per-application termination of nvsg global data.

NVSG_API void | getVersionString (std::string &string)
Get the version string of the NVSGSDK.

NVSG_API void | getSDKName (std::string &string)
Get the NVSGSDK name string.

NVSG_API void | getCopyrightString (std::string &string)
Get the NVSGSDK copyright string.

NVSG_API void | getVendorName (std::string &string)
Get the NVSGSDK vendor name.

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.

VNVector | lerp (float alpha, const VNVector &v0, const VNVector &v1)
Linear interpolation between two VNVector.

Variables

const HDAL | HDAL_INVALID
NVSGERRORHANDLER * nvsgErrorHandler

Detailed Description

Scenegrah classes - core NVSG.

This namespace contains all core NVSG classes. Put all the scenegraph and node related classes in here.

Typedef Documentation

typedef const CgFxEntity* nvsg::CgFxEntityHandle

Handle to a CgFxEntity.

typedef const CgFxAnnotation* nvsg::CgFxAnnotationHandle

Handle to a CgFxAnnotation.

typedef const CgFxParameter* nvsg::CgFxParameterHandle

Handle to a CgFxParameter.

typedef const CgFxTechnique* nvsg::CgFxTechniqueHandle

Handle to a CgFxTechnique.

typedef const CgFxPass* nvsg::CgFxPassHandle

Handle to a CgFxPass.

typedef std::pair<eCgFxSemantic, CgFxParameterHandle> nvsg::CgFxTransform

A pair of a eCgFxSemantic and a CgFxParameterHandle.

typedef void nvsg::NVSGERRORHANDLER(const NVSGException&)

A NVSG error handler routine is of this type

typedef Face<3> nvsg::Face3

Shortcut for a 3-element face.

typedef Face<4> nvsg::Face4

Shortcut for a 4-element face.

typedef std::vector<unsigned int> nvsg::IndexSet

Shortcut for a vector of indices as used in TriStrips and QuadStrips.

typedef unsigned long long nvsg::DataID

64-bit save DataID.

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

Enumeration Type Documentation

enum nvsg::eCgFxSemantic

Enumeration values:
CGFX_SEMANTIC_WORLD | Object to world transform.
CGFX_SEMANTIC_VIEW | World to eyespace transform.
CGFX_SEMANTIC_PROJECTION | Projection matrix.
CGFX_SEMANTIC_WORLDT | Transposed world transform.
CGFX_SEMANTIC_VIEWT | Transposed view transform.
CGFX_SEMANTIC_PROJECTIONT | Transposed projection matrix.
CGFX_SEMANTIC_WORLDI | World to object transform.
CGFX_SEMANTIC_VIEWI | Eyespace to world transform.
CGFX_SEMANTIC_PROJECTIONI | Inverse projection matrix.
CGFX_SEMANTIC_WORLDIT | Inverse transposed world transform.
CGFX_SEMANTIC_VIEWIT | Inverse transposed view transform.
CGFX_SEMANTIC_PROJECTIONIT | Inverse transposed projection matrix.
CGFX_SEMANTIC_WORLDVIEW | Concatenated modelview matrix.
CGFX_SEMANTIC_WORLDVIEWPROJECTION | Concatenated modelview projection matrix.
CGFX_SEMANTIC_WORLDVIEWT | Transposed modelview matrix.
CGFX_SEMANTIC_WORLDVIEWPROJECTIONT | Transposed modelview projection matrix.
CGFX_SEMANTIC_WORLDVIEWI | Inverse modelview matrix.
CGFX_SEMANTIC_WORLDVIEWPROJECTIONI | Inverse modelview projection matrix.
CGFX_SEMANTIC_WORLDVIEWIT | Inverse transposed modelview matrix.
CGFX_SEMANTIC_WORLDVIEWPROJECTIONIT | Inverse transposed modelview projection matrix.

enum nvsg::CullCode

ID to describe the cull code for an object.

Enumeration values:
CC_OUT | an object is completely outside
CC_IN | an object is completely inside
CC_PART | an object is partially in and partially out

enum nvsg::TextureCoordType

Type to specify the type of texture coordinate to generate.

There are three different types of texture coordinate generation available: cylindrical, planar, and spherical.

Enumeration values:
TCT_CYLINDRICAL | Puts a cylinder around the BoundingSphere with the z-axis as it's axis and projects the vertices of the GeoSet on it to get the texture coordinates.
TCT_PLANAR | Puts a plane in the x-y-plane and vertically projects the vertices of the GeoSet on that plane to the the texture coordinates.
TCT_SPHERICAL | Projects the vertices of the GeoSet radially on the BoundingSphere to get the texture coordinates.

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.

enum nvsg::TextureType

Texture types.

Enumeration values:
TT_INVALID | invalid texture type
TT_TRANSPARENT | transparent texture type - blending on
TT_DIFFUSE | diffuse texture

enum nvsg::TexCoordAxis

Texture coordinate axis.

enum nvsg::TextureEnvMode

Texture environment mode.

Enumeration values:
TEM_REPLACE | C = C_t; A = A_t.
TEM_MODULATE | C = C_f*C_t; A = A_f*A_t.
TEM_DECAL | C = C_f*(1-A_t)+C_t*A_t; A = A_f.
TEM_BLEND | C = C_f*(1-C_t)+C_c*C_t; A = A_f*A_t.
TEM_ADD | C = min(1,C_f+C_t); A = A_f*A_t.

enum nvsg::TexGenLinearMode

Texture coordinate generation linear mode.

enum nvsg::TexGenMode

Texture coordinate generation mode.

enum nvsg::TextureWrapMode

Texture wrap mode.

Enumeration values:
TWM_REPEAT | Corresponds to GL_REPEAT in OpenGL.
TWM_CLAMP | Corresponds to GL_CLAMP in OpenGL.
TWM_MIRROR | Corresponds to GL_MIRRORED_REPEAT_ARB in OpenGL.

enum nvsg::TextureMinFilterMode

Texture minification mode.

Enumeration values:
TFM_MIN_NEAREST | Corresponds to GL_NEAREST in OpenGL.
TFM_MIN_BILINEAR | Corresponds to GL_LINEAR in OpenGL.
TFM_MIN_TRILINEAR | Corresponds to GL_LINEAR_MIPMAP_LINEAR in OpenGL.

enum nvsg::TextureMagFilterMode

Texture magnification mode.

Enumeration values:
TFM_MAG_NEAREST | Corresponds to GL_NEAREST in OpenGL.
TFM_MAG_BILINEAR | Corresponds to GL_LINEAR in OpenGL.

Function Documentation

NVSG_API bool CgFx_getTextureFileName | ( | const CgFx * | cgfx,
 |  | CgFxParameterHandle | hdl,
 |  | std::string & | file
 | ) |

Get texture file name.

If a texture filename is available for a texture type parameter identified by hdl, this function obtains the texture file name in fname.

Returns:
true if a texture file name could be found, false otherwise.
Note:
It doesn't make sense to call this function for non-texture type parameters. It will not crash, though.

NVSG_API void CgFx_setTextureFileName | ( | CgFx * | cgfx,
 |  | CgFxParameterHandle | hdl,
 |  | const std::string & | file
 | ) |

Set texture file name.

For a texture type parameter identified by hdl, this function sets the texture file name to file.

Note:
Calling this function for non-texture type parameters yields undefind behaviour!

const char* getParameterName ( CgFxParameterHandle hdl ) [inline]

Get the name for a certain parameter.

Returns:
The name of the parameter identified by hdl.

const char* getPassName ( CgFxPassHandle hdl ) [inline]

Get the name for a certain render pass.

Returns:
The name of the pass identified by hdl.

const char* getTechniqueName ( CgFxTechniqueHandle hdl ) [inline]

Get the name for a certain render technique.

Returns:
The name of the technique identified by hdl.

const char* getParameterSemantic ( CgFxParameterHandle hdl ) [inline]

Get the semantic for a certain parameter.

Returns:
The semantic string for the parameter identified by hdl.

CgFXPARAMETERTYPE getParameterType ( CgFxParameterHandle hdl ) [inline]

Get the type of a certain parameter.

Returns:
The enum type for the parameter identified by hdl.

bool isParameterScalarType ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a scalar type.

Returns:
true if the parameter is a scalar type, false otherwise.

bool isParameterVector2Type ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a two-dimensional vector type.

Returns:
true if the parameter is a two-dimensional vector type, false otherwise.

bool isParameterVector3Type ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a three-dimensional vector type.

Returns:
true if the parameter is a three-dimensional vector type, false otherwise.

bool isParameterVector4Type ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a four-dimensional vector type.

Returns:
true if the parameter is a four-dimensional vector type, false otherwise.

bool isParameterMatrix33Type ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a 3x3 matrix type.

Returns:
true if the parameter is a 3x3 matrix type, false otherwise.

bool isParameterMatrix34Type ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a 3x4 matrix type.

Returns:
true if the parameter is a 3x4 matrix type, false otherwise.

bool isParameterMatrix43Type ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a 4x3 matrix type.

Returns:
true if the parameter is a 4x3 matrix type, false otherwise.

bool isParameterMatrix44Type ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a 4x4 matrix type.

Returns:
true if the parameter is a 4x4 matrix type, false otherwise.

bool isParameterTextureType ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a texture type.

Returns:
true if the parameter is a texture type, false otherwise.

bool isParameterSamplerType ( CgFxParameterHandle hdl ) [inline]

Detect if the parameter identified by hdl is a sampler type.

Returns:
true if the parameter is a sampler type, false otherwise.

bool isTechniqueValid ( CgFxTechniqueHandle hdl ) [inline]

Detect whether the technique identified by hdl is valid.

Returns:
true if the technique is valid, false otherwise.

NVSGERRORHANDLER* nvsgSetErrorHandler ( NVSGERRORHANDLER * newErrorHandler )

Replace the current NVSG error handler by newErrorHandler

Parameters

  • newErrorHandler The replacement for the currently used NVSG error handler routine.

Return Value A pointer to the formerly used error handler routine.

NVSG_API void nvsgInitialize ( bool runInMultithreadedEnvironment = false )

Per-application initialization of NVSG global data.

An application must call this routine once before any other NVSG API call. This routine properly initializes all global data required by the NVSG API.

In addition, this routine optionally configures the NVSG library to run safe in a multithreaded environment. This will be achieved by specifying true for the optional runInMultithreadedEnvironment parameter. For a singlethreaded environment, it is strongly recommended to either omit this parameter, or to specify false here. Making the NVSG library multithreaded safe requires some overhead, which might affect the runtime behavior in a singlethreaded environment.

It is recommended to call this routine inside the application's initial entry point.

Note:
The nvsg runtime behaviour is undefined if an application issues nvsg API calls without a prior call to this routine.
Parameters:
runInMultithreadedEnvironment Specifies whether to run in a multithreaded environment, or not. Specify false when running in a singlethreaded environment, true when running in a multithreaded environment.

NVSG_API void nvsgTerminate ( )

Per-application termination of nvsg global data.

It is strongly recommended to call this routine when the application terminates. This routine properly frees all global data required by the nvsg API.

Note:
The nvsg runtime behaviour is undefined if an application issues nvsg API calls after having called this routine.

NVSG_API void getVersionString ( std::string & string )

Get the version string of the NVSGSDK.

Parameters:
string string to hold the NVSGSDK version string

NVSG_API void getSDKName ( std::string & string )

Get the NVSGSDK name string.

Parameters:
string string to hold the NVSGSDK name string

NVSG_API void getCopyrightString ( std::string & string )

Get the NVSGSDK copyright string.

Parameters:
string string to hold the NVSGSDK coppyright string

NVSG_API void getVendorName ( std::string & string )

Get the NVSGSDK vendor name.

Parameters:
string string to hold the NVSGSDK vendor name string

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.

VNVector lerp | ( | float | alpha,
 |  | const VNVector & | v0,
 |  | const VNVector & | v1
 | ) | [inline]

Linear interpolation between two VNVector.

Performs a linear interpolation v = v0 + alpha * ( v1 - v0 ) of each corresponding vertex and normal of the two VNVector. The interpolated normals are normalized then.

Note:
The two VNVector are assumed to be the same size.
Returns:
a VNVector with the interpolated vertices and normals.
Parameters:
alpha | interpolation parameter
v0 | start value of interpolation
v1 | end value of interpolation

Variable Documentation

NVSGERRORHANDLER* nvsg::nvsgErrorHandler

Global pointer to the currently used NVSG error handler routine. Use the nvsgSetErrorHandler function to assign a new error handler routine .

Generated on Fri Jan 28 09:20:56 2005 for NVSGSDK by NVIDIA


nvtraverser Namespace Reference

Scenegraph traverser classes. More...

Classes

class | AppTraverser
AppTraverser Class. More...

class | CondenseTraverser
Traverser that can condense some drawables. More...

class | CullTraverser
Base class for different culling implementations. More...

class | DrawableUnifyTraverser
Traverser that combines Drawables under one GeoNode. More...

class | FrustumCullTraverser
CullTraverser culling on frustum information. More...

class | GeoNodeUnifyTraverser
Traverser that combines multiple GeoNodes under one Transform to a single one. More...

class | GLTraverser
RenderTraverser using OpenGL. More...

class | GLTraverser::StipplePatterns
struct | GLTraverser::VBOInfo
struct | GLTraverser::DLInfo
struct | GLTraverser::TexInfo
class | GroupUnifyTraverser
Traverser that deletes unneccessary Groups. More...

class | IdentityToGroupTraverser
Traverser that replaces identity transforms by groups. More...

class | ModelViewTraverser
Traverser that can handle the model view transform stack. More...

class | OcclusionCullGLTraverser
GLTraverser internally used by the OcclusionCullTraverser. More...

class | OcclusionCullTraverser
CullTraverser culling on occlusion information. More...

class | Intersection
Intersection class. More...

class | RayIntersectTraverser
RayIntersectTraverser. More...

class | RenderTraverser
Pure virtual render traverser class. More...

class | SearchTraverser
Traverser for searching all objects of one class type. More...

class | SmoothTraverser
Traverser that can smooth some drawables. More...

class | StateSetUnifyTraverser
Traverser that unifies identical StateSets. More...

class | StrippingTraverser
Traverser to convert Triangles to TriStrips, and Quads to QuadStrips. More...

class | TransformUnifyTraverser
Traverser that unifies identical Transforms. More...

class | Traverser
Base class providing an interface for read-write traversing of a given scene graph. More...

class | TriangulateTraverser
Traverser that converts all flavors of quads to triangles. More...

Enumerations

enum | { RT_GL = 0x00010000, RT_DX8 = 0x00020000, RT_DX9 = 0x00040000 }

Detailed Description

Scenegraph traverser classes.

This namespace is the collection of the scenegraph traverser classes. Currently we have two base kinds of traversers: const and non const traversers. Const traverser are not allowed to change anything in the tree, where non const traverser are allowed to change/manipulate the tree.

Generated on Fri Jan 28 09:21:55 2005 for NVSGSDK by NVIDIA


nvui Namespace Reference

User interface and interaction classes. More...

Classes

class | AnimationCamManip
Animation Camera Manipulator Class. More...

class | CameraManipulator
Camera manipulator base class. More...

class | FlightCamManip
Flight Camera Manipulator Class. More...

class | GLWinRenderArea
OpenGL render area. More...

class | RenderArea
The render area is the place where the actual drawing takes place. More...

class | TrackballCamManip
Trackball Camera Manipulator. More...

class | WalkCamManip
Walk Camera Manipulator Class. More...

Detailed Description

User interface and interaction classes.

This namespace contains mainly user interface classes like camera manipulators, render areas, render windows, etc... Add all the interfaces and classes that interact more or less directly with the user into this namespace.

Generated on Fri Jan 28 09:22:22 2005 for NVSGSDK by NVIDIA


nvutil::IO Namespace Reference

IO namespace. More...

Functions

NVSG_API void errorMessage (const std::string &caption, const std::string &msg, bool resume)
Pop up an error message.

Detailed Description

IO namespace.

The IO namespace has been introduced as an additional layer to maintain platform independency for input/output related functionality.

Function Documentation

NVSG_API void errorMessage | ( | const std::string & | caption,
 |  | const std::string & | msg,
 |  | bool | resume
 | ) |

Pop up an error message.

This function pops up a dialog showing the error message msg. The dialog box will show \ a caption as caption. The boolean parameter resume forces a visual feedback for whether subsequent code will be resumed or not.

Note:
This function is only implemented for win32 and win64 systems by now.
Parameters:
caption | The dialog's caption string
msg | The error message string.
resume | true if subsequent code will be resumed, false otherwise.

Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Module Index

NVSGSDK Modules

Here is a list of all modules:
  • Logging a certain test results
    • Macros providing initialization of certain test modes for logging
    • Macros providing formatted output relevant for a certain test modes
    • Macros to inquire if logging is enabled for a certain test mode
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Logging a certain test results

Modules

group | Macros providing initialization of certain test modes for logging
group | Macros providing formatted output relevant for a certain test modes
group | Macros to inquire if logging is enabled for a certain test mode

Classes

class | Log
Logging test results. More...

Typedefs

typedef void | nvutil::LOG_OUTPUT_FUNCTION (const char *)
Type of output function to use with Log class objects.

typedef Singleton< Log< TM_TEST,
logFileOutput > > 		nvutil::LogTest
Dedicated type for general test logging.

typedef Singleton< Log< TM_BENCH_TEST,
logFileOutput > > 		nvutil::LogBenchTest
Dedicated type for benchmark test logging.

typedef Singleton< Log< TM_SHADER_TEST,
logFileOutput > > 		nvutil::LogShaderTest
Dedicated type for shader test logging.

Enumerations

enum | nvutil::TESTMODE { nvutil::TM_NONE = 0, nvutil::TM_TEST, nvutil::TM_BENCH_TEST, nvutil::TM_SHADER_TEST }
Test modes available for logging. More...

Functions

void | nvutil::Log::init (bool enable)
Initialization.

void | nvutil::Log::format (const char *fmt,...) const
Formatted output.

bool | nvutil::Log::isEnabled () const
Determine whether a certain test mode is enabled.

Variables

NVSG_API LOG_OUTPUT_FUNCTION | nvutil::logFileOutput
Function to log into a file.

Typedef Documentation

typedef void nvutil::LOG_OUTPUT_FUNCTION(const char *)

Type of output function to use with Log class objects.

typedef Singleton< Log<TM_TEST, logFileOutput> > nvutil::LogTest

Dedicated type for general test logging.

typedef Singleton< Log<TM_BENCH_TEST, logFileOutput> > nvutil::LogBenchTest

Dedicated type for benchmark test logging.

typedef Singleton< Log<TM_SHADER_TEST, logFileOutput> > nvutil::LogShaderTest

Dedicated type for shader test logging.

Enumeration Type Documentation

enum nvutil::TESTMODE

Test modes available for logging.

Enumeration values:
TM_NONE | None of the following modes enabled.
TM_TEST | Any test mode.
TM_BENCH_TEST | Bench test relevant logging.
TM_SHADER_TEST | Shader test relevant logging.

Function Documentation

template<TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
void nvutil::Log< TestMode, OutputFn >::init ( bool enable ) [inline, inherited]

Initialization.

Based on enable, decides wether to output or not.

Parameters:
enable Enable logging if true.

template<TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
void nvutil::Log< TestMode, OutputFn >::format | ( | const char * | fmt,
 |  | ... |
 | ) | const [inline, inherited]

Formatted output.

Outputs the format string fmt using OutputFn.

Parameters:
fmt Format string.

template<TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
bool nvutil::Log< TestMode, OutputFn >::isEnabled ( ) const [inline, inherited]

Determine whether a certain test mode is enabled.

Returns:
true if output is enabled, fasle otherwise.

Variable Documentation

NVSG_API LOG_OUTPUT_FUNCTION nvutil::logFileOutput

Function to log into a file.

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Macros providing initialization of certain test modes for logging

Macros providing initialization of certain test modes for logging
[Logging a certain test results]

Defines

#define | __LOG_TEST_INIT(TM) nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)
Initialize general test logging.

#define | __LOG_BENCH_TEST_INIT(TM) nvutil::LogBenchTest::instance()->init(TM==nvutil::TM_BENCH_TEST)
Initialize benchmark test logging.

#define | __LOG_SHADER_TEST_INIT(TM) nvutil::LogShaderTest::instance()->init(TM==nvutil::TM_SHADER_TEST)
Ininialize shader test logging.

Detailed Description

By default, logging is disabled for all test modes. This macros can be used to initialize logging for a certain test mode:
 __LOG_BENCH_TEST_INIT(testmode)  // enable bench test looging if testmode==TM_BENCH_TEST
 __LOG_SHADER_TEST_INIT(testmode) // enable shader test logging if testmode==TM_SHADER_TEST

Define Documentation

#define __LOG_TEST_INIT ( TM ) nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)

Initialize general test logging.

Enables general test logging if TM equals any test mode but TM_NONE.

#define __LOG_BENCH_TEST_INIT ( TM ) nvutil::LogBenchTest::instance()->init(TM==nvutil::TM_BENCH_TEST)

Initialize benchmark test logging.

Enables benchmark test logging if TM equals TM_BENCH_TEST.

#define __LOG_SHADER_TEST_INIT ( TM ) nvutil::LogShaderTest::instance()->init(TM==nvutil::TM_SHADER_TEST)

Ininialize shader test logging.

Enables shader test logging if TM equals TM_SHADER_TEST.

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Macros providing formatted output relevant for a certain test modes

Macros providing formatted output relevant for a certain test modes
[Logging a certain test results]

Defines

#define | __LOG_TEST(s) { if ( nvutil::LogTest::instance()->isEnabled() ) { nvutil::LogTest::instance()->format s; } }
Output test relevant format string s if output is enabled.

#define | __LOG_BENCH_TEST(s) { if ( nvutil::LogBenchTest::instance()->isEnabled() ) { nvutil::LogBenchTest::instance()->format s; } }
Output benchmark test relevant format string s if output is enabled.

#define | __LOG_SHADER_TEST(s) { if ( nvutil::LogShaderTest::instance()->isEnabled() ) { nvutil::LogShaderTest::instance()->format s; } }
Output shader test relevant format string s if output is enabled.

Detailed Description

These macros will only output if a specified test mode was enabled before, using the matching __LOG_TEST_INIT macro.
Note:
As macros cannot handle optional arguments as used with format strings, clients must use extra brackets for the argument:
 __LOG_SHADER_TEST(( "Error: %X\n", getErrCode() ));

Define Documentation

#define __LOG_TEST ( s ) { if ( nvutil::LogTest::instance()->isEnabled() ) { nvutil::LogTest::instance()->format s; } }

Output test relevant format string s if output is enabled.

#define __LOG_BENCH_TEST ( s ) { if ( nvutil::LogBenchTest::instance()->isEnabled() ) { nvutil::LogBenchTest::instance()->format s; } }

Output benchmark test relevant format string s if output is enabled.

#define __LOG_SHADER_TEST ( s ) { if ( nvutil::LogShaderTest::instance()->isEnabled() ) { nvutil::LogShaderTest::instance()->format s; } }

Output shader test relevant format string s if output is enabled.

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Macros to inquire if logging is enabled for a certain test mode

Macros to inquire if logging is enabled for a certain test mode
[Logging a certain test results]

Defines

#define | __LOG_TEST_ENABLED() nvutil::LogTest::instance()->isEnabled()
Query if any test is enabled.

#define | __LOG_BENCH_TEST_ENABLED() nvutil::LogBenchTest::instance()->isEnabled()
Query if benchmark test is enabled.

#define | __LOG_SHADER_TEST_ENABLED() nvutil::LogShaderTest::instance()->isEnabled()
Query if shader test is enabled.

Detailed Description

This macros all can be used in conditional statements:
 if ( __LOG_BENCH_TEST_ENABLED() )
 {
    // ...
 }

Define Documentation

#define __LOG_TEST_ENABLED ( ) nvutil::LogTest::instance()->isEnabled()

Query if any test is enabled.

#define __LOG_BENCH_TEST_ENABLED ( ) nvutil::LogBenchTest::instance()->isEnabled()

Query if benchmark test is enabled.

#define __LOG_SHADER_TEST_ENABLED ( ) nvutil::LogShaderTest::instance()->isEnabled()

Query if shader test is enabled.

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


File Member Index

All | Functions | Variables | Typedefs | Enumeration values | Defines
_ | b | f | g | i | n | o | q | r | t | u

Here is a list of all documented file members with links to the documentation:

- _ -

  • __ASSERT_CONTEXT : GLTraverser.h
  • __LOG_BENCH_TEST : Log.h
  • __LOG_BENCH_TEST_ENABLED : Log.h
  • __LOG_BENCH_TEST_INIT : Log.h
  • __LOG_FILE__ : Log.h
  • __LOG_SHADER_TEST : Log.h
  • __LOG_SHADER_TEST_ENABLED : Log.h
  • __LOG_SHADER_TEST_INIT : Log.h
  • __LOG_TEST : Log.h
  • __LOG_TEST_ENABLED : Log.h
  • __LOG_TEST_INIT : Log.h

- b -

  • byte_t : NBF.h

- f -

  • float2_t : NBF.h
  • float3_t : NBF.h
  • float4_t : NBF.h

- g -

  • getPlugInterface() : NVSGSaver.h, WRLLoader.h, NVSGLoader.h, NVBLoader.h

- i -

  • int_t : NBF.h

- n -

  • NBF_ANIMATED_QUADS : NBF.h
  • NBF_ANIMATED_TRANSFORM : NBF.h
  • NBF_ANIMATED_TRIANGLES : NBF.h
  • NBF_BIG_ENDIAN : NBF.h
  • NBF_CGFX : NBF.h
  • NBF_CUSTOM_OBJECT : NBF.h
  • NBF_DIRECTED_LIGHT : NBF.h
  • NBF_FACE_ATTRIBUTE : NBF.h
  • NBF_FRAMED_TRAFO_ANIMATION : NBF.h
  • NBF_FRAMED_VNVECTOR_ANIMATION : NBF.h
  • NBF_GEO_NODE : NBF.h
  • NBF_GROUP : NBF.h
  • NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION : NBF.h
  • NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION : NBF.h
  • NBF_LITTLE_ENDIAN : NBF.h
  • NBF_LOD : NBF.h
  • NBF_MATERIAL : NBF.h
  • NBF_PARALLEL_CAMERA : NBF.h
  • NBF_PERSPECTIVE_CAMERA : NBF.h
  • NBF_POINT_LIGHT : NBF.h
  • NBF_QUADS : NBF.h
  • NBF_QUADSTRIPS : NBF.h
  • NBF_SKINNED_TRIANGLES : NBF.h
  • NBF_SPOT_LIGHT : NBF.h
  • NBF_STATE_SET : NBF.h
  • NBF_SWITCH : NBF.h
  • NBF_TEXTURE_ATTRIBUTE : NBF.h
  • NBF_TEXTURE_ATTRIBUTE_ITEM : NBF.h
  • NBF_TRANSFORM : NBF.h
  • NBF_TRIANGLES : NBF.h
  • NBF_TRISTRIPS : NBF.h
  • NBF_UNKNOWN : NBF.h
  • NBF_VER_BUGFIX : NBF.h
  • NBF_VER_MAJOR : NBF.h
  • NBF_VER_MINOR : NBF.h

- o -

  • operator new() : DbgNew.h
  • operator new[]() : DbgNew.h

- q -

  • queryPlugInterfaceType() : NVSGSaver.h, WRLLoader.h, NVSGLoader.h, NVBLoader.h

- r -

  • REG_NV_TRACE_SUBKEY : Trace.h

- t -

  • TRACE_LOG_FILE : Trace.h

- u -

  • ubyte_t : NBF.h
  • uint64_t : NBF.h
  • uint_t : NBF.h
  • UPITID_SCENE_LOADER : PlugInterfaceID.h
  • UPITID_SCENE_SAVER : PlugInterfaceID.h
  • UPITID_TEXTURE_LOADER : PlugInterfaceID.h
  • UPITID_VERSION : PlugInterfaceID.h
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Namespace Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values
a | c | d | e | f | g | i | l | n | o | p | r | s | t | w

Here is a list of all documented namespace members with links to the namespaces they belong to:

- a -

  • areOfSameType() : nvsg

- c -

  • CC_IN : nvsg
  • CC_OUT : nvsg
  • CC_PART : nvsg
  • CgFx_getTextureFileName() : nvsg
  • CGFX_SEMANTIC_PROJECTION : nvsg
  • CGFX_SEMANTIC_PROJECTIONI : nvsg
  • CGFX_SEMANTIC_PROJECTIONIT : nvsg
  • CGFX_SEMANTIC_PROJECTIONT : nvsg
  • CGFX_SEMANTIC_VIEW : nvsg
  • CGFX_SEMANTIC_VIEWI : nvsg
  • CGFX_SEMANTIC_VIEWIT : nvsg
  • CGFX_SEMANTIC_VIEWT : nvsg
  • CGFX_SEMANTIC_WORLD : nvsg
  • CGFX_SEMANTIC_WORLDI : nvsg
  • CGFX_SEMANTIC_WORLDIT : nvsg
  • CGFX_SEMANTIC_WORLDT : nvsg
  • CGFX_SEMANTIC_WORLDVIEW : nvsg
  • CGFX_SEMANTIC_WORLDVIEWI : nvsg
  • CGFX_SEMANTIC_WORLDVIEWIT : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTION : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTIONI : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTIONIT : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTIONT : nvsg
  • CGFX_SEMANTIC_WORLDVIEWT : nvsg
  • CgFx_setTextureFileName() : nvsg
  • CgFxAnnotationHandle : nvsg
  • CgFxEntityHandle : nvsg
  • CgFxParameterHandle : nvsg
  • CgFxPassHandle : nvsg
  • CgFxTechniqueHandle : nvsg
  • CgFxTransform : nvsg
  • cIdentity44f : nvmath
  • clamp() : nvmath
  • CullCode : nvsg
  • cUnitSphere : nvmath

- d -

  • DataID : nvsg
  • degToRad() : nvmath

- e -

  • eCgFxSemantic : nvsg
  • errorMessage() : nvutil::IO

- f -

  • Face3 : nvsg
  • Face4 : nvsg

- g -

  • getCopyrightString() : nvsg
  • getParameterName() : nvsg
  • getParameterSemantic() : nvsg
  • getParameterType() : nvsg
  • getPassName() : nvsg
  • getSDKName() : nvsg
  • getTechniqueName() : nvsg
  • getVendorName() : nvsg
  • getVersionString() : nvsg
  • GLAccum() : nvgl
  • GLActiveTexture() : nvgl
  • GLAlphaFunc() : nvgl
  • GLAreTexturesResident() : nvgl
  • GLArrayElement() : nvgl
  • GLBegin() : nvgl
  • GLBeginOcclusionQuery() : nvgl
  • GLBeginQuery() : nvgl
  • GLBindBufferARB() : nvgl
  • GLBindProgram() : nvgl
  • GLBindTexture() : nvgl
  • GLBitmap() : nvgl
  • GLBlendFunc() : nvgl
  • GLBufferDataARB() : nvgl
  • GLBufferSubDataARB() : nvgl
  • GLCallList() : nvgl
  • GLCallLists() : nvgl
  • GLClear() : nvgl
  • GLClearAccum() : nvgl
  • GLClearColor() : nvgl
  • GLClearDepth() : nvgl
  • GLClearIndex() : nvgl
  • GLClearStencil() : nvgl
  • GLClientActiveTexture() : nvgl
  • GLClipPlane() : nvgl
  • GLColor3b() : nvgl
  • GLColor3d() : nvgl
  • GLColor3f() : nvgl
  • GLColor3fv() : nvgl
  • GLColor3i() : nvgl
  • GLColor3s() : nvgl
  • GLColor3ub() : nvgl
  • GLColor3ui() : nvgl
  • GLColor3us() : nvgl
  • GLColor4b() : nvgl
  • GLColor4d() : nvgl
  • GLColor4f() : nvgl
  • GLColor4i() : nvgl
  • GLColor4s() : nvgl
  • GLColor4ub() : nvgl
  • GLColor4ui() : nvgl
  • GLColor4us() : nvgl
  • GLColorMask() : nvgl
  • GLColorMaterial() : nvgl
  • GLColorPointer() : nvgl
  • GLCompressedTexImage1D() : nvgl
  • GLCompressedTexImage2D() : nvgl
  • GLCompressedTexImage3D() : nvgl
  • glContext : nvgl
  • GLCopyPixels() : nvgl
  • GLCopyTexImage1D() : nvgl
  • GLCopyTexImage2D() : nvgl
  • GLCopyTexSubImage1D() : nvgl
  • GLCopyTexSubImage2D() : nvgl
  • GLCullFace() : nvgl
  • GLDeleteBuffersARB() : nvgl
  • GLDeleteLists() : nvgl
  • GLDeleteOcclusionQueries() : nvgl
  • GLDeletePrograms() : nvgl
  • GLDeleteQueries() : nvgl
  • GLDeleteTextures() : nvgl
  • GLDepthFunc() : nvgl
  • GLDepthMask() : nvgl
  • GLDepthRange() : nvgl
  • GLDisable() : nvgl
  • GLDisableClientState() : nvgl
  • GLDrawArrays() : nvgl
  • GLDrawBuffer() : nvgl
  • GLDrawElements() : nvgl
  • GLDrawPixels() : nvgl
  • GLDrawRangeElements() : nvgl
  • GLEdgeFlag() : nvgl
  • GLEdgeFlagPointer() : nvgl
  • GLEdgeFlagv() : nvgl
  • GLEnable() : nvgl
  • GLEnableClientState() : nvgl
  • GLEnd() : nvgl
  • GLEndList() : nvgl
  • GLEndOcclusionQuery() : nvgl
  • GLEndQuery() : nvgl
  • glError : nvgl
  • GLEvalCoord1d() : nvgl
  • GLEvalCoord1f() : nvgl
  • GLEvalCoord2d() : nvgl
  • GLEvalCoord2f() : nvgl
  • GLEvalMesh1() : nvgl
  • GLEvalMesh2() : nvgl
  • GLEvalPoint1() : nvgl
  • GLEvalPoint2() : nvgl
  • GLFeedbackBuffer() : nvgl
  • GLFinish() : nvgl
  • GLFlush() : nvgl
  • GLFogCoordPointer() : nvgl
  • GLFogf() : nvgl
  • GLFogfv() : nvgl
  • GLFogi() : nvgl
  • GLFogiv() : nvgl
  • GLFrontFace() : nvgl
  • GLFrustum() : nvgl
  • GLGenBuffersARB() : nvgl
  • GLGenLists() : nvgl
  • GLGenOcclusionQueries() : nvgl
  • GLGenPrograms() : nvgl
  • GLGenQueries() : nvgl
  • GLGenTextures() : nvgl
  • GLGetBooleanv() : nvgl
  • GLGetClipPlane() : nvgl
  • GLGetDoublev() : nvgl
  • GLGetFloatv() : nvgl
  • GLGetIntegerv() : nvgl
  • GLGetLightfv() : nvgl
  • GLGetLightiv() : nvgl
  • GLGetMapdv() : nvgl
  • GLGetMapfv() : nvgl
  • GLGetMapiv() : nvgl
  • GLGetMaterialfv() : nvgl
  • GLGetMaterialiv() : nvgl
  • GLGetOcclusionQueryuiv() : nvgl
  • GLGetPixelMapfv() : nvgl
  • GLGetPixelMapuiv() : nvgl
  • GLGetPixelMapusv() : nvgl
  • GLGetPointerv() : nvgl
  • GLGetPolygonStipple() : nvgl
  • GLGetQueryiv() : nvgl
  • GLGetQueryObjectiv() : nvgl
  • GLGetQueryObjectuiv() : nvgl
  • GLGetString() : nvgl
  • GLGetTexEnvfv() : nvgl
  • GLGetTexEnviv() : nvgl
  • GLGetTexGendv() : nvgl
  • GLGetTexGenfv() : nvgl
  • GLGetTexGeniv() : nvgl
  • GLGetTexImage() : nvgl
  • GLGetTexLevelParameterfv() : nvgl
  • GLGetTexLevelParameteriv() : nvgl
  • GLGetTexParameterfv() : nvgl
  • GLGetTexParameteriv() : nvgl
  • GLHint() : nvgl
  • GLIndexd() : nvgl
  • GLIndexf() : nvgl
  • GLIndexi() : nvgl
  • GLIndexMask() : nvgl
  • GLIndexPointer() : nvgl
  • GLIndexs() : nvgl
  • GLIndexub() : nvgl
  • GLInitNames() : nvgl
  • GLInterleavedArrays() : nvgl
  • GLIsBufferARB() : nvgl
  • GLIsEnabled() : nvgl
  • GLIsList() : nvgl
  • GLIsOcclusionQuery() : nvgl
  • GLIsProgram() : nvgl
  • GLIsQuery() : nvgl
  • GLIsTexture() : nvgl
  • GLLightf() : nvgl
  • GLLightfv() : nvgl
  • GLLighti() : nvgl
  • GLLightiv() : nvgl
  • GLLightModelf() : nvgl
  • GLLightModelfv() : nvgl
  • GLLightModeli() : nvgl
  • GLLightModeliv() : nvgl
  • GLLineStipple() : nvgl
  • GLLineWidth() : nvgl
  • GLListBase() : nvgl
  • GLLoadIdentity() : nvgl
  • GLLoadMatrixd() : nvgl
  • GLLoadMatrixf() : nvgl
  • GLLoadName() : nvgl
  • GLLoadProgram() : nvgl
  • GLLogicOp() : nvgl
  • GLMap1d() : nvgl
  • GLMap1f() : nvgl
  • GLMap2d() : nvgl
  • GLMap2f() : nvgl
  • GLMapBufferARB() : nvgl
  • GLMapGrid1d() : nvgl
  • GLMapGrid1f() : nvgl
  • GLMapGrid2d() : nvgl
  • GLMapGrid2f() : nvgl
  • GLMaterialf() : nvgl
  • GLMaterialfv() : nvgl
  • GLMateriali() : nvgl
  • GLMaterialiv() : nvgl
  • GLMatrixMode() : nvgl
  • GLMultiDrawElements() : nvgl
  • GLMultiTexCoord2f() : nvgl
  • GLMultMatrixd() : nvgl
  • GLMultMatrixf() : nvgl
  • GLNewList() : nvgl
  • GLNormal3b() : nvgl
  • GLNormal3bv() : nvgl
  • GLNormal3d() : nvgl
  • GLNormal3dv() : nvgl
  • GLNormal3f() : nvgl
  • GLNormal3fv() : nvgl
  • GLNormal3i() : nvgl
  • GLNormal3iv() : nvgl
  • GLNormal3s() : nvgl
  • GLNormal3sv() : nvgl
  • GLNormalPointer() : nvgl
  • GLOrtho() : nvgl
  • GLPassThrough() : nvgl
  • GLPixelMapfv() : nvgl
  • GLPixelMapuiv() : nvgl
  • GLPixelMapusv() : nvgl
  • GLPixelStoref() : nvgl
  • GLPixelStorei() : nvgl
  • GLPixelTransferf() : nvgl
  • GLPixelTransferi() : nvgl
  • GLPixelZoom() : nvgl
  • GLPointSize() : nvgl
  • GLPolygonMode() : nvgl
  • GLPolygonOffset() : nvgl
  • GLPolygonStipple() : nvgl
  • GLPopAttrib() : nvgl
  • GLPopClientAttrib() : nvgl
  • GLPopMatrix() : nvgl
  • GLPopName() : nvgl
  • GLPrioritizeTextures() : nvgl
  • GLProgramNamedParameter4f() : nvgl
  • GLPushAttrib() : nvgl
  • GLPushClientAttrib() : nvgl
  • GLPushMatrix() : nvgl
  • GLPushName() : nvgl
  • GLRasterPos2d() : nvgl
  • GLRasterPos2f() : nvgl
  • GLRasterPos2i() : nvgl
  • GLRasterPos2s() : nvgl
  • GLRasterPos3d() : nvgl
  • GLRasterPos3f() : nvgl
  • GLRasterPos3i() : nvgl
  • GLRasterPos3s() : nvgl
  • GLRasterPos4d() : nvgl
  • GLRasterPos4f() : nvgl
  • GLRasterPos4i() : nvgl
  • GLRasterPos4s() : nvgl
  • GLReadBuffer() : nvgl
  • GLReadPixels() : nvgl
  • GLRectd() : nvgl
  • GLRectf() : nvgl
  • GLRecti() : nvgl
  • GLRects() : nvgl
  • GLRenderMode() : nvgl
  • GLRotated() : nvgl
  • GLRotatef() : nvgl
  • GLScaled() : nvgl
  • GLScalef() : nvgl
  • GLScissor() : nvgl
  • GLSecondaryColorPointer() : nvgl
  • GLSelectBuffer() : nvgl
  • GLSetWindowStereoMode() : nvgl
  • GLShadeModel() : nvgl
  • GLStencilFunc() : nvgl
  • GLStencilMask() : nvgl
  • GLStencilOp() : nvgl
  • GLTexCoord1d() : nvgl
  • GLTexCoord1f() : nvgl
  • GLTexCoord1i() : nvgl
  • GLTexCoord1s() : nvgl
  • GLTexCoord2d() : nvgl
  • GLTexCoord2f() : nvgl
  • GLTexCoord2fv() : nvgl
  • GLTexCoord2i() : nvgl
  • GLTexCoord2s() : nvgl
  • GLTexCoord3d() : nvgl
  • GLTexCoord3f() : nvgl
  • GLTexCoord3i() : nvgl
  • GLTexCoord3s() : nvgl
  • GLTexCoord4d() : nvgl
  • GLTexCoord4f() : nvgl
  • GLTexCoord4i() : nvgl
  • GLTexCoord4s() : nvgl
  • GLTexCoordPointer() : nvgl
  • GLTexEnvf() : nvgl
  • GLTexEnvfv() : nvgl
  • GLTexEnvi() : nvgl
  • GLTexEnviv() : nvgl
  • GLTexGend() : nvgl
  • GLTexGenf() : nvgl
  • GLTexGenfv() : nvgl
  • GLTexGeni() : nvgl
  • GLTexImage1D() : nvgl
  • GLTexImage2D() : nvgl
  • GLTexImage3D() : nvgl
  • GLTexParameterf() : nvgl
  • GLTexParameterfv() : nvgl
  • GLTexParameteri() : nvgl
  • GLTexParameteriv() : nvgl
  • GLTexSubImage1D() : nvgl
  • GLTexSubImage2D() : nvgl
  • GLTranslated() : nvgl
  • GLTranslatef() : nvgl
  • GLUnmapBufferARB() : nvgl
  • GLVertex2d() : nvgl
  • GLVertex2f() : nvgl
  • GLVertex2i() : nvgl
  • GLVertex2s() : nvgl
  • GLVertex3d() : nvgl
  • GLVertex3f() : nvgl
  • GLVertex3fv() : nvgl
  • GLVertex3i() : nvgl
  • GLVertex3s() : nvgl
  • GLVertex4d() : nvgl
  • GLVertex4f() : nvgl
  • GLVertex4i() : nvgl
  • GLVertex4s() : nvgl
  • GLVertexPointer() : nvgl
  • GLViewport() : nvgl

- i -

  • IndexSet : nvsg
  • isParameterMatrix33Type() : nvsg
  • isParameterMatrix34Type() : nvsg
  • isParameterMatrix43Type() : nvsg
  • isParameterMatrix44Type() : nvsg
  • isParameterSamplerType() : nvsg
  • isParameterScalarType() : nvsg
  • isParameterTextureType() : nvsg
  • isParameterVector2Type() : nvsg
  • isParameterVector3Type() : nvsg
  • isParameterVector4Type() : nvsg
  • isPowerOfTwo() : nvmath
  • isTechniqueValid() : nvsg
  • isTypeOf() : nvsg

- l -

  • lerp() : nvsg, nvmath

- n -

  • nvsgErrorHandler : nvsg
  • NVSGERRORHANDLER : nvsg
  • nvsgInitialize() : nvsg
  • nvsgSetErrorHandler() : nvsg
  • nvsgTerminate() : nvsg

- o -

  • OC_ANIMATEDQUADS : nvsg
  • OC_ANIMATEDTRANSFORM : nvsg
  • OC_ANIMATEDTRIANGLES : nvsg
  • OC_ANIMATION : nvsg
  • OC_CAMERA : nvsg
  • OC_CGFX : nvsg
  • OC_CUSTOMOBJECT : nvsg
  • OC_DIRECTEDLIGHT : nvsg
  • OC_DRAWABLES : nvsg
  • OC_FACEATTRIBUTE : nvsg
  • OC_FRAMEDTRAFOANIMATION : nvsg
  • OC_FRAMEDVNVECTORANIMATION : nvsg
  • OC_GEONODE : nvsg
  • OC_GEOSET : nvsg
  • OC_GROUP : nvsg
  • OC_HIGHLIGHTBOX : nvsg
  • OC_HIGHLIGHTEDGES : nvsg
  • OC_HIGHLIGHTOBJECT : nvsg
  • OC_INVALID : nvsg
  • OC_JITTERCAMERA : nvsg
  • OC_LINEARINTERPOLATEDTRAFOANIMATION : nvsg
  • OC_LINEARINTERPOLATEDVNVECTORANIMATION : nvsg
  • OC_LOD : nvsg
  • OC_MATERIAL : nvsg
  • OC_NODE : nvsg
  • OC_OBJECT : nvsg
  • OC_PARALLELCAMERA : nvsg
  • OC_PERSPECTIVECAMERA : nvsg
  • OC_POINTLIGHT : nvsg
  • OC_QUADS : nvsg
  • OC_QUADSTRIPS : nvsg
  • OC_SKINNEDTRIANGLES : nvsg
  • OC_SPOTLIGHT : nvsg
  • OC_STATEATTRIBUTE : nvsg
  • OC_STATESET : nvsg
  • OC_STEREOCAMERA : nvsg
  • OC_SWITCH : nvsg
  • OC_TEXTUREATTRIBUTE : nvsg
  • OC_TEXTUREATTRIBUTEITEM : nvsg
  • OC_TRANSFORM : nvsg
  • OC_TRIANGLES : nvsg
  • OC_TRISTRIPS : nvsg

- p -

  • PI : nvmath
  • PI_HALF : nvmath
  • PI_QUARTER : nvmath
  • powerOfTwoBelow() : nvmath

- r -

  • radToDeg() : nvmath

- s -

  • sign() : nvmath
  • SQRT_TWO : nvmath
  • SQRT_TWO_HALF : nvmath
  • square() : nvmath

- t -

  • TCT_CYLINDRICAL : nvsg
  • TCT_PLANAR : nvsg
  • TCT_SPHERICAL : nvsg
  • TEM_ADD : nvsg
  • TEM_BLEND : nvsg
  • TEM_DECAL : nvsg
  • TEM_MODULATE : nvsg
  • TEM_REPLACE : nvsg
  • TexCoordAxis : nvsg
  • TexGenLinearMode : nvsg
  • TexGenMode : nvsg
  • TextureCoordType : nvsg
  • TextureEnvMode : nvsg
  • TextureMagFilterMode : nvsg
  • TextureMinFilterMode : nvsg
  • TextureType : nvsg
  • TextureWrapMode : nvsg
  • TFM_MAG_BILINEAR : nvsg
  • TFM_MAG_NEAREST : nvsg
  • TFM_MIN_BILINEAR : nvsg
  • TFM_MIN_NEAREST : nvsg
  • TFM_MIN_TRILINEAR : nvsg
  • TT_DIFFUSE : nvsg
  • TT_INVALID : nvsg
  • TT_TRANSPARENT : nvsg
  • TWM_CLAMP : nvsg
  • TWM_MIRROR : nvsg
  • TWM_REPEAT : nvsg

- w -

  • wglFunctionsInitialized : nvgl
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Page Index

NVSGSDK Related Pages

Here is a list of all related documentation pages:
  • Building the Sample Files
  • Common Problems and Solutions
  • Understanding the Contents Pane
  • Creating a New NVSG Project
  • Creating a New Plug-in Project
  • Fundamental Concepts of the NVSGSDK
  • Hit Testing
  • How to Derive an NVSG Object
  • How to Derive a Traverser
  • How to Enable Memory Leak Detection in Debug Mode
  • Working with Traversers
  • How to Use the Sample Viewer
  • Legal Notice
  • Memory Management
  • Working with Multitexturing
  • Important Concepts - Must Read for All Developers
  • NVSG Core Classes
  • NVSG Objects
  • Overview of the Principal Classes
  • Recommended Reading
  • Separation of Data from Their Operations
  • Traversers
  • Using the NVSGSDK
  • Defining the View Frustum
  • What You Need to Get Started
  • Working with Lights
  • Working With NVSG Classes
  • Working with State Attributes
  • Writing a Loader/Saver Plug-In
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Building the Sample Files

The NVSGSDK provides some sample code which is located in the sub-directories of /NVSGSDK/SRC/SAMPLES. This section provides information on building and running the sample code.

A VCPROJ file is provided to build each sample. Each VCPROJ file includes a Release configuration and a Debug configuration, and developers may use any of these.

The differences between the Release configuration and the Debug configuration are as follows:

  • Code Optimizations
    Only the Release configuration creates optimized code.

  • Debug Symbols
    Only the Debug configuration includes debug symbols.

  • Use of Runtime Libraries
    The Release configuration uses the Multithreaded runtime DLL in VC++.
    The Debug configuration uses the Debug Multithreaded DLL library.

Also, because heaps cannot be mixed and matched, the Debug configuration must use a different heap to track memory.

Back to Fundamental Concepts of the NVSGSDK

Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Common Problems and Solutions

Problem

Here is the problem description.

Solution

Here is the solution description.

Problem

Here is another problem description.

Solution

Here is the solution description.
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Understanding the Contents Pane

The Contents pane lets you access the following detailed information on the NVSGSDK:

The File List lists all documented files with a brief description.

The Compound List lists of all classes, structs, unions and interfaces with brief descriptions. The alphabetical sort here ignores the namespace.

The Class Hierarchy lists all classes where the derived classes are listed indented after their base class.

The Compound Members lists all documented class members with links to the classes they belong to.

The Namespace List lists all documented namespaces with brief descriptions.

The File Members lists all documented file members with links to the documentation.

The Namespace Members lists all documented namespace members with links to the namespaces they belong to.

The Related Pages lists all related documentation pages that are available, for example, via the main page.

Finally, the Graphics Class Hierarchy gives a graphical representation of the Class Hierarchy .

Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Creating a New NVSG Project

This section describes a sample application that you can use to see how to create a new NVSG Project using MFC. The sample code is located in the nvsgsdk/src/samples/SimpleViewer directory.

About the Simple Viewer Sample Application

This simple application creates a viewer showing a simple model. You can rotate, zoom and pan the model by using the mouse.
  • Rotate: left mouse button
  • Pan: middle mouse button
  • Zoom: left + middle mouse button
  • View all (recenter): right mouse button

The application was created with the developer studios’ project wizard. (MFC project, single document application)

Simple Viewer Project Settings

C/C++ Compiler Settings

Additional include directories (General / Additional Include Directories):
  • "\$(NVSGSDKHOME)\inc"
  • "\$(NVSGSDKHOME)\inc\nvsg"
  • "\$(NVSGSDKHOME)\inc\DevIL"

Enable run-time type information (Language / Enable Run-Time Type Info):

  • Yes (/GR)

Linker Settings

Additional library directories: (General / Additional Library Directories ):
  • "\$(NVSGSDKHOME)\lib\$(ConfigurationName)"

Additional libs (Input / Additional Dependencies):

  • glu32.lib
  • opengl32.lib
  • nvsg.lib

DLL Requirements

  • nvsg10.dll
  • Cg.dll
  • CgGL.dll
  • CgFXGL.dll
  • CgFXParser.dll
  • ILU.dll
  • DevIL.dll

Source

In the sources the relevant code for NVSG is marked by
// NVSG ------------------begin
…
// NVSG ------------------end
so it is very easy to identify the relevant code snippets.
The relevant classes for the “SimpleViewer” example are:
  • SimpleViewer
  • SimpleViewerDoc
  • SimpleViewerView

You will find further explanation in the comments of the code.

Back to Fundamental Concepts of the NVSGSDK

Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Creating a New Plug-in Project

A plug-in is always provided as a dynaming link library (DLL). The following compiler and linker settings are required for creating a new plug-in project:

C/C++ Compiler Settings

Additional include directories (General / Additional Include Directories):
  • "\$(NVSGSDKHOME)\inc"
  • "\$(NVSGSDKHOME)\inc\nvsg"
  • "\$(NVSGSDKHOME)\inc\DevIL"

Preprocessor definitions (Preprocessor / Preprocessor Definitions):

  • "_USRDLL"

Runtime library (Code Generation / Runtime Library):

  • "Multi-threaded DLL (/MD)" for release configuration, and
  • "Multi-threaded Debug DLL (/MDd)" for debug configuration

Linker Settings

Additional library directories: (General / Additional Library Directories ):
  • "\$(NVSGSDKHOME)\lib\$(ConfigurationName)"

Additional libs (Input / Additional Dependencies):

  • nvsg.lib

Back to Working With NVSG Classes

Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Fundamental Concepts of the NVSGSDK

See also:
Important Concepts - Must Read for All Developers

Overview

This section provides an overview of the fundamental concepts involved in using the NVSGSDK. It provides an explanation of many of the basic issues that developers deal with when creating NVSG-based applications.

The NVSGSDK provides tremendous control over almost all aspects of scenegraph programming. While there is a large amount of explanatory information, the material is broken down into smaller sections to make the information more manageable. This section discusses most of the basic issues in simple terms, with hyperlinks to sections in the NVSGSDK that contain more detailed information.

Writing NVSG-Based Applications

Development Tool to Use

The development tool for creating an NVSG-based application is Microsoft Visual C++.

Refer to the Sample Programs

Included with the SDK are sample programs that provide examples of how to write NVSG-based applications. These sample programs are found in the sub-directories of /NVSGSDK/SRC/SAMPLES, and the source code for these sample programs is very instructive.

See Building the Sample Files for information on building and running the sample programs.

Basic Development Process

Using NVSG essentially involves the following processes:

1 - Create an NVSG Project

See Creating a New NVSG Project , which describes a program to use as an example of creating an NVSG project.

2 - Create a Scenegraph

A scenegraph is created and maintained with NVSG objects such as nvsg::Triangles, nvsg::Transform, or nvsg::StateSet. These classes determine the geometries and the visual attributes of the scene, and don't know anything about rendering, storing, etc..
See also:
Working With NVSG Classes

3 - Traverse the Scenegraph

After the scenegraph is created, actions such as rendering, storing, or searching, are performed on the scenegraph by a class called Traverser. These classes know how to traverse a scene and perform actions on the scene objects based on the traverser type. For example, there is an nvtraverser::GLTraverser, that renders the scene using OpenGL. Another traverser is the nvtraverser::SearchTraverser, that traverses a scene and searches for all occurrences of a specified class.
See also:
Traversers
Working with Traversers
Back to
  • Using the NVSGSDK
  • NVIDIA Scene Graph Software Development Kit (NVSGSDK)
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Hit Testing

Hit testing is accomplished using the RayIntersectTraverser class. NVSG does not use OpenGL-specific hit testing. Instead, NVSG performs hit testing directly on the scenegraph data, making it device independent.

The following sample code makes use of RayIntersectTraverser. In this example we try to determine the nearest object the ray hits, starting at the origin.

//[...]

// setup the RayIntersectTraverser
RayIntersectTraverser * pPicker;
pPicker = new RayIntersectTraverser;
pPicker->addRef();
pPicker->setRay(rayOrigin, rayDirection);

// do the hit test
pPicker->apply(m_viewState, m_scene);

// determine the nearest object
Drawable * pHitObject = NULL;
if (pPicker->getNumberOfIntersections() > 0)
{
  Intersection intersection = picker->getNearest();
  pHitObject = intersection.getDrawable();
  pHitObject->addRef();
}

//[...]

// clean up
pPicker->removeRef();
pPicker = NULL;

if (pHitObject)
{
  pHitObject->removeRef();
  pHitObject = NULL;
}

//[...]

See nvtraverser::Intersection and nvtraverser::RayIntersectTraverser documentation for further details.

Back to:

  • Working With NVSG Classes
  • Using the NVSGSDK
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


How to Derive an NVSG Object

Introduction

The NVSGSDK comes with an extensive set of NVSG objects that we also refer to as NVSG Core Classes. However, some situations might require the creation of one or more new NVSG objects in order to extend the set of available core classes. This section discusses the key points in inventing and customizing NVSG objects.

The Base Class for NVSG Objects

Objects that are intended to become a part of the scenegraph - that is, an NVSG object - must inherit from Object or an object-derived class.

Example of a custom defined GeoNode:

// MyGeoNode.h
#include "nvsg/GeoNode.h" // base class definition

class MyGeoNode : public nvsg::GeoNode
{
public:
  MyGeoNode();
  //...
};

NVSG Object Type Identification

For a custom traverser (see How to Derive a Traverser) it is essential to identify all actual scenegraph components (Nodes and Node 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 nvsg::OC_CUSTOMOBJECT.

Choosing an object code lower than nvsg::OC_CUSTOMOBJECT for a custom-defined NVSG object results in undefined runtime behavior!

Example of custom object code definitions:

// MyObjectCodes.h
#include "nvsg/Object.h" // object code defines

enum
{
  OC_MYGEONODE = OC_CUSTOMOBJECT
, OC_MYGEOSET   // = OC_CUSTOMOBJECT+1
, OC_MYMATERIAL // = OC_CUSTOMOBJECT+2
};

// ...

It is best to assign the unique object code at the object's construction time:

// MyGeoNode.cpp
#include "MyGeoNode.h" // MyGeoNode definition
#include "MyObjectCodes.h" // custom object codes

using namespace nvsg;

MyGeoNode::MyGeoNode()
{ // assign the unique object code
  m_objectCode = OC_MYGEONODE;
}

Back to

  • NVSG Objects
  • Using the NVSGSDK
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


How to Derive a Traverser

Operations on an NVIDIA Scenegraph (NVSG) are typically performed by means of a Traverser. In this operation a traverser, starting at the scene's root node, iterates a scenegraph and performs a defined operation for each object (nodes, etc.) in the scenegraph.

Using Traverser Base Classes

In its core, the NVSGSDK provides a set of different traversers for performing different tasks. When customing or inventing operations on an NVSG, the developer must derive from the appropriate traverser. With regard to the type of operations that a traverser can perform on an NVSG, we distinguish between read-only traversers and read-write traversers.

The uppermost abstract base class is Traverser . A parameter to it's constructor controls whether it's a read-only traverser or a read-write traverser. Some derived traversers like the RenderTraverser use it as a read-only traverser. Others like the AppTraverser use it as a read-write traverser. Traverser provides iterating functionality as well as per-object locking functionality, described as follows:

Iterating Functionality

The Traverser covers base iteration over a constant NVSG. Derived traversers can always fall back on this base functionality for iterating 'known' NVSG objects, or objects that are part of the original NVSGSDK. For a new NVSG object that was invented by a third party developer (see How to Derive an NVSG Object), iteration for that object must be implemented by a derived traverser.

Per-Object Locking Functionality

Per-object locking allows for multiple read-only traversers to run in parallel in a multithreaded environment. Unlike the base iterating functionality, per-object locking is available for known NVSG objects as well as new NVSG objects invented by a third party developer.

Deriving a Traverser for Known NVSG Objects

In many cases developers don't need to extend the set of available NVSG Objects but only need to add a new operation to perform on an NVSG using a derived traverser. The new traverser should inherit from an already existing Traverser that matches most of the requirements. If none exist, derive directly from Traverser and, depending on whether the new traverser should perform read-only or read-write operations on an NVSG, it's constructor should call the constructor of Traverser with the appropriate flag.

// Example of a custom read-only traverser

#include "nvtraverser/Traverser.h"

class MyTraverser : public Traverser
{
  public:
    MyTraverser() : Traverser( true ) {}    // use Traverser in read-only mode
  // ...
};

To add a new operation for a certain NVSG object, the developer needs to overload the matching handler routine for that object.

// MyTraverser.h
// Example for adding a custom operation for a Group

#include "nvtraverser/Traverser.h" // base class definition

// forward declare class Group to satisfy includees
namespace nvsg
{
  class Group;
}

class MyTraverser : public nvtraverser::Traverser
{
  // ...
protected:
  // handleGroup override
  NVSG_API virtual void handleGroup(const nvsg::Group * p);
};

The base classes provide a handler routine for each known and concrete NVSG object. The base implementations of these handler routines do not operate on the particular object but instead iterate over that object in a correct manner. For iterating purposes, it is strongly recommended to always fall back on the base implementation for overloaded handler routines.

// MyTraverser.cpp implementation file
#include "MyTraverser.h"
#include "nvsg/Group.h" // definition of Group

using namespace nvtraverser;
using namespace nvsg;

void MyTraverser::handleGroup(const Group * p)
{
  // ... add custom functionality

  // iterate subsequent objects by calling the base implementation
  Traverser::handleGroup(p);

  // ... add some more custom functionality
}

Deriving a Traverser for Newly Invented NVSG Objects

One can think of situations were an extended functionality requires a newly invented NVSG object (see also How to Derive an NVSG Object). Deriving a custom traverser for traversing newly invented NVSG objects requires additional steps.

The new traverser must provide a new handler routine for the new object, and add it to the base class' handler routine table by means of the base class' member function addObjectHandler .

Example of a custom traverser that handles a newly invented NVSG object that inherits from Group:

// NewObject.h
// #include "nvsg/Group.h"

// A NewGroup 'is a' Group
class NewGroup : public nvsg::Group
{
  // ...
};

// MyTraverser.h file
#include "nvtraverser/Traverser.h" // base class definition

// forward declare class NewGroup to satisfy includees
class NewGroup;
// forward declare class CullData to satisfy includees
namespace nvsg
{
  class CullData;
}

class MyTraverser : public nvtraverser::Traverser
{
  // ...
  protected:
    // constructor to deal with initial work
    MyTraverser();
    // clean up
    virtual ~MyTraverser();

    // overloadable handler for NewGroup
    NVSG_API virtual void handleNewGroup(const NewGroup * p);

  private:
    // implementation details that handle iterating over a NewObject
    void a_private_function_that_handles_iteration(const NewGroup * p);
    void a_private_function_that_handles_conditional_iteration(const NewGroup * p, const nvsg::CullData * p);
};

// - - - - - - - - - - - - - - - - - - - - - - - -
// MyTraverser.cpp file
#include "MyTraverser.h"
#include "NewObject.h" // NewObject definition

MyTraverser::MyTraverser()
{
  // ...
  // add the new handler routine to the base classes handler table
  addObjectHandler(
    OC_NEWGROUP   // object code for the new object NewGroup
                  // this must be provided by the author of NewGroup
  , &MyTraverser::handleNewGroup // handler routine
  );
  // ...
}

A handler routine for a newly invented NVSG object must correctly iterate over the new object in order to ensure that the new object is traversed in a correct manner as part of the NVSG. If, for example, the new NVSG object inherits from Group , the handler routine must take care of iterating through the child nodes. Or, for a concrete Node , the actual cull tree also needs to be correctly maintained while iterating over the new object.

// MyTraverser.cpp

// ...

void MyTraverser::handleNewGroup(const NewGroup * p)
{
  // at entry, call overloadable preTraverseGroup
  preTraverseGroup(p);

  // get the topmost cull tree
  const CullData  * cd = m_cullStack.top();

  if ( ! cd )
  {
    //  if there's no cull data, just traverse

    // ... traverse children
    a_private_function_that_handles_iteration(p);
  }
  else if ( cd->getCullCode() == CC_IN )
  {
    //  this group is trivial in, so just push a NULL pointer on cull stack and traverse
    m_cullStack.push( NULL );
    // ... traverse children
    a_private_function_that_handles_iteration(p);
    m_cullStack.pop();
  }
  else
  {
    //  this group is at least partly visible, so traverse through all children that are not out
    a_private_function_that_handles_conditional_iteration(p, cd);
  }

  // call overloadable postTraverseGroup right before leaving
  postTraverseGroup(p);
}

If, as in the previous example, the newly invented NVSG object inherits from Group, the corresponding handler routine must iterate or conditionally iterate over the Group's child nodes. In order to keep the child nodes locked while being traversed, it is strongly recommended to call the base class' member function traverseObject for each child node that should be traversed, instead of just calling the corresponding handler routine for the particular child node.

// MyTraverser.cpp

// bad implementation:
void MyTraverser::a_private_function_that_handles_iteration(const NewGroup * p)
{
  // unconditionally traverse all child nodes
  for ( size_t i=0; i<p->getNumberOfChildren(); ++i )
  {
    // bad idea: identifying a child node's type this way doesn't perform well!
    switch ( p->getChild(i)->getObjectCode() )
    {
    case OC_GEONODE: // handle a GeoNode child
      handleGeoNode(p->getChild(i)); // bad idea: child GeoNode will not be locked while being traversed!
                                     // dangerous in multithreaded environments!
      break;
    case ... // handle other typed children
    ...
    }
  }
}

// good implementation:
void MyTraverser::a_private_function_that_handles_iteration(const NewGroup * p)
{
  // unconditionally traverse all child nodes
  for ( size_t i=0; i<p->getNumberOfChildren(); ++i )
  {
    traverseObject(p->getChild(i)); // good idea for two reasons:
                                    // (1) fast lookup the corresponding handler routine
                                    // (2) the child node is locked while beeing traversed
  }
}

Back to

  • Working with Traversers
  • Working With NVSG Classes
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


How to Enable Memory Leak Detection in Debug Mode

Controlling memory leaks (the failure to properly deallocate memory that was previously allocated), is tightly related to heap management. Unlike stack variables that are automatically deallocated when they are running out of scope, heap objects must be actively deallocated if they are no longer referenced. Leaking large amounts of memory leads to out-of-memory conditions, which in turn results in bad runtime behavior. For this reason, the ability to detect memory leaks during development is indispensable.

Including the DbgNew.h Header File

The object allocator used for NVSG Objects provides automated leak detection in debug mode. To enable this feature, implementation files (*.cpp) must include the DbgNew.h header as the last header file.

// memory leak detection
#include "nvutil/DbgNew.h"

When Using Allocation Code Within Header Files

If your application uses allocation code within header files, you need to restrict leak detection to that particular header file. This can be done as follows:

#ifdef _DEBUG
# ifndef new
#  define new new(__FILE__, __LINE__)
#  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
# endif
#endif

// implementation within header utilizing object allocation code
// ...

#ifdef _DEFINED_DBGNEW
# undef new
#endif

These statements essentially re-define the 'new' keyword to force the object allocator to track allocations. If you fail to include these statements wherever allocation code is used, you will get an assertion warning you that memory leak detection is bypassed in debug mode.

If the NVSG object allocator detects memory leaks, it outputs the leak warnings to the attached debugger when the NVSG library terminates. A leak warning might look similar to the following line of output:

****Memory Leak Detected*** Source: c:\src\test.cpp, Line: 51, Ptr: 0x0B4D5A80

The output reports the source file and source line where allocation of the leaked memory block took place, and also the memory address of the leaked block.

Leak Detection of Non-NVSG Allocations

This mechanism only tracks allocations performed by the NVSG object allocator nvutil::IAllocator. To track allocations of built-in types or non-NVSG types, refer to the documentation about memory leak detection mechanisms provided by the C-runtime. The C-runtime memory leak detection works in parallel with the memory leak detection provided by the NVSG object allocator.

Back to

  • Memory Management
  • Important Concepts - Must Read for All Developers
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Working with Traversers

Using a Traverser is very simple. While it is a four-step process, one process might be a one-time operation and two processes are optional:

  1. Create a Traverser.
    A Traverser can be created as any other object. The predefined concrete Traversers don't need a constructor argument.
    For example to create a SearchTraverser , do the following:
        SearchTraverser  cst;
  2. Initialize the Traverser (optional).
    Some Traversers might require some initialization.
    For example, to tell the SearchTraverser cst to look for all Nodes of type LightSource , do the following:
        cst.setBaseClassSearch( true );
    cst.setClassName("class nvsg::LightSource");
  3. Do the traversal.
    Call the member function apply of the Traverser. Depending on the type of Traverser, it might be OK to omit the ViewState argument.
    For example, the SearchTraverser doesn't use the ViewState:
        cst.apply( NULL, &scene );
  4. Get the results of the traversal (optional).
    Some Traversers might create information that can be queried after the traversal. For example, to get the results of a search traversal do the following:
        const vector<const Object *> & searchResults = cst.getResults();

A RenderTraverser like the GLTraverser is even easier to use:

  RenderTraverser * rt = new GLTraverser;
  rt->apply( &viewState, &scene );
However, a RenderTraverser needs some prerequisites to be fullfilled, as there has to be a valid drawing environment. This Environment might depend on the type of RenderTraverser. For Details, see the sample application SimpleViewer.

Note:
Strictly distinguish between read-only traversers like a GLTraverser , which works on constant data and can't change them, and read-write traversers like AppTraverser , which are allowed to modify the data.
See also:
How to Derive a Traverser
Back to Working With NVSG Classes
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


How to Use the Sample Viewer

NVIDIA provides a sample viewer ViewerVR.exe. This is a demo viewer that you can use to familiarize yourself with the some of the capabilities of NVSG.

The following sections describe how to use ViewerVR.exe:

  • Main Screen

  • Toolbars

  • Command Line Parameters

  • Cluster Viewer

Main Screen

Toolbars

1.-5. Change Render Mode

Click to switch between different render modes:

1. Point - Render the vertices of the model only.
2. Wire - Render in wire frame mode.
3. Shaded - Render using simple shader support.
4. Textured - Render using texture support.
5. Shader support - Render using full shader support, including vertex and fragment shaders.

6. Material Editor

Click to open the material editor, which lets you change the material color, textures, and shaders.

  • To make the material of an object the current/active material in the material editor you can simply double-click onto the object and the material editor will highlight the corresponding material.
  • You can also assign a material to a specific object using drag and drop.

7. Geometry Smoothing

Click to smooth the edges in a geometry. You can define a crease angle (the angle between the face normals) at which the edge will be smoothed.

8.-11. Optimize Traverser (Unify)

8. State Set Unify 9. Transform Unify 10. GeoNode Unify 11. Drawable Unify

12. Optimize Geometry (Condense)

Click to condense (or optimize) a scene by collapsing vertices of the geometry. You can enter an epsilon value that defines the distance between vertices. Vertices with a distance less than or equal to this epsilon will be collapsed.

13. Identity to Group

Click to replace identity transformations with simple group nodes.

14. Triangulate Geometry

Click to create Triangles.

14. Triangulate Geometry

Click to arrange independent triangles into triangle strips. This should be done whenever possible. You can define the minimum strip length.

16. Caching

Click to choose between no caching, display list caching (DL), or vertex buffer object caching (VBO). VBO is the fastest on modern GPUs.

17. Full Scene Antialiasing (FSAA)

Click to enable software full-scene antialiasing (FSAA). You can choose between different FSAA stages and techniques. Experiment to see which technique is the fastest on your graphics card. In many cases "Accumulation Buffer" is the fastest.

18. Transparency

Click to choose between different types of transparency.

  • You can disable the standard transparency if you use a shader for transparent materials.
  • Stippled is a very cheap transparency, but also the least attractive.
  • When using blended transparency, the viewer does not sort the objects. This can result in artifacts.
  • Order-independent transparency does not require ordered rendering.

19. Culling

Click to choose culling tecniques. Currently the sample viewer supports only simple frustum culling, but later versions will support other culling strategies.

20.-27. Stereo

The sterero buttons let you manipulate the Quad-buffered OpenGL stereo settings. You must first enable OpenGL stereo in the display settings of your graphics card.

20. Stereo on 21. Increase stereo offset 22. Stereo offset default 23. Decrease stereo offset 24. Zero offset minus 25. Zero offset default 26. Zero offset plus 27. Reverse eyes

28. View All

Click to zoom to the extents of the current model to see the complete scene.

29. Undo View All

Click to zoom to undo the last zoom all command.

30. Set Rotation Point

Click to set the rotation point in a scene. When you select a face in the scene, the selected point on the face becomes the new rotation point.

31. Selection Mode

Click to switch the viewer to selection mode, which lets you select objects in the scene.

32. Viewing Mode

Click to switch the viewer to viewing mode, which lets you manipulate the camera/model using the camera manipulator.

See 41. Trackball Manipulator - Examiner Mode , 42. Walk Manipulator - Walk Mode , and 43. Flight Manipulator - Flight Mode .

33. Bounding Box Highlighting

Click to highlight the bounding box of the object that you select.

34. Wire frame Highlight

Click to highlight the wire frame of the object that you select.

35. Save Home Position

Click to save the current camera settings - such as position and zoom.

36. Set To Home Position

Click to set the camera to the saved home position.

37. Clipping Planes

Click to change and manipulate the camera clipping planes.

38. Full screen Mode

Click to switch to full-screen mode. No frames, menus, or toolbars are shown in full-screen mode. Right-click the screen to open the context menu in full-screen mode. From the menu you can switch back to windowed mode.

39. Play Animation

Click to start and stop an animation in a scene.

40. Convert Animation

Click to convert a framed animation to a linear interpolated animation.

41. Trackball Manipulator - Examiner Mode

Click to set the trackball camera manipulator, which is active when the viewer is set to viewing mode (See 32. Viewing Mode )

The trackball manipulator interprets mouse movements as a trackball input. (Imagine a big sphere centered inside of the viewport which you lay your hand on and rotate.) The manipulator also allows you to dolly and move the objects of the scene.

Keys & Buttons

  • Left mouse button - Rotate
  • Middle mouse button - Pan
  • Left + right mouse button - Dolly

42. Walk Manipulator - Walk Mode

Click to set the walk camera manipulator, which is active when the viewer is set to viewing mode (See 32. Viewing Mode )

The walk manipulator interprets/converts mouse movements into walk-through camera movements.

Keys & Buttons

  • Left mouse button - Walk forward.
  • Middle mouse button - Walk backward.
  • W-key - Increase speed.
  • S-key - Decrease speed.
  • Ctrl + Left mouse button – Tilt.
  • Ctrl + Middle mouse button – Pan.

43. Flight Manipulator - Flight Mode

Click to set the fly camera manipulator, which is active when the viewer is set to viewing mode (See 32. Viewing Mode )

The fly manipulator interprets/converts mouse movement into fly-through camera movements.

Keys & Buttons

  • Left mouse button – Fly forward.
  • Middle mouse button - Fly backward.
  • W-key - Increase speed.
  • S-key - Decrease speed.

44. Manipulator Editor

Click to open the Manipulator Settings dialog box that lets you fine-tune the manipulator reaction and handling.

Command Line Parameters

  • -slave
    Cluster slave machine/viewer.
  • -master
    Cluster master machine/viewer.
  • -nosplash
    Suppress splash screen on startup
  • -server:[server name]
    Server name (e.g. -server:Cluster-Server) This is the name of the machine where the ServerVR application runs on.
  • -name:[viewer name]
    Name of this viewer. The name is needed to register correctly at the ServerVR application.
  • -x:[x position]
    Output window x position in pixel.
  • -y:[y position]
    Output window y position in pixel.
  • -cx:[size x]
    Output window x extension in pixel.
  • -cy:[size y]
    Output window y extension in pixel.
  • -left:[left border]
    Left viewport border. The viewports dimension runs from 0.0 to 1.0.
  • -right:[right border]
    Right viewport border. The viewports dimension runs from 0.0 to 1.0.
  • -bottom:[bottom border]
    Botttom viewport border. The viewports dimension runs from 0.0 to 1.0.
  • -top:[top border]
    Top viewport border. The viewports dimension runs from 0.0 to 1.0.

Cluster Viewer

You can use the Sample Viewer in a simple cluster setup.

For swap synchronization you should use the Quadro FX3000G graphics card and connect all machines. For more information about hardware swap synchronization see the documentation that comes with your NVIDIA frame-lock capable graphics card.

Cluster 3x3 + Master

This section describes a sample setup of nine cluster machines and one master machine (+ one Cluster Server - see the note Cluster Server Setup)

Master Machine Setup

  • The ViewerVR.exe applications and their DLLs must reside on the master machine.

Cluster Server Setup

  • The ServerVR.exe applications and their DLLs must reside on the master machine.
    Note:
    Due to a known problem with the cluster mode we suggest to start the ServerVR.exe on a non cluster machine that is not synced to the cluster. We will fix this issue with the next release.

Cluster Machine Setup

  • The ViewerVR.exe application and its DLLs must reside on each cluster machine.
  • In this example the cluster machine matrix is as follows:
    20 21 22
    10 11 12
    00 01 02

Starting the Machines

1. Start ServerVR.exe on the Cluster-Server.
2. Start the master viewer on the Cluster-Server.
3. Start the other slave viewers on the cluster machines.
4. Load and control a scene using the master viewer on the Cluster-Server.

Command Line Parameters for the Different Viewers

00: -slave -server:Cluster-Server -name:m00 -x:000 -y:600 -cx:300 -cy:300 -left:0.000 -right:0.333 -top:0.333 -bottom:0.000
01: -slave -server:Cluster-Server -name:m01 -x:300 -y:600 -cx:300 -cy:300 -left:0.333 -right:0.666 -top:0.333 -bottom:0.000
02: -slave -server:Cluster-Server -name:m02 -x:600 -y:600 -cx:300 -cy:300 -left:0.666 -right:1.000 -top:0.333 -bottom:0.000
10: -slave -server:Cluster-Server -name:m10 -x:000 -y:300 -cx:300 -cy:300 -left:0.000 -right:0.333 -top:0.666 -bottom:0.333
11: -slave -server:Cluster-Server -name:m11 -x:300 -y:300 -cx:300 -cy:300 -left:0.333 -right:0.666 -top:0.666 -bottom:0.333
12: -slave -server:Cluster-Server -name:m12 -x:600 -y:300 -cx:300 -cy:300 -left:0.666 -right:1.000 -top:0.666 -bottom:0.333
20: -slave -server:Cluster-Server -name:m20 -x:000 -y:000 -cx:300 -cy:300 -left:0.000 -right:0.333 -top:1.000 -bottom:0.666
21: -slave -server:Cluster-Server -name:m21 -x:300 -y:000 -cx:300 -cy:300 -left:0.333 -right:0.666 -top:1.000 -bottom:0.666
22: -slave -server:Cluster-Server -name:m22 -x:600 -y:000 -cx:300 -cy:300 -left:0.666 -right:1.000 -top:1.000 -bottom:0.666
Master: -master -server:Cluster-Server -name:master

Overlapping

The above setup does not overlap the viewports. If you need overlapping, such as for a set of video projectors or a power wall, control the overlapping by adjusting the viewport borders of the viewer.

For example:
machine A: -left:0.000 -right:0.600
machine B: -left:0.400 -right:1.000

Back to NVIDIA Scene Graph Software Development Kit (NVSGSDK)

Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


Legal Notice

Copyright (c) 2004 NVIDIA Corporation. All rights reserved.

Notice
This software may not, in whole or in part, be copied through any means, mechanical, electromechanical, or otherwise, without the express permission of NVIDIA Corporation.

Information furnished is believed to be accurate and reliable. However, NVIDIA assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties, which may result from its use. No License is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in the software are subject to change without notice.

NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation.

Trademarks
NVIDIA, the NVIDIA logo, and NVIDIA Quadro are registered trademarks or trademarks of NVIDIA Corporation in the United States and/or other countries.

Microsoft, Windows, and the Windows logo are registered trademarks of Microsoft Corporation.

Other company and product names may be trademarks or registered trademarks of the respective companies with which they are associated.

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Memory Management

For NVSG, efficient memory management is key to optimizing performance and effectively utilizing available memory.

Introduction

Frequent memory allocations and deallocations play a significant role in degrading application performance. Because a default memory manager is general purpose, it cannot provide the best performance. Also, chaotic software systems tend to suffer from memory leaks and premature object deletion. Memory leaks eventually slow down an application, and premature object deletion can crash a system in cases where memory is accessed after it was already deleted.

NVSG uses a memory manager that is highly optimized for dealing with NVSG specific data structures, and addresses problems that are common to standard memory managers and more chaotic software systems. For example, NVSG uses reference counting, which results in a less chaotic software system that avoids memory corruption in terms of either memory leaks or premature deletion. (See also How to Enable Memory Leak Detection in Debug Mode.)

This section explains the memory management process used by NVSG, and how it affects the methods used to create and delete NVSG objects.

Principles of NVSG Memory Management

The IAllocator class provides an interface to the memory manager by overloading the new and delete operators. NVSG classes utilize this interface through inheritance. This design provides a standard way of using new and delete to allocate and deallocate objects from memory.

The other essential design for NVSG memory management is reference counting. Reference counting conveniently eliminates the burden of object ownership and is basically a simple form of garbage collection. NVSG objects inherit from RCObject, which provides the base functionality for reference counting - that is, encapsulation of the reference count methods and manipulations.

The NVSG framework uses reference counting to

  • Clarify ownership of pointers to NVSG objects and prevent premature deletion of these objects.
  • Automatically maintain data sharing between objects of the same type.

Proper Handling of NVSG Objects

The life of an NVSG object is as follows:

  1. A process creates/allocates the object. The reference counter initializes to zero.
  2. One or more process references the object. Each time a process references the object, the reference counter increments.
  3. When a process is finished using the object, it removes its reference to the object. Each time a process "unreferences" the object, the reference counter decrements.
  4. When the reference counter reaches zero, the object is deallocated.

To meet the requirements of a reference counting pattern, the creation, deletion, copying, and assignment of reference counted objects must be properly controlled.

Summary of Restrictions

NVSG objects are subject to certain restrictions with respect to memory management:

  • NVSG objects can live on heap only! The C++ compiler will reject any attempts to create an NVSG object on stack (automatic variable).
  • NVSG objects can be created by class specific static creation functions only. The C++ compiler will reject any attempts to create an NVSG object using the new operator.
  • Explicit deletion of NVSG objects is not permitted! The C++ compiler will also reject attempts to explicitly delete NVSG objects.

GeoNode node;                               // error! NVSG objects can live on heap only!
GeoNode *pNode0 = new GeoNode;              // error! NVSG objects can't be created using \c new
const GeoNode * pNode1= GeoNode::create();  // fine, creating a GeoNode object on heap using the creation function
// ...
delete pNode1;                              // error! explicit deletion of NVSG objects is not permitted

As a consequence, one cannot store NVSG objects in STL containers like vector or map. Of course, pointers to NVSG objects can be stored in STL containers.

Creating Objects

After creating an NVSG object, the reference count of that object is 0. In other words, the object has been allocated and constructed but not yet referenced. To properly reference the object, one must call addRef on that object.

const GeoNode * pNode = GeoNode::create();  // allocate and construct a GeoNode object
                                            // reference count is 0!
pNode->addRef(); // reference the newly created object
                 // reference count is 1!

The reason that the reference count of an NVSG object is 0 after allocation and construction is that, in many cases, code that allocates and constructs the object does not really reference it, but instead passes it to subsequent layers. In that situation, it would result in unnecessary overhead to also manage the object's life time. For example, a loader might construct a GeoNode object and pass it to a Transform object. In this case the Transform code would be the code which actually references the GeoNode object.

const Transform * pTrafo = Transform::create();
pTrafo->addRef();
const GeoNode * pNode = GeoNode::create();  // create a GeoNode object
Transform * pNC = beginEdit( pTrafo );
pNC->addChild(pNode);                       // pass the GeoNode object to the Transform
endEdit( pNC );
// ... no need to care about the GeoNode's lifetime

Destroying Objects

A NVSG object is destroyed and deallocated from memory after its reference count reaches 0 - that is, when nobody is using it any longer. For proper tracking of an object's ownership, code that no longer references an object should call removeRef on that object.

const GeoNode * pNode = GeoNode::create();  // allocate and construct a GeoNode object
                                            // reference count is 0!
pNode->addRef(); // reference the newly created object
                 // reference count is 1!
pNode->removeRef(); // unreference the object
                    // reference count reaches 0,
                    // and hence the object is destroyed and deallocated from memory

Back to

  • Important Concepts - Must Read for All Developers
  • Working With NVSG Classes
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Working with Multitexturing

The following actions are required for every texture:

1. Create a TextureAttributeItem
2. Bind the item to a specific texture unit
You bind the item via the TextureAttribute object using the bindTextureAttributeItem() method. (A TextureAttribute is a simple StateAttribute such as Material. Refer to the sample viewer sources to see how to set up a simple tree using StateAttributes.)

The following sample code shows how to set up multitexturing:

const TextureAttribute * texAttrib = TextureAttribute::create();
TextureAttribute * ncTexAttrib = beginEdit( texAttrib );
for (size_t i=0; i<numTextures; i++)
{
  const TextureAttributeItem * item = TextureAttributeItem::create();
  TextureAttributeItem * ncItem = beginEdit( item );
  ncItem->setFileName(namelist[i]);
  ncItem->setType(tt);

  // just assume it's a 2D-Texture and rotate around the z-axis
  ncItem->setOrientation(Quatf( Vec3f( 0.0f, 0.0f, 1.0f ), m_IDToTextureRotation[mapID] ));
  ncItem->setScaling(m_IDToTextureScaling[mapID]);
  ncItem->setTranslation(m_IDToTextureTranslation[mapID]);
  endEdit( ncItem );

  // bind the item
  ncTexAttrib->bindTextureAttributeItem(item, i); // put the texture into texture unit i

  // texture environment mode
  ncTexAttrib->setEnvMode(TEM_BLEND);
}
endEdit( ncTexAttrib );

Back to:

  • Working With NVSG Classes
  • Using the NVSGSDK
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Important Concepts - Must Read for All Developers

See also:
Fundamental Concepts of the NVSGSDK
The following sections in the help file should be read by all developers. These are fundamental issues every programmer needs to understand to write NVSG-based applications.

Separation of Data from Their Operations
Separating data from operations is one of the key designs of NVSG.

NVSG Core Classes
The NVSG core classes form the building blocks to create a directed acyclic graph (DAG).

NVSG Objects
This section describes NVSG object concepts, and gives a brief introduction in the use of NVSG objects, including how to derive NVSG objects.

Traversers
Traversers serve as link between the scene graph and the operation to be performed on the scene graph.

Memory Management
This section discusses how NVSG objects are allocated and deallocated in memory.

Back to

  • Using the NVSGSDK
  • NVIDIA Scene Graph Software Development Kit (NVSGSDK)
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


NVSG Core Classes

The namespace nvsg contains all classes that form the building blocks to create a directed acyclic graph (DAG). In the following, we refer to these classes as the NVSG core classes. Together, all NVSG core classes build a class hierarchy with Object as the common base class. All NVSG core classes are reference counted and utilize a highly optimized Memory Management.

In general, we distinguish between three kinds of objects:

  • Nodes
  • Node Components
  • Superior Objects (not part of the graph)

Nodes

In general, a scenegraph consists of nodes arranged in a tree structure. Scenegraph nodes encapsulate coherent parts of the scene to be represented, and hence, support the natural grouping of the geometric objects in the scene.

In NVSG, Node represents the base class for all concrete and non-concrete node classes. Two types of nodes are distinguished:

  • Leaf nodes are nodes that can only have parent nodes
  • Group nodes are nodes that can have other nodes as children.

In NVSG, all concrete and non-concrete group nodes inherit from Group . For example, nodes that all undergo a certain transformation are grouped together under a Transform node.

Node Components

Node components are objects that are referenced by nodes. These components hold, for example, geometrical or topological informations, or they define certain state attributes for rendering. Material , or Triangles are examples of node components.

Superior Objects

Superior objects are not part of the graph tree, but are objects to which a scenegraph is connected, or that define a certain view to the scene. Scene , ViewState , or Camera are examples of superior objects.

See also:
Overview of the Principal Classes
Back to Important Concepts - Must Read for All Developers
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


NVSG Objects

The term 'NVSG objects' covers all class objects that inherit from nvsg::Object. Through this relationship all NVSG objects behave the same way regarding general object management.
This page gives a brief introduction on how to use NVSG objects in general. It also gives a short description of the major concepts used for NVSG objects. It contains the following sections:

  • Optimized Memory Management for NVSG Objects
  • Object Level Reference Counting
  • Creating NVSG Objects
  • Using NVSG Objects
  • Modifying NVSG Objects
  • Sharing Data Between Kindred NVSG Objects
  • Deleting NVSG Objects

See also:
How to Derive an NVSG Object

Optimized Memory Management for NVSG Objects

All NVSG objects make use of a special allocator through the nvutil::IAllocator interface. This allocator is highly optimized for the needs of NVSG objects. NVSG objects can live on heap only. Any attempts to create an arbitrary NVSG object on stack will be rejected by the compiler. See Creating NVSG Objects for more details on creating NVSG objects. The reference counting and data sharing concepts require this limitation. See Object Level Reference Counting and Sharing Data Between Kindred NVSG Objects for more details on these topics.

Object Level Reference Counting

All NVSG objects - for example nvsg::Drawable, nvsg::Node, nvsg::StateAttribute, etc. - inherit from nvsg::Object. As nvsg::Object inherits from nvutil::RCObject, all NVSG objects are reference counted. This is particularly necessary if an object is referenced multiple times within a certain scene. For example, a car tire might be referenced four times for a car model.
The nvutil::RCObject class provides the necessary interface for proper reference counting on object level. See Using NVSG Objects for more details on how to use the nvutil::RCObject interface.

Creating NVSG Objects

NVSG objects can only be created by class-specific static creation functions. Any attempts to create a NVSG object on stack will be rejected by the compiler. Therefore, the only way to instantiate an NVSG object is to create it on heap:

  using namespace nvsg;
  // Instantiate a GeoNode
  const GeoNode * pGeoNode = GeoNode::create();

Note:
The reference count for NVSG objects is initially zero!

Using NVSG Objects

After creating and before using an NVSG object, the object's reference count should be incremented. This ensures the pointer to the object is valid until the object's reference count is decremented again:

  using namespace nvsg;
  // Instantiating a GeoNode
  const GeoNode * pGeoNode = GeoNode::create();
  pGeoNode->addRef();
  // ... use the GeoNode instance

  // ... and after usage
  pGeoNode->removeRef();

Modifying NVSG Objects

NVSG Objects are created as pointers to constants and can't be modified directly. Any modification to NVSG Objects must be encased by calls to beginEdit() and endEdit() to ensure save access in multithreaded environments:

const GeoNode * pGeoNode;               // a GeoNode after creation
GeoNode * pNC = beginEdit( pGeoNode );  // get a pointer to modify the GeoNode
//  ... modify the GeoNode instance

//  ... and after modifying
endEdit( pNC );

Note:
Before modifying an NVSG Object be sure that you have called addRef() on it somewhere.

Sharing Data Between Kindred NVSG Objects

Beneath the reference counting at the object level, NVSG objects are capable of sharing their data between kindred objects. Unlike reference counting at the object level, this capability is handled automatically.

An arbitrary NVSG object shares its data with a kindred object if

  • it was constructed from a kindred object by invoking the object's copy constructor, or
  • if a kindred object was assigned to that object.

  // Sharing data between GeoNodes
  using namespace nvsg
  // Instantiate a GeoNode
  const GeoNode * pGeoNode = GeoNode::create();
  // Instantiating a copy of the GeoNode, pGeoNode is pointing to
  const GeoNode * pAnotherGeoNode = GeoNode::create(*pGeoNode);
  // The objects pointed to by pGeoNode and pAnotherGeoNode, share the same data now
  // ...
  // Instantiate a third Geo node
  const GeoNode * pAThirdGeoNode = GeoNode::create();
  // re-assign it
  GeoNode * pNC = beginEdit( pAThirdGeoNode );
  *pNC = *pGeoNode;
  endEdit( pNC );
  // Now the object pointed to by pAThirdGeoNode shares its data with the objects pointed to
  // by pGeoNode and pAnotherGeoNode

Note:
If an object shares its data with other objects, it will automatically split off its own copy of that data once the object initiates a modifying access on that data.

Deleting NVSG Objects

It is prohibited by the compiler to explicitly call delete on a pointer to an arbitrary NVSG object. After a call to removeRef an NVSG object will be deleted automatically after its reference count reaches zero.
Remarks:
After creating an NVSG object, its initial reference count is zero. The reason for this is that, in most cases, client code instantiates and initializes an NVSG object but no longer directly uses the object's interface. Instead, it hands over the object to subsequent layers. In doing so, the client code does not need to care about the object's lifetime but the subsequent layer needs the following:
  using namespace nvsg;
  // instantiate a default Transform
  const Transform * pTrafo = Transform::create();
  // instantiating a GeoNode
  const GeoNode * pGeoNode = GeoNode::create();
  // ... initialize the GeoNode here
  // ...
  // hand over the GeoNode to the Transform as child
  Transform * pNC = beginEdit( pTrafo );
  pNC->addChild(pGeoNode);
  endEdit( pNC );
  // ... don't care about the GeoNode's lifetime, the Transform does
Note:
Because the reference count of a NVSG object initially is zero, it is an error to call removeRef on a pointer to a NVSG object without having called addRef on that pointer beforehand!
Back to:
  • Important Concepts - Must Read for All Developers
  • Using the NVSGSDK
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Overview of the Principal Classes

This section lists the main classes of the NVSGSDK. The classes can be organized in the following general categories:
  • Nodes
  • Node Components
  • Superior Objects

Node Core Classes

Non-Concrete Node Classes

Non-concrete Node classes are all Node classes that will not be instantiated.

Node
LightSource

Concrete Node classes

GeoNode

Group
LOD
Switch
Transform
AnimatedTransform

DirectedLight
PointLight
SpotLight

Node Component Core Classes

Non-Concrete Node Component Classes

Animation
InterpolatedAnimation

Drawable
GeoSet

HighlightObject

StateAttribute

Concrete Node Component Classes

FramedAnimation
LinearInterpolatedAnimation

Quads
AnimatedQuads
QuadStrips
Triangles
AnimatedTriangles
SkinnedTriangles
TriStrips

HighlightBox
HighlightEdges

StateSet

CgFx
FaceAttribute
Material
TextureAttribute
TextureAttributeItem

Superior Object Core Classes

Non-Concrete Superior Object Classes

Camera
MonoCamera
SimpleCamera

Concrete Superior Object Classes

JitterCamera
ParallelCamera
PerspectiveCamera
StereoCamera

Scene
ViewState

See also:
NVSG Core Classes
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Recommended Reading

This section lists several C++, Computer Graphics and Windows books you may find helpful.

C++ and Object Oriented Programming:

Bjarne Stroustrup: The C++ Programming Language (Second edition, Reading, Massachusetts: Addison-Wesley Publishing Company, 1994), ISBN: 0-201-53992-6.

Bruce Eckel: Thinking in C++ (Englewood Cliffs, New Jersey: Prentice Hall, Inc., 1995), ISBN: 0-13-917709-4.

Al Stevens: Teach Yourself... C++ (Fourth edition, New York, New York: MIS:Press). ISBN 1-55828-406-0.

Computer Graphics Programming:

James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes, Richard L. Phillips: Introduction to Computer Graphics (Reading, Massachusetts: Addison-Wesley Publishing Company, 1993). ISBN: 0-201-60921-5.

John Vince: 3-D Computer Animation (Reading, Massachusetts: Addison-Wesley Publishing Company, 1993). ISBN: 0-201-62756-6.

Alan Watt and Mark Watt: Advanced Animation and Rendering Techniques (Reading, Massachusetts: Addison-Wesley, 1992). ISBN: 0-201-54412-1

James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes: Computer Graphics Principles and Practice (Second edition in C, Reading, Massachusetts: Addison-Wesely Publishing Company, 1995). ISBN: 0-201-84840-6.

James D. Murray and William vanRyper: Encyclopedia of Graphics File Formats (Second Edition, O'Reilly & Associates, Inc., 1996, 1994). ISBN: 1-56592-161-5. This book provides information about various graphic file formats that are applicable to the creation of image loader / saver plug-ins.

Tomas Möller and Eric Haines: Real-Time Rendering (A K Peters, Natick, Massachusetts, 1999) ISBN: 1-56881-101-2

Mason Woo, Jackie Neider, and Tom Davis: OpenGL Programming Guide (Second Edition, Addison-Wesley, 1998). ISBN: 0-201-46138-2

Renate Kempf and Chris Frazier: OpenGL Reference Manual (Second Edition, Addison-Wesley, 1998) ISBN: 0-201-46140-4

Randima Fernando and Mark J. Kilgard: Cg - The Cg Tutorial (Addison-Wesley, 2003) ISBN: 0-321-19496-9

Windows Programming:

Charles Petzold: Programming Windows 95 (Redmond, Washington: Microsoft Press, 1996). ISBN: 1-55615-676-6.

Jeffrey Richter: Advanced Windows The Developer's Guide to the Win32 API for Windows NT 3.5 and Windows 95 (Microsoft Press, 1995). ISBN: 1-55615-677-4.

Back to What You Need to Get Started

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Separation of Data from Their Operations

Advantages of Separation of Data and Operations

The rigorous separation of the scenegraph's data from the operations to be performed on that data is a central NVSG design concept. This approach provides the highest flexibility for all fields of NVSG applications, such as CAD applications, Viewer applications, and clusters, to name a few.

This weak coupling also make it very easy for developers to extend NVSG to meet their needs. For example, adding a special operation doesn't require extending any of the NVSG core classes . Conversely, extending the NVSG core classes by means of overloading won't break existing operations.

What Does Separation of Data and Operations Mean?

One can think of a scenegraph as a container holding heterogeneous data - that is, scenegraph class objects. The scenegraph classes themselves encapsulate specific data, but do not know how to perform actions on that data. For example, the Triangles class encapsulates geometry data and additional topological information on how to connect the geometry data to form a geometric object. However, the Triangles class does not know how to render the encapsulated geometry.

An operation on the scenegraph data is performed by means of a traverser . A traverser serves as a link between the scenegraph and a defined operation - such as rendering - to be performed on the scenegraph. More precisely, a traverser iterates the scenegraph and performs a specific operation on each component of the scenegraph. In this way, a traverser fullfills two tasks:

  • Iterating the scene graph, starting at the scene graph's root node.
    In general, this is covered by the base class Traverser .
  • Performing a defined operation for each object (nodes, etc.) in the scenegraph.
    In general, this is customized by means of overloading.

Back to

  • Important Concepts - Must Read for All Developers
  • NVIDIA Scene Graph Software Development Kit (NVSGSDK)
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Traversers

The concept of traversers is one of the key designs of NVSG and goes along with the Separation of Data from Their Operations. A traverser serves as link between the scene graph and a defined operation to be performed on the scene graph. More precisely, a traverser covers the following tasks:

  • Iterating the scene graph, starting at the scene graph's root node.
  • Performing a defined operation for each object (nodes, etc.) in the scene graph.

A traverser inherits from Traverser . This base class covers base iteration over scene graphs. The Traverser can be either a read-only traverser or a read-write traverser.

Besides iterating a scene graph, the base class also provide per-object locking. In particular, this feature allows for multiple read-only traversers to run in parallel in a multithreaded environment. One can think of a single scene graph that is rendered to multiple output devices simultaneously.

Performing a special operation (render, save, etc.) on a given scene graph is achieved by means of overloading.

See also:
Working with Traversers and How to Derive a Traverser
Back to

  • Important Concepts - Must Read for All Developers
  • NVIDIA Scene Graph Software Development Kit (NVSGSDK)
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Using the NVSGSDK

This module of the documentation is intended to teach the developer how to accomplish specific tasks in programming an NVSG-based application.

It includes the following sections:

Fundamental Concepts of the NVSGSDK
This section contains a description of the NVSG architecture and the fundamental concepts of the NVSGSDK.

Important Concepts - Must Read for All Developers
This section describes important concepts with which developers must be familiar.

Working With NVSG Classes
This section includes commented source code and descriptions of categories of methods developers must implement to create and work with each class type.

Back to NVIDIA Scene Graph Software Development Kit (NVSGSDK)

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Defining the View Frustum

The NVSGSDK follows a simple camera model for defining the view frustum.

The camera has the following characteristics associated with it:

  • position in the world
  • view direction - the direction in which the camera is looking
  • up direction - the direction that is orthogonal to the view direction and points to the top
  • target point - the (positive) target distance away from the camera position along the view direction
  • view plane - the plane that defined by the target point and is normal to the view direction
  • view window - a section of the view plane with the target point as its center.

Additionally, the following define the near and far limits of the view frustum:

  • (positive) near distance - a distance less than or equal to the target distance
  • far distance - a distance greater than or equal to the target distance and different from the near distance

Defining Values in One-step

Defining all these values described above can be very easy. Suppose you have a nvsg::Scene with a bounding sphere sphere you want to look at with a nvsg::PerspectiveCamera pCamera. The following code snippet does all the work:

  pCamera->zoom( sphere );

This takes the camera from it's default position (0,0,1), view direction (0,0,-1), and up direction (0,1,0), and moves it along the view direction until the bounding sphere of the whole scene is inside the view frustum, using the default field of view of about 53° and an aspect ratio of 1. The center of the sphere will be in the view plane. The near and far distances are automatically determined to fit the frustum around the scene. Taking that as a starting point, the camera can be easily manipulated with calls to move, orbit, rotate, and zoom.

Setting the Orientation

To specify the camera orientation (that is, a viewing direction and an up direction), you can use one of the following two code snippets:

  pCamera->setDirection( dir );
  pCamera->setUpVector( up );
  pCamera->zoom( sphere );

  pCamera->setOrientation( orientation );
  pCamera->zoom( sphere );

Here again, the center of the sphere is in the view plane. Use a similar method to specify the field of view, the aspect ratio, and the near and far distances. Note that in the first snippet dir and up must not be collinear. In the second snippet, orientation is the Quatf that rotates the default direction (0,0,-1) to the desired direction.

Adjusting the Aspect Ratio

Usually, to prevent distortions, the aspect ratio of the view window in the view plane should be the same as the aspect ratio of the viewport on the screen. Assuming that your viewport is w pixels wide and h pixels high, you would do the following:

  pCamera->setAspectRatio( (float) w / h );

This keeps the height of your view window constant and adjusts the width accordingly, thus keeping the field of view constant. If you prefer to keep the width constant, call the following instead:

  bool keepWidth = true;
  pCamera->setAspectRatio( (float) w / h, keepWidth );

Setting Distances Explicitly

The zoom() method used earlier automatically fits the near and far clipping plane as well as the target distance. You can switch this automation off and set these values explicitly as follows:

  pCamera->setAutoClipPlanes( false );
  pCamera->setNearDistance( near );
  pCamera->setTargetDistance( targ );
  pCamera->setFarDistance( far );

Keep in mind, here, that all distance values are positive, near is less than far, and targ is somewhere in between.

Setting Position and Window Size Explicitly

The zoom() method also automatically adjusts the position and the window size. Again, you can switch this automation off and set these values explicitly as follows:

  pCamera->setPosition( pos );

  pCamera->setWindowSize( size );

The first snippet sets the camera at the given position. No other setting of the camera is changed. The second snippet makes the view window extend from the target point out to the right and left by size[0]/2, and out to the top an bottom by size[1]/2. Note that the window size is given in world coordinate units. Setting the window size in this way might change both the field of view and the aspect ratio. Use zoom operations to keep these values constant.

Defining an Asymmetric Frustum

The previous examples always results in a symmetric view frustum. In some cases, such as for multi-screen solutions, you might need an asymmetric frustum. This can be achieved as follows:

  pCamera->setWindowRegion( lowerLeft, upperRight );

This function sets the part of the view window to be used for the view frustum. By default, lowerLeft is (0,0) and upperRight is (1,1), which means that the whole view window is used.

To use just a part of the view window, set these values to the desired fractions. For example, to adjust the n times m cameras of a regular n x m multi-screen solution, call the following for the camera corresponding to the jth screen in the ith row:

  pCamera->setWindowRegion( Vec2f( (float)i/n, (float)j/m ), Vec2f( (float)(i+1)/n, (float)(j+1)/m ) );

This defines the relative part of the view window and no other member function of the camera changes it. For this reason, as long as the desired part of the window doesn't change, you need to set this only once.

Note:
The aspect ratio of the camera is determined by the view window, not the window region. That is, in a multi-screen solution the window of every cameras should be the same, thus having the same aspect ratio. This aspect ratio should be the same as the aspect ratio of the sum of the multi-screen viewports. For example, if you have a one times three viewport solution, each with a resolution of 1280 x 1024, the resulting aspect ratio would be (float) 3 * 1280 / 1024 = 3.75.
Back to

  • Working With NVSG Classes
  • Using the NVSGSDK
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


What You Need to Get Started

Technical Expertise

In order to use the NVSGSDK you need to know how to program in C++ and be familiar with object-oriented programming concepts. This document can get you started, but it does not teach C++ or object-oriented programming.

It is also assumed that you are familiar with the Microsoft Visual C++ compiler and development tools.

If you want to use pixel or fragment shaders with your scene models, you should also be familiar with Cg and CgFx.

See also:
Recommended Reading

Software

Microsoft Windows 2000/XP.
Microsoft Visual Studio.NET 2003

Hardware

NVIDIA FX family of graphics cards, such as the NVIDIA Quadro FX 2000.

Back to NVIDIA Scene Graph Software Development Kit (NVSGSDK)

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Working with Lights

Lights can be handled like any other geometry. Their position and/or orientation are determined by the nvsg::Transform node they are child of. There can be any number of lights in a scene, but some traversers might pay attention to only a limited number of them. The nvtraverser::GLTraverser, for example, handles just the first eight lights it encounters.

Currently there are three different types of light sources:

nvsg::DirectedLight A directed light has no position, only direction. It represents a distant light source with parallel rays, such as the sun for example.

nvsg::PointLight A point light has a position in space, but no direction. The light rays emanate from it's position in every direction, such as from a light bulb for example.

nvsg::SpotLight A spot light has both position and direction. The light rays emanate from the position in only a limiting cone around it's direction.

See also:
workingwithtransforms
Back to Working With NVSG Classes
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Working With NVSG Classes

Information on how to work with NVSG classes is provided in the following sections:

Memory Management

Working with State Attributes

Working with Multitexturing

Working with Lights

Working with Traversers

workingwithtransforms

Working with Plug-ins

  • Creating a New Plug-in Project
  • Writing a Loader/Saver Plug-In

Working with Camera Views

  • Defining the View Frustum

Hit Testing

Back to

  • Using the NVSGSDK
  • NVIDIA Scene Graph Software Development Kit (NVSGSDK)
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Working with State Attributes

An nvsg::GeoNode holds a number of pairs of nvsg::Drawable and nvsg::StateSet. An nvsg::Drawable contains the geometry, while an nvsg::StateSet holds a number of nvsg::StateAttribute. This set of attributes determine the visual appearance of the corresponding geometry.

Adding Attributes to a Set

The following functions add an nvsg::StateAttribute to an nvsg::StateSet:
  • addAttributeBack() adds an attribute at the end of the list
  • addAttributeFront() adds an attribute at the beginning of the list
  • appendAttributes() adds a number of attributes at the end of the list
  • insertAttributes() adds a number of attributes at the beginning of the list
None of these functions prevent multiple instances of equivalent attributes in the list. When traversing a list of attributes with multiple equivalent elements, the last of the equivalent attributes replaces any previous one. Therefore, for performance reasons, it is advisable to avoid multiple equivalent attributes in any one state set.

When a Set Does Not Contain a Special Attribute

Normally, the state attribute that is in this set is used with the corresponding geometry. When the set does not contain a special type of attribute, a default for the attribute type is to be used. This means that the parameters controlled by such an attribute type are explicitly reset to some defined values. This prevents any dependencies on the sequence of the drawables.

Note:
There might exist state attributes that make other state attributes obsolete. For example, when there is an nvsg::CgFx attribute, every other attribute such as nvsg::Material or nvsg::Texture are ignored.
When deriving from nvtraverser::RenderTraverser (like nvtraverser::GLTraverser does), a two level default handling is used:
  • If there is an equivalent attribute in the global state set, that attribute is used as the default.
  • If there is no equivalent attribute in the global state set, the default values for the attribute are used.
Back to Working With NVSG Classes
Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Writing a Loader/Saver Plug-In

This section presents information common to the development of a Scene Loader or Saver Plug-In. It discusses the sample files, the plug-in directory search mechanism, and the standard DLL functions.

Loader and Saver plug-ins are implemented as dynamic link libraries (DLLs). DLLs are object code libraries that let multiple programs share code, data, and resources. Dynamic linking allows an executable module to include only the information needed at run time to locate the executable code for a DLL function. This type of linking differs from the more familiar static linking, which requires a copy of a library function's executable code in the executable module of each application using it.

The development tool for creating these DLLs is Microsoft Visual C++. For a description of how to create a new plug-in see Creating a New Plug-in Project.

Required Plug-In Entry Points

There are two DLL entry points that a plug-in must export. These two 'must have' entry points are:

  • bool queryPlugInterfaceType( const nvutil::UPITID& pitid, vector<nvutil::UPIID>& piids )
  • bool getPlugInterface( const nvutil::UPIID& piid, nvutil::PlugIn *& plug )

Implementation of the Plug-In Entry Points

This section briefly points out, in general terms, how the entry points can be implemented.

Implementation of queryPlugInterfaceType

The following sample code shows a possible implementation of a Plug-In for both loading and saving .NBF files:

// NBFLoaderSaver.cpp

#include "nvsg/PlugInterfaceID.h" // definition of UPITID_VERSION,
                                  // UPITID_SCENE_LOADER, and
                                  // UPITID_SCENE_SAVER

// unique plug-in types
const UPITID PITID_SCENE_LOADER(UPITID_SCENE_LOADER, UPITID_VERSION);
const UPITID PITID_SCENE_SAVER(UPITID_SCENE_SAVER, UPITID_VERSION);

bool queryPlugInterfaceType(const UPITID& pitid, vector<UPIID>& piids)
{
  piids.clear();
  if ( pitid==PITID_SCENE_LOADER )
  {
    piids.push_back(UPIID(".NBF", PITID_SCENE_LOADER));
  }
  else if ( pitid==PITID_SCENE_SAVER )
  {
    piids.push_back(UPIID(".NBF", PITID_SCENE_LOADER));
  }
  return !piids.empty();
}

Implementation of getPlugInterface

The following sample code shows a possible implementation of a Plug-In for both loading and saving .NBF files:

bool getPlugInterface(const UPIID& piid, PlugIn *& pi)
{
  const UPIID PIID_NBF_SCENE_LOADER = UPIID(".NBF", PITID_SCENE_LOADER));
  const UPIID PIID_NBF_SCENE_SAVER  = UPIID(".NBF", PITID_SCENE_SAVER));

  if ( piid==PIID_NBF_SCENE_LOADER )
  {
    return !!(pi=new NBFLoader());
  }
  else if ( piid==PIID_NBF_SCENE_SAVER )
  {
    return !!(pi=new NBFSaver());
  }
  return false;
}

Back to Working With NVSG Classes

Generated on Fri Jan 28 09:20:43 2005 for NVSGSDK by NVIDIA


Graphical Class Hierarchy

NVSGSDK Graphical Class Hierarchy

Go to the textual class hierarchy

Generated on Fri Jan 28 09:22:53 2005 for NVSGSDK by NVIDIA


Allocator.h Source File

Allocator.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 //#define ALLOCATION_COUNTER
00018
00019 // placement operator new does not have a matching delete operator!
00020 //
00021 // objects of type T that are constructed at explicit specified memory
00022 // locations by using the placement operator new() (i.g. new((void*)p) T())
00023 // should be destructed by explicitely calling their destructor (p->~T())
00024 #pragma warning(disable:4291)
00025
00026 #include <algorithm>
00027 #include <vector>
00028 #if defined( ALLOCATION_COUNTER )
00029 #include <map>
00030 #endif
00031 #include "nvutil/Singleton.h"
00032 #include "nvutil/Trace.h"
00033
00034 namespace nvutil
00035 {
00037   class Chunk
00038   {
00039     public:
00041       Chunk(size_t blockSize);
00042
00044       bool operator==(const Chunk& rhs) const;
00045       bool operator!=(const Chunk& rhs) const;
00046
00048       void * alloc();
00049       void dealloc(void * p);
00051       void freeMemory();
00052
00054       unsigned char blocksAvailable() const;
00056       bool isUnused() const;
00058       bool isInsideBounds(void * p) const;
00059
00060     private:
00062       enum { numBlocks = 255 };
00063
00065       void init();
00066
00068       void * lowerBound() const;
00069       void * upperBound() const;
00070
00071       unsigned char * m_rawMem; // raw memory
00072
00074       size_t m_blockSize;
00075       size_t m_chunkSize;
00076
00077       unsigned char m_firstAvailableBlock;  // addresses first memory block available
00078       unsigned char m_blocksAvailable;      // total amount of blocks available
00079   };
00080
00082   class FixedAllocator
00083   {
00084     public:
00086       FixedAllocator();
00087
00089       ~FixedAllocator();
00090
00092       void * alloc();
00093
00095       void dealloc(void * p);
00096
00098       void init ( size_t blockSize );
00099
00100     private:
00101       size_t m_blockSize;   // fixed block size
00102
00103       typedef std::vector< Chunk > Chunks;
00104       Chunks m_chunks; // array of chunks
00105
00106       Chunk  * m_lastAlloc;   // last chunk taken for allocation
00107       Chunk  * m_lastDealloc; // last chunk taken for deallocation
00108   };
00109
00110 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
00112
00116   class Allocator
00117   {
00118     public:
00120
00121       Allocator();
00122
00124
00125       ~Allocator();
00126
00128
00129       void * alloc( size_t size
00130                   );
00131
00132 #ifdef _DEBUG
00133
00134
00136       void * alloc( size_t size
00137                   , const char * src
00138                   , unsigned int ln
00139                   );
00140 #endif
00141
00143
00145       void dealloc( void * p
00146                   , size_t size
00147                   );
00148
00149     private:
00151       void * __alloc(size_t size);
00152
00153     private:
00154       // forward to default new/delete operators if block size
00155       // exceeds the threshold given by maxBlockSize
00156       enum { maxBlockSize = 256 };
00157
00158       // provide one allocator for each single size <= maxBlockSize
00159       FixedAllocator m_allocTbl[maxBlockSize];
00160
00161       // leak detection in debug mode
00162 #ifdef _DEBUG
00163       struct DbgAllocInfo
00164       {
00165         void  * p;            //  memory location
00166         std::string  source;  //  source file of allocation
00167         unsigned int ln;      //  line of allocation
00168
00169         // with this we can simply use a vector for our alloc infos
00170         bool operator==(void * _p) const { return p==_p; }
00171         bool operator!=(void * _p) const { return p!=_p; }
00172       };
00173
00174       std::vector<DbgAllocInfo> m_dbgAllocInfos;   //  vector of allocation infos
00175
00176       //  helper functor to put out a memory leak warning
00177       struct LeakWarning
00178       {
00179         void operator()(const DbgAllocInfo& allocInfo) const
00180         {
00181           std::string str;
00182           char cPtr[sizeof(void*)*2+1];
00183           sprintf(cPtr, "%p", allocInfo.p); // cast to a hex-string for pointers
00184           char cLine[20];  // enough for 64-bit integers even
00185           sprintf(cLine, "%d", allocInfo.ln);
00186
00187           str = "****Memory Leak Detected*** Source: ";
00188           str += allocInfo.source;
00189           str += ", Line: ";
00190           str += cLine;
00191           str += ", Ptr: 0x";
00192           str += cPtr;
00193           str += "\n";
00194           traceDebugOutput()(str.c_str());
00195         }
00196       };
00197 #endif
00198 #if defined( ALLOCATION_COUNTER )
00199       std::map<size_t,size_t> m_allocSizeMap;
00200 #endif
00201   };
00202
00203   inline void * Allocator::alloc(size_t size)
00204   {
00205     __ASSERT(!"WARNING: Bypassing leak detection in debug mode!\n");
00206     return __alloc(size);
00207   }
00208
00209 #ifdef _DEBUG
00210   inline void * Allocator::alloc(size_t size, const char* src, unsigned int ln)
00211   {
00212     DbgAllocInfo allocInfo;
00213     // collect allocation info for memory leak detection
00214     allocInfo.p = __alloc(size);
00215     allocInfo.source = src;
00216     allocInfo.ln = ln;
00217     m_dbgAllocInfos.push_back(allocInfo);
00218     return allocInfo.p;
00219   }
00220 #endif
00221
00222   inline void Allocator::dealloc(void *p, size_t size)
00223   {
00224 #ifdef _DEBUG
00225     m_dbgAllocInfos.erase(std::remove(m_dbgAllocInfos.begin(), m_dbgAllocInfos.end(), p), m_dbgAllocInfos.end());
00226 #endif
00227     if ( size <= maxBlockSize )
00228     {
00229       m_allocTbl[size-1].dealloc(p);
00230     }
00231     else
00232     {
00233       ::operator delete(p);
00234     }
00235   }
00236
00237   inline void * Allocator::__alloc(size_t size)
00238   {
00239 #if defined( ALLOCATION_COUNTER )
00240     m_allocSizeMap[size]++;
00241 #endif
00242     // use suitable allocation for given size
00243     return (size<=maxBlockSize) ? m_allocTbl[size-1].alloc() : ::operator new(size);
00244   }
00245 //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
00246
00248
00254   class IAllocator
00255   {
00256     public:
00258       typedef Singleton<Allocator> theAllocator;
00259
00261
00263       IAllocator() {}
00265       virtual ~IAllocator() {}
00266
00268
00270       NVSG_API void * operator new( size_t size // Size in bytes of demanded memory block.
00271                                   );
00272 #ifdef _DEBUG
00273
00274
00277       NVSG_API void * operator new( size_t size       // Size in bytes of demanded memory block.
00278                                   , const char * src  // Source file where allocation takes place.
00279                                   , unsigned int ln   // Line number within the source file where allocation takes place.
00280                                   );
00281 #endif
00282
00283
00289       NVSG_API void * operator new( size_t size // Size in bytes of demanded memory block.
00290                                   , void * p    // Start address of a valid memory block where the object will be created.
00291                                   );
00293
00294       NVSG_API void operator delete( void * p    // Start address of memory block to be freed.
00295                                   , size_t size // Size of memory block to be freed.
00296                                   );
00297   };
00298
00299
00300   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00301   // implementation following
00302   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00303
00309   inline void Chunk::init()
00310   {
00311     m_rawMem = ::new unsigned char[m_chunkSize];
00312
00313     m_firstAvailableBlock = 0;
00314     m_blocksAvailable = numBlocks;
00315
00316     unsigned char * p = m_rawMem;
00317     for ( unsigned char i=0; i!=numBlocks; p+=m_blockSize )
00318     {
00319       // code indices of next available blocks in first byte of each block
00320       *p = ++i;
00321     }
00322   }
00323
00329   inline void Chunk::freeMemory()
00330   {
00331     // should not attempt to free memory of a chunk in use
00332     __ASSERT(isUnused());
00333     ::delete[] m_rawMem;
00334   }
00335
00341   inline void * Chunk::alloc()
00342   {
00343     if ( !m_blocksAvailable )
00344     {
00345       // this needs to be handled in superior layers
00346       return NULL;
00347     }
00348
00349     unsigned char * p = &m_rawMem[m_firstAvailableBlock*m_blockSize];
00350     // index of next block available is coded in first byte
00351     m_firstAvailableBlock = *p;
00352     // one block less available in this chunk
00353     --m_blocksAvailable;
00354
00355     return (void *)p;
00356   }
00357
00363   inline void Chunk::dealloc(void * p)
00364   {
00365     unsigned char * ptr = (unsigned char*)p;
00366
00367     // range check
00368     __ASSERT(ptr>=m_rawMem);
00369     __ASSERT(ptr<&m_rawMem[m_chunkSize]);
00370     // alignment check
00371     __ASSERT(!((ptr-m_rawMem)%m_blockSize));
00372
00373     *ptr = m_firstAvailableBlock;
00374     m_firstAvailableBlock = (unsigned char)((ptr - m_rawMem) / m_blockSize);
00375
00376     // truncation check
00377     __ASSERT(m_firstAvailableBlock==((ptr-m_rawMem)/m_blockSize));
00378     ++m_blocksAvailable;
00379   }
00380
00386   inline bool Chunk::operator==(const Chunk& rhs) const
00387   {
00388     // consider chunks to be equal if they point to same raw memory location
00389 #ifdef _DEBUG
00390     if ( m_rawMem==rhs.m_rawMem )
00391     {
00392       __ASSERT(  m_blockSize == rhs.m_blockSize
00393             && m_firstAvailableBlock==rhs.m_firstAvailableBlock
00394             && m_blocksAvailable==rhs.m_blocksAvailable );
00395     }
00396 #endif
00397
00398     return (  m_rawMem==rhs.m_rawMem );
00399   }
00400
00406   inline bool Chunk::operator!=(const Chunk& rhs) const
00407   {
00408     return !operator==(rhs);
00409   }
00410
00416   inline unsigned char Chunk::blocksAvailable() const
00417   {
00418     return m_blocksAvailable;
00419   }
00420
00426   inline bool Chunk::isInsideBounds(void * p) const
00427   {
00428     return p>=lowerBound() && p<upperBound();
00429   }
00430
00436   inline bool Chunk::isUnused() const
00437   {
00438     return m_blocksAvailable==numBlocks;
00439   }
00440
00446   inline void * Chunk::lowerBound() const
00447   {
00448     return (void*)m_rawMem;
00449   }
00450
00456   inline void * Chunk::upperBound() const
00457   {
00458     return (void*)&m_rawMem[m_chunkSize];
00459   }
00460
00466   inline void FixedAllocator::init(size_t blockSize)
00467   {
00468     m_blockSize = blockSize;
00469   }
00470
00476   inline void * IAllocator::operator new(size_t size)
00477   {
00478     return theAllocator::instance()->alloc(size);
00479   }
00480
00481 #ifdef _DEBUG
00482   // provide memory leak detection in debug mode
00483   inline void * IAllocator::operator new(size_t size, const char * src, unsigned int ln)
00484   {
00485     return theAllocator::instance()->alloc(size, src, ln);
00486   }
00487 #endif
00488
00494   inline void * IAllocator::operator new(size_t size, void * p)
00495   {
00496     // as this is used when constructing an object at a explicit
00497     // specified memory location, that location shoud be a valid
00498     // one - assert this!
00499     __ASSERT(p);
00500     return p;
00501   }
00502
00508   inline void IAllocator::operator delete(void * p, size_t size)
00509   {
00510     theAllocator::instance()->dealloc(p, size);
00511   }
00512
00513 } // namespace nvutil
00514
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


AnimatedQuads.h Source File

AnimatedQuads.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Animation.h"
00018 #include "nvsg/Quads.h"
00019 #include "nvsg/VNVector.h"
00020
00021 namespace nvsg
00022 {
00024
00026   class AnimatedQuads : public Quads
00027   {
00028     public:
00030
00032       NVSG_API static const AnimatedQuads * create( const Animation<VNVector> *pAnimation = NULL
00033                                                   );
00034
00036
00038       NVSG_API static const AnimatedQuads * createFromBase( const Quads &rhs
00039                                                           , const Animation<VNVector> *pAnimation = NULL
00040                                                           );
00041
00043
00044       NVSG_API virtual const AnimatedQuads * clone( void ) const;
00045
00047
00048       NVSG_API const Animation<VNVector> * getAnimation( void ) const;
00049
00051
00053       NVSG_API void setAnimation( const Animation<VNVector> *pAnimation
00054                                 );
00055
00057
00058       NVSG_API void setAnimationFrame( size_t frame
00059                                      );
00060
00061       //--  Functions reimplemented from Drawable --
00062       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00063
00064       //--  Functions reimplemented from Object  --
00065       NVSG_API virtual DataID getDataID( void ) const;
00066       NVSG_API virtual bool isDataShared( void ) const;
00067
00068     protected:
00070       NVSG_API AnimatedQuads( const Animation<VNVector> *pAnimation );
00071
00073       NVSG_API AnimatedQuads( const Quads &rhs, const Animation<VNVector> *pAnimation );
00074
00076       NVSG_API AnimatedQuads( const AnimatedQuads &rhs );
00077
00079       NVSG_API virtual ~AnimatedQuads(void);
00080
00081       // for some extra work after vertex attribute data have been changed
00082       NVSG_API virtual void onSetVertexAttributeData(void);
00083
00084     private:
00085       AnimatedQuads();    //  private default constructor to prevent use
00086
00087     private:
00088       const Animation<VNVector> * m_animation;
00089       size_t                      m_currentFrame;
00090   };
00091
00092   // - - - - - - - - - - - - - - - - - - - - - - - - -
00093   // inlines
00094   // - - - - - - - - - - - - - - - - - - - - - - - - -
00095
00096   inline const Animation<VNVector> * AnimatedQuads::getAnimation( void ) const
00097   {
00098     __TRACE();
00099     return( m_animation );
00100   }
00101
00102 } //  namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


AnimatedTransform.h Source File

AnimatedTransform.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Animation.h"
00018 #include  "nvsg/Transform.h"
00019
00020 namespace nvsg
00021 {
00023
00026   class AnimatedTransform : public Transform
00027   {
00028     public:
00030
00032       NVSG_API static const AnimatedTransform * create( const Animation<nvmath::Trafo> *pAnimation = NULL
00033                                                       );
00034
00036
00038       NVSG_API static const AnimatedTransform * createFromBase( const Transform &rhs
00039                                                               , const Animation<nvmath::Trafo> *pAnimation = NULL
00040                                                               );
00041
00043
00044       NVSG_API virtual AnimatedTransform * clone( void ) const;
00045
00047
00048       NVSG_API const Animation<nvmath::Trafo> * getAnimation( void ) const;
00049
00051
00052       NVSG_API void setAnimation( const Animation<nvmath::Trafo> *pAnimation
00053                                 );
00054
00056
00057       NVSG_API void setAnimationFrame( size_t frame
00058                                      );
00059
00060       //--  Functions reimplemented from Transform  --
00061       NVSG_API virtual void setCenter( const nvmath::Vec3f &center );
00062       NVSG_API virtual void setIdentity( void );
00063       NVSG_API virtual void setOrientation( const nvmath::Quatf &orientation );
00064       NVSG_API virtual void setScaling( const nvmath::Vec3f &scaling );
00065       NVSG_API virtual void setTranslation( const nvmath::Vec3f &translation );
00066
00067       //--  Functions reimplemented from Node --
00068       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00069
00070       //--  Functions reimplemented from Object  --
00071       NVSG_API virtual DataID getDataID( void ) const;
00072       NVSG_API virtual bool isDataShared( void ) const;
00073
00074     protected:
00076       NVSG_API AnimatedTransform( const Animation<nvmath::Trafo> *pAnimation );
00077
00079       NVSG_API AnimatedTransform( const Transform &rhs, const Animation<nvmath::Trafo> *pAnimation );
00080
00082       NVSG_API AnimatedTransform( const AnimatedTransform& rhs );
00083
00085       NVSG_API virtual ~AnimatedTransform(void);
00086
00087     private:
00088       AnimatedTransform();    //  private default constructor to prevent use
00089
00090     private:
00091       const Animation<nvmath::Trafo>  * m_animation;
00092       size_t                            m_currentFrame;
00093   };
00094
00095   // - - - - - - - - - - - - - - - - - - - - - - - - -
00096   // inlines
00097   // - - - - - - - - - - - - - - - - - - - - - - - - -
00098
00099   inline const Animation<nvmath::Trafo> * AnimatedTransform::getAnimation( void ) const
00100   {
00101     __TRACE();
00102     return( m_animation );
00103   }
00104
00105 } //  namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


AnimatedTriangles.h Source File

AnimatedTriangles.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Animation.h"
00018 #include "nvsg/Triangles.h"
00019 #include "nvsg/VNVector.h"
00020
00021 namespace nvsg
00022 {
00024
00026   class AnimatedTriangles : public Triangles
00027   {
00028     public:
00030
00032       NVSG_API static const AnimatedTriangles * create( const Animation<VNVector> *pAnimation = NULL
00033                                                       );
00034
00036
00038       NVSG_API static const AnimatedTriangles * createFromBase( const Triangles &rhs
00039                                                               , const Animation<VNVector> *pAnimation = NULL
00040                                                               );
00041
00043
00044       NVSG_API virtual const AnimatedTriangles * clone( void ) const;
00045
00047
00048       NVSG_API const Animation<VNVector> * getAnimation( void ) const;
00049
00051
00052       NVSG_API void setAnimation( const Animation<VNVector> *pAnimation
00053                                 );
00054
00056
00057       NVSG_API void setAnimationFrame( size_t frame
00058                                      );
00059
00060       //--  Functions reimplemented from Drawable --
00061       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00062
00063       //--  Functions reimplemented from Object  --
00064       NVSG_API virtual DataID getDataID( void ) const;
00065       NVSG_API virtual bool isDataShared( void ) const;
00066
00067     protected:
00069       NVSG_API AnimatedTriangles( const Animation<VNVector> *pAnimation );
00070
00072       NVSG_API AnimatedTriangles( const Triangles &rhs, const Animation<VNVector> *pAnimation );
00073
00075       NVSG_API AnimatedTriangles( const AnimatedTriangles &rhs );
00076
00078       NVSG_API virtual ~AnimatedTriangles(void);
00079
00080       // for some extra work after vertex attribute data has been changed
00081       NVSG_API virtual void onSetVertexAttributeData(void);
00082
00083     private:
00084       AnimatedTriangles();    //  private default constructor to prevent use
00085
00086     private:
00088       const Animation<VNVector> * m_animation;
00089       size_t                      m_currentFrame;
00090   };
00091
00092   // - - - - - - - - - - - - - - - - - - - - - - - - -
00093   // inlines
00094   // - - - - - - - - - - - - - - - - - - - - - - - - -
00095
00096   inline const Animation<VNVector> * AnimatedTriangles::getAnimation( void ) const
00097   {
00098     __TRACE();
00099     return( m_animation );
00100   }
00101
00102 } //  namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


Animation.h Source File

Animation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Object.h"
00018
00019 namespace nvsg
00020 {
00022
00024   template<typename T> class Animation : public Object
00025   {
00026     public:
00027       //--  Functions specific to Animation --
00029
00030       virtual const Animation<T> * clone( void ) const = 0;
00031
00033
00034       virtual size_t getNumberOfFrames( void ) const = 0;
00035
00037
00038       virtual const T & operator[]( size_t i ) const = 0;
00039
00040       //--  Functions reimplemented from Object  --
00041       virtual DataID getDataID( void ) const;
00042       virtual bool isDataShared( void ) const;
00043
00044     protected:
00046       Animation( void );
00047
00049       virtual ~Animation( void );
00050   };
00051
00052   template<typename T> Animation<T>::Animation( void )
00053   {
00054     __TRACE();
00055   }
00056
00057   template<typename T> Animation<T>::~Animation( void )
00058   {
00059     __TRACE();
00060   }
00061
00062   template<typename T> DataID Animation<T>::getDataID( void ) const
00063   {
00064     __TRACE();
00065     return( (DataID)this );
00066   }
00067
00068   template<typename T> bool Animation<T>::isDataShared( void ) const
00069   {
00070     __TRACE();
00071     return( false );
00072   }
00073 } //  namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


AnimationCamManip.h Source File

AnimationCamManip.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvui/CameraManipulator.h"
00018
00019 //  forward declarations
00020 namespace nvmath
00021 {
00022   class Trafo;
00023 }
00024 namespace nvsg
00025 {
00026   template<typename T> class Animation;
00027 }
00028
00029 namespace nvui
00030 {
00032
00048   class AnimationCamManip : public CameraManipulator
00049   {
00050     public:
00052       NVSG_API AnimationCamManip(void);
00053
00055
00056       NVSG_API virtual ~AnimationCamManip(void);
00057
00059       NVSG_API virtual void apply();
00060
00062       NVSG_API void  setAnimationFrame( size_t nFrame
00063                                       );
00064
00066
00069       NVSG_API void  setAnimation( const nvsg::Animation<nvmath::Trafo> * pAnimation
00070                                  );
00071
00072     protected:
00073       const nvsg::Animation<nvmath::Trafo>  * m_animation;
00074       size_t              m_currentFrame;
00075   };
00076
00077   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00078   // inlines
00079   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00080   inline void AnimationCamManip::setAnimationFrame( size_t nFrame )
00081   {
00082     __TRACE();
00083     m_currentFrame = nFrame;
00084   }
00085
00086 } // namespace nvui
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


AppTraverser.h Source File

AppTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013 #include "ModelViewTraverser.h"
00014
00017 #include "nvsgcommon.h"
00018
00019 #include "ModelViewTraverser.h"
00020 #include  "nvsg/ViewState.h"
00021
00022 namespace nvtraverser {
00023
00025
00032 class AppTraverser : public ModelViewTraverser
00033 {
00034 public:
00036   NVSG_API AppTraverser();
00037
00038 protected:
00040   NVSG_API virtual ~AppTraverser();
00041
00043   NVSG_API virtual void doApply( const nvsg::ViewState *viewState, const nvsg::Scene *scene );
00044
00045   // handler routine overrides
00046   NVSG_API virtual void handleGeoNode( const nvsg::GeoNode *p );
00047   NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *p );
00048   NVSG_API virtual void handleAnimatedQuads( const nvsg::AnimatedQuads *p );
00049   NVSG_API virtual void handleAnimatedTriangles( const nvsg::AnimatedTriangles *p );
00050   NVSG_API virtual void handleSkinnedTriangles( const nvsg::SkinnedTriangles *p );
00051   NVSG_API virtual void handleCgFx( const nvsg::CgFx *p );
00052   NVSG_API virtual void handleHighlightBox( const nvsg::HighlightBox *p, const nvsg::GeoSet * geoSet);
00053
00054   // traverseLight override
00055   NVSG_API virtual void traverseLight( const nvsg::LightSource *p );
00056
00057   // data accessible for derived classes
00058   bool   m_bApplyingCgFx;
00059   size_t m_animationFrame;
00060
00061 private:
00062   // Some data to cache so we can decide if we really have to apply the animation data.
00063   // This does not help to prevent from unneeded traversal steps since we can't
00064   // decide for derived classes.
00065   const nvsg::ViewState * m_pLastViewState;
00066   const nvsg::Scene     * m_pLastScene;
00067   size_t                  m_lastAnimationFrame;
00068   bool                    m_bApplyAnimationKey;
00069
00070 private:
00071   // Calculate the bounding box of a geometry.
00072   NVSG_API void calcHighlightBox(
00073     const nvsg::HighlightBox *p         // HighlightBox to hold box dimensions
00074   , const nvsg::GeoSet *geo             // geometry to be highlighted
00075   );
00076
00077 };
00078
00079 }
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


Assert.h Source File

Assert.h

00001 #pragma once
00002
00003 #include "nvsg/nvsgapi.h"  // storage-class defines
00004
00005 namespace nvutil
00006 {
00007   extern NVSG_API void AssertionFailed(const char* assertion, const char* file, unsigned int line, const char * function);
00008 } // namespace nvutil
00009
00010 #if defined(_DEBUG)
00011 // assert macro
00012 #if defined(LINUX)
00013 #define __ASSERT(exp) \
00014   if (exp){ \
00015   } else { \
00016     nvutil::AssertionFailed(#exp, __FILE__, __LINE__, __func__); \
00017   }
00018 #else
00019 #include <assert.h>
00020 #define __ASSERT assert
00021 #endif
00022
00023 // verify the expression f succeeds
00024 #define __VERIFY(f) __ASSERT(f);
00025
00026 // a compile time assert
00027 #define __CTASSERT(exp) __CTASSERTi(exp,__LINE__)
00028 #define __CTASSERTi(exp,line) __CTASSERTii(exp,line)
00029 #define __CTASSERTii(exp,line) static int __ctassert__##line[(exp)!=0] = {0}
00030
00031 #else // non-debug configuration
00032
00033 #define __ASSERT(exp) static_cast<void>(0)
00034 #define __VERIFY(f) (static_cast<void>(f))
00035 #define __CTASSERT(exp)
00036 #define __CTASSERTi(exp,cnt)
00037 #define __CTASSERTii(exp,cnt)
00038 #endif
00039
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


BitMask.h Source File

BitMask.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 namespace nvutil
00018 {
00019
00021 template <int n>
00022 class Bit
00023 {
00024 public:
00025   enum { mask = 1<<n };
00026 };
00027
00028 //  Don't need to document these tiny little helper defines !!!
00029 #if ! defined( DOXYGEN_IGNORE )
00030
00031 #define BIT(n) nvutil::Bit<n>::mask
00032
00033 #define BIT0  BIT(0)
00034 #define BIT1  BIT(1)
00035 #define BIT2  BIT(2)
00036 #define BIT3  BIT(3)
00037 #define BIT4  BIT(4)
00038 #define BIT5  BIT(5)
00039 #define BIT6  BIT(6)
00040 #define BIT7  BIT(7)
00041 #define BIT8  BIT(8)
00042 #define BIT9  BIT(9)
00043 #define BIT10 BIT(10)
00044 #define BIT11 BIT(11)
00045 #define BIT12 BIT(12)
00046 #define BIT13 BIT(13)
00047 #define BIT14 BIT(14)
00048 #define BIT15 BIT(15)
00049 #define BIT16 BIT(16)
00050 #define BIT17 BIT(17)
00051 #define BIT18 BIT(18)
00052 #define BIT19 BIT(19)
00053 #define BIT20 BIT(20)
00054 #define BIT21 BIT(21)
00055 #define BIT22 BIT(22)
00056 #define BIT23 BIT(23)
00057 #define BIT24 BIT(24)
00058 #define BIT25 BIT(25)
00059 #define BIT26 BIT(26)
00060 #define BIT27 BIT(27)
00061 #define BIT28 BIT(28)
00062 #define BIT29 BIT(29)
00063 #define BIT30 BIT(30)
00064 #define BIT31 BIT(31)
00065
00066 #endif  //  DOXYGEN_IGNORE
00067
00068 } // namespace nvutil
00069
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


BoundingSphere.h Source File

BoundingSphere.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Mat44f.h"
00018 #include "nvmath/Sphere3f.h"
00019
00020 namespace nvmath
00021 {
00023
00026   class BoundingSphere : public Sphere3f
00027   {
00028     public:
00030       BoundingSphere();
00031
00032     public:
00034
00037       NVSG_API bool extend( const Sphere3f &sphere
00038                           );
00039
00041
00043       NVSG_API const Sphere3f & getSphere( void ) const;
00044
00046
00047       NVSG_API void setSphere( const Sphere3f &sphere );
00048
00050
00052       NVSG_API const Vec3f & getCenter( void ) const;
00053
00055
00057       NVSG_API float getRadius( void ) const;
00058
00060
00061       NVSG_API void invalidate( void );
00062
00064
00066       NVSG_API bool isValid( void ) const;
00067
00069
00071       NVSG_API bool set( const Vec3f * vertices
00072                        , size_t        numVertices
00073                        );
00074
00076
00077       NVSG_API void transform( const Mat44f &m
00078                              );
00079
00081       NVSG_API void enlarge( float factor
00082                            );
00083
00084     private:
00085       bool    m_valid;
00086   };
00087
00088   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00089   // inlines
00090   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00091   inline  BoundingSphere::BoundingSphere()
00092   : m_valid(false)
00093   {
00094   }
00095
00096   inline const Sphere3f & BoundingSphere::getSphere( void ) const
00097   {
00098     __ASSERT( m_valid );
00099     return( *this );
00100   }
00101
00102   inline void BoundingSphere::setSphere( const Sphere3f &sphere )
00103   {
00104     m_valid = true;
00105     setCenter( sphere.getCenter() );
00106     setRadius( sphere.getRadius() );
00107   }
00108
00109   inline const Vec3f & BoundingSphere::getCenter( void ) const
00110   {
00111     __ASSERT( m_valid );
00112     return( Sphere3f::getCenter() );
00113   }
00114
00115   inline float BoundingSphere::getRadius( void ) const
00116   {
00117     __ASSERT( m_valid );
00118     return( Sphere3f::getRadius() );
00119   }
00120
00121   inline  void  BoundingSphere::invalidate( void )
00122   {
00123     m_valid = false;
00124   }
00125
00126   inline  bool  BoundingSphere::isValid( void ) const
00127   {
00128     return( m_valid );
00129   }
00130
00131   inline  void  BoundingSphere::transform( const Mat44f &m )
00132   {
00133     __ASSERT( m_valid );
00134     setCenter( Vec3f( m * Vec4f( Sphere3f::getCenter(), 1.0f ) ) );
00135   }
00136
00137   inline  void  BoundingSphere::enlarge( float factor )
00138   {
00139     __ASSERT( m_valid );
00140     setRadius( Sphere3f::getRadius() * factor );
00141   }
00142
00143   inline bool  BoundingSphere::set( const Vec3f * vertices, size_t numVertices )
00144   {
00145     __ASSERT( numVertices > 1 );
00146     bool m_valid = false;
00147     for ( size_t i=1 ; !m_valid && i<numVertices ; i++ )
00148     {
00149       m_valid = ( FLT_EPSILON < distance( vertices[0], vertices[i] ) );
00150     }
00151     if ( m_valid )
00152     {
00153       setSphere( boundingSphere( vertices, numVertices ) );
00154     }
00155     return( m_valid );
00156   }
00157
00158   inline bool  BoundingSphere::extend( const Sphere3f &sphere )
00159   {
00160     setSphere( m_valid ? boundingSphere( getSphere(), sphere ) : sphere );
00161     return( m_valid );
00162   }
00163
00164 } // end namspace nvmath
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


Camera.h Source File

Camera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vec2f.h"
00018 #include "nvmath/Vec3f.h"
00019 #include "nvmath/Quatf.h"
00020 #include "nvsg/Object.h"
00021
00022 //  forward declarations
00023 namespace nvmath
00024 {
00025   class Mat44f;
00026   class Vec2f;
00027 }
00028 namespace nvsg
00029 {
00030   class LightSource;
00031   class Node;
00032 }
00033
00034 namespace nvsg
00035 {
00037   class Camera : public Object
00038   {
00039     public:
00041
00042       NVSG_API virtual const Camera * clone( void ) const = 0;
00043
00044       //
00045       // head light handling interfaces
00046       //
00047
00049       NVSG_API virtual void addHeadLight(
00050         const LightSource * pLight
00051       , const nvmath::Vec3f &trans = nvmath::Vec3f( 0.0f, 0.0f, 0.0f )
00052       , const nvmath::Quatf &quat = nvmath::Quatf( 0.0f, 0.0f, 0.0f, 1.0f )
00053       ) = 0;
00054
00056
00057       NVSG_API virtual bool removeHeadLight( size_t index = 0
00058                                            ) = 0;
00059
00061
00062       NVSG_API virtual size_t getNumberOfHeadLights() const = 0;
00063
00065
00067       NVSG_API virtual const LightSource* getHeadLight( size_t index
00068                                                       ) const = 0;
00069
00071       NVSG_API virtual void getHeadLightTrafo(
00072         nvmath::Vec3f &trans
00073       , nvmath::Quatf &quat
00074       , size_t index = 0
00075       ) const = 0;
00076
00078
00079       NVSG_API virtual bool setHeadLightTrafo(
00080         const nvmath::Vec3f &trans
00081       , const nvmath::Quatf &quat
00082       , size_t index = 0
00083       ) = 0;
00084
00085       //
00086       // basic camera interface
00087       //
00088
00090
00091       NVSG_API virtual float getTargetDistance() const = 0;
00092
00094       NVSG_API virtual void setTargetDistance( float td
00095                                              ) = 0;
00096
00098
00099       NVSG_API virtual const nvmath::Vec3f& getPosition() const = 0;
00100
00102       NVSG_API virtual void setPosition( const nvmath::Vec3f& pos
00103                                        ) = 0;
00104
00106       NVSG_API virtual void setUpVector( const nvmath::Vec3f &up
00107                                        ) = 0;
00108
00110
00111       NVSG_API virtual nvmath::Vec3f getUpVector() const = 0;
00112
00114
00115       NVSG_API virtual nvmath::Vec3f getDirection() const = 0;
00116
00118       NVSG_API virtual void setDirection( const nvmath::Vec3f& dir
00119                                         ) = 0;
00120
00122       NVSG_API virtual void setOrientation( const nvmath::Quatf &quat
00123                                           ) = 0;
00124
00126       NVSG_API virtual void setOrientation( const nvmath::Vec3f &dir
00127                                           , const nvmath::Vec3f &up
00128                                           ) = 0;
00129
00131       NVSG_API virtual void setOrientation( const nvmath::Vec3f &axis
00132                                           , float angle
00133                                           ) = 0;
00134
00136
00137       NVSG_API virtual nvmath::Quatf getOrientation( void ) const = 0;
00138
00140
00141       NVSG_API virtual nvmath::Mat44f getWorldToViewMatrix() const = 0;
00142
00144
00145       NVSG_API virtual nvmath::Mat44f getViewToWorldMatrix() const = 0;
00146
00148
00149       NVSG_API virtual const nvmath::Vec2f& getWindowOffset( void ) const = 0;
00150
00152       NVSG_API virtual void setWindowOffset( const nvmath::Vec2f &offset
00153                                            ) = 0;
00154
00156       NVSG_API virtual void getWindowRegion( nvmath::Vec2f &lowerLeft
00157                                            , nvmath::Vec2f &upperRight
00158                                            ) const = 0;
00159
00161       NVSG_API virtual void setWindowRegion( const nvmath::Vec2f &lowerLeft
00162                                            , const nvmath::Vec2f &upperRight
00163                                            ) = 0;
00164
00166
00167       NVSG_API virtual const nvmath::Vec2f& getWindowSize() const = 0;
00168
00170       NVSG_API virtual void setWindowSize( const nvmath::Vec2f &size
00171                                          ) = 0;
00172
00174
00175       NVSG_API virtual float getAspectRatio() const = 0;
00176
00178       NVSG_API virtual void setAspectRatio( float ar
00179                                           , bool keepWidth = false
00180                                           ) = 0;
00181
00183
00187       NVSG_API virtual bool isAutoClipPlanes() const = 0;
00188
00190       NVSG_API virtual void setAutoClipPlanes( bool on
00191                                              ) = 0;
00192
00194       NVSG_API virtual void calcNearFarDistances( const nvmath::Sphere3f &sphere
00195                                                 ) = 0;
00196
00198
00199       NVSG_API virtual float getFarDistance() const = 0;
00200
00202       NVSG_API virtual void setFarDistance( float fd
00203                                           ) = 0;
00204
00206
00207       NVSG_API virtual float getNearDistance() const = 0;
00208
00210       NVSG_API virtual void setNearDistance( float nd
00211                                            ) = 0;
00212
00213       //
00214       // Operations to perform on a camera
00215       //
00216
00218       NVSG_API virtual void move( const nvmath::Vec3f& delta
00219                                 ) = 0;
00220
00222       NVSG_API virtual void orbit( const nvmath::Vec3f& axis
00223                                  , float rad
00224                                  ) = 0;
00225
00227       NVSG_API virtual void rotate( const nvmath::Vec3f& axis
00228                                   , float rad
00229                                   , bool  cameraRelative = true
00230
00231                                   ) = 0;
00232
00234       NVSG_API virtual void zoom( float factor
00235                                 ) = 0;
00236
00238       NVSG_API virtual void zoom( const nvmath::Sphere3f &sphere
00239                                 , float fovy = -1.0f
00240                                 ) = 0;
00241
00243       void moveX( float val
00244                 );
00245
00247       void moveY( float val
00248                 );
00249
00251       void moveZ( float val
00252                 );
00253
00255       void orbitX( float rad
00256                  );
00257
00259       void orbitY( float rad
00260                  );
00261
00263       void orbitZ( float rad
00264                  );
00265
00267       void rotateX( float rad
00268                   , bool  cameraRelative = true
00269                   );
00270
00272       void rotateY( float rad
00273                   , bool  cameraRelative = true
00274                   );
00275
00277       void rotateZ( float rad
00278                   , bool  cameraRelative = true
00279                   );
00280
00281     protected:
00283       NVSG_API Camera();
00284
00286       NVSG_API virtual ~Camera( void );
00287   };
00288
00289   // - - - - - - - - - - - - - - - - - - - - -
00290   // inlines
00291   // - - - - - - - - - - - - - - - - - - - - -
00292
00293   inline Camera::Camera( void )
00294   {
00295     __TRACE();
00296   }
00297
00298   inline Camera::~Camera(void)
00299   {
00300     __TRACE();
00301   }
00302
00303   inline void  Camera::moveX( float val )
00304   {
00305     __TRACE();
00306     move( nvmath::Vec3f( val, 0.f, 0.f ) );
00307   }
00308
00309   inline void  Camera::moveY( float val )
00310   {
00311     __TRACE();
00312     move( nvmath::Vec3f( val, 1.f, 0.f ) );
00313   }
00314
00315   inline void  Camera::moveZ( float val )
00316   {
00317     __TRACE();
00318     move( nvmath::Vec3f( val, 0.f, 1.f ) );
00319   }
00320
00321   inline void  Camera::orbitX( float rad )
00322   {
00323     __TRACE();
00324     orbit( nvmath::Vec3f( 1.f, 0.f, 0.f ), rad );
00325   }
00326
00327   inline void  Camera::orbitY( float rad )
00328   {
00329     __TRACE();
00330     orbit( nvmath::Vec3f( 0.f, 1.f, 0.f ), rad );
00331   }
00332
00333   inline void  Camera::orbitZ( float rad )
00334   {
00335     __TRACE();
00336     orbit( nvmath::Vec3f( 0.f, 0.f, 1.f ), rad );
00337   }
00338
00339   inline void  Camera::rotateX( float rad, bool  cameraRelative /*= true*/ )
00340   {
00341     __TRACE();
00342     rotate( nvmath::Vec3f(1.f, 0.f, 0.f), rad, cameraRelative );
00343   }
00344
00345   inline void  Camera::rotateY( float rad, bool  cameraRelative /*= true*/ )
00346   {
00347     __TRACE();
00348     rotate( nvmath::Vec3f(0.f, 1.f, 0.f), rad, cameraRelative );
00349   }
00350
00351   inline void  Camera::rotateZ( float rad, bool  cameraRelative /*= true*/ )
00352   {
00353     __TRACE();
00354     rotate( nvmath::Vec3f(0.f, 0.f, 1.f), rad, cameraRelative );
00355   }
00356
00357 } //  namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


CameraManipulator.h Source File

CameraManipulator.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 #include "nvsg/Camera.h"
00017
00020 namespace nvui
00021 {
00022
00024
00030   class CameraManipulator
00031   {
00032     public:
00034       NVSG_API CameraManipulator(void);
00036       NVSG_API virtual ~CameraManipulator(void);
00037
00039
00040       enum
00041       { _NO_BTN_KEY         = 0x0000
00042       , _LEFT_MOUSE_BTN     = 0x0001
00043       , _MIDDLE_MOUSE_BTN   = 0x0002
00044       , _RIGHT_MOUSE_BTN    = 0x0004
00045       , _SHIFT_KEY          = 0x0100
00046       , _CONTROL_KEY        = 0x0200
00047       };
00048
00050
00051       NVSG_API virtual void apply() = 0;
00052
00054
00056       NVSG_API virtual void keyDown( UINT key
00057                                     );
00059
00060       NVSG_API virtual void keyUp( UINT key
00061                                  );
00063
00064       NVSG_API virtual void keyRepeat();
00065
00067
00068       NVSG_API virtual void mouseButtonDown( UINT btn
00069                                            , int x
00070                                            , int y
00071                                            );
00073
00074       NVSG_API virtual void mouseButtonUp( UINT btn
00075                                          , int x
00076                                          , int y
00077                                          );
00079
00080       NVSG_API virtual void mouseMotion( int x
00081                                        , int y
00082                                        );
00084
00086       UINT getKeyState( void ) const;
00087
00089       void resetKeyState( void );
00090
00092
00094       UINT getButtonState( void ) const;
00095
00097       void resetButtonState( void );
00098
00100
00101       void attach( const nvsg::Camera * pCamera
00102                  );
00103
00105
00108       const nvsg::Camera * getAttachedCamera( void );
00109
00111
00113       void setViewportSize( size_t width
00114                           , size_t height
00115                           );
00116
00117     protected:
00118       bool      m_dragAndThrowAnim;
00119
00120       UINT      m_buttonState;
00121       UINT      m_keyState;
00122
00123       const nvsg::Camera  * m_camera;
00124
00125       int       m_mouseX;
00126       int       m_mouseY;
00127
00128       int       m_mouseXlast;
00129       int       m_mouseYlast;
00130
00131       int       m_mouseXstart;
00132       int       m_mouseYstart;
00133
00134       size_t    m_vpWidth;
00135       size_t    m_vpHeight;
00136
00138
00140       NVSG_API virtual UINT convertKey(UINT key
00141                                       );
00142
00144
00146       NVSG_API virtual UINT convertMouseButton( UINT btn
00147                                               );
00148
00149   };
00150
00151   inline void CameraManipulator::attach(const nvsg::Camera * pCamera)
00152   {
00153     __TRACE();
00154
00155     if (m_camera)
00156     {
00157       m_camera->removeRef();
00158     }
00159
00160     m_camera = pCamera;
00161
00162     if (pCamera)
00163     {
00164       m_camera->addRef();
00165     }
00166   }
00167
00168   inline void CameraManipulator::setViewportSize( size_t width, size_t height )
00169   {
00170     m_vpWidth = width;
00171     m_vpHeight = height;
00172   }
00173
00174   inline const nvsg::Camera * CameraManipulator::getAttachedCamera( void )
00175   {
00176     return( m_camera );
00177   }
00178
00179   inline UINT CameraManipulator::getButtonState( void ) const
00180   {
00181     return( m_buttonState );
00182   }
00183
00184   inline UINT CameraManipulator::getKeyState( void ) const
00185   {
00186     return( m_keyState );
00187   }
00188
00189   inline void CameraManipulator::resetButtonState( void )
00190   {
00191     m_buttonState = _NO_BTN_KEY;
00192   }
00193
00194   inline void CameraManipulator::resetKeyState( void )
00195   {
00196     m_keyState = _NO_BTN_KEY;
00197   }
00198 } //  namespace nvui
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


CgFx.h Source File

CgFx.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "CgFX/ICgFXEffect.h"
00018 #include "nvsg/StateAttribute.h"
00019 #include <string>
00020 #include <vector>
00021
00022 namespace nvsg
00023 {
00024   class  CgFx;
00025   class  CgFxEntity;
00026   class  CgFxParameter;
00027   class  CgFxAnnotation;
00028   class  CgFxPass;
00029   class  CgFxTechnique;
00030
00031   typedef const CgFxEntity     * CgFxEntityHandle;
00032   typedef const CgFxAnnotation * CgFxAnnotationHandle;
00033   typedef const CgFxParameter  * CgFxParameterHandle;
00034   typedef const CgFxTechnique  * CgFxTechniqueHandle;
00035   typedef const CgFxPass       * CgFxPassHandle;
00036
00037   typedef enum
00038   { // known semantics
00039     CGFX_SEMANTIC_UNKNOWN = 0,
00040     CGFX_SEMANTIC_WORLD,
00041     CGFX_SEMANTIC_FIRST_TRANSFORM = CGFX_SEMANTIC_WORLD,
00042     CGFX_SEMANTIC_VIEW,
00043     CGFX_SEMANTIC_PROJECTION,
00044     CGFX_SEMANTIC_WORLDT,
00045     CGFX_SEMANTIC_VIEWT,
00046     CGFX_SEMANTIC_PROJECTIONT,
00047     CGFX_SEMANTIC_WORLDI,
00048     CGFX_SEMANTIC_VIEWI,
00049     CGFX_SEMANTIC_PROJECTIONI,
00050     CGFX_SEMANTIC_WORLDIT,
00051     CGFX_SEMANTIC_VIEWIT,
00052     CGFX_SEMANTIC_PROJECTIONIT,
00053     CGFX_SEMANTIC_WORLDVIEW,
00054     CGFX_SEMANTIC_WORLDVIEWPROJECTION,
00055     CGFX_SEMANTIC_WORLDVIEWT,
00056     CGFX_SEMANTIC_WORLDVIEWPROJECTIONT,
00057     CGFX_SEMANTIC_WORLDVIEWI,
00058     CGFX_SEMANTIC_WORLDVIEWPROJECTIONI,
00059     CGFX_SEMANTIC_WORLDVIEWIT,
00060     CGFX_SEMANTIC_WORLDVIEWPROJECTIONIT,
00061     CGFX_SEMANTIC_LAST_TRANSFORM = CGFX_SEMANTIC_WORLDVIEWPROJECTIONIT
00062   } eCgFxSemantic;
00063
00065   typedef std::pair<eCgFxSemantic, CgFxParameterHandle> CgFxTransform;
00066
00067 #if !defined(DOXYGEN_IGNORE) // The following are implementation details and need no public documentation.
00068                              // Exclude them from doxygen build
00069
00070   // holds data common to all 'CgFx entities' like CgFxParameter, CgFxAnnotation, CgFxTechnique, and CgFxPass
00071   // note: this cannot be instantiated by general clients
00072   class CgFxEntity : public nvutil::RCObject
00073   {
00074     friend class CgFx; // private to CgFx implementation!
00075   protected:
00076     CgFxEntity();
00077     virtual ~CgFxEntity();
00078     CGFXHANDLE hdl;                     // opaque handle to talk to the corresponding effect
00079     std::vector<CgFxAnnotation*> annos; // collection of optional annotations
00080   };
00081
00082   // represents a CgFx parameter in general and acts as a helper used with the CgFx implementation
00083   // note: this cannot be instantiated by general clients
00084   class CgFxParameter : public CgFxEntity
00085   {
00086     friend class CgFx; // private to CgFx implementation ...
00087
00088     // ... and the following queries
00089     friend const char *      getParameterName          (CgFxParameterHandle hdl);
00090     friend const char *      getParameterSemantic      (CgFxParameterHandle hdl);
00091     friend CgFXPARAMETERTYPE getParameterType          (CgFxParameterHandle hdl);
00092     friend bool              isParameterScalarType     (CgFxParameterHandle hdl);
00093     friend bool              isParameterVector2Type    (CgFxParameterHandle hdl);
00094     friend bool              isParameterVector3Type    (CgFxParameterHandle hdl);
00095     friend bool              isParameterVector4Type    (CgFxParameterHandle hdl);
00096     friend bool              isParameterMatrix33Type   (CgFxParameterHandle hdl);
00097     friend bool              isParameterMatrix34Type   (CgFxParameterHandle hdl);
00098     friend bool              isParameterMatrix43Type   (CgFxParameterHandle hdl);
00099     friend bool              isParameterMatrix44Type   (CgFxParameterHandle hdl);
00100     friend bool              isParameterTextureType    (CgFxParameterHandle hdl);
00101     friend bool              isParameterSamplerType    (CgFxParameterHandle hdl);
00102
00103   protected:
00104     CgFxParameter() {}
00105     virtual ~CgFxParameter() {}
00106     CgFXPARAMETER_DESC desc;        // detailed description for this parameter
00107   };
00108
00109   // represents an annotation for a general entity
00110   // note: as defined by the CgFX spec, an annotation itself is a parameter
00111   // note: this cannot be instantiated by general clients
00112   class CgFxAnnotation : public CgFxParameter
00113   {
00114     friend class CgFx; // private to CgFx implementation
00115   protected:
00116     CgFxAnnotation() {}
00117     ~CgFxAnnotation() {}
00118   };
00119
00120   // represents a CgFx pass description and acts as a helper used with the CgFx implementation
00121   // note: this cannot be instantiated by general clients
00122   class CgFxPass : public CgFxEntity
00123   {
00124     friend class CgFx; // private to CgFx implementation ...
00125     friend const char * getPassName (CgFxPassHandle hdl); // ... and this query
00126   protected:
00127     CgFxPass() {}
00128     ~CgFxPass() {}
00129     CgFXPASS_DESC desc;
00130   };
00131
00132   // represents a CgFx technique description and acts as a helper used with the CgFx implementation
00133   // note: this cannot be instantiated by general clients
00134   class CgFxTechnique : public CgFxEntity
00135   {
00136     friend class CgFx; // private to CgFx implementation ...
00137     // ... and the following queries
00138     friend const char * getTechniqueName (CgFxTechniqueHandle hdl);
00139     friend bool         isTechniqueValid (CgFxTechniqueHandle hdl);
00140   protected:
00141     CgFxTechnique();                // initialization
00142     ~CgFxTechnique();               // termination
00143     CgFXTECHNIQUE_DESC desc;        // detailed technique description
00144     std::vector<CgFxPass*> passes;  // required render passes for this technique
00145     bool valid;                     // assigns whether this is a valid technique for the current environment
00146   };
00147
00148 #endif // DOXYGEN_IGNORE
00149
00151
00153   class CgFx : public StateAttribute
00154   {
00155     public: // public interface
00156
00158
00159       NVSG_API static const CgFx * create( void );
00160
00162
00163       NVSG_API static const CgFx * createFromBase( const StateAttribute &rhs
00164                                                  );
00165
00167
00168       NVSG_API virtual const CgFx * clone( void ) const;
00169
00171
00173       NVSG_API bool createEffectFromFile( const std::string& file
00174                                         );
00175
00177
00178       NVSG_API bool isEffectValid( void ) const;
00179
00181
00182       NVSG_API const std::string& getEffectFile( void ) const;
00183
00185
00186       NVSG_API size_t getNumberOfTransforms( void ) const;
00187
00189
00190       NVSG_API const CgFxTransform& getTransform( size_t index
00191                                                 ) const;
00192
00194
00195       NVSG_API size_t getNumberOfTweakables( void ) const;
00196
00198
00199       NVSG_API CgFxParameterHandle getTweakable( size_t index
00200                                                ) const;
00201
00203
00204       NVSG_API CgFxParameterHandle getTweakable( const std::string& name
00205                                                ) const;
00206
00208
00209       NVSG_API size_t getNumberOfAnnotations( CgFxEntityHandle hdl
00210                                             ) const;
00211
00213
00214       NVSG_API CgFxAnnotationHandle getAnnotation( CgFxEntityHandle hdl
00215                                                  , size_t index
00216                                                  ) const;
00217
00219
00220       NVSG_API CgFxAnnotationHandle getAnnotation( CgFxEntityHandle hdl
00221                                                  , const std::string& name
00222                                                  ) const;
00223
00225
00228       template<typename ValueType>
00229       void getValue( CgFxParameterHandle hdl
00230                   , ValueType& value
00231                   ) const;
00232
00234       template<typename ValueType>
00235       void getValue( CgFxParameterHandle hdl
00236                   , ValueType * value
00237                   ) const;
00238
00240       NVSG_API void getValue( CgFxParameterHandle hdl
00241                             , const char ** value
00242                             ) const;
00243
00245       NVSG_API void getValue( CgFxParameterHandle hdl
00246                             , std::string& value
00247                             ) const;
00248
00250
00253       template<typename ValueType>
00254       void setValue( CgFxParameterHandle hdl
00255                   , const ValueType& value
00256                   );
00257
00258       template<typename ValueType>
00259       void setValue( CgFxParameterHandle hdl
00260                   , const ValueType& value
00261                   ) const ;
00262
00264       template<typename ValueType>
00265       void setValue( CgFxParameterHandle hdl
00266                   , const ValueType * value
00267                   );
00268
00269       template<typename ValueType>
00270       void setValue( CgFxParameterHandle hdl
00271                   , const ValueType * value
00272                   ) const;
00273
00275       NVSG_API void setValue( CgFxParameterHandle hdl
00276                             , const char * value
00277                             );
00278
00279       NVSG_API void setValue( CgFxParameterHandle hdl
00280                             , const char * value
00281                             ) const;
00282
00284       NVSG_API void setValue( CgFxParameterHandle hdl
00285                             , const std::string& value
00286                             );
00287
00288       NVSG_API void setValue( CgFxParameterHandle hdl
00289                             , const std::string& value
00290                             ) const;
00291
00293
00294       NVSG_API size_t getNumberOfTechniques( void ) const;
00295
00297
00298       NVSG_API CgFxTechniqueHandle getTechnique( size_t index
00299                                                ) const;
00300
00301       // Get the current technique.
00303       NVSG_API size_t getCurrentTechnique( void ) const;
00304
00305       // Set the current technique.
00307       NVSG_API void setCurrentTechnique( size_t index
00308                                        );
00309
00311
00313       NVSG_API bool validateCurrentTechnique( void ) const;
00314
00316
00317       NVSG_API bool isCurrentTechniqueValid( void ) const;
00318
00320
00321       NVSG_API bool isCurrentTechniqueValidationPending( void ) const;
00322
00324
00325       NVSG_API size_t getNumberOfPasses( CgFxTechniqueHandle hdl
00326                                        ) const;
00327
00329
00330       NVSG_API CgFxPassHandle getPass( CgFxTechniqueHandle hdl
00331                                      , size_t index
00332                                      ) const;
00333
00335
00339       NVSG_API bool passFirstPass( void ) const;
00340
00342
00345       NVSG_API bool passNextPass( void ) const;
00346
00347       //--  Functions reimplemented from Object  --
00349
00351       NVSG_API virtual DataID getDataID( void ) const;
00352
00354
00356       NVSG_API virtual bool isDataShared( void ) const;
00357
00358     protected:
00360       NVSG_API CgFx( void );
00361
00363       NVSG_API CgFx( const StateAttribute &rhs );
00364
00366       NVSG_API CgFx( const CgFx& rhs );
00367
00368       /* prohibit explicit creation on stack by making the destructor protected */
00369       NVSG_API virtual ~CgFx(void);
00370
00371     private: // private interface
00372       bool initEffect( void );
00373       void initAnnotations( CgFxEntity * p, size_t count );
00374
00375     private: // private data
00376       ICgFXEffect            * m_effect;
00377       //
00378       std::string                   m_file;
00379       //
00380       std::vector<CgFxTransform>    m_trafos;
00381       std::vector<CgFxParameter*>   m_tweaks;
00382       //
00383       std::vector<CgFxTechnique*>   m_techs;
00384       mutable size_t           m_currTech;
00385       mutable size_t           m_lastCurrTech;
00386       mutable size_t           m_currPass;
00387       mutable size_t           m_numPasses;
00388   };
00389
00390
00391   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00392   // inline implementations can go here
00393   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00394
00396
00401   NVSG_API bool CgFx_getTextureFileName( const CgFx * cgfx, CgFxParameterHandle hdl, std::string& file );
00402
00404
00407   NVSG_API void CgFx_setTextureFileName( CgFx * cgfx, CgFxParameterHandle hdl, const std::string& file );
00408
00410
00411   inline const char * getParameterName( CgFxParameterHandle hdl )
00412   {
00413     __ASSERT(hdl);
00414     return hdl->desc.Name;
00415   }
00416
00418
00419   inline const char * getPassName( CgFxPassHandle hdl )
00420   {
00421     __ASSERT(hdl);
00422     return hdl->desc.Name;
00423   }
00424
00426
00427   inline const char * getTechniqueName( CgFxTechniqueHandle hdl )
00428   {
00429     __ASSERT(hdl);
00430     return hdl->desc.Name;
00431   }
00432
00434
00435   inline const char * getParameterSemantic( CgFxParameterHandle hdl )
00436   {
00437     __ASSERT(hdl);
00438     return hdl->desc.Semantic;
00439   }
00440
00442
00443   inline CgFXPARAMETERTYPE getParameterType( CgFxParameterHandle hdl )
00444   {
00445     __ASSERT(hdl);
00446     return hdl->desc.Type;
00447   }
00448
00450
00451   inline bool isParameterScalarType( CgFxParameterHandle hdl )
00452   {
00453     __ASSERT(hdl);
00454     return hdl->desc.Dimension[1]==0 && hdl->desc.Dimension[0]==1;
00455   }
00456
00458
00459   inline bool isParameterVector2Type( CgFxParameterHandle hdl )
00460   {
00461     __ASSERT(hdl);
00462     return hdl->desc.Dimension[1]==0 && hdl->desc.Dimension[0]==2;
00463   }
00464
00466
00467   inline bool isParameterVector3Type( CgFxParameterHandle hdl )
00468   {
00469     __ASSERT(hdl);
00470     return hdl->desc.Dimension[1]==0 && hdl->desc.Dimension[0]==3;
00471   }
00472
00474
00475   inline bool isParameterVector4Type( CgFxParameterHandle hdl )
00476   {
00477     __ASSERT(hdl);
00478     return hdl->desc.Dimension[1]==0 && hdl->desc.Dimension[0]==4;
00479   }
00480
00482
00483   inline bool isParameterMatrix33Type( CgFxParameterHandle hdl )
00484   {
00485     __ASSERT(hdl);
00486     return hdl->desc.Dimension[1]==3 && hdl->desc.Dimension[0]==3;
00487   }
00488
00490
00491   inline bool isParameterMatrix34Type( CgFxParameterHandle hdl )
00492   {
00493     __ASSERT(hdl);
00494     return hdl->desc.Dimension[1]==4 && hdl->desc.Dimension[0]==3;
00495   }
00496
00498
00499   inline bool isParameterMatrix43Type( CgFxParameterHandle hdl )
00500   {
00501     __ASSERT(hdl);
00502     return hdl->desc.Dimension[1]==3 && hdl->desc.Dimension[0]==4;
00503   }
00504
00506
00507   inline bool isParameterMatrix44Type( CgFxParameterHandle hdl )
00508   {
00509     __ASSERT(hdl);
00510     return hdl->desc.Dimension[1]==4 && hdl->desc.Dimension[0]==4;
00511   }
00512
00514
00515   inline bool isParameterTextureType( CgFxParameterHandle hdl )
00516   {
00517     __ASSERT(hdl);
00518     return hdl->desc.Type>=CgFXPT_TEXTURE1D && hdl->desc.Type<=CgFXPT_TEXTURE3D;
00519   }
00520
00522
00523   inline bool isParameterSamplerType( CgFxParameterHandle hdl )
00524   {
00525     __ASSERT(hdl);
00526     return hdl->desc.Type>=CgFXPT_SAMPLER1D && hdl->desc.Type<=CgFXPT_SAMPLER3D;
00527   }
00528
00530
00531   inline bool isTechniqueValid( CgFxTechniqueHandle hdl )
00532   {
00533     __ASSERT(hdl);
00534     return hdl->valid;
00535   }
00536
00537   inline bool CgFx::isEffectValid( void ) const
00538   {
00539     __TRACE();
00540     return m_effect!=NULL;
00541   }
00542
00543   inline const std::string& CgFx::getEffectFile( void ) const
00544   {
00545     __TRACE();
00546     return m_file;
00547   }
00548
00549   inline size_t CgFx::getNumberOfTransforms( void ) const
00550   {
00551     __TRACE();
00552     return m_trafos.size();
00553   }
00554
00555   inline const CgFxTransform& CgFx::getTransform( size_t index ) const
00556   {
00557     __TRACE();
00558     __ASSERT(index<m_trafos.size());
00559     return m_trafos[index];
00560   }
00561
00562   inline size_t CgFx::getNumberOfTweakables( void ) const
00563   {
00564     __TRACE();
00565     return m_tweaks.size();
00566   }
00567
00568   inline CgFxParameterHandle CgFx::getTweakable( size_t index ) const
00569   {
00570     __TRACE();
00571     __ASSERT(index<m_tweaks.size());
00572     return m_tweaks[index];
00573   }
00574
00575   inline size_t CgFx::getNumberOfAnnotations( CgFxEntityHandle hdl ) const
00576   {
00577     __TRACE();
00578     __ASSERT(hdl);
00579     return hdl->annos.size();
00580   }
00581
00582   inline CgFxAnnotationHandle CgFx::getAnnotation( CgFxEntityHandle hdl, size_t index ) const
00583   {
00584     __TRACE();
00585     __ASSERT(hdl && index<hdl->annos.size());
00586     return hdl->annos[index];
00587   }
00588
00589   template<typename ValueType>
00590   inline void CgFx::getValue( CgFxParameterHandle hdl, ValueType& value ) const
00591   {
00592     //  __TRACE();  produces an internal compiler error
00593 #if !defined(CGFX_NOT_SUPPORTED)
00594     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00595     __ASSERT(hdl->desc.Type!=CgFXPT_STRING); // must not use this for string parameters
00596     __ASSERT(hdl->desc.Bytes==sizeof(ValueType)); // sizes must match
00597     __VERIFY(SUCCEEDED(m_effect->GetValue(hdl->hdl, &value, hdl->desc.Bytes)));
00598 #endif
00599   }
00600
00601   template<typename ValueType>
00602   inline void CgFx::getValue( CgFxParameterHandle hdl, ValueType * value ) const
00603   {
00604     //  __TRACE();  produces an internal compiler error
00605 #if !defined(CGFX_NOT_SUPPORTED)
00606     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00607     __ASSERT(hdl->desc.Type!=CgFXPT_STRING); // must not use this for string parameters
00608     __ASSERT(!(hdl->desc.Bytes%sizeof(ValueType))); // sizes must match
00609     __VERIFY(SUCCEEDED(m_effect->GetValue(hdl->hdl, value, hdl->desc.Bytes)));
00610 #endif
00611   }
00612
00613   inline void CgFx::getValue( CgFxParameterHandle hdl, const char ** value ) const
00614   {
00615     __TRACE();
00616 #if !defined(CGFX_NOT_SUPPORTED)
00617     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00618     __ASSERT(hdl->desc.Type==CgFXPT_STRING); // must not use this for other than string parameters
00619     __VERIFY(SUCCEEDED(m_effect->GetString(hdl->hdl, (LPCSTR*)value)));
00620 #endif
00621   }
00622
00623   inline void CgFx::getValue( CgFxParameterHandle hdl, std::string& value ) const
00624   {
00625     __TRACE();
00626 #if !defined(CGFX_NOT_SUPPORTED)
00627     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00628     __ASSERT(hdl->desc.Type==CgFXPT_STRING); // must not use this for other than string parameters
00629     LPCSTR s;
00630     __VERIFY(SUCCEEDED(m_effect->GetString(hdl->hdl, &s)));
00631     value=s;
00632 #endif
00633   }
00634
00635   template<typename ValueType>
00636   inline void CgFx::setValue( CgFxParameterHandle hdl, const ValueType& value )
00637   {
00638     //  __TRACE();  produces an internal compiler error
00639 #if !defined(CGFX_NOT_SUPPORTED)
00640     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00641     __ASSERT(hdl->desc.Type!=CgFXPT_STRING); // must not use this for string parameters
00642     __ASSERT(hdl->desc.Bytes==sizeof(ValueType)); // sizes must match
00643     __VERIFY(SUCCEEDED(m_effect->SetValue(hdl->hdl, &value, hdl->desc.Bytes)));
00644     ++m_incarnation; // force new validation
00645 #endif
00646   }
00647
00648   template<typename ValueType>
00649   inline void CgFx::setValue( CgFxParameterHandle hdl, const ValueType * value )
00650   {
00651     //  __TRACE();  produces an internal compiler error
00652 #if !defined(CGFX_NOT_SUPPORTED)
00653     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00654     __ASSERT(hdl->desc.Type!=CgFXPT_STRING); // must not use this for string parameters
00655     __ASSERT(!(hdl->desc.Bytes%sizeof(ValueType))); // sizes must match
00656     __VERIFY(SUCCEEDED(m_effect->SetValue(hdl->hdl, value, hdl->desc.Bytes)));
00657     ++m_incarnation; // force new validation
00658 #endif
00659   }
00660
00661   inline void CgFx::setValue( CgFxParameterHandle hdl, const char * value )
00662   {
00663     __TRACE();
00664 #if !defined(CGFX_NOT_SUPPORTED)
00665     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00666     __ASSERT(hdl->desc.Type==CgFXPT_STRING); // must not use this for other than string parameters
00667     __VERIFY(SUCCEEDED(m_effect->SetString(hdl->hdl, (LPCSTR)value)));
00668     ++m_incarnation; // force new validation
00669 #endif
00670   }
00671
00672   inline void CgFx::setValue( CgFxParameterHandle hdl, const std::string& value )
00673   {
00674     __TRACE();
00675 #if !defined(CGFX_NOT_SUPPORTED)
00676     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00677     __ASSERT(hdl->desc.Type==CgFXPT_STRING); // must not use this for other than string parameters
00678     __VERIFY(SUCCEEDED(m_effect->SetString(hdl->hdl, value.c_str())));
00679     ++m_incarnation; // force new validation
00680 #endif
00681   }
00682
00683   template<typename ValueType>
00684   inline void CgFx::setValue( CgFxParameterHandle hdl, const ValueType& value ) const
00685   {
00686     __TRACE();
00687 #if !defined(CGFX_NOT_SUPPORTED)
00688     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00689     __ASSERT(hdl->desc.Type!=CgFXPT_STRING); // must not use this for string parameters
00690     __ASSERT(hdl->desc.Bytes==sizeof(ValueType)); // sizes must match
00691     __VERIFY(SUCCEEDED(m_effect->SetValue(hdl->hdl, &value, hdl->desc.Bytes)));
00692 #endif
00693   }
00694
00695   template<typename ValueType>
00696   inline void CgFx::setValue( CgFxParameterHandle hdl, const ValueType * value ) const
00697   {
00698     __TRACE();
00699 #if !defined(CGFX_NOT_SUPPORTED)
00700     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00701     __ASSERT(hdl->desc.Type!=CgFXPT_STRING); // must not use this for string parameters
00702     __ASSERT(!(hdl->desc.Bytes%sizeof(ValueType))); // sizes must match
00703     __VERIFY(SUCCEEDED(m_effect->SetValue(hdl->hdl, value, hdl->desc.Bytes)));
00704 #endif
00705   }
00706
00707   inline void CgFx::setValue( CgFxParameterHandle hdl, const char * value ) const
00708   {
00709     __TRACE();
00710 #if !defined(CGFX_NOT_SUPPORTED)
00711     __ASSERT(m_effect); // need the embedded effect successfully created beforehand
00712     __ASSERT(hdl->desc.Type==CgFXPT_STRING); // must not use this for other than string parameters
00713     __VERIFY(SUCCEEDED(m_effect->SetString(hdl->hdl, (LPCSTR)value)));
00714 #endif
00715   }
00716
00717   inline void CgFx::setValue( CgFxParameterHandle hdl, const std::string& value ) const
00718   {
00719 #if !defined(CGFX_NOT_SUPPORTED)
00720     __TRACE();
00721     __ASSERT(m_effect); // need the embedded effect created beforehand
00722     __ASSERT(hdl->desc.Type==CgFXPT_STRING); // must not use this for other than string parameters
00723     __VERIFY(SUCCEEDED(m_effect->SetString(hdl->hdl, value.c_str())));
00724 #endif
00725   }
00726
00727   inline size_t CgFx::getNumberOfTechniques( void ) const
00728   {
00729     __TRACE();
00730     return m_techs.size();
00731   }
00732
00733   inline CgFxTechniqueHandle CgFx::getTechnique( size_t index ) const
00734   {
00735     __TRACE();
00736     __ASSERT(index<m_techs.size());
00737     return m_techs[index];
00738   }
00739
00740   inline size_t CgFx::getCurrentTechnique( void ) const
00741   {
00742     __TRACE();
00743     return m_currTech;
00744   }
00745
00746   inline void CgFx::setCurrentTechnique( size_t index )
00747   {
00748     __TRACE();
00749     __ASSERT(index<m_techs.size());
00750     m_currTech = index;
00751     ++m_incarnation; // force new validation
00752   }
00753
00754   inline bool CgFx::isCurrentTechniqueValid( void ) const
00755   {
00756     __TRACE();
00757     return (m_currTech<m_techs.size()) ? m_techs[m_currTech]->valid : false;
00758   }
00759
00760   inline bool CgFx::isCurrentTechniqueValidationPending( void ) const
00761   {
00762     __TRACE();
00763     return m_lastCurrTech != m_currTech;
00764   }
00765
00766   inline size_t CgFx::getNumberOfPasses( CgFxTechniqueHandle hdl ) const
00767   {
00768     __TRACE();
00769     __ASSERT(hdl);
00770     return hdl->passes.size();
00771   }
00772
00773   inline CgFxPassHandle CgFx::getPass( CgFxTechniqueHandle hdl, size_t index ) const
00774   {
00775     __TRACE();
00776     __ASSERT(hdl);
00777     __ASSERT(index<hdl->passes.size());
00778     return hdl->passes[index];
00779   }
00780
00781 } // namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


Alphabetical index

NVSGSDK Class Index

A | B | C | D | F | G | H | I | J | L | M | N | O | P | Q | R | S | T | U | V | W

A
GLWinRenderArea (nvui) NBFInterpolatedVNVectorAnimation Plane3f (nvmath) StereoCamera (nvsg)
addReference (nvutil) | Group (nvsg) | NBFJitterCamera | PlugIn (nvutil) | str_t
Allocator (nvutil) | GroupUnifyTraverser (nvtraverser) | NBFLightSource | PlugInCallback (nvutil) | StrippingTraverser (nvtraverser)
AnimatedQuads (nvsg)
H
NBFLoader PlugInCallback::EmptyTokenInfo (nvutil) Switch (nvsg)
AnimatedTransform (nvsg) | HighlightBox (nvsg) | NBFLOD | PlugInCallback::FileAccessFailedInfo (nvutil) | SWMRSync (nvutil)
AnimatedTriangles (nvsg) HighlightEdges (nvsg) NBFMaterial PlugInCallback::FileMappingFailedInfo (nvutil)
T
Animation (nvsg) | HighlightObject (nvsg) | NBFMonoCamera | PlugInCallback::IncompatibleFileInfo (nvutil) | texBinding_t
AnimationCamManip (nvui)
I
NBFNode PlugInCallback::IncompatibleValueInfo (nvutil) texCoordSet_t
AppTraverser (nvtraverser) | IAllocator (nvutil) | NBFObject | PlugInCallback::InvalidFileInfo (nvutil) | Texture (nvsg)
B
IdentityToGroupTraverser (nvtraverser) NBFParallelCamera PlugInCallback::InvalidValueInfo (nvutil) TextureAttribute (nvsg)
Bit (nvutil) | Incarnation (nvutil) | NBFPerspectiveCamera | PlugInCallback::UndefinedTokenInfo (nvutil) | TextureAttributeItem (nvsg)
Bone (nvsg) | indexSet_t | NBFPointLight | PlugInCallback::UnexpectedTokenInfo (nvutil) | TextureAttributeItemData (nvsg)
bone_t | InterpolatedAnimation (nvsg) | NBFQuads | PlugInCallback::UnknownTokenInfo (nvutil) | Trace (nvutil)
BoundingSphere (nvmath) | Intersection (nvtraverser) | NBFSaver | PlugInCallback::UnsupportedTokenInfo (nvutil) | traceConsoleDebugOutput (nvutil)
C
J
NBFSaveTraverser PlugInServer (nvutil) traceConsoleOutput (nvutil)
Camera (nvsg) | JitterCamera (nvsg) | NBFScene | PointLight (nvsg) | traceDebugOutput (nvutil)
CameraManipulator (nvui)
L
NBFSimpleCamera
Q
traceFileConsoleOutput (nvutil)
CgFx (nvsg) | LightSource (nvsg) | NBFSkinnedTriangles | Quads (nvsg) | traceFileDebugOutput (nvutil)
Chunk (nvutil) | LinearInterpolatedAnimation (nvsg) | NBFSpotLight | QuadStrips (nvsg) | traceFileOutput (nvutil)
CondenseTraverser (nvtraverser) | LOD (nvsg) | NBFStateAttribute | Quatf (nvmath) | TraceFunctor (nvutil)
CullData (nvsg) Log (nvutil) NBFStateSet
R
Trackball (nvutil)
CullTraverser (nvtraverser)
M
NBFStereoCamera RayIntersectTraverser (nvtraverser) TrackballCamManip (nvui)
D
Mat33f (nvmath) NBFStrips RCIPtr (nvutil) Trafo (nvmath)
DALData (nvsg) | Mat44f (nvmath) | NBFSwitch | RCObject (nvutil) | trafo_t
DALDataCreator (nvsg) | Material (nvsg) | NBFTextureAttribute | RCObject_AutoPtr (nvutil) | Transform (nvsg)
DALHost (nvsg) | Matnnf (nvmath) | NBFTextureAttributeItem | RCPtr (nvutil) | TransformStack (nvutil)
DALServer (nvsg) | MemFunTbl (nvutil) | NBFTrafoAnimation | RCVector (nvutil) | TransformUnifyTraverser (nvtraverser)
DirectedLight (nvsg) | ModelViewTraverser (nvtraverser) | NBFTransform | RegVal (nvutil) | Traverser (nvtraverser)
Drawable (nvsg) | MonoCamera (nvsg) | NBFTriangles | removeReference (nvutil) | Triangles (nvsg)
DrawableUnifyTraverser (nvtraverser)
N
NBFViewState RenderArea (nvui) TriangulateTraverser (nvtraverser)
F
NBFAnimatedQuads NBFVNVectorAnimation RenderTraverser (nvtraverser) TriStrips (nvsg)
Face (nvsg) NBFAnimatedTransform Node (nvsg)
S
tweak_t
FaceAttribute (nvsg) NBFAnimatedTriangles NVBLoader Scene (nvsg)
U
FaceAttributeData (nvsg) | NBFCamera | NVBLoadTraverser | SceneLoader (nvsg) | UPIID (nvutil)
FixedAllocator (nvutil) | NBFCgFx | NVNVB | SceneSaver (nvsg) | UPITID (nvutil)
FlightCamManip (nvui) NBFDirectedLight NVSGException (nvsg) SearchTraverser (nvtraverser)
V
FramedAnimation (nvsg) NBFDrawable NVSGLoader SimpleCamera (nvsg) Vec2f (nvmath)
FrustumCullTraverser (nvtraverser) | NBFFaceAttribute | NVSGSaver | Singleton (nvutil) | Vec3f (nvmath)
G
NBFFramedAnimation NVSGSaveTraverser Skin (nvsg) Vec4f (nvmath)
geometrySet_t NBFFramedTrafoAnimation
O
skin_t Vecnf (nvmath)
GeoNode (nvsg) NBFFramedVNVectorAnimation Object (nvsg) SkinnedTriangles (nvsg) ViewState (nvsg)
GeoNodeUnifyTraverser (nvtraverser) NBFGeoNode OcclusionCullGLTraverser (nvtraverser) SmoothTraverser (nvtraverser) VNVector (nvsg)
GeoSet (nvsg) NBFGeoSet OcclusionCullTraverser (nvtraverser) Sphere3f (nvmath)
W
GLContext (nvgl) NBFGroup
P
SpotLight (nvsg) WalkCamManip (nvui)
GLFunctions (nvgl) NBFHeader ParallelCamera (nvsg) StateAttribute (nvsg) WRLLoader
GLObjects (nvgl) NBFInterpolatedAnimation Path (nvsg) StateSet (nvsg) WRLLoadTraverser
GLTraverser (nvtraverser) NBFInterpolatedTrafoAnimation PerspectiveCamera (nvsg) StateSetUnifyTraverser (nvtraverser)

A | B | C | D | F | G | H | I | J | L | M | N | O | P | Q | R | S | T | U | V | W

Generated on Fri Jan 28 09:20:07 2005 for NVSGSDK by NVIDIA


Member List

NBFLoader Member List

This is the complete list of members for NBFLoader, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void) | NBFLoader | [inline, virtual]
load(const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState) | NBFLoader |
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, const ViewState *&viewState)=0 | nvsg::SceneLoader | [pure virtual]
loadCustomObject(uint_t objectCode, uint_t offset) | NBFLoader | [protected, virtual]
mapOffset(uint_t offset, size_t numBytes) | NBFLoader | [protected]
NBFLoader() (defined in NBFLoader) | NBFLoader |
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~NBFLoader(void) | NBFLoader | [protected, virtual]
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneLoader() | nvsg::SceneLoader | [protected, virtual]
Generated on Fri Jan 28 09:20:19 2005 for NVSGSDK by NVIDIA


Member List

NBFSaver Member List

This is the complete list of members for NBFSaver, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void) | NBFSaver | [inline, virtual]
m_traverser | NBFSaver | [protected]
NBFSaver() | NBFSaver |
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
save(const nvsg::Scene &scene, const nvsg::ViewState *viewState, const std::string &filename) | NBFSaver |
nvsg::SceneSaver::save(const Scene &scene, const ViewState *viewState, const std::string &filename)=0 | nvsg::SceneSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~NBFSaver() (defined in NBFSaver) | NBFSaver | [protected, virtual]
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneSaver() | nvsg::SceneSaver | [protected, virtual]
Generated on Fri Jan 28 09:20:26 2005 for NVSGSDK by NVIDIA


Member List

NBFSaveTraverser Member List

This is the complete list of members for NBFSaveTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
alloc(void *&ptr, size_t numBytes) | NBFSaveTraverser | [protected]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
calculatingStorageRequirements() const | NBFSaveTraverser | [protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | NBFSaveTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | NBFSaveTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | NBFSaveTraverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | NBFSaveTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | NBFSaveTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | NBFSaveTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | NBFSaveTraverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | NBFSaveTraverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | NBFSaveTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | NBFSaveTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | NBFSaveTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | NBFSaveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | NBFSaveTraverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | NBFSaveTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | NBFSaveTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | NBFSaveTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | NBFSaveTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | NBFSaveTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | NBFSaveTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | NBFSaveTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | NBFSaveTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | NBFSaveTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | NBFSaveTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | NBFSaveTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | NBFSaveTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | NBFSaveTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | NBFSaveTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | NBFSaveTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | NBFSaveTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | NBFSaveTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | NBFSaveTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
mapViewOfFile(const std::string &file) | NBFSaveTraverser |
markUnshareable() | nvutil::RCObject | [inline]
NBFSaveTraverser() | NBFSaveTraverser |
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preCalculateFileSize(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | NBFSaveTraverser |
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
pseudoAlloc(size_t numBytes) | NBFSaveTraverser | [protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
unmapViewOfFile() | NBFSaveTraverser |
VIEWSIZE enum value (defined in NBFSaveTraverser) | NBFSaveTraverser |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:20:27 2005 for NVSGSDK by NVIDIA


Member List

NVBLoader Member List

This is the complete list of members for NVBLoader, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void) | NVBLoader | [inline, virtual]
load(const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState) | NVBLoader | [inline]
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, const ViewState *&viewState)=0 | nvsg::SceneLoader | [pure virtual]
NVBLoader() (defined in NVBLoader) | NVBLoader | [inline]
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~NVBLoader(void) | NVBLoader | [inline, protected, virtual]
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneLoader() | nvsg::SceneLoader | [protected, virtual]
Generated on Fri Jan 28 09:20:35 2005 for NVSGSDK by NVIDIA


Member List

NVBLoadTraverser Member List

This is the complete list of members for NVBLoadTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | NVBLoadTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | NVBLoadTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | NVBLoadTraverser | [inline, protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | NVBLoadTraverser | [inline, protected, virtual]
handleMaterial(const nvsg::Material *p, bool reset) | NVBLoadTraverser | [protected, virtual]
nvtraverser::Traverser::handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | NVBLoadTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | NVBLoadTraverser | [inline, protected, virtual]
handleSwitch(const nvsg::Switch *p) | NVBLoadTraverser | [inline, protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | NVBLoadTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NVBLoadTraverser(std::vector< const nvsg::Material * > &faceMappedMaterials) | NVBLoadTraverser |
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~NVBLoadTraverser(void) | NVBLoadTraverser | [virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:20:36 2005 for NVSGSDK by NVIDIA


Member List

nvgl::GLContext Member List

This is the complete list of members for nvgl::GLContext, including all inherited members.
GLAccum(GLenum op, GLfloat value) | nvgl::GLContext | [friend]
GLActiveTexture(GLenum texture) | nvgl::GLContext | [friend]
GLAddTextureFileForLookup (defined in nvgl::GLContext) | nvgl::GLContext | [friend]
GLAlphaFunc(GLenum func, GLclampf ref) | nvgl::GLContext | [friend]
GLAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) | nvgl::GLContext | [friend]
GLArrayElement(GLint i) | nvgl::GLContext | [friend]
GLBegin(GLenum mode) | nvgl::GLContext | [friend]
GLBeginOcclusionQuery(GLuint id) | nvgl::GLContext | [friend]
GLBindBufferARB(GLenum target, GLuint id) | nvgl::GLContext | [friend]
GLBindProgram(GLenum target, GLuint id) | nvgl::GLContext | [friend]
GLBindTexture(GLenum target, GLuint texture) | nvgl::GLContext | [friend]
GLBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) | nvgl::GLContext | [friend]
GLBlendFunc(GLenum sfactor, GLenum dfactor) | nvgl::GLContext | [friend]
GLBufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage) | nvgl::GLContext | [friend]
GLBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data) | nvgl::GLContext | [friend]
GLCallList(GLuint list) | nvgl::GLContext | [friend]
GLCallLists(GLsizei n, GLenum type, const GLvoid *lists) | nvgl::GLContext | [friend]
GLCgFXFreeDevice (defined in nvgl::GLContext) | nvgl::GLContext | [friend]
GLCgFXSetDevice (defined in nvgl::GLContext) | nvgl::GLContext | [friend]
GLClear(GLbitfield mask) | nvgl::GLContext | [friend]
GLClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) | nvgl::GLContext | [friend]
GLClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) | nvgl::GLContext | [friend]
GLClearDepth(GLclampd depth) | nvgl::GLContext | [friend]
GLClearIndex(GLfloat c) | nvgl::GLContext | [friend]
GLClearStencil(GLint s) | nvgl::GLContext | [friend]
GLClientActiveTexture(GLenum texture) | nvgl::GLContext | [friend]
GLClipPlane(GLenum plane, const GLdouble *equation) | nvgl::GLContext | [friend]
GLColor3b(GLbyte red, GLbyte green, GLbyte blue) | nvgl::GLContext | [friend]
GLColor3d(GLdouble red, GLdouble green, GLdouble blue) | nvgl::GLContext | [friend]
GLColor3f(GLfloat red, GLfloat green, GLfloat blue) | nvgl::GLContext | [friend]
GLColor3fv(const GLfloat *v) | nvgl::GLContext | [friend]
GLColor3i(GLint red, GLint green, GLint blue) | nvgl::GLContext | [friend]
GLColor3s(GLshort red, GLshort green, GLshort blue) | nvgl::GLContext | [friend]
GLColor3ub(GLubyte red, GLubyte green, GLubyte blue) | nvgl::GLContext | [friend]
GLColor3ui(GLuint red, GLuint green, GLuint blue) | nvgl::GLContext | [friend]
GLColor3us(GLushort red, GLushort green, GLushort blue) | nvgl::GLContext | [friend]
GLColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) | nvgl::GLContext | [friend]
GLColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) | nvgl::GLContext | [friend]
GLColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) | nvgl::GLContext | [friend]
GLColor4i(GLint red, GLint green, GLint blue, GLint alpha) | nvgl::GLContext | [friend]
GLColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) | nvgl::GLContext | [friend]
GLColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) | nvgl::GLContext | [friend]
GLColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) | nvgl::GLContext | [friend]
GLColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) | nvgl::GLContext | [friend]
GLColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) | nvgl::GLContext | [friend]
GLColorMaterial(GLenum face, GLenum mode) | nvgl::GLContext | [friend]
GLColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLCompressedTexImage1D(GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data) | nvgl::GLContext | [friend]
GLCompressedTexImage2D(GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data) | nvgl::GLContext | [friend]
GLCompressedTexImage3D(GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data) | nvgl::GLContext | [friend]
GLCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) | nvgl::GLContext | [friend]
GLCopyTexImage1D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border) | nvgl::GLContext | [friend]
GLCopyTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) | nvgl::GLContext | [friend]
GLCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) | nvgl::GLContext | [friend]
GLCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) | nvgl::GLContext | [friend]
GLCullFace(GLenum mode) | nvgl::GLContext | [friend]
GLDeleteBuffersARB(GLsizei n, const GLuint *buffers) | nvgl::GLContext | [friend]
GLDeleteLists(GLuint list, GLsizei range) | nvgl::GLContext | [friend]
GLDeleteOcclusionQueries(GLsizei n, const GLuint *ids) | nvgl::GLContext | [friend]
GLDeletePrograms(GLsizei n, const GLuint *ids) | nvgl::GLContext | [friend]
GLDeleteQueries(GLsizei n, const GLuint *ids) | nvgl::GLContext | [friend]
GLDeleteTextures(GLsizei n, const GLuint *textures) | nvgl::GLContext | [friend]
GLDepthFunc(GLenum func) | nvgl::GLContext | [friend]
GLDepthMask(GLboolean flag) | nvgl::GLContext | [friend]
GLDepthRange(GLclampd znear, GLclampd zfar) | nvgl::GLContext | [friend]
GLDisable(GLenum cap) | nvgl::GLContext | [friend]
GLDisableClientState(GLenum array) | nvgl::GLContext | [friend]
GLDrawArrays(GLenum mode, GLint first, GLsizei count) | nvgl::GLContext | [friend]
GLDrawBuffer(GLenum mode) | nvgl::GLContext | [friend]
GLDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) | nvgl::GLContext | [friend]
GLDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) | nvgl::GLContext | [friend]
GLDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) | nvgl::GLContext | [friend]
GLEdgeFlag(GLboolean flag) | nvgl::GLContext | [friend]
GLEdgeFlagPointer(GLsizei stride, const GLboolean *pointer) | nvgl::GLContext | [friend]
GLEdgeFlagv(const GLboolean *flag) | nvgl::GLContext | [friend]
GLEnable(GLenum cap) | nvgl::GLContext | [friend]
GLEnableClientState(GLenum array) | nvgl::GLContext | [friend]
GLEnd(void) | nvgl::GLContext | [friend]
GLEndList(void) | nvgl::GLContext | [friend]
GLEndOcclusionQuery(void) | nvgl::GLContext | [friend]
GLEvalCoord1d(GLdouble u) | nvgl::GLContext | [friend]
GLEvalCoord1f(GLfloat u) | nvgl::GLContext | [friend]
GLEvalCoord2d(GLdouble u, GLdouble v) | nvgl::GLContext | [friend]
GLEvalCoord2f(GLfloat u, GLfloat v) | nvgl::GLContext | [friend]
GLEvalMesh1(GLenum mode, GLint i1, GLint i2) | nvgl::GLContext | [friend]
GLEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) | nvgl::GLContext | [friend]
GLEvalPoint1(GLint i) | nvgl::GLContext | [friend]
GLEvalPoint2(GLint i, GLint j) | nvgl::GLContext | [friend]
GLFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) | nvgl::GLContext | [friend]
GLFinish(void) | nvgl::GLContext | [friend]
GLFlush(void) | nvgl::GLContext | [friend]
GLFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLFogf(GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLFogfv(GLenum pname, const GLfloat *params) | nvgl::GLContext | [friend]
GLFogi(GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLFogiv(GLenum pname, const GLint *params) | nvgl::GLContext | [friend]
GLFrontFace(GLenum mode) | nvgl::GLContext | [friend]
GLFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) | nvgl::GLContext | [friend]
GLGenBuffersARB(GLsizei n, GLuint *buffers) | nvgl::GLContext | [friend]
GLGenLists(GLsizei range) | nvgl::GLContext | [friend]
GLGenOcclusionQueries(GLsizei n, GLuint *ids) | nvgl::GLContext | [friend]
GLGenPrograms(GLsizei n, GLuint *ids) | nvgl::GLContext | [friend]
GLGenQueries(GLsizei n, GLuint *ids) | nvgl::GLContext | [friend]
GLGenTextures(GLsizei n, GLuint *textures) | nvgl::GLContext | [friend]
GLGetBooleanv(GLenum pname, GLboolean *params) | nvgl::GLContext | [friend]
GLGetClipPlane(GLenum plane, GLdouble *equation) | nvgl::GLContext | [friend]
GLGetDoublev(GLenum pname, GLdouble *params) | nvgl::GLContext | [friend]
GLGetFloatv(GLenum pname, GLfloat *params) | nvgl::GLContext | [friend]
GLGetIntegerv(GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLGetLightfv(GLenum light, GLenum pname, GLfloat *params) | nvgl::GLContext | [friend]
GLGetLightiv(GLenum light, GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLGetMapdv(GLenum target, GLenum query, GLdouble *v) | nvgl::GLContext | [friend]
GLGetMapfv(GLenum target, GLenum query, GLfloat *v) | nvgl::GLContext | [friend]
GLGetMapiv(GLenum target, GLenum query, GLint *v) | nvgl::GLContext | [friend]
GLGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) | nvgl::GLContext | [friend]
GLGetMaterialiv(GLenum face, GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLGetMaxTexCoords (defined in nvgl::GLContext) | nvgl::GLContext | [friend]
GLGetMaxTexUnits (defined in nvgl::GLContext) | nvgl::GLContext | [friend]
GLGetOcclusionQueryuiv(GLuint id, GLenum pname, GLuint *params) | nvgl::GLContext | [friend]
GLGetPixelMapfv(GLenum map, GLfloat *values) | nvgl::GLContext | [friend]
GLGetPixelMapuiv(GLenum map, GLuint *values) | nvgl::GLContext | [friend]
GLGetPixelMapusv(GLenum map, GLushort *values) | nvgl::GLContext | [friend]
GLGetPointerv(GLenum pname, GLvoid **params) | nvgl::GLContext | [friend]
GLGetPolygonStipple(GLubyte *mask) | nvgl::GLContext | [friend]
GLGetString(GLenum name) | nvgl::GLContext | [friend]
GLGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) | nvgl::GLContext | [friend]
GLGetTexEnviv(GLenum target, GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) | nvgl::GLContext | [friend]
GLGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) | nvgl::GLContext | [friend]
GLGetTexGeniv(GLenum coord, GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) | nvgl::GLContext | [friend]
GLGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) | nvgl::GLContext | [friend]
GLGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) | nvgl::GLContext | [friend]
GLGetTexParameteriv(GLenum target, GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLHint(GLenum target, GLenum mode) | nvgl::GLContext | [friend]
GLIndexd(GLdouble c) | nvgl::GLContext | [friend]
GLIndexf(GLfloat c) | nvgl::GLContext | [friend]
GLIndexi(GLint c) | nvgl::GLContext | [friend]
GLIndexMask(GLuint mask) | nvgl::GLContext | [friend]
GLIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLIndexs(GLshort c) | nvgl::GLContext | [friend]
GLIndexub(GLubyte c) | nvgl::GLContext | [friend]
GLInitNames(void) | nvgl::GLContext | [friend]
GLInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLIsBufferARB(GLuint name) | nvgl::GLContext | [friend]
GLIsEnabled(GLenum cap) | nvgl::GLContext | [friend]
GLIsExtensionAvailable(const std::string &extension) | nvgl::GLContext | [friend]
GLIsExtensionExported(const std::string &extension) | nvgl::GLContext | [friend]
GLIsList(GLuint list) | nvgl::GLContext | [friend]
GLIsOcclusionQuery(GLuint id) | nvgl::GLContext | [friend]
GLIsProgram(GLuint id) | nvgl::GLContext | [friend]
GLIsQuery(GLuint id) | nvgl::GLContext | [friend]
GLIsTexture(GLuint texture) | nvgl::GLContext | [friend]
GLLightf(GLenum light, GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLLightfv(GLenum light, GLenum pname, const GLfloat *params) | nvgl::GLContext | [friend]
GLLighti(GLenum light, GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLLightiv(GLenum light, GLenum pname, GLint *params) | nvgl::GLContext | [friend]
GLLightModelf(GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLLightModelfv(GLenum pname, const GLfloat *params) | nvgl::GLContext | [friend]
GLLightModeli(GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLLightModeliv(GLenum pname, const GLint *params) | nvgl::GLContext | [friend]
GLLineStipple(GLint factor, GLushort pattern) | nvgl::GLContext | [friend]
GLLineWidth(GLfloat width) | nvgl::GLContext | [friend]
GLListBase(GLuint base) | nvgl::GLContext | [friend]
GLLoadIdentity(void) | nvgl::GLContext | [friend]
GLLoadMatrixd(const GLdouble *m) | nvgl::GLContext | [friend]
GLLoadMatrixf(const GLfloat *m) | nvgl::GLContext | [friend]
GLLoadName(GLuint name) | nvgl::GLContext | [friend]
GLLoadProgram(GLenum target, GLuint id, GLsizei len, const GLubyte *program) | nvgl::GLContext | [friend]
GLLogicOp(GLenum opcode) | nvgl::GLContext | [friend]
GLLookupTexture (defined in nvgl::GLContext) | nvgl::GLContext | [friend]
GLMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) | nvgl::GLContext | [friend]
GLMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) | nvgl::GLContext | [friend]
GLMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) | nvgl::GLContext | [friend]
GLMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) | nvgl::GLContext | [friend]
GLMapBufferARB(GLenum target, GLenum access) | nvgl::GLContext | [friend]
GLMapGrid1d(GLint un, GLdouble u1, GLdouble u2) | nvgl::GLContext | [friend]
GLMapGrid1f(GLint un, GLfloat u1, GLfloat u2) | nvgl::GLContext | [friend]
GLMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) | nvgl::GLContext | [friend]
GLMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) | nvgl::GLContext | [friend]
GLMaterialf(GLenum face, GLenum pname, const GLfloat param) | nvgl::GLContext | [friend]
GLMaterialfv(GLenum face, GLenum pname, const GLfloat *params) | nvgl::GLContext | [friend]
GLMateriali(GLenum face, GLenum pname, const GLint param) | nvgl::GLContext | [friend]
GLMaterialiv(GLenum face, GLenum pname, const GLint *params) | nvgl::GLContext | [friend]
GLMatrixMode(GLenum mode) | nvgl::GLContext | [friend]
GLMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount) | nvgl::GLContext | [friend]
GLMultiTexCoord2f(GLenum texture, GLfloat tx, GLfloat ty) | nvgl::GLContext | [friend]
GLMultMatrixd(const GLdouble *m) | nvgl::GLContext | [friend]
GLMultMatrixf(const GLfloat *m) | nvgl::GLContext | [friend]
GLNewList(GLuint list, GLenum mode) | nvgl::GLContext | [friend]
GLNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) | nvgl::GLContext | [friend]
GLNormal3bv(const GLbyte *v) | nvgl::GLContext | [friend]
GLNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) | nvgl::GLContext | [friend]
GLNormal3dv(const GLdouble *v) | nvgl::GLContext | [friend]
GLNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) | nvgl::GLContext | [friend]
GLNormal3fv(const GLfloat *v) | nvgl::GLContext | [friend]
GLNormal3i(GLint nx, GLint ny, GLint nz) | nvgl::GLContext | [friend]
GLNormal3iv(const GLint *v) | nvgl::GLContext | [friend]
GLNormal3s(GLshort nx, GLshort ny, GLshort nz) | nvgl::GLContext | [friend]
GLNormal3sv(const GLshort *v) | nvgl::GLContext | [friend]
GLNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) | nvgl::GLContext | [friend]
GLPassThrough(GLfloat token) | nvgl::GLContext | [friend]
GLPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values) | nvgl::GLContext | [friend]
GLPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values) | nvgl::GLContext | [friend]
GLPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values) | nvgl::GLContext | [friend]
GLPixelStoref(GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLPixelStorei(GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLPixelTransferf(GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLPixelTransferi(GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLPixelZoom(GLfloat xfactor, GLfloat yfactor) | nvgl::GLContext | [friend]
GLPointSize(GLfloat size) | nvgl::GLContext | [friend]
GLPolygonMode(GLenum face, GLenum mode) | nvgl::GLContext | [friend]
GLPolygonOffset(GLfloat factor, GLfloat units) | nvgl::GLContext | [friend]
GLPolygonStipple(const GLubyte *mask) | nvgl::GLContext | [friend]
GLPopAttrib(void) | nvgl::GLContext | [friend]
GLPopClientAttrib(void) | nvgl::GLContext | [friend]
GLPopMatrix(void) | nvgl::GLContext | [friend]
GLPopName(void) | nvgl::GLContext | [friend]
GLPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities) | nvgl::GLContext | [friend]
GLProgramNamedParameter4f(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | nvgl::GLContext | [friend]
GLPushAttrib(GLbitfield mask) | nvgl::GLContext | [friend]
GLPushClientAttrib(GLbitfield mask) | nvgl::GLContext | [friend]
GLPushMatrix(void) | nvgl::GLContext | [friend]
GLPushName(GLuint name) | nvgl::GLContext | [friend]
GLRasterPos2d(GLdouble x, GLdouble y) | nvgl::GLContext | [friend]
GLRasterPos2f(GLfloat x, GLfloat y) | nvgl::GLContext | [friend]
GLRasterPos2i(GLint x, GLint y) | nvgl::GLContext | [friend]
GLRasterPos2s(GLshort x, GLshort y) | nvgl::GLContext | [friend]
GLRasterPos3d(GLdouble x, GLdouble y, GLdouble z) | nvgl::GLContext | [friend]
GLRasterPos3f(GLfloat x, GLfloat y, GLfloat z) | nvgl::GLContext | [friend]
GLRasterPos3i(GLint x, GLint y, GLint z) | nvgl::GLContext | [friend]
GLRasterPos3s(GLshort x, GLshort y, GLshort z) | nvgl::GLContext | [friend]
GLRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) | nvgl::GLContext | [friend]
GLRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) | nvgl::GLContext | [friend]
GLRasterPos4i(GLint x, GLint y, GLint z, GLint w) | nvgl::GLContext | [friend]
GLRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) | nvgl::GLContext | [friend]
GLReadBuffer(GLenum mode) | nvgl::GLContext | [friend]
GLReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) | nvgl::GLContext | [friend]
GLRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) | nvgl::GLContext | [friend]
GLRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) | nvgl::GLContext | [friend]
GLRecti(GLint x1, GLint y1, GLint x2, GLint y2) | nvgl::GLContext | [friend]
GLRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) | nvgl::GLContext | [friend]
GLRemoveTextureFileFromLookup (defined in nvgl::GLContext) | nvgl::GLContext | [friend]
GLRenderMode(GLenum mode) | nvgl::GLContext | [friend]
GLRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) | nvgl::GLContext | [friend]
GLRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) | nvgl::GLContext | [friend]
GLScaled(GLdouble x, GLdouble y, GLdouble z) | nvgl::GLContext | [friend]
GLScalef(GLfloat x, GLfloat y, GLfloat z) | nvgl::GLContext | [friend]
GLScissor(GLint x, GLint y, GLsizei width, GLsizei height) | nvgl::GLContext | [friend]
GLSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLSelectBuffer(GLsizei size, GLuint *buffer) | nvgl::GLContext | [friend]
GLSetWindowStereoMode(GLboolean displayMode) | nvgl::GLContext | [friend]
GLShadeModel(GLenum mode) | nvgl::GLContext | [friend]
GLStencilFunc(GLenum func, GLint ref, GLuint mask) | nvgl::GLContext | [friend]
GLStencilMask(GLuint mask) | nvgl::GLContext | [friend]
GLStencilOp(GLenum fail, GLenum zfail, GLenum zpass) | nvgl::GLContext | [friend]
GLTexCoord1d(GLdouble s) | nvgl::GLContext | [friend]
GLTexCoord1f(GLfloat s) | nvgl::GLContext | [friend]
GLTexCoord1i(GLint s) | nvgl::GLContext | [friend]
GLTexCoord1s(GLshort s) | nvgl::GLContext | [friend]
GLTexCoord2d(GLdouble s, GLdouble t) | nvgl::GLContext | [friend]
GLTexCoord2f(GLfloat s, GLfloat t) | nvgl::GLContext | [friend]
GLTexCoord2fv(const GLfloat *v) | nvgl::GLContext | [friend]
GLTexCoord2i(GLint s, GLint t) | nvgl::GLContext | [friend]
GLTexCoord2s(GLshort s, GLshort t) | nvgl::GLContext | [friend]
GLTexCoord3d(GLdouble s, GLdouble t, GLdouble r) | nvgl::GLContext | [friend]
GLTexCoord3f(GLfloat s, GLfloat t, GLfloat r) | nvgl::GLContext | [friend]
GLTexCoord3i(GLint s, GLint t, GLint r) | nvgl::GLContext | [friend]
GLTexCoord3s(GLshort s, GLshort t, GLshort r) | nvgl::GLContext | [friend]
GLTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) | nvgl::GLContext | [friend]
GLTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) | nvgl::GLContext | [friend]
GLTexCoord4i(GLint s, GLint t, GLint r, GLint q) | nvgl::GLContext | [friend]
GLTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) | nvgl::GLContext | [friend]
GLTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLTexEnvf(GLenum target, GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) | nvgl::GLContext | [friend]
GLTexEnvi(GLenum target, GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLTexEnviv(GLenum target, GLenum pname, const GLint *params) | nvgl::GLContext | [friend]
GLTexGend(GLenum coord, GLenum pname, GLdouble param) | nvgl::GLContext | [friend]
GLTexGenf(GLenum coord, GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLTexGenfv(GLenum coord, GLenum pname, const GLfloat *param) | nvgl::GLContext | [friend]
GLTexGeni(GLenum coord, GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) | nvgl::GLContext | [friend]
GLTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) | nvgl::GLContext | [friend]
GLTexImage3D(GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void *pixels) | nvgl::GLContext | [friend]
GLTexParameterf(GLenum target, GLenum pname, GLfloat param) | nvgl::GLContext | [friend]
GLTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) | nvgl::GLContext | [friend]
GLTexParameteri(GLenum target, GLenum pname, GLint param) | nvgl::GLContext | [friend]
GLTexParameteriv(GLenum target, GLenum pname, const GLint *params) | nvgl::GLContext | [friend]
GLTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) | nvgl::GLContext | [friend]
GLTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) | nvgl::GLContext | [friend]
GLTranslated(GLdouble x, GLdouble y, GLdouble z) | nvgl::GLContext | [friend]
GLTranslatef(GLfloat x, GLfloat y, GLfloat z) | nvgl::GLContext | [friend]
GLUnmapBufferARB(GLenum target) | nvgl::GLContext | [friend]
GLVertex2d(GLdouble x, GLdouble y) | nvgl::GLContext | [friend]
GLVertex2f(GLfloat x, GLfloat y) | nvgl::GLContext | [friend]
GLVertex2i(GLint x, GLint y) | nvgl::GLContext | [friend]
GLVertex2s(GLshort x, GLshort y) | nvgl::GLContext | [friend]
GLVertex3d(GLdouble x, GLdouble y, GLdouble z) | nvgl::GLContext | [friend]
GLVertex3f(GLfloat x, GLfloat y, GLfloat z) | nvgl::GLContext | [friend]
GLVertex3fv(const GLfloat *v) | nvgl::GLContext | [friend]
GLVertex3i(GLint x, GLint y, GLint z) | nvgl::GLContext | [friend]
GLVertex3s(GLshort x, GLshort y, GLshort z) | nvgl::GLContext | [friend]
GLVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) | nvgl::GLContext | [friend]
GLVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) | nvgl::GLContext | [friend]
GLVertex4i(GLint x, GLint y, GLint z, GLint w) | nvgl::GLContext | [friend]
GLVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) | nvgl::GLContext | [friend]
GLVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | nvgl::GLContext | [friend]
GLViewport(GLint x, GLint y, GLsizei width, GLsizei height) | nvgl::GLContext | [friend]
m_fontFaceMode (defined in nvgl::GLContext) | nvgl::GLContext |
m_glFunctions | nvgl::GLContext |
Generated on Fri Jan 28 09:20:48 2005 for NVSGSDK by NVIDIA


Member List

nvgl::GLFunctions Member List

This is the complete list of members for nvgl::GLFunctions, including all inherited members.
isAvailable(const std::string &extension) const | nvgl::GLFunctions | [inline]
isExported(const std::string &extension) const | nvgl::GLFunctions | [inline]
~GLFunctions(void) | nvgl::GLFunctions |
Generated on Fri Jan 28 09:20:48 2005 for NVSGSDK by NVIDIA


Member List

nvgl::GLObjects Member List

This is the complete list of members for nvgl::GLObjects, including all inherited members.
addBuffers(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
addLists(GLsizei n, GLuint first) | nvgl::GLObjects | [inline]
addOcclusionQueries(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
addPrograms(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
addQueries(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
addTextures(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
GLContext (defined in nvgl::GLObjects) | nvgl::GLObjects | [friend]
GLObjects() (defined in nvgl::GLObjects) | nvgl::GLObjects |
removeBuffers(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
removeLists(GLsizei n, GLuint first) | nvgl::GLObjects | [inline]
removeOcclusionQueries(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
removePrograms(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
removeQueries(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
removeTextures(GLsizei n, const GLuint *names) | nvgl::GLObjects | [inline]
~GLObjects() (defined in nvgl::GLObjects) | nvgl::GLObjects |
Generated on Fri Jan 28 09:20:48 2005 for NVSGSDK by NVIDIA


Member List

nvmath::BoundingSphere Member List

This is the complete list of members for nvmath::BoundingSphere, including all inherited members.
BoundingSphere() | nvmath::BoundingSphere | [inline]
boundingSphere(const Vec3f *points, size_t numberOfPoints) | nvmath::Sphere3f | [related]
boundingSphere(const Sphere3f &s, const Vec3f &p) | nvmath::Sphere3f | [related]
boundingSphere(const Sphere3f &s0, const Sphere3f &s1) | nvmath::Sphere3f | [related]
enlarge(float factor) | nvmath::BoundingSphere | [inline]
extend(const Sphere3f &sphere) | nvmath::BoundingSphere | [inline]
getCenter(void) const | nvmath::BoundingSphere | [inline]
getRadius(void) const | nvmath::BoundingSphere | [inline]
getSphere(void) const | nvmath::BoundingSphere | [inline]
invalidate(void) | nvmath::BoundingSphere | [inline]
isValid(void) const | nvmath::BoundingSphere | [inline]
operator!=(const Sphere3f &sphere) const | nvmath::Sphere3f | [inline]
operator()(const Vec3f &p) const | nvmath::Sphere3f | [inline]
operator=(const Sphere3f &sphere) | nvmath::Sphere3f | [inline]
operator==(const Sphere3f &sphere) const | nvmath::Sphere3f | [inline]
set(const Vec3f *vertices, size_t numVertices) | nvmath::BoundingSphere | [inline]
setCenter(const Vec3f &center) | nvmath::Sphere3f | [inline]
setRadius(float radius) | nvmath::Sphere3f | [inline]
setSphere(const Sphere3f &sphere) | nvmath::BoundingSphere | [inline]
Sphere3f(void) | nvmath::Sphere3f | [inline]
Sphere3f(const Vec3f &center, float radius) | nvmath::Sphere3f | [inline]
transform(const Mat44f &m) | nvmath::BoundingSphere | [inline]
Generated on Fri Jan 28 09:20:49 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Mat33f Member List

This is the complete list of members for nvmath::Mat33f, including all inherited members.
decompose(const Mat33f &mat, Vec3f &scaling, Vec3f &shearing, Quatf &orientation) | nvmath::Mat33f | [related]
determinant(const Mat33f &mat) | nvmath::Mat33f | [related]
getPtr(void) const | nvmath::Matnnf< 3 > |
isRotation(const Mat33f &mat) | nvmath::Mat33f | [related]
Mat33f(void) | nvmath::Mat33f | [inline]
Mat33f(float a00, float a01, float a02, float a10, float a11, float a12, float a20, float a21, float a22) | nvmath::Mat33f | [inline]
Mat33f(const Vec3f &row0, const Vec3f &row1, const Vec3f &row2) | nvmath::Mat33f | [inline]
Mat33f(const Vec3f &axis, float rad) | nvmath::Mat33f | [inline]
Mat33f(const Quatf &quat) | nvmath::Mat33f |
Mat33f(const Matnnf< 3 > &m) | nvmath::Mat33f | [inline]
Matnnf(void) | nvmath::Matnnf< 3 > |
operator *(float f) const | nvmath::Matnnf< 3 > |
operator *(const Vecnf< n > &v) const | nvmath::Matnnf< 3 > |
operator *=(float f) | nvmath::Matnnf< 3 > |
operator *=(const Matnnf< n > &m) | nvmath::Matnnf< 3 > |
operator!=(const Matnnf< n > &m) const | nvmath::Matnnf< 3 > |
operator+(const Matnnf< n > &v) const | nvmath::Matnnf< 3 > |
operator+=(const Matnnf< n > &m) | nvmath::Matnnf< 3 > |
operator-(void) const | nvmath::Matnnf< 3 > |
operator-(const Matnnf< n > &v) const | nvmath::Matnnf< 3 > |
operator-=(const Matnnf< n > &m) | nvmath::Matnnf< 3 > |
operator/(float f) const | nvmath::Matnnf< 3 > |
operator/=(float f) | nvmath::Matnnf< 3 > |
operator=(const Matnnf< n > &m) | nvmath::Matnnf< 3 > |
operator==(const Matnnf< n > &m) const | nvmath::Matnnf< 3 > |
operator[](size_t i) | nvmath::Matnnf< 3 > |
operator[](size_t i) const | nvmath::Matnnf< 3 > |
operator~(void) const | nvmath::Matnnf< 3 > |
set(const Vec3f &row0, const Vec3f &row1, const Vec3f &row2) | nvmath::Mat33f | [inline]
Generated on Fri Jan 28 09:20:50 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Mat44f Member List

This is the complete list of members for nvmath::Mat44f, including all inherited members.
decompose(const Mat44f &mat, Vec3f &scaling, Vec3f &shearing, Quatf &orientation, Vec3f &translation) | nvmath::Mat44f | [related]
getPtr(void) const | nvmath::Matnnf< 4 > |
Mat44f(void) | nvmath::Mat44f | [inline]
Mat44f(float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33) | nvmath::Mat44f | [inline]
Mat44f(const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3) | nvmath::Mat44f | [inline]
Mat44f(const Vec3f &trans, const Quatf &rot) | nvmath::Mat44f | [inline]
Mat44f(const Matnnf< 4 > &m) | nvmath::Mat44f | [inline]
Matnnf(void) | nvmath::Matnnf< 4 > |
operator *(const Mat44f &m0, const Mat44f &m1) | nvmath::Mat44f | [related]
nvmath::Matnnf< 4 >::operator *(float f) const | nvmath::Matnnf< 4 > |
nvmath::Matnnf< 4 >::operator *(const Vecnf< n > &v) const | nvmath::Matnnf< 4 > |
operator *=(float f) | nvmath::Matnnf< 4 > |
operator *=(const Matnnf< n > &m) | nvmath::Matnnf< 4 > |
operator!=(const Matnnf< n > &m) const | nvmath::Matnnf< 4 > |
operator+(const Matnnf< n > &v) const | nvmath::Matnnf< 4 > |
operator+=(const Matnnf< n > &m) | nvmath::Matnnf< 4 > |
operator-(void) const | nvmath::Matnnf< 4 > |
operator-(const Matnnf< n > &v) const | nvmath::Matnnf< 4 > |
operator-=(const Matnnf< n > &m) | nvmath::Matnnf< 4 > |
operator/(float f) const | nvmath::Matnnf< 4 > |
operator/=(float f) | nvmath::Matnnf< 4 > |
operator=(const Matnnf< n > &m) | nvmath::Matnnf< 4 > |
operator==(const Matnnf< n > &m) const | nvmath::Matnnf< 4 > |
operator[](size_t i) | nvmath::Matnnf< 4 > |
operator[](size_t i) const | nvmath::Matnnf< 4 > |
operator~(void) const | nvmath::Matnnf< 4 > |
set(const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3) | nvmath::Mat44f | [inline]
Generated on Fri Jan 28 09:20:50 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Matnnf< n > Member List

This is the complete list of members for nvmath::Matnnf< n >, including all inherited members.
getPtr(void) const | nvmath::Matnnf< n > |
isIdentity(const Matnnf< n > &m) | nvmath::Matnnf< n > | [related]
isNormalized(const Matnnf< n > &mat) | nvmath::Matnnf< n > | [related]
isOrthogonal(const Matnnf< n > &mat) | nvmath::Matnnf< n > | [related]
Matnnf(void) | nvmath::Matnnf< n > |
operator *(float f) const | nvmath::Matnnf< n > |
operator *(const Vecnf< n > &v) const | nvmath::Matnnf< n > |
operator *(const Matnnf< n > &m0, const Matnnf< n > &m1) | nvmath::Matnnf< n > | [related]
operator *=(float f) | nvmath::Matnnf< n > |
operator *=(const Matnnf< n > &m) | nvmath::Matnnf< n > |
operator!=(const Matnnf< n > &m) const | nvmath::Matnnf< n > |
operator+(const Matnnf< n > &v) const | nvmath::Matnnf< n > |
operator+=(const Matnnf< n > &m) | nvmath::Matnnf< n > |
operator-(void) const | nvmath::Matnnf< n > |
operator-(const Matnnf< n > &v) const | nvmath::Matnnf< n > |
operator-=(const Matnnf< n > &m) | nvmath::Matnnf< n > |
operator/(float f) const | nvmath::Matnnf< n > |
operator/=(float f) | nvmath::Matnnf< n > |
operator=(const Matnnf< n > &m) | nvmath::Matnnf< n > |
operator==(const Matnnf< n > &m) const | nvmath::Matnnf< n > |
operator[](size_t i) | nvmath::Matnnf< n > |
operator[](size_t i) const | nvmath::Matnnf< n > |
operator~(void) const | nvmath::Matnnf< n > |
Generated on Fri Jan 28 09:20:51 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Plane3f Member List

This is the complete list of members for nvmath::Plane3f, including all inherited members.
areOnOppositeSides(const Plane3f &plane, const Vec3f &p0, const Vec3f &p1) | nvmath::Plane3f | [related]
areOnSameSide(const Plane3f &plane, const Vec3f &p0, const Vec3f &p1) | nvmath::Plane3f | [related]
c(void) | nvmath::Plane3f | [inline]
c(void) const | nvmath::Plane3f | [inline]
distance(const Plane3f &pl, const Vec3f &p) | nvmath::Plane3f | [related]
n(void) | nvmath::Plane3f | [inline]
n(void) const | nvmath::Plane3f | [inline]
nearestPoint(const Plane3f &pl, const Vec3f &p) | nvmath::Plane3f | [related]
operator!=(const Plane3f &pl) const | nvmath::Plane3f | [inline]
operator()(const Vec3f &p) const | nvmath::Plane3f |
operator-(void) const | nvmath::Plane3f | [inline]
operator=(const Plane3f &pl) | nvmath::Plane3f | [inline]
operator==(const Plane3f &pl) const | nvmath::Plane3f | [inline]
Plane3f(void) | nvmath::Plane3f | [inline]
Plane3f(const Vec3f &n, float c) | nvmath::Plane3f | [inline]
Plane3f(const Vec3f &n, const Vec3f &p) | nvmath::Plane3f | [inline]
Plane3f(const Vec3f &p0, const Vec3f &p1, const Vec3f &p2) | nvmath::Plane3f | [inline]
signedDistance(const Plane3f &pl, const Vec3f &p) | nvmath::Plane3f | [related]
Generated on Fri Jan 28 09:20:51 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Quatf Member List

This is the complete list of members for nvmath::Quatf, including all inherited members.
decompose(const Quatf &q, Vec3f &axis, float &angle) | nvmath::Quatf | [related]
distance(const Quatf &q0, const Quatf &q1) | nvmath::Quatf | [related]
invert(void) | nvmath::Quatf | [inline]
isNormalized(const Quatf &q) | nvmath::Quatf | [related]
isNull(const Quatf &q) | nvmath::Quatf | [related]
lerp(float alpha, const Quatf &q0, const Quatf &q1) | nvmath::Quatf | [related]
magnitude(const Quatf &q) | nvmath::Quatf | [related]
normalize(void) | nvmath::Quatf | [inline]
operator *(float f) const | nvmath::Quatf |
operator *(const Quatf &q) const | nvmath::Quatf | [inline]
operator *(float f, const Quatf &q) | nvmath::Quatf | [related]
operator *(const Quatf &q, const Vec3f &v) | nvmath::Quatf | [related]
operator *=(float f) | nvmath::Quatf |
operator *=(const Quatf &q) | nvmath::Quatf | [inline]
operator!=(const Quatf &q) const | nvmath::Quatf | [inline]
operator+=(const Quatf &q) | nvmath::Quatf |
operator-(const Quatf &q) const | nvmath::Quatf |
operator-(void) const | nvmath::Quatf | [inline]
operator-=(const Quatf &q) | nvmath::Quatf |
operator/(float f) const | nvmath::Quatf |
operator/(const Quatf &q) const | nvmath::Quatf | [inline]
operator/=(float f) | nvmath::Quatf |
operator/=(const Quatf &q) | nvmath::Quatf | [inline]
operator=(const Quatf &q) | nvmath::Quatf | [inline]
operator==(const Quatf &q) const | nvmath::Quatf | [inline]
operator[](size_t i) | nvmath::Quatf | [inline]
operator[](size_t i) const | nvmath::Quatf | [inline]
operator~(void) const | nvmath::Quatf | [inline]
Quatf(void) | nvmath::Quatf | [inline]
Quatf(const Vec4f &v) | nvmath::Quatf | [inline]
Quatf(float f0, float f1, float f2, float f3) | nvmath::Quatf | [inline]
Quatf(const Vec3f &axis, float angle) | nvmath::Quatf | [inline]
Quatf(const Vec3f &vec0, const Vec3f &vec1) | nvmath::Quatf | [inline]
Generated on Fri Jan 28 09:20:52 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Sphere3f Member List

This is the complete list of members for nvmath::Sphere3f, including all inherited members.
boundingSphere(const Vec3f *points, size_t numberOfPoints) | nvmath::Sphere3f | [related]
boundingSphere(const Sphere3f &s, const Vec3f &p) | nvmath::Sphere3f | [related]
boundingSphere(const Sphere3f &s0, const Sphere3f &s1) | nvmath::Sphere3f | [related]
getCenter(void) const | nvmath::Sphere3f | [inline]
getRadius(void) const | nvmath::Sphere3f | [inline]
operator!=(const Sphere3f &sphere) const | nvmath::Sphere3f | [inline]
operator()(const Vec3f &p) const | nvmath::Sphere3f | [inline]
operator=(const Sphere3f &sphere) | nvmath::Sphere3f | [inline]
operator==(const Sphere3f &sphere) const | nvmath::Sphere3f | [inline]
setCenter(const Vec3f &center) | nvmath::Sphere3f | [inline]
setRadius(float radius) | nvmath::Sphere3f | [inline]
Sphere3f(void) | nvmath::Sphere3f | [inline]
Sphere3f(const Vec3f &center, float radius) | nvmath::Sphere3f | [inline]
Generated on Fri Jan 28 09:20:52 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Trafo Member List

This is the complete list of members for nvmath::Trafo, including all inherited members.
getCenter(void) const | nvmath::Trafo | [inline]
getInverse(void) const | nvmath::Trafo |
getMatrix(void) const | nvmath::Trafo |
getOrientation(void) const | nvmath::Trafo | [inline]
getScaling(void) const | nvmath::Trafo | [inline]
getTranslation(void) const | nvmath::Trafo | [inline]
lerp(float alpha, const Trafo &t0, const Trafo &t1) | nvmath::Trafo | [related]
setCenter(const Vec3f &center) | nvmath::Trafo | [inline]
setIdentity(void) | nvmath::Trafo | [inline]
setOrientation(const Quatf &orientation) | nvmath::Trafo | [inline]
setScaling(const Vec3f &scaling) | nvmath::Trafo | [inline]
setTranslation(const Vec3f &translation) | nvmath::Trafo | [inline]
Trafo(void) | nvmath::Trafo | [inline]
Generated on Fri Jan 28 09:20:53 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Vec2f Member List

This is the complete list of members for nvmath::Vec2f, including all inherited members.
getPtr(void) const | nvmath::Vecnf< 2 > |
m_vec (defined in nvmath::Vecnf< 2 >) | nvmath::Vecnf< 2 > | [protected]
normalize(void) | nvmath::Vecnf< 2 > |
operator *(float f, const Vec2f &v) | nvmath::Vec2f | [related]
nvmath::Vecnf< 2 >::operator *(float f) const | nvmath::Vecnf< 2 > |
nvmath::Vecnf< 2 >::operator *(const Vecnf< n > &v) const | nvmath::Vecnf< 2 > |
operator *=(float f) | nvmath::Vecnf< 2 > |
operator!=(const Vecnf< n > &v) const | nvmath::Vecnf< 2 > |
operator+(const Vecnf< n > &v) const | nvmath::Vecnf< 2 > |
operator+=(const Vecnf< n > &v) | nvmath::Vecnf< 2 > |
operator-(void) const | nvmath::Vecnf< 2 > |
operator-(const Vecnf< n > &v) const | nvmath::Vecnf< 2 > |
operator-=(const Vecnf< n > &v) | nvmath::Vecnf< 2 > |
operator/(float f) const | nvmath::Vecnf< 2 > |
operator/=(float f) | nvmath::Vecnf< 2 > |
operator=(const Vecnf< n > &v) | nvmath::Vecnf< 2 > |
operator==(const Vecnf< n > &v) const | nvmath::Vecnf< 2 > |
operator[](size_t i) | nvmath::Vecnf< 2 > |
operator[](size_t i) const | nvmath::Vecnf< 2 > |
orthogonalize(const Vecnf< n > &v) | nvmath::Vecnf< 2 > |
orthonormalize(const Vecnf< n > &v) | nvmath::Vecnf< 2 > |
set(float x, float y) | nvmath::Vec2f | [inline]
Vec2f(void) | nvmath::Vec2f | [inline]
Vec2f(float x, float y) | nvmath::Vec2f | [inline]
Vec2f(const Vecnf< 2 > &v) | nvmath::Vec2f | [inline]
Vecnf(void) | nvmath::Vecnf< 2 > |
Vecnf(const Vecnf< n > &v) | nvmath::Vecnf< 2 > |
Generated on Fri Jan 28 09:20:53 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Vec3f Member List

This is the complete list of members for nvmath::Vec3f, including all inherited members.
areCollinear(const Vec3f &v0, const Vec3f &v1) | nvmath::Vec3f | [related]
getPtr(void) const | nvmath::Vecnf< 3 > |
m_vec (defined in nvmath::Vecnf< 3 >) | nvmath::Vecnf< 3 > | [protected]
normalize(const Vec3f &v) | nvmath::Vec3f | [related]
nvmath::Vecnf< 3 >::normalize(void) | nvmath::Vecnf< 3 > |
normalizeV(const std::vector< Vec3f > &vecIn, std::vector< Vec3f > &vecOut) | nvmath::Vec3f | [related]
operator *(float f, const Vec3f &v) | nvmath::Vec3f | [related]
nvmath::Vecnf< 3 >::operator *(float f) const | nvmath::Vecnf< 3 > |
nvmath::Vecnf< 3 >::operator *(const Vecnf< n > &v) const | nvmath::Vecnf< 3 > |
operator *=(float f) | nvmath::Vecnf< 3 > |
operator!=(const Vecnf< n > &v) const | nvmath::Vecnf< 3 > |
operator+(const Vecnf< n > &v) const | nvmath::Vecnf< 3 > |
operator+=(const Vecnf< n > &v) | nvmath::Vecnf< 3 > |
operator-(void) const | nvmath::Vec3f | [inline]
nvmath::Vecnf< 3 >::operator-(const Vecnf< n > &v) const | nvmath::Vecnf< 3 > |
operator-=(const Vecnf< n > &v) | nvmath::Vecnf< 3 > |
operator/(float f) const | nvmath::Vecnf< 3 > |
operator/=(float f) | nvmath::Vecnf< 3 > |
operator=(const Vec4f &v) | nvmath::Vec3f |
nvmath::Vecnf< 3 >::operator=(const Vecnf< n > &v) | nvmath::Vecnf< 3 > |
operator==(const Vecnf< n > &v) const | nvmath::Vecnf< 3 > |
operator[](size_t i) | nvmath::Vecnf< 3 > |
operator[](size_t i) const | nvmath::Vecnf< 3 > |
operator^(const Vecnf< 3 > &v0, const Vecnf< 3 > &v1) | nvmath::Vec3f | [related]
orthogonalize(const Vecnf< n > &v) | nvmath::Vecnf< 3 > |
orthonormalize(const Vecnf< n > &v) | nvmath::Vecnf< 3 > |
set(float x, float y, float z) | nvmath::Vec3f | [inline]
smoothNormals(const std::vector< Vec3f > &vertices, const Sphere3f &sphere, float creaseAngle, std::vector< Vec3f > &normals) | nvmath::Vec3f | [related]
Vec3f(void) | nvmath::Vec3f | [inline]
Vec3f(float x, float y, float z) | nvmath::Vec3f | [inline]
Vec3f(const Vecnf< 3 > &v) | nvmath::Vec3f | [inline]
Vec3f(const Vecnf< 4 > &v) | nvmath::Vec3f | [inline]
Vecnf(void) | nvmath::Vecnf< 3 > |
Vecnf(const Vecnf< n > &v) | nvmath::Vecnf< 3 > |
Generated on Fri Jan 28 09:20:54 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Vec4f Member List

This is the complete list of members for nvmath::Vec4f, including all inherited members.
getPtr(void) const | nvmath::Vecnf< 4 > |
m_vec (defined in nvmath::Vecnf< 4 >) | nvmath::Vecnf< 4 > | [protected]
normalize(void) | nvmath::Vecnf< 4 > |
operator *(float f, const Vec4f &v) | nvmath::Vec4f | [related]
nvmath::Vecnf< 4 >::operator *(float f) const | nvmath::Vecnf< 4 > |
nvmath::Vecnf< 4 >::operator *(const Vecnf< n > &v) const | nvmath::Vecnf< 4 > |
operator *=(float f) | nvmath::Vecnf< 4 > |
operator!=(const Vecnf< n > &v) const | nvmath::Vecnf< 4 > |
operator+(const Vecnf< n > &v) const | nvmath::Vecnf< 4 > |
operator+=(const Vecnf< n > &v) | nvmath::Vecnf< 4 > |
operator-(void) const | nvmath::Vecnf< 4 > |
operator-(const Vecnf< n > &v) const | nvmath::Vecnf< 4 > |
operator-=(const Vecnf< n > &v) | nvmath::Vecnf< 4 > |
operator/(float f) const | nvmath::Vecnf< 4 > |
operator/=(float f) | nvmath::Vecnf< 4 > |
operator=(const Vecnf< n > &v) | nvmath::Vecnf< 4 > |
operator==(const Vecnf< n > &v) const | nvmath::Vecnf< 4 > |
operator[](size_t i) | nvmath::Vecnf< 4 > |
operator[](size_t i) const | nvmath::Vecnf< 4 > |
orthogonalize(const Vecnf< n > &v) | nvmath::Vecnf< 4 > |
orthonormalize(const Vecnf< n > &v) | nvmath::Vecnf< 4 > |
set(float x, float y, float z, float w) | nvmath::Vec4f | [inline]
Vec4f(void) | nvmath::Vec4f | [inline]
Vec4f(float x, float y, float z, float w) | nvmath::Vec4f | [inline]
Vec4f(const Vec3f &v3, float w) | nvmath::Vec4f | [inline]
Vec4f(const Vecnf< 4 > &v) | nvmath::Vec4f | [inline]
Vecnf(void) | nvmath::Vecnf< 4 > |
Vecnf(const Vecnf< n > &v) | nvmath::Vecnf< 4 > |
Generated on Fri Jan 28 09:20:54 2005 for NVSGSDK by NVIDIA


Member List

nvmath::Vecnf< n > Member List

This is the complete list of members for nvmath::Vecnf< n >, including all inherited members.
areOrthogonal(const Vecnf< n > &v0, const Vecnf< n > &v1) | nvmath::Vecnf< n > | [related]
areOrthonormal(const Vecnf< n > &v0, const Vecnf< n > &v1) | nvmath::Vecnf< n > | [related]
areSimilar(const Vecnf< n > &v0, const Vecnf< n > &v1, float tol=FLT_EPSILON) | nvmath::Vecnf< n > | [related]
distance(const Vecnf< n > &p0, const Vecnf< n > &p1) | nvmath::Vecnf< n > | [related]
getPtr(void) const | nvmath::Vecnf< n > |
isNormalized(const Vecnf< n > &v) | nvmath::Vecnf< n > | [related]
isNull(const Vecnf< n > &v) | nvmath::Vecnf< n > | [related]
length(const Vecnf< n > &v) | nvmath::Vecnf< n > | [related]
lengthSquared(const Vecnf< n > &v) | nvmath::Vecnf< n > | [related]
m_vec (defined in nvmath::Vecnf< n >) | nvmath::Vecnf< n > | [protected]
maxElement(const Vecnf< n > &v) | nvmath::Vecnf< n > | [related]
minElement(const Vecnf< n > &v) | nvmath::Vecnf< n > | [related]
normalize(void) | nvmath::Vecnf< n > |
operator *(float f) const | nvmath::Vecnf< n > |
operator *(const Vecnf< n > &v) const | nvmath::Vecnf< n > |
operator *(float f, const Vecnf< n > &v) | nvmath::Vecnf< n > | [related]
operator *=(float f) | nvmath::Vecnf< n > |
operator!=(const Vecnf< n > &v) const | nvmath::Vecnf< n > |
operator+(const Vecnf< n > &v) const | nvmath::Vecnf< n > |
operator+=(const Vecnf< n > &v) | nvmath::Vecnf< n > |
operator-(void) const | nvmath::Vecnf< n > |
operator-(const Vecnf< n > &v) const | nvmath::Vecnf< n > |
operator-=(const Vecnf< n > &v) | nvmath::Vecnf< n > |
operator/(float f) const | nvmath::Vecnf< n > |
operator/=(float f) | nvmath::Vecnf< n > |
operator=(const Vecnf< n > &v) | nvmath::Vecnf< n > |
operator==(const Vecnf< n > &v) const | nvmath::Vecnf< n > |
operator[](size_t i) | nvmath::Vecnf< n > |
operator[](size_t i) const | nvmath::Vecnf< n > |
orthogonalize(const Vecnf< n > &v) | nvmath::Vecnf< n > |
orthonormalize(const Vecnf< n > &v) | nvmath::Vecnf< n > |
Vecnf(void) | nvmath::Vecnf< n > |
Vecnf(const Vecnf< n > &v) | nvmath::Vecnf< n > |
Generated on Fri Jan 28 09:20:55 2005 for NVSGSDK by NVIDIA


Member List

NVNVB Member List

This is the complete list of members for NVNVB, including all inherited members.
EndImport(void) | NVNVB | [virtual]
load(const std::string &filename, const std::vector< std::string > &searchPaths) | NVNVB | [inline]
NewCamera(const NVBRenderManager::NVBCameraInfo &camera) | NVNVB | [virtual]
NewController(const NVBRenderManager::NVBControllerInfo &controller) | NVNVB | [virtual]
NewHelper(const NVBRenderManager::NVBHelperInfo &helper) | NVNVB | [virtual]
NewLight(const NVBRenderManager::NVBLightInfo &light) | NVNVB | [virtual]
NewMaterial(const NVBRenderManager::NVBMaterialInfo &material) | NVNVB | [virtual]
NewMesh(const NVBRenderManager::NVBMeshInfo &mesh) | NVNVB | [virtual]
NewMotion(const NVBRenderManager::NVBMotionInfo &motion) | NVNVB | [virtual]
NewScene(const NVBRenderManager::NVBSceneInfo &scene) | NVNVB | [virtual]
NewShape(const NVBRenderManager::NVBShapeInfo &shape) | NVNVB | [virtual]
NewTexture(const NVBRenderManager::NVBTextureInfo &texture) | NVNVB | [virtual]
NVBImportError(const char *errortext, udword errorcode) | NVNVB | [virtual]
NVBLog(NVBRenderManager::TLogLevel level, LPSTR fmt,...) | NVNVB | [virtual]
NVNVB(void) (defined in NVNVB) | NVNVB |
SetLogCallback(NVBRenderManager::TloggingCB cbfn, unsigned long userparam=0) | NVNVB | [virtual]
~NVNVB(void) (defined in NVNVB) | NVNVB |
Generated on Fri Jan 28 09:20:37 2005 for NVSGSDK by NVIDIA


Member List

nvsg::AnimatedQuads Member List

This is the complete list of members for nvsg::AnimatedQuads, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
AnimatedQuads(const Animation< VNVector > *pAnimation) | nvsg::AnimatedQuads | [protected]
AnimatedQuads(const Quads &rhs, const Animation< VNVector > *pAnimation) | nvsg::AnimatedQuads | [protected]
AnimatedQuads(const AnimatedQuads &rhs) | nvsg::AnimatedQuads | [protected]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::Quads | [virtual]
clone(void) const | nvsg::AnimatedQuads | [virtual]
create(const Animation< VNVector > *pAnimation=NULL) | nvsg::AnimatedQuads | [static]
nvsg::Quads::create(void) | nvsg::Quads | [static]
createFromBase(const Quads &rhs, const Animation< VNVector > *pAnimation=NULL) | nvsg::AnimatedQuads | [static]
nvsg::Quads::createFromBase(const GeoSet &rhs) | nvsg::Quads | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getAnimation(void) const | nvsg::AnimatedQuads | [inline]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::AnimatedQuads | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFaces(void) const | nvsg::Quads | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFaces(void) const | nvsg::Quads | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::AnimatedQuads | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasFaces(void) const | nvsg::Quads | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::AnimatedQuads | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::AnimatedQuads | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Quads(void) | nvsg::Quads | [protected]
Quads(const GeoSet &rhs) | nvsg::Quads | [protected]
Quads(const Quads &rhs) | nvsg::Quads | [protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setAnimation(const Animation< VNVector > *pAnimation) | nvsg::AnimatedQuads |
setAnimationFrame(size_t frame) | nvsg::AnimatedQuads |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFaces(const Face4 *pFaces, size_t numFaces) | nvsg::Quads |
setFaces(size_t pos, const Face4 *pFaces, size_t numFaces) | nvsg::Quads |
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setNormals(size_t pos, const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~AnimatedQuads(void) | nvsg::AnimatedQuads | [protected, virtual]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~Quads(void) | nvsg::Quads | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:20:57 2005 for NVSGSDK by NVIDIA


Member List

nvsg::AnimatedTransform Member List

This is the complete list of members for nvsg::AnimatedTransform, including all inherited members.
addChild(const Node *pChild, size_t position=0xFFFFFFFF) | nvsg::Group |
addRef() const | nvutil::RCObject | [inline]
AnimatedTransform(const Animation< nvmath::Trafo > *pAnimation) | nvsg::AnimatedTransform | [protected]
AnimatedTransform(const Transform &rhs, const Animation< nvmath::Trafo > *pAnimation) | nvsg::AnimatedTransform | [protected]
AnimatedTransform(const AnimatedTransform &rhs) | nvsg::AnimatedTransform | [protected]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::Transform | [protected, virtual]
clone(void) const | nvsg::AnimatedTransform | [virtual]
containsCgFx(void) const | nvsg::Group | [virtual]
containsLight(void) const | nvsg::Group | [virtual]
containsTransparentMaterial(void) const | nvsg::Group | [virtual]
containsTransparentTexture(void) const | nvsg::Group | [virtual]
create(const Animation< nvmath::Trafo > *pAnimation=NULL) | nvsg::AnimatedTransform | [static]
nvsg::Transform::create(void) | nvsg::Transform | [static]
createFromBase(const Transform &rhs, const Animation< nvmath::Trafo > *pAnimation=NULL) | nvsg::AnimatedTransform | [static]
nvsg::Transform::createFromBase(const Group &rhs) | nvsg::Transform | [static]
nvsg::Group::createFromBase(const Node &rhs) | nvsg::Group | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAnimation(void) const | nvsg::AnimatedTransform | [inline]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getCenter(void) const | nvsg::Transform | [inline]
getChild(size_t index) const | nvsg::Group | [inline]
getDataID(void) const | nvsg::AnimatedTransform | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getIndex(const Node *node, size_t &index) const | nvsg::Group |
getInverse(void) const | nvsg::Transform | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getMatrix(void) const | nvsg::Transform | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfChildren(void) const | nvsg::Group | [inline]
getNumberOfFrames(void) const | nvsg::AnimatedTransform | [virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::Transform | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getScaling(void) const | nvsg::Transform | [inline]
getTranslation(void) const | nvsg::Transform | [inline]
Group(void) | nvsg::Group | [protected]
Group(const Node &rhs) | nvsg::Group | [protected]
Group(const Group &rhs) | nvsg::Group | [protected]
hasChild(const Node *node) const | nvsg::Group |
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCaches(const Node *pChild, bool insert) | nvsg::Group | [inline, protected]
invalidateCgFxContainment(void) | nvsg::Group | [virtual]
invalidateLightContainment(void) | nvsg::Group | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Group | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Group | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Group | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::AnimatedTransform | [virtual]
isIdentity(void) const | nvsg::Transform | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeChild(const Node *pChild) | nvsg::Group |
removeChild(size_t position) | nvsg::Group |
removeRef() const | nvutil::RCObject | [inline]
replaceChild(const Node *newChild, const Node *oldChild) | nvsg::Group |
replaceChild(const Node *newChild, size_t position) | nvsg::Group |
setAnimation(const Animation< nvmath::Trafo > *pAnimation) | nvsg::AnimatedTransform |
setAnimationFrame(size_t frame) | nvsg::AnimatedTransform |
setAnnotation(const char *anno) | nvsg::Node |
setCenter(const nvmath::Vec3f &center) | nvsg::AnimatedTransform | [virtual]
setIdentity(void) | nvsg::AnimatedTransform | [virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOrientation(const nvmath::Quatf &orientation) | nvsg::AnimatedTransform | [virtual]
setScaling(const nvmath::Vec3f &scaling) | nvsg::AnimatedTransform | [virtual]
setTranslation(const nvmath::Vec3f &translation) | nvsg::AnimatedTransform | [virtual]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
Transform(void) | nvsg::Transform | [protected]
Transform(const Group &rhs) | nvsg::Transform | [protected]
Transform(const Transform &rhs) | nvsg::Transform | [protected]
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~AnimatedTransform(void) | nvsg::AnimatedTransform | [protected, virtual]
~Group(void) | nvsg::Group | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Transform(void) | nvsg::Transform | [protected, virtual]
Generated on Fri Jan 28 09:20:59 2005 for NVSGSDK by NVIDIA


Member List

nvsg::AnimatedTriangles Member List

This is the complete list of members for nvsg::AnimatedTriangles, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
AnimatedTriangles(const Animation< VNVector > *pAnimation) | nvsg::AnimatedTriangles | [protected]
AnimatedTriangles(const Triangles &rhs, const Animation< VNVector > *pAnimation) | nvsg::AnimatedTriangles | [protected]
AnimatedTriangles(const AnimatedTriangles &rhs) | nvsg::AnimatedTriangles | [protected]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::Triangles | [virtual]
clone(void) const | nvsg::AnimatedTriangles | [virtual]
create(const Animation< VNVector > *pAnimation=NULL) | nvsg::AnimatedTriangles | [static]
nvsg::Triangles::create(void) | nvsg::Triangles | [static]
createFromBase(const Triangles &rhs, const Animation< VNVector > *pAnimation=NULL) | nvsg::AnimatedTriangles | [static]
nvsg::Triangles::createFromBase(const GeoSet &rhs) | nvsg::Triangles | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getAnimation(void) const | nvsg::AnimatedTriangles | [inline]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::AnimatedTriangles | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFaces(void) const | nvsg::Triangles | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFaces(void) const | nvsg::Triangles | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::AnimatedTriangles | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasFaces(void) const | nvsg::Triangles | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::AnimatedTriangles | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::AnimatedTriangles | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setAnimation(const Animation< VNVector > *pAnimation) | nvsg::AnimatedTriangles |
setAnimationFrame(size_t frame) | nvsg::AnimatedTriangles |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFaces(const Face3 *pFaces, size_t numFaces) | nvsg::Triangles |
setFaces(size_t pos, const Face3 *pFaces, size_t numFaces) | nvsg::Triangles |
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setNormals(size_t pos, const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
Triangles(void) | nvsg::Triangles | [protected]
Triangles(const GeoSet &rhs) | nvsg::Triangles | [protected]
Triangles(const Triangles &rhs) | nvsg::Triangles | [protected]
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~AnimatedTriangles(void) | nvsg::AnimatedTriangles | [protected, virtual]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Triangles(void) | nvsg::Triangles | [protected, virtual]
Generated on Fri Jan 28 09:21:00 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Animation< T > Member List

This is the complete list of members for nvsg::Animation< T >, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
Animation(void) | nvsg::Animation< T > | [protected]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const=0 | nvsg::Animation< T > | [pure virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getDataID(void) const | nvsg::Animation< T > | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const=0 | nvsg::Animation< T > | [pure virtual]
getObjectCode() const | nvsg::Object | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isDataShared(void) const | nvsg::Animation< T > | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
operator[](size_t i) const=0 | nvsg::Animation< T > | [pure virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Animation(void) | nvsg::Animation< T > | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:01 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Bone Member List

This is the complete list of members for nvsg::Bone, including all inherited members.
Bone(void) | nvsg::Bone | [inline]
Bone(const Bone &rhs) | nvsg::Bone | [inline]
getAnimation(void) const | nvsg::Bone | [inline]
getMatrix(size_t frame) const | nvsg::Bone | [inline]
getWeight(void) const | nvsg::Bone | [inline]
operator()(size_t frame, const nvmath::Vec4f &v) const | nvsg::Bone | [inline]
setAnimation(const Animation< nvmath::Trafo > *pAnimation) | nvsg::Bone | [inline]
setInverse(const nvmath::Mat44f &inverse) | nvsg::Bone | [inline]
setMatrix(const nvmath::Mat44f &trafo) | nvsg::Bone | [inline]
setWeight(float weight) | nvsg::Bone | [inline]
~Bone(void) | nvsg::Bone | [inline]
Generated on Fri Jan 28 09:21:38 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Camera Member List

This is the complete list of members for nvsg::Camera, including all inherited members.
addHeadLight(const LightSource *pLight, const nvmath::Vec3f &trans=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f))=0 | nvsg::Camera | [pure virtual]
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcNearFarDistances(const nvmath::Sphere3f &sphere)=0 | nvsg::Camera | [pure virtual]
Camera() | nvsg::Camera | [inline, protected]
clone(void) const=0 | nvsg::Camera | [pure virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAspectRatio() const=0 | nvsg::Camera | [pure virtual]
getDataID(void) const | nvsg::Object | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDirection() const=0 | nvsg::Camera | [pure virtual]
getFarDistance() const=0 | nvsg::Camera | [pure virtual]
getHeadLight(size_t index) const=0 | nvsg::Camera | [pure virtual]
getHeadLightTrafo(nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const=0 | nvsg::Camera | [pure virtual]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNearDistance() const=0 | nvsg::Camera | [pure virtual]
getNumberOfHeadLights() const=0 | nvsg::Camera | [pure virtual]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const=0 | nvsg::Camera | [pure virtual]
getPosition() const=0 | nvsg::Camera | [pure virtual]
getTargetDistance() const=0 | nvsg::Camera | [pure virtual]
getUpVector() const=0 | nvsg::Camera | [pure virtual]
getViewToWorldMatrix() const=0 | nvsg::Camera | [pure virtual]
getWindowOffset(void) const=0 | nvsg::Camera | [pure virtual]
getWindowRegion(nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const=0 | nvsg::Camera | [pure virtual]
getWindowSize() const=0 | nvsg::Camera | [pure virtual]
getWorldToViewMatrix() const=0 | nvsg::Camera | [pure virtual]
IAllocator() | nvutil::IAllocator | [inline]
isAutoClipPlanes() const=0 | nvsg::Camera | [pure virtual]
isDataShared(void) const | nvsg::Object | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
move(const nvmath::Vec3f &delta)=0 | nvsg::Camera | [pure virtual]
moveX(float val) | nvsg::Camera | [inline]
moveY(float val) | nvsg::Camera | [inline]
moveZ(float val) | nvsg::Camera | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
orbit(const nvmath::Vec3f &axis, float rad)=0 | nvsg::Camera | [pure virtual]
orbitX(float rad) | nvsg::Camera | [inline]
orbitY(float rad) | nvsg::Camera | [inline]
orbitZ(float rad) | nvsg::Camera | [inline]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeHeadLight(size_t index=0)=0 | nvsg::Camera | [pure virtual]
removeRef() const | nvutil::RCObject | [inline]
rotate(const nvmath::Vec3f &axis, float rad, bool cameraRelative=true)=0 | nvsg::Camera | [pure virtual]
rotateX(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateY(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateZ(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
setAspectRatio(float ar, bool keepWidth=false)=0 | nvsg::Camera | [pure virtual]
setAutoClipPlanes(bool on)=0 | nvsg::Camera | [pure virtual]
setDirection(const nvmath::Vec3f &dir)=0 | nvsg::Camera | [pure virtual]
setFarDistance(float fd)=0 | nvsg::Camera | [pure virtual]
setHeadLightTrafo(const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0)=0 | nvsg::Camera | [pure virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNearDistance(float nd)=0 | nvsg::Camera | [pure virtual]
setOrientation(const nvmath::Quatf &quat)=0 | nvsg::Camera | [pure virtual]
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up)=0 | nvsg::Camera | [pure virtual]
setOrientation(const nvmath::Vec3f &axis, float angle)=0 | nvsg::Camera | [pure virtual]
setPosition(const nvmath::Vec3f &pos)=0 | nvsg::Camera | [pure virtual]
setTargetDistance(float td)=0 | nvsg::Camera | [pure virtual]
setUpVector(const nvmath::Vec3f &up)=0 | nvsg::Camera | [pure virtual]
setWindowOffset(const nvmath::Vec2f &offset)=0 | nvsg::Camera | [pure virtual]
setWindowRegion(const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight)=0 | nvsg::Camera | [pure virtual]
setWindowSize(const nvmath::Vec2f &size)=0 | nvsg::Camera | [pure virtual]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
zoom(float factor)=0 | nvsg::Camera | [pure virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f)=0 | nvsg::Camera | [pure virtual]
~Camera(void) | nvsg::Camera | [inline, protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:02 2005 for NVSGSDK by NVIDIA


Member List

nvsg::CgFx Member List

This is the complete list of members for nvsg::CgFx, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
CgFx(void) | nvsg::CgFx | [protected]
CgFx(const StateAttribute &rhs) | nvsg::CgFx | [protected]
CgFx(const CgFx &rhs) | nvsg::CgFx | [protected]
clone(void) const | nvsg::CgFx | [virtual]
containsTransparentMaterial(void) const | nvsg::StateAttribute | [virtual]
containsTransparentTexture(void) const | nvsg::StateAttribute | [virtual]
create(void) | nvsg::CgFx | [static]
createEffectFromFile(const std::string &file) | nvsg::CgFx |
createFromBase(const StateAttribute &rhs) | nvsg::CgFx | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAnnotation(CgFxEntityHandle hdl, size_t index) const | nvsg::CgFx | [inline]
getAnnotation(CgFxEntityHandle hdl, const std::string &name) const | nvsg::CgFx |
getCurrentTechnique(void) const | nvsg::CgFx | [inline]
getDataID(void) const | nvsg::CgFx | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getEffectFile(void) const | nvsg::CgFx | [inline]
getIncarnation(void) const | nvsg::StateAttribute | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfAnnotations(CgFxEntityHandle hdl) const | nvsg::CgFx | [inline]
getNumberOfParents(void) const | nvsg::StateAttribute | [inline]
getNumberOfPasses(CgFxTechniqueHandle hdl) const | nvsg::CgFx | [inline]
getNumberOfTechniques(void) const | nvsg::CgFx | [inline]
getNumberOfTransforms(void) const | nvsg::CgFx | [inline]
getNumberOfTweakables(void) const | nvsg::CgFx | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t index) const | nvsg::StateAttribute | [inline]
getPass(CgFxTechniqueHandle hdl, size_t index) const | nvsg::CgFx | [inline]
getTechnique(size_t index) const | nvsg::CgFx | [inline]
getTransform(size_t index) const | nvsg::CgFx | [inline]
getTweakable(size_t index) const | nvsg::CgFx | [inline]
getTweakable(const std::string &name) const | nvsg::CgFx |
getValue(CgFxParameterHandle hdl, ValueType &value) const | nvsg::CgFx | [inline]
getValue(CgFxParameterHandle hdl, ValueType *value) const | nvsg::CgFx | [inline]
getValue(CgFxParameterHandle hdl, const char **value) const | nvsg::CgFx | [inline]
getValue(CgFxParameterHandle hdl, std::string &value) const | nvsg::CgFx | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateTransparentMaterialContainment(void) | nvsg::StateAttribute | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::StateAttribute | [virtual]
isCurrentTechniqueValid(void) const | nvsg::CgFx | [inline]
isCurrentTechniqueValidationPending(void) const | nvsg::CgFx | [inline]
isDataShared(void) const | nvsg::CgFx | [virtual]
isEffectValid(void) const | nvsg::CgFx | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_incarnation | nvsg::StateAttribute | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
passFirstPass(void) const | nvsg::CgFx |
passNextPass(void) const | nvsg::CgFx |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setCurrentTechnique(size_t index) | nvsg::CgFx | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setValue(CgFxParameterHandle hdl, const ValueType &value) | nvsg::CgFx | [inline]
setValue(CgFxParameterHandle hdl, const ValueType &value) const | nvsg::CgFx | [inline]
setValue(CgFxParameterHandle hdl, const ValueType *value) | nvsg::CgFx | [inline]
setValue(CgFxParameterHandle hdl, const ValueType *value) const | nvsg::CgFx | [inline]
setValue(CgFxParameterHandle hdl, const char *value) | nvsg::CgFx | [inline]
setValue(CgFxParameterHandle hdl, const char *value) const | nvsg::CgFx | [inline]
setValue(CgFxParameterHandle hdl, const std::string &value) | nvsg::CgFx | [inline]
setValue(CgFxParameterHandle hdl, const std::string &value) const | nvsg::CgFx | [inline]
StateAttribute(void) | nvsg::StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | nvsg::StateAttribute | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
validateCurrentTechnique(void) const | nvsg::CgFx |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~CgFx(void) (defined in nvsg::CgFx) | nvsg::CgFx | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StateAttribute(void) | nvsg::StateAttribute | [protected, virtual]
Generated on Fri Jan 28 09:21:03 2005 for NVSGSDK by NVIDIA


Member List

nvsg::CullData Member List

This is the complete list of members for nvsg::CullData, including all inherited members.
addChild(CullData *cd) | nvsg::CullData | [inline]
balance(void) | nvsg::CullData |
CullData(CullCode cullCode) | nvsg::CullData | [inline]
getChild(size_t i) const | nvsg::CullData | [inline]
getCullCode(void) const | nvsg::CullData | [inline]
getNumberOfChildren(void) const | nvsg::CullData | [inline]
IAllocator() | nvutil::IAllocator | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
theAllocator typedef | nvutil::IAllocator |
~CullData(void) | nvsg::CullData | [virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
Generated on Fri Jan 28 09:21:03 2005 for NVSGSDK by NVIDIA


Member List

nvsg::DALData Member List

This is the complete list of members for nvsg::DALData, including all inherited members.
DALData(DALDataCreator *creator, const DALHost *host) | nvsg::DALData | [protected]
deleteThis() | nvsg::DALData | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:04 2005 for NVSGSDK by NVIDIA


Member List

nvsg::DALDataCreator Member List

This is the complete list of members for nvsg::DALDataCreator, including all inherited members.
DALDataCreator() | nvsg::DALDataCreator | [inline, protected]
onReleaseDAL(HDAL hDAL) | nvsg::DALDataCreator | [inline, virtual]
releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID) | nvsg::DALDataCreator | [inline, protected]
Generated on Fri Jan 28 09:21:04 2005 for NVSGSDK by NVIDIA


Member List

nvsg::DALHost Member List

This is the complete list of members for nvsg::DALHost, including all inherited members.
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
Generated on Fri Jan 28 09:21:04 2005 for NVSGSDK by NVIDIA


Member List

nvsg::DALServer Member List

This is the complete list of members for nvsg::DALServer, including all inherited members.
DALDataCreator (defined in nvsg::DALServer) | nvsg::DALServer | [friend]
DALHost (defined in nvsg::DALServer) | nvsg::DALServer | [friend]
Generated on Fri Jan 28 09:21:05 2005 for NVSGSDK by NVIDIA


Member List

nvsg::DirectedLight Member List

This is the complete list of members for nvsg::DirectedLight, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::LightSource | [inline, protected, virtual]
clone(void) const | nvsg::DirectedLight | [virtual]
containsCgFx(void) const | nvsg::Node | [virtual]
containsLight(void) const | nvsg::LightSource | [virtual]
containsTransparentMaterial(void) const | nvsg::Node | [virtual]
containsTransparentTexture(void) const | nvsg::Node | [virtual]
create(void) | nvsg::DirectedLight | [static]
createFromBase(const LightSource &rhs) | nvsg::DirectedLight | [static]
DirectedLight(void) | nvsg::DirectedLight | [protected]
DirectedLight(const LightSource &rhs) | nvsg::DirectedLight | [protected]
DirectedLight(const DirectedLight &rhs) | nvsg::DirectedLight | [protected]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAmbientColor(void) const | nvsg::LightSource | [inline]
getAnimation(void) const | nvsg::LightSource | [inline]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getDataID(void) const | nvsg::DirectedLight | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDiffuseColor(void) const | nvsg::LightSource | [inline]
getDirection(void) const | nvsg::LightSource | [inline]
getIntensity(void) const | nvsg::LightSource | [inline]
getInverse(void) const | nvsg::LightSource | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::LightSource | [inline, virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::LightSource | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getPosition(void) const | nvsg::LightSource | [inline]
getSpecularColor(void) const | nvsg::LightSource | [inline]
getTransformationMatrix(void) const | nvsg::LightSource | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCgFxContainment(void) | nvsg::Node | [virtual]
invalidateLightContainment(void) | nvsg::Node | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Node | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Node | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Node | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::DirectedLight | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
LightSource(void) | nvsg::LightSource | [protected]
LightSource(const LightSource &rhs) | nvsg::LightSource | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setAmbientColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setAnimation(const Animation< nvmath::Trafo > *pAnimation) | nvsg::LightSource |
setAnimationFrame(size_t frame) | nvsg::LightSource |
setAnnotation(const char *anno) | nvsg::Node |
setDiffuseColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setDirection(const nvmath::Vec3f &direction) | nvsg::LightSource |
setIntensity(float i) | nvsg::LightSource | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOrientation(const nvmath::Quatf &orientation) | nvsg::LightSource | [inline]
setPosition(const nvmath::Vec3f &position) | nvsg::LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~DirectedLight(void) | nvsg::DirectedLight | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~LightSource(void) | nvsg::LightSource | [protected, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:06 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Drawable Member List

This is the complete list of members for nvsg::Drawable, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const=0 | nvsg::Drawable | [pure virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
GeoNode (defined in nvsg::Drawable) | nvsg::Drawable | [friend]
getBoundingSphere(void) const=0 | nvsg::Drawable | [pure virtual]
getDataID(void) const | nvsg::Drawable | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::Drawable | [virtual]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Drawable | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const=0 | nvsg::Drawable | [pure virtual]
isDataShared(void) const | nvsg::Drawable | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


Member List

nvsg::FaceAttribute Member List

This is the complete list of members for nvsg::FaceAttribute, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::FaceAttribute | [virtual]
containsTransparentMaterial(void) const | nvsg::StateAttribute | [virtual]
containsTransparentTexture(void) const | nvsg::StateAttribute | [virtual]
create(void) | nvsg::FaceAttribute | [static]
createFromBase(const StateAttribute &rhs) | nvsg::FaceAttribute | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
FaceAttribute() | nvsg::FaceAttribute | [protected]
FaceAttribute(const StateAttribute &rhs) | nvsg::FaceAttribute | [protected]
FaceAttribute(const FaceAttribute &rhs) | nvsg::FaceAttribute | [protected]
getAmbientColor(void) const | nvsg::FaceAttribute | [inline]
getDataID(void) const | nvsg::FaceAttribute | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getIncarnation(void) const | nvsg::StateAttribute | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfParents(void) const | nvsg::StateAttribute | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t index) const | nvsg::StateAttribute | [inline]
getPolygonOffsetFactor(void) const | nvsg::FaceAttribute | [inline]
getPolygonOffsetUnits(void) const | nvsg::FaceAttribute | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateTransparentMaterialContainment(void) | nvsg::StateAttribute | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::StateAttribute | [virtual]
isBackFaceCulling(void) const | nvsg::FaceAttribute | [inline]
isDataShared(void) const | nvsg::FaceAttribute | [virtual]
isPolygonOffset(void) const | nvsg::FaceAttribute | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isTwoSidedLighting(void) const | nvsg::FaceAttribute | [inline]
m_incarnation | nvsg::StateAttribute | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setAmbientColor(const nvmath::Vec3f &color) | nvsg::FaceAttribute | [inline]
setBackFaceCulling(bool onOff) | nvsg::FaceAttribute | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setPolygonOffset(bool onOff) | nvsg::FaceAttribute | [inline]
setPolygonOffset(float factor, float units) | nvsg::FaceAttribute | [inline]
setTwoSidedLighting(bool onOff) | nvsg::FaceAttribute | [inline]
StateAttribute(void) | nvsg::StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | nvsg::StateAttribute | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~FaceAttribute(void) | nvsg::FaceAttribute | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StateAttribute(void) | nvsg::StateAttribute | [protected, virtual]
Generated on Fri Jan 28 09:21:08 2005 for NVSGSDK by NVIDIA


Member List

nvsg::FaceAttributeData Member List

This is the complete list of members for nvsg::FaceAttributeData, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
FaceAttribute (defined in nvsg::FaceAttributeData) | nvsg::FaceAttributeData | [friend]
FaceAttributeData(const FaceAttributeData &rhs) | nvsg::FaceAttributeData |
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


Member List

nvsg::FramedAnimation< T > Member List

This is the complete list of members for nvsg::FramedAnimation< T >, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
Animation(void) | nvsg::Animation< T > | [protected]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::FramedAnimation< T > | [virtual]
create(void) | nvsg::FramedAnimation< T > | [static]
createFromBase(const Animation< T > &rhs) | nvsg::FramedAnimation< T > | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
FramedAnimation(void) | nvsg::FramedAnimation< T > | [protected]
FramedAnimation(const Animation< T > &rhs) | nvsg::FramedAnimation< T > | [protected]
FramedAnimation(const FramedAnimation< T > &rhs) | nvsg::FramedAnimation< T > | [protected]
getDataID(void) const | nvsg::Animation< T > | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::FramedAnimation< T > | [virtual]
getObjectCode() const | nvsg::Object | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isDataShared(void) const | nvsg::Animation< T > | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
operator[](size_t i) | nvsg::FramedAnimation< T > | [virtual]
operator[](size_t i) const | nvsg::FramedAnimation< T > | [virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNumberOfFrames(size_t count) | nvsg::FramedAnimation< T > | [virtual]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Animation(void) | nvsg::Animation< T > | [protected, virtual]
~FramedAnimation(void) | nvsg::FramedAnimation< T > | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:09 2005 for NVSGSDK by NVIDIA


Member List

nvsg::GeoNode Member List

This is the complete list of members for nvsg::GeoNode, including all inherited members.
addGeometry(const Drawable *pDrawable, const StateSet *pStateSet) | nvsg::GeoNode |
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::GeoNode | [protected, virtual]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::GeoNode |
clone(void) const | nvsg::GeoNode | [virtual]
containsCgFx(void) const | nvsg::GeoNode | [virtual]
containsLight(void) const | nvsg::Node | [virtual]
containsTransparentMaterial(void) const | nvsg::GeoNode | [virtual]
containsTransparentTexture(void) const | nvsg::GeoNode | [virtual]
create(void) | nvsg::GeoNode | [static]
createFromBase(const Node &rhs) | nvsg::GeoNode | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
generateTexCoords(TextureCoordType tct, size_t tu=0) | nvsg::GeoNode |
GeoNode(void) | nvsg::GeoNode | [protected]
GeoNode(const Node &rhs) | nvsg::GeoNode | [protected]
GeoNode(const GeoNode &rhs) | nvsg::GeoNode | [protected]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getDataID(void) const | nvsg::GeoNode | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDrawable(size_t index) const | nvsg::GeoNode | [inline]
getDrawables(std::vector< const Drawable * > &v, const StateSet *pStateSet=NULL) const | nvsg::GeoNode |
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfDrawables(void) const | nvsg::GeoNode | [inline]
getNumberOfFrames(void) const | nvsg::GeoNode | [virtual]
getNumberOfGeometries(void) const | nvsg::GeoNode | [inline]
getNumberOfParents() const | nvsg::Node | [inline]
getNumberOfStateSets(void) const | nvsg::GeoNode | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getStateSet(size_t index) const | nvsg::GeoNode | [inline]
getStateSet(const Drawable *pDrawable) const | nvsg::GeoNode |
getStateSets(std::vector< const StateSet * > &v) const | nvsg::GeoNode |
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCaches(const StateSet *pStateSet, bool insert) | nvsg::GeoNode | [protected]
invalidateCgFxContainment(void) | nvsg::GeoNode | [virtual]
invalidateLightContainment(void) | nvsg::Node | [virtual]
invalidateNumberOfFrames(void) const | nvsg::GeoNode | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::GeoNode | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::GeoNode | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::GeoNode | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeGeometries(const StateSet *pStateSet=NULL) | nvsg::GeoNode |
removeGeometry(const Drawable *pDrawable, const StateSet *pStateSet=NULL) | nvsg::GeoNode |
removeGeometry(size_t index) | nvsg::GeoNode |
removeRef() const | nvutil::RCObject | [inline]
replaceDrawable(const Drawable *newDrawable, const Drawable *oldDrawable) | nvsg::GeoNode |
replaceStateSet(const StateSet *newStateSet, const StateSet *oldStateSet) | nvsg::GeoNode |
replaceStateSet(const StateSet *newStateSet, const Drawable *drawable) | nvsg::GeoNode |
setAnnotation(const char *anno) | nvsg::Node |
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~GeoNode(void) | nvsg::GeoNode | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:10 2005 for NVSGSDK by NVIDIA


Member List

nvsg::GeoSet Member List

This is the complete list of members for nvsg::GeoSet, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
CachedGeometry (defined in nvsg::GeoSet) | nvsg::GeoSet | [friend]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2)=0 | nvsg::GeoSet | [pure virtual]
clone(void) const=0 | nvsg::Drawable | [pure virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::GeoSet | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::Drawable | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::GeoSet | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::GeoSet | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setNormals(size_t pos, const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:13 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Group Member List

This is the complete list of members for nvsg::Group, including all inherited members.
addChild(const Node *pChild, size_t position=0xFFFFFFFF) | nvsg::Group |
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::Group | [protected, virtual]
clone(void) const | nvsg::Group | [virtual]
containsCgFx(void) const | nvsg::Group | [virtual]
containsLight(void) const | nvsg::Group | [virtual]
containsTransparentMaterial(void) const | nvsg::Group | [virtual]
containsTransparentTexture(void) const | nvsg::Group | [virtual]
create(void) | nvsg::Group | [static]
createFromBase(const Node &rhs) | nvsg::Group | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getChild(size_t index) const | nvsg::Group | [inline]
getDataID(void) const | nvsg::Group | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getIndex(const Node *node, size_t &index) const | nvsg::Group |
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfChildren(void) const | nvsg::Group | [inline]
getNumberOfFrames(void) const | nvsg::Group | [virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
Group(void) | nvsg::Group | [protected]
Group(const Node &rhs) | nvsg::Group | [protected]
Group(const Group &rhs) | nvsg::Group | [protected]
hasChild(const Node *node) const | nvsg::Group |
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCaches(const Node *pChild, bool insert) | nvsg::Group | [inline, protected]
invalidateCgFxContainment(void) | nvsg::Group | [virtual]
invalidateLightContainment(void) | nvsg::Group | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Group | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Group | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Group | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::Group | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeChild(const Node *pChild) | nvsg::Group |
removeChild(size_t position) | nvsg::Group |
removeRef() const | nvutil::RCObject | [inline]
replaceChild(const Node *newChild, const Node *oldChild) | nvsg::Group |
replaceChild(const Node *newChild, size_t position) | nvsg::Group |
setAnnotation(const char *anno) | nvsg::Node |
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Group(void) | nvsg::Group | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:14 2005 for NVSGSDK by NVIDIA


Member List

nvsg::HighlightBox Member List

This is the complete list of members for nvsg::HighlightBox, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::HighlightBox | [virtual]
create(float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f)) | nvsg::HighlightBox | [static]
createFromBase(const HighlightObject &rhs, float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f)) | nvsg::HighlightBox | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getBoundingSphere(void) const | nvsg::HighlightBox | [inline, virtual]
getColor() const | nvsg::HighlightBox | [inline]
getDataID(void) const | nvsg::Object | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getLineWidth() const | nvsg::HighlightBox | [inline]
getName(void) const | nvsg::Object | [inline]
getObjectCode() const | nvsg::Object | [inline]
getVertices() const | nvsg::HighlightBox | [inline]
HighlightBox(float width, nvmath::Vec3f color) | nvsg::HighlightBox | [protected]
HighlightBox(const HighlightObject &rhs, float width, nvmath::Vec3f color) | nvsg::HighlightBox | [protected]
HighlightBox(const HighlightBox &rhs) | nvsg::HighlightBox | [protected]
HighlightObject(void) | nvsg::HighlightObject | [inline, protected]
IAllocator() | nvutil::IAllocator | [inline]
invalidate(void) | nvsg::HighlightObject | [inline, virtual]
isBoundingSphereValid(void) const | nvsg::HighlightBox | [inline, virtual]
isDataShared(void) const | nvsg::Object | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isValid(void) const | nvsg::HighlightObject | [inline, virtual]
m_boundingSphere | nvsg::HighlightBox | [protected]
m_color | nvsg::HighlightBox | [protected]
m_invalid | nvsg::HighlightObject | [protected]
m_lineWidth | nvsg::HighlightBox | [protected]
m_objectCode | nvsg::Object | [protected]
m_vertices | nvsg::HighlightBox | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setVertices(nvmath::Vec3f *vertices) | nvsg::HighlightBox |
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:15 2005 for NVSGSDK by NVIDIA


Member List

nvsg::HighlightEdges Member List

This is the complete list of members for nvsg::HighlightEdges, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::HighlightEdges | [virtual]
create(float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f)) | nvsg::HighlightEdges | [static]
createFromBase(const HighlightObject &rhs, float width=2.0f, nvmath::Vec3f color=nvmath::Vec3f(1.0f, 0.0f, 0.0f)) | nvsg::HighlightEdges | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getBoundingSphere(void) const | nvsg::HighlightEdges | [inline, virtual]
getColor(void) const | nvsg::HighlightEdges | [inline]
getDataID(void) const | nvsg::Object | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getLineWidth(void) const | nvsg::HighlightEdges | [inline]
getName(void) const | nvsg::Object | [inline]
getObjectCode() const | nvsg::Object | [inline]
HighlightEdges(float width, nvmath::Vec3f color) | nvsg::HighlightEdges | [protected]
HighlightEdges(const HighlightObject &rhs, float width, nvmath::Vec3f color) | nvsg::HighlightEdges | [protected]
HighlightEdges(const HighlightEdges &rhs) | nvsg::HighlightEdges | [protected]
HighlightObject(void) | nvsg::HighlightObject | [inline, protected]
IAllocator() | nvutil::IAllocator | [inline]
invalidate(void) | nvsg::HighlightObject | [inline, virtual]
isBoundingSphereValid(void) const | nvsg::HighlightEdges | [inline, virtual]
isDataShared(void) const | nvsg::Object | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isValid(void) const | nvsg::HighlightObject | [inline, virtual]
m_color | nvsg::HighlightEdges | [protected]
m_invalid | nvsg::HighlightObject | [protected]
m_lineWidth | nvsg::HighlightEdges | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:16 2005 for NVSGSDK by NVIDIA


Member List

nvsg::HighlightObject Member List

This is the complete list of members for nvsg::HighlightObject, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getBoundingSphere(void) const=0 | nvsg::HighlightObject | [pure virtual]
getDataID(void) const | nvsg::Object | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getObjectCode() const | nvsg::Object | [inline]
HighlightObject(void) | nvsg::HighlightObject | [inline, protected]
IAllocator() | nvutil::IAllocator | [inline]
invalidate(void) | nvsg::HighlightObject | [inline, virtual]
isBoundingSphereValid(void) const=0 | nvsg::HighlightObject | [pure virtual]
isDataShared(void) const | nvsg::Object | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isValid(void) const | nvsg::HighlightObject | [inline, virtual]
m_invalid | nvsg::HighlightObject | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:17 2005 for NVSGSDK by NVIDIA


Member List

nvsg::InterpolatedAnimation< T > Member List

This is the complete list of members for nvsg::InterpolatedAnimation< T >, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
Animation(void) | nvsg::Animation< T > | [protected]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const=0 | nvsg::Animation< T > | [pure virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getCurrentFrame(void) const | nvsg::InterpolatedAnimation< T > | [inline]
getCurrentValue(void) const | nvsg::InterpolatedAnimation< T > | [inline]
getDataID(void) const | nvsg::Animation< T > | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFrame(size_t key) const | nvsg::InterpolatedAnimation< T > | [inline]
getKey(unsigned int frame) const | nvsg::InterpolatedAnimation< T > | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::InterpolatedAnimation< T > | [inline, virtual]
getNumberOfKeys(void) const | nvsg::InterpolatedAnimation< T > | [inline]
getObjectCode() const | nvsg::Object | [inline]
getValue(size_t key) const | nvsg::InterpolatedAnimation< T > | [inline]
IAllocator() | nvutil::IAllocator | [inline]
InterpolatedAnimation(void) | nvsg::InterpolatedAnimation< T > | [inline, protected]
InterpolatedAnimation(const InterpolatedAnimation &rhs) | nvsg::InterpolatedAnimation< T > | [inline, protected]
isDataShared(void) const | nvsg::Animation< T > | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
operator[](size_t i) const=0 | nvsg::Animation< T > | [pure virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setCurrent(size_t key) const | nvsg::InterpolatedAnimation< T > | [inline, protected]
setCurrent(unsigned int frame, const T &value) const | nvsg::InterpolatedAnimation< T > | [inline, protected]
setKeyFrame(size_t key, unsigned int frame, const T &value) | nvsg::InterpolatedAnimation< T > | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNumberOfKeys(size_t count) | nvsg::InterpolatedAnimation< T > | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Animation(void) | nvsg::Animation< T > | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~InterpolatedAnimation(void) | nvsg::InterpolatedAnimation< T > | [inline, protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:18 2005 for NVSGSDK by NVIDIA


Member List

nvsg::JitterCamera Member List

This is the complete list of members for nvsg::JitterCamera, including all inherited members.
addHeadLight(const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)) | nvsg::JitterCamera | [virtual]
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | nvsg::JitterCamera | [virtual]
Camera() | nvsg::Camera | [inline, protected]
clone(void) const | nvsg::JitterCamera | [virtual]
create(const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters) | nvsg::JitterCamera | [static]
createFromBase(const MonoCamera &rhs, const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters) | nvsg::JitterCamera | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAspectRatio() const | nvsg::JitterCamera | [virtual]
getBaseCamera() const | nvsg::JitterCamera | [inline]
getCamera(size_t index) const | nvsg::JitterCamera | [inline]
getDataID() const | nvsg::JitterCamera | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDirection() const | nvsg::JitterCamera | [virtual]
getFarDistance() const | nvsg::JitterCamera | [virtual]
getHeadLight(size_t index) const | nvsg::JitterCamera | [virtual]
getHeadLightTrafo(nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const | nvsg::JitterCamera | [virtual]
getInverseProjection() const | nvsg::JitterCamera | [virtual]
getJitters(std::vector< nvmath::Vec2f > &jitters) const | nvsg::JitterCamera | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNearDistance() const | nvsg::JitterCamera | [virtual]
getNumberOfHeadLights() const | nvsg::JitterCamera | [virtual]
getNumberOfPasses() const | nvsg::JitterCamera | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::JitterCamera | [virtual]
getPosition() const | nvsg::JitterCamera | [virtual]
getProjection() const | nvsg::JitterCamera | [virtual]
getProjectionDx() const | nvsg::JitterCamera | [virtual]
getTargetDistance() const | nvsg::JitterCamera | [virtual]
getUpVector() const | nvsg::JitterCamera | [virtual]
getViewToWorldMatrix() const | nvsg::JitterCamera | [virtual]
getWindowOffset() const | nvsg::JitterCamera | [virtual]
getWindowRegion(nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const | nvsg::JitterCamera | [virtual]
getWindowSize() const | nvsg::JitterCamera | [virtual]
getWorldToViewMatrix() const | nvsg::JitterCamera | [virtual]
IAllocator() | nvutil::IAllocator | [inline]
isAutoClipPlanes() const | nvsg::JitterCamera | [virtual]
isDataShared() const | nvsg::JitterCamera | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
JitterCamera(const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters) | nvsg::JitterCamera | [protected]
JitterCamera(const MonoCamera &rhs, const SimpleCamera &base, const std::vector< nvmath::Vec2f > &jitters) | nvsg::JitterCamera | [protected]
JitterCamera(const JitterCamera &rhs) | nvsg::JitterCamera | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
MonoCamera(void) | nvsg::MonoCamera | [protected]
move(const nvmath::Vec3f &delta) | nvsg::JitterCamera | [virtual]
moveX(float val) | nvsg::Camera | [inline]
moveY(float val) | nvsg::Camera | [inline]
moveZ(float val) | nvsg::Camera | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
nvsg::MonoCamera::operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
orbit(const nvmath::Vec3f &axis, float rad) | nvsg::JitterCamera | [virtual]
orbitX(float rad) | nvsg::Camera | [inline]
orbitY(float rad) | nvsg::Camera | [inline]
orbitZ(float rad) | nvsg::Camera | [inline]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeHeadLight(size_t index=0) | nvsg::JitterCamera | [virtual]
removeRef() const | nvutil::RCObject | [inline]
rotate(const nvmath::Vec3f &axis, float rad, bool cameraRelative=true) | nvsg::JitterCamera | [virtual]
rotateX(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateY(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateZ(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
setAspectRatio(float ar, bool keepWidth=false) | nvsg::JitterCamera | [virtual]
setAutoClipPlanes(bool on) | nvsg::JitterCamera | [virtual]
setDirection(const nvmath::Vec3f &dir) | nvsg::JitterCamera | [virtual]
setFarDistance(float fd) | nvsg::JitterCamera | [virtual]
setHeadLightTrafo(const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0) | nvsg::JitterCamera | [virtual]
setJitters(const std::vector< nvmath::Vec2f > &jitters) | nvsg::JitterCamera |
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNearDistance(float nd) | nvsg::JitterCamera | [virtual]
setOrientation(const nvmath::Quatf &quat) | nvsg::JitterCamera | [virtual]
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | nvsg::JitterCamera | [virtual]
setOrientation(const nvmath::Vec3f &axis, float angle) | nvsg::JitterCamera | [virtual]
setPosition(const nvmath::Vec3f &pos) | nvsg::JitterCamera | [virtual]
setProjectionDx(float dx) | nvsg::JitterCamera | [virtual]
setTargetDistance(float td) | nvsg::JitterCamera | [virtual]
setUpVector(const nvmath::Vec3f &up) | nvsg::JitterCamera | [virtual]
setWindowOffset(const nvmath::Vec2f &offset) | nvsg::JitterCamera | [virtual]
setWindowRegion(const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight) | nvsg::JitterCamera | [virtual]
setWindowSize(const nvmath::Vec2f &size) | nvsg::JitterCamera | [virtual]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
updateSimpleCameras(size_t vpWidth, size_t vpHeight) const | nvsg::JitterCamera |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
zoom(float factor) | nvsg::JitterCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f) | nvsg::JitterCamera | [virtual]
~Camera(void) | nvsg::Camera | [inline, protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~JitterCamera(void) | nvsg::JitterCamera | [protected, virtual]
~MonoCamera(void) | nvsg::MonoCamera | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:19 2005 for NVSGSDK by NVIDIA


Member List

nvsg::LightSource Member List

This is the complete list of members for nvsg::LightSource, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::LightSource | [inline, protected, virtual]
clone(void) const=0 | nvsg::Node | [pure virtual]
containsCgFx(void) const | nvsg::Node | [virtual]
containsLight(void) const | nvsg::LightSource | [virtual]
containsTransparentMaterial(void) const | nvsg::Node | [virtual]
containsTransparentTexture(void) const | nvsg::Node | [virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAmbientColor(void) const | nvsg::LightSource | [inline]
getAnimation(void) const | nvsg::LightSource | [inline]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getDataID(void) const | nvsg::LightSource | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDiffuseColor(void) const | nvsg::LightSource | [inline]
getDirection(void) const | nvsg::LightSource | [inline]
getIntensity(void) const | nvsg::LightSource | [inline]
getInverse(void) const | nvsg::LightSource | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::LightSource | [inline, virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::LightSource | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getPosition(void) const | nvsg::LightSource | [inline]
getSpecularColor(void) const | nvsg::LightSource | [inline]
getTransformationMatrix(void) const | nvsg::LightSource | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCgFxContainment(void) | nvsg::Node | [virtual]
invalidateLightContainment(void) | nvsg::Node | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Node | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Node | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Node | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::LightSource | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
LightSource(void) | nvsg::LightSource | [protected]
LightSource(const LightSource &rhs) | nvsg::LightSource | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setAmbientColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setAnimation(const Animation< nvmath::Trafo > *pAnimation) | nvsg::LightSource |
setAnimationFrame(size_t frame) | nvsg::LightSource |
setAnnotation(const char *anno) | nvsg::Node |
setDiffuseColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setDirection(const nvmath::Vec3f &direction) | nvsg::LightSource |
setIntensity(float i) | nvsg::LightSource | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOrientation(const nvmath::Quatf &orientation) | nvsg::LightSource | [inline]
setPosition(const nvmath::Vec3f &position) | nvsg::LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~LightSource(void) | nvsg::LightSource | [protected, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:21 2005 for NVSGSDK by NVIDIA


Member List

nvsg::LinearInterpolatedAnimation< T > Member List

This is the complete list of members for nvsg::LinearInterpolatedAnimation< T >, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
Animation(void) | nvsg::Animation< T > | [protected]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::LinearInterpolatedAnimation< T > | [inline, virtual]
create(void) | nvsg::LinearInterpolatedAnimation< T > | [inline, static]
createFromBase(const InterpolatedAnimation< T > &rhs) | nvsg::LinearInterpolatedAnimation< T > | [inline, static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getCurrentFrame(void) const | nvsg::InterpolatedAnimation< T > | [inline]
getCurrentValue(void) const | nvsg::InterpolatedAnimation< T > | [inline]
getDataID(void) const | nvsg::Animation< T > | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFrame(size_t key) const | nvsg::InterpolatedAnimation< T > | [inline]
getKey(unsigned int frame) const | nvsg::InterpolatedAnimation< T > | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::InterpolatedAnimation< T > | [inline, virtual]
getNumberOfKeys(void) const | nvsg::InterpolatedAnimation< T > | [inline]
getObjectCode() const | nvsg::Object | [inline]
getValue(size_t key) const | nvsg::InterpolatedAnimation< T > | [inline]
IAllocator() | nvutil::IAllocator | [inline]
InterpolatedAnimation(void) | nvsg::InterpolatedAnimation< T > | [inline, protected]
InterpolatedAnimation(const InterpolatedAnimation &rhs) | nvsg::InterpolatedAnimation< T > | [inline, protected]
isDataShared(void) const | nvsg::Animation< T > | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
LinearInterpolatedAnimation(void) | nvsg::LinearInterpolatedAnimation< T > | [protected]
LinearInterpolatedAnimation(const InterpolatedAnimation< T > &rhs) | nvsg::LinearInterpolatedAnimation< T > | [protected]
LinearInterpolatedAnimation(const LinearInterpolatedAnimation &rhs) | nvsg::LinearInterpolatedAnimation< T > | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
operator[](size_t i) const | nvsg::LinearInterpolatedAnimation< T > | [inline, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setCurrent(size_t key) const | nvsg::InterpolatedAnimation< T > | [inline, protected]
setCurrent(unsigned int frame, const T &value) const | nvsg::InterpolatedAnimation< T > | [inline, protected]
setKeyFrame(size_t key, unsigned int frame, const T &value) | nvsg::InterpolatedAnimation< T > | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNumberOfKeys(size_t count) | nvsg::InterpolatedAnimation< T > | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Animation(void) | nvsg::Animation< T > | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~InterpolatedAnimation(void) | nvsg::InterpolatedAnimation< T > | [inline, protected, virtual]
~LinearInterpolatedAnimation(void) | nvsg::LinearInterpolatedAnimation< T > | [inline, protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:22 2005 for NVSGSDK by NVIDIA


Member List

nvsg::LOD Member List

This is the complete list of members for nvsg::LOD, including all inherited members.
addChild(const Node *pChild, size_t position=0xFFFFFFFF) | nvsg::Group |
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::Group | [protected, virtual]
clone(void) const | nvsg::LOD | [virtual]
containsCgFx(void) const | nvsg::Group | [virtual]
containsLight(void) const | nvsg::Group | [virtual]
containsTransparentMaterial(void) const | nvsg::Group | [virtual]
containsTransparentTexture(void) const | nvsg::Group | [virtual]
create(void) | nvsg::LOD | [static]
createFromBase(const Group &rhs) | nvsg::LOD | [static]
nvsg::Group::createFromBase(const Node &rhs) | nvsg::Group | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getCenter(void) const | nvsg::LOD |
getChild(size_t index) const | nvsg::Group | [inline]
getDataID(void) const | nvsg::Group | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getIndex(const Node *node, size_t &index) const | nvsg::Group |
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getLODToUse(const nvmath::Mat44f &modelViewMatrix) const | nvsg::LOD |
getName(void) const | nvsg::Object | [inline]
getNumberOfChildren(void) const | nvsg::Group | [inline]
getNumberOfFrames(void) const | nvsg::Group | [virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getNumberOfRanges(void) const | nvsg::LOD |
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getRanges(void) const | nvsg::LOD |
Group(void) | nvsg::Group | [protected]
Group(const Node &rhs) | nvsg::Group | [protected]
Group(const Group &rhs) | nvsg::Group | [protected]
hasChild(const Node *node) const | nvsg::Group |
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCaches(const Node *pChild, bool insert) | nvsg::Group | [inline, protected]
invalidateCgFxContainment(void) | nvsg::Group | [virtual]
invalidateLightContainment(void) | nvsg::Group | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Group | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Group | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Group | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::Group | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
LOD(void) | nvsg::LOD | [protected]
LOD(const Group &rhs) | nvsg::LOD | [protected]
LOD(const LOD &rhs) | nvsg::LOD | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeChild(const Node *pChild) | nvsg::Group |
removeChild(size_t position) | nvsg::Group |
removeRef() const | nvutil::RCObject | [inline]
replaceChild(const Node *newChild, const Node *oldChild) | nvsg::Group |
replaceChild(const Node *newChild, size_t position) | nvsg::Group |
setAnnotation(const char *anno) | nvsg::Node |
setCenter(const nvmath::Vec3f &center) | nvsg::LOD |
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setRanges(const float *ranges, size_t count) | nvsg::LOD |
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Group(void) | nvsg::Group | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~LOD(void) | nvsg::LOD | [protected, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:23 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Material Member List

This is the complete list of members for nvsg::Material, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::Material | [virtual]
containsTransparentMaterial(void) const | nvsg::Material | [virtual]
containsTransparentTexture(void) const | nvsg::StateAttribute | [virtual]
create(void) | nvsg::Material | [static]
createFromBase(const StateAttribute &rhs) | nvsg::Material | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAmbientColor(void) const | nvsg::Material | [inline]
getDataID(void) const | nvsg::Material | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDiffuseColor(void) const | nvsg::Material | [inline]
getEmissiveColor(void) const | nvsg::Material | [inline]
getIncarnation(void) const | nvsg::StateAttribute | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfParents(void) const | nvsg::StateAttribute | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOpacity(void) const | nvsg::Material | [inline]
getParent(size_t index) const | nvsg::StateAttribute | [inline]
getSpecularColor(void) const | nvsg::Material | [inline]
getSpecularExponent(void) const | nvsg::Material | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateTransparentMaterialContainment(void) | nvsg::StateAttribute | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::StateAttribute | [virtual]
isDataShared(void) const | nvsg::Material | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_incarnation | nvsg::StateAttribute | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Material(void) | nvsg::Material | [protected]
Material(const StateAttribute &rhs) | nvsg::Material | [protected]
Material(const Material &rhs) | nvsg::Material | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setAmbientColor(const nvmath::Vec3f &ac) | nvsg::Material | [inline]
setDiffuseColor(const nvmath::Vec3f &dc) | nvsg::Material | [inline]
setEmissiveColor(const nvmath::Vec3f &ec) | nvsg::Material | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOpacity(const float o) | nvsg::Material | [inline]
setSpecularColor(const nvmath::Vec3f &sc) | nvsg::Material | [inline]
setSpecularExponent(const float se) | nvsg::Material | [inline]
StateAttribute(void) | nvsg::StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | nvsg::StateAttribute | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Material() | nvsg::Material | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StateAttribute(void) | nvsg::StateAttribute | [protected, virtual]
Generated on Fri Jan 28 09:21:24 2005 for NVSGSDK by NVIDIA


Member List

nvsg::MonoCamera Member List

This is the complete list of members for nvsg::MonoCamera, including all inherited members.
addHeadLight(const LightSource *pLight, const nvmath::Vec3f &trans=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f))=0 | nvsg::Camera | [pure virtual]
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcNearFarDistances(const nvmath::Sphere3f &sphere)=0 | nvsg::Camera | [pure virtual]
Camera() | nvsg::Camera | [inline, protected]
clone(void) const=0 | nvsg::MonoCamera | [pure virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAspectRatio() const=0 | nvsg::Camera | [pure virtual]
getDataID(void) const | nvsg::Object | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDirection() const=0 | nvsg::Camera | [pure virtual]
getFarDistance() const=0 | nvsg::Camera | [pure virtual]
getHeadLight(size_t index) const=0 | nvsg::Camera | [pure virtual]
getHeadLightTrafo(nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const=0 | nvsg::Camera | [pure virtual]
getInverseProjection(void) const=0 | nvsg::MonoCamera | [pure virtual]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNearDistance() const=0 | nvsg::Camera | [pure virtual]
getNumberOfHeadLights() const=0 | nvsg::Camera | [pure virtual]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const=0 | nvsg::Camera | [pure virtual]
getPosition() const=0 | nvsg::Camera | [pure virtual]
getProjection(void) const=0 | nvsg::MonoCamera | [pure virtual]
getProjectionDx(void) const=0 | nvsg::MonoCamera | [pure virtual]
getTargetDistance() const=0 | nvsg::Camera | [pure virtual]
getUpVector() const=0 | nvsg::Camera | [pure virtual]
getViewToWorldMatrix() const=0 | nvsg::Camera | [pure virtual]
getWindowOffset(void) const=0 | nvsg::Camera | [pure virtual]
getWindowRegion(nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const=0 | nvsg::Camera | [pure virtual]
getWindowSize() const=0 | nvsg::Camera | [pure virtual]
getWorldToViewMatrix() const=0 | nvsg::Camera | [pure virtual]
IAllocator() | nvutil::IAllocator | [inline]
isAutoClipPlanes() const=0 | nvsg::Camera | [pure virtual]
isDataShared(void) const | nvsg::Object | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
MonoCamera(void) | nvsg::MonoCamera | [protected]
move(const nvmath::Vec3f &delta)=0 | nvsg::Camera | [pure virtual]
moveX(float val) | nvsg::Camera | [inline]
moveY(float val) | nvsg::Camera | [inline]
moveZ(float val) | nvsg::Camera | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
orbit(const nvmath::Vec3f &axis, float rad)=0 | nvsg::Camera | [pure virtual]
orbitX(float rad) | nvsg::Camera | [inline]
orbitY(float rad) | nvsg::Camera | [inline]
orbitZ(float rad) | nvsg::Camera | [inline]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeHeadLight(size_t index=0)=0 | nvsg::Camera | [pure virtual]
removeRef() const | nvutil::RCObject | [inline]
rotate(const nvmath::Vec3f &axis, float rad, bool cameraRelative=true)=0 | nvsg::Camera | [pure virtual]
rotateX(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateY(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateZ(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
setAspectRatio(float ar, bool keepWidth=false)=0 | nvsg::Camera | [pure virtual]
setAutoClipPlanes(bool on)=0 | nvsg::Camera | [pure virtual]
setDirection(const nvmath::Vec3f &dir)=0 | nvsg::Camera | [pure virtual]
setFarDistance(float fd)=0 | nvsg::Camera | [pure virtual]
setHeadLightTrafo(const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0)=0 | nvsg::Camera | [pure virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNearDistance(float nd)=0 | nvsg::Camera | [pure virtual]
setOrientation(const nvmath::Quatf &quat)=0 | nvsg::Camera | [pure virtual]
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up)=0 | nvsg::Camera | [pure virtual]
setOrientation(const nvmath::Vec3f &axis, float angle)=0 | nvsg::Camera | [pure virtual]
setPosition(const nvmath::Vec3f &pos)=0 | nvsg::Camera | [pure virtual]
setProjectionDx(float dx)=0 | nvsg::MonoCamera | [pure virtual]
setTargetDistance(float td)=0 | nvsg::Camera | [pure virtual]
setUpVector(const nvmath::Vec3f &up)=0 | nvsg::Camera | [pure virtual]
setWindowOffset(const nvmath::Vec2f &offset)=0 | nvsg::Camera | [pure virtual]
setWindowRegion(const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight)=0 | nvsg::Camera | [pure virtual]
setWindowSize(const nvmath::Vec2f &size)=0 | nvsg::Camera | [pure virtual]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
zoom(float factor)=0 | nvsg::Camera | [pure virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f)=0 | nvsg::Camera | [pure virtual]
~Camera(void) | nvsg::Camera | [inline, protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~MonoCamera(void) | nvsg::MonoCamera | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:25 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Node Member List

This is the complete list of members for nvsg::Node, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const=0 | nvsg::Node | [protected, pure virtual]
clone(void) const=0 | nvsg::Node | [pure virtual]
containsCgFx(void) const | nvsg::Node | [virtual]
containsLight(void) const | nvsg::Node | [virtual]
containsTransparentMaterial(void) const | nvsg::Node | [virtual]
containsTransparentTexture(void) const | nvsg::Node | [virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getDataID(void) const | nvsg::Node | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::Node | [virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
Group (defined in nvsg::Node) | nvsg::Node | [friend]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCgFxContainment(void) | nvsg::Node | [virtual]
invalidateLightContainment(void) | nvsg::Node | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Node | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Node | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Node | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::Node | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setAnnotation(const char *anno) | nvsg::Node |
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:26 2005 for NVSGSDK by NVIDIA


Member List

nvsg::NVSGException Member List

This is the complete list of members for nvsg::NVSGException, including all inherited members.
getErrorMessage() const | nvsg::NVSGException | [inline, virtual]
isCritical() const | nvsg::NVSGException | [inline, virtual]
NVSGException(bool critical, const std::string &errMsg) | nvsg::NVSGException | [inline]
NVSGException(bool critical, unsigned int errMsgID) | nvsg::NVSGException | [inline]
~NVSGException() (defined in nvsg::NVSGException) | nvsg::NVSGException | [inline, virtual]
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Object Member List

This is the complete list of members for nvsg::Object, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getDataID(void) const | nvsg::Object | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getObjectCode() const | nvsg::Object | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isDataShared(void) const | nvsg::Object | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:27 2005 for NVSGSDK by NVIDIA


Member List

nvsg::ParallelCamera Member List

This is the complete list of members for nvsg::ParallelCamera, including all inherited members.
addHeadLight(const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)) | nvsg::SimpleCamera | [virtual]
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | nvsg::SimpleCamera | [virtual]
Camera() | nvsg::Camera | [inline, protected]
clone(void) const | nvsg::ParallelCamera | [virtual]
create(void) | nvsg::ParallelCamera | [static]
createFromBase(const SimpleCamera &rhs) | nvsg::ParallelCamera | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAspectRatio() const | nvsg::SimpleCamera | [virtual]
getDataID() const | nvsg::SimpleCamera | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDirection() const | nvsg::SimpleCamera | [virtual]
getFarDistance() const | nvsg::SimpleCamera | [virtual]
getHeadLight(size_t index) const | nvsg::SimpleCamera | [inline, virtual]
getHeadLightTrafo(nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const | nvsg::SimpleCamera | [virtual]
getInverseProjection() const | nvsg::ParallelCamera | [virtual]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNearDistance() const | nvsg::SimpleCamera | [virtual]
getNumberOfHeadLights() const | nvsg::SimpleCamera | [virtual]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::SimpleCamera | [virtual]
getPosition() const | nvsg::SimpleCamera | [virtual]
getProjection() const | nvsg::ParallelCamera | [virtual]
getProjectionDx() const | nvsg::SimpleCamera | [virtual]
getTargetDistance() const | nvsg::SimpleCamera | [virtual]
getUpVector() const | nvsg::SimpleCamera | [virtual]
getViewToWorldMatrix() const | nvsg::SimpleCamera | [virtual]
getWindowOffset() const | nvsg::SimpleCamera | [virtual]
getWindowRegion(nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const | nvsg::SimpleCamera | [virtual]
getWindowSize() const | nvsg::SimpleCamera | [virtual]
getWorldToViewMatrix() const | nvsg::SimpleCamera | [virtual]
IAllocator() | nvutil::IAllocator | [inline]
isAutoClipPlanes() const | nvsg::SimpleCamera | [virtual]
isDataShared() const | nvsg::SimpleCamera | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
MonoCamera(void) | nvsg::MonoCamera | [protected]
move(const nvmath::Vec3f &delta) | nvsg::SimpleCamera | [virtual]
moveX(float val) | nvsg::Camera | [inline]
moveY(float val) | nvsg::Camera | [inline]
moveZ(float val) | nvsg::Camera | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
orbit(const nvmath::Vec3f &axis, float rad) | nvsg::SimpleCamera | [virtual]
orbitX(float rad) | nvsg::Camera | [inline]
orbitY(float rad) | nvsg::Camera | [inline]
orbitZ(float rad) | nvsg::Camera | [inline]
ParallelCamera() | nvsg::ParallelCamera | [protected]
ParallelCamera(const SimpleCamera &rhs) | nvsg::ParallelCamera | [protected]
ParallelCamera(const ParallelCamera &rhs) | nvsg::ParallelCamera | [protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeHeadLight(size_t index=0) | nvsg::SimpleCamera | [virtual]
removeRef() const | nvutil::RCObject | [inline]
rotate(const nvmath::Vec3f &axis, float rad, bool cameraRelative=true) | nvsg::SimpleCamera | [virtual]
rotateX(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateY(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateZ(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
setAspectRatio(float ar, bool keepWidth=false) | nvsg::SimpleCamera | [virtual]
setAutoClipPlanes(bool on) | nvsg::SimpleCamera | [virtual]
setDirection(const nvmath::Vec3f &dir) | nvsg::SimpleCamera | [virtual]
setFarDistance(float fd) | nvsg::SimpleCamera | [virtual]
setHeadLightTrafo(const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0) | nvsg::SimpleCamera | [virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNearDistance(float nd) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Quatf &quat) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Vec3f &axis, float angle) | nvsg::SimpleCamera | [virtual]
setPosition(const nvmath::Vec3f &pos) | nvsg::SimpleCamera | [virtual]
setProjectionDx(float dx) | nvsg::SimpleCamera | [virtual]
setTargetDistance(float td) | nvsg::SimpleCamera | [virtual]
setUpVector(const nvmath::Vec3f &up) | nvsg::SimpleCamera | [virtual]
setWindowOffset(const nvmath::Vec2f &offset) | nvsg::SimpleCamera | [virtual]
setWindowRegion(const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight) | nvsg::SimpleCamera | [virtual]
setWindowSize(const nvmath::Vec2f &size) | nvsg::SimpleCamera | [virtual]
SimpleCamera() | nvsg::SimpleCamera | [protected]
SimpleCamera(const SimpleCamera &rhs) | nvsg::SimpleCamera | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
zoom(float factor) | nvsg::SimpleCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f) | nvsg::SimpleCamera | [virtual]
~Camera(void) | nvsg::Camera | [inline, protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~MonoCamera(void) | nvsg::MonoCamera | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~ParallelCamera(void) | nvsg::ParallelCamera | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~SimpleCamera() | nvsg::SimpleCamera | [protected, virtual]
Generated on Fri Jan 28 09:21:28 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Path Member List

This is the complete list of members for nvsg::Path, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
getHead(void) const | nvsg::Path | [inline]
getLength(void) const | nvsg::Path | [inline]
getNodeFromHead(size_t i) const | nvsg::Path | [inline]
getNodeFromTail(size_t i) const | nvsg::Path | [inline]
getTail(void) const | nvsg::Path | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isEmpty(void) const | nvsg::Path | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
Path(void) | nvsg::Path |
Path(const Path &rhs) | nvsg::Path |
pop(void) | nvsg::Path | [inline]
push(const Node *pNode) | nvsg::Path |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
truncate(size_t start) | nvsg::Path |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Path(void) | nvsg::Path | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:29 2005 for NVSGSDK by NVIDIA


Member List

nvsg::PerspectiveCamera Member List

This is the complete list of members for nvsg::PerspectiveCamera, including all inherited members.
addHeadLight(const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)) | nvsg::SimpleCamera | [virtual]
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | nvsg::SimpleCamera | [virtual]
Camera() | nvsg::Camera | [inline, protected]
clone(void) const | nvsg::PerspectiveCamera | [virtual]
create(void) | nvsg::PerspectiveCamera | [static]
createFromBase(const SimpleCamera &rhs) | nvsg::PerspectiveCamera | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAspectRatio() const | nvsg::SimpleCamera | [virtual]
getDataID() const | nvsg::SimpleCamera | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDirection() const | nvsg::SimpleCamera | [virtual]
getFarDistance() const | nvsg::SimpleCamera | [virtual]
getFieldOfView() const | nvsg::PerspectiveCamera | [inline]
getHeadLight(size_t index) const | nvsg::SimpleCamera | [inline, virtual]
getHeadLightTrafo(nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const | nvsg::SimpleCamera | [virtual]
getInverseProjection() const | nvsg::PerspectiveCamera | [virtual]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNearDistance() const | nvsg::SimpleCamera | [virtual]
getNumberOfHeadLights() const | nvsg::SimpleCamera | [virtual]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::SimpleCamera | [virtual]
getPosition() const | nvsg::SimpleCamera | [virtual]
getProjection() const | nvsg::PerspectiveCamera | [virtual]
getProjectionDx() const | nvsg::SimpleCamera | [virtual]
getTargetDistance() const | nvsg::SimpleCamera | [virtual]
getUpVector() const | nvsg::SimpleCamera | [virtual]
getViewToWorldMatrix() const | nvsg::SimpleCamera | [virtual]
getWindowOffset() const | nvsg::SimpleCamera | [virtual]
getWindowRegion(nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const | nvsg::SimpleCamera | [virtual]
getWindowSize() const | nvsg::SimpleCamera | [virtual]
getWorldToViewMatrix() const | nvsg::SimpleCamera | [virtual]
IAllocator() | nvutil::IAllocator | [inline]
isAutoClipPlanes() const | nvsg::SimpleCamera | [virtual]
isDataShared() const | nvsg::SimpleCamera | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
MonoCamera(void) | nvsg::MonoCamera | [protected]
move(const nvmath::Vec3f &delta) | nvsg::SimpleCamera | [virtual]
moveX(float val) | nvsg::Camera | [inline]
moveY(float val) | nvsg::Camera | [inline]
moveZ(float val) | nvsg::Camera | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
orbit(const nvmath::Vec3f &axis, float rad) | nvsg::SimpleCamera | [virtual]
orbitX(float rad) | nvsg::Camera | [inline]
orbitY(float rad) | nvsg::Camera | [inline]
orbitZ(float rad) | nvsg::Camera | [inline]
PerspectiveCamera() | nvsg::PerspectiveCamera | [protected]
PerspectiveCamera(const SimpleCamera &rhs) | nvsg::PerspectiveCamera | [protected]
PerspectiveCamera(const PerspectiveCamera &rhs) | nvsg::PerspectiveCamera | [protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeHeadLight(size_t index=0) | nvsg::SimpleCamera | [virtual]
removeRef() const | nvutil::RCObject | [inline]
rotate(const nvmath::Vec3f &axis, float rad, bool cameraRelative=true) | nvsg::SimpleCamera | [virtual]
rotateX(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateY(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateZ(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
setAspectRatio(float ar, bool keepWidth=false) | nvsg::SimpleCamera | [virtual]
setAutoClipPlanes(bool on) | nvsg::SimpleCamera | [virtual]
setDirection(const nvmath::Vec3f &dir) | nvsg::SimpleCamera | [virtual]
setFarDistance(float fd) | nvsg::SimpleCamera | [virtual]
setFieldOfView(float fov) | nvsg::PerspectiveCamera |
setHeadLightTrafo(const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0) | nvsg::SimpleCamera | [virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNearDistance(float nd) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Quatf &quat) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Vec3f &axis, float angle) | nvsg::SimpleCamera | [virtual]
setPosition(const nvmath::Vec3f &pos) | nvsg::SimpleCamera | [virtual]
setProjectionDx(float dx) | nvsg::SimpleCamera | [virtual]
setTargetDistance(float td) | nvsg::PerspectiveCamera | [virtual]
setUpVector(const nvmath::Vec3f &up) | nvsg::SimpleCamera | [virtual]
setWindowOffset(const nvmath::Vec2f &offset) | nvsg::SimpleCamera | [virtual]
setWindowRegion(const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight) | nvsg::SimpleCamera | [virtual]
setWindowSize(const nvmath::Vec2f &size) | nvsg::SimpleCamera | [virtual]
SimpleCamera() | nvsg::SimpleCamera | [protected]
SimpleCamera(const SimpleCamera &rhs) | nvsg::SimpleCamera | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
zoom(float factor) | nvsg::SimpleCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f) | nvsg::SimpleCamera | [virtual]
~Camera(void) | nvsg::Camera | [inline, protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~MonoCamera(void) | nvsg::MonoCamera | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~PerspectiveCamera(void) | nvsg::PerspectiveCamera | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~SimpleCamera() | nvsg::SimpleCamera | [protected, virtual]
Generated on Fri Jan 28 09:21:30 2005 for NVSGSDK by NVIDIA


Member List

nvsg::PointLight Member List

This is the complete list of members for nvsg::PointLight, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::LightSource | [inline, protected, virtual]
clone(void) const | nvsg::PointLight | [virtual]
containsCgFx(void) const | nvsg::Node | [virtual]
containsLight(void) const | nvsg::LightSource | [virtual]
containsTransparentMaterial(void) const | nvsg::Node | [virtual]
containsTransparentTexture(void) const | nvsg::Node | [virtual]
create(void) | nvsg::PointLight | [static]
createFromBase(const LightSource &rhs) | nvsg::PointLight | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAmbientColor(void) const | nvsg::LightSource | [inline]
getAnimation(void) const | nvsg::LightSource | [inline]
getAnnotation(void) const | nvsg::Node | [inline]
getAttenuation(float &c, float &l, float &q) const | nvsg::PointLight | [inline]
getAttenuation(void) const | nvsg::PointLight | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getDataID(void) const | nvsg::PointLight | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDiffuseColor(void) const | nvsg::LightSource | [inline]
getDirection(void) const | nvsg::LightSource | [inline]
getIntensity(void) const | nvsg::LightSource | [inline]
getInverse(void) const | nvsg::LightSource | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::LightSource | [inline, virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::LightSource | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getPosition(void) const | nvsg::LightSource | [inline]
getSpecularColor(void) const | nvsg::LightSource | [inline]
getTransformationMatrix(void) const | nvsg::LightSource | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCgFxContainment(void) | nvsg::Node | [virtual]
invalidateLightContainment(void) | nvsg::Node | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Node | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Node | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Node | [virtual]
isAttenuated(void) const | nvsg::PointLight | [inline]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::PointLight | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
LightSource(void) | nvsg::LightSource | [protected]
LightSource(const LightSource &rhs) | nvsg::LightSource | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PointLight(void) | nvsg::PointLight | [protected]
PointLight(const LightSource &rhs) | nvsg::PointLight | [protected]
PointLight(const PointLight &rhs) | nvsg::PointLight | [protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setAmbientColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setAnimation(const Animation< nvmath::Trafo > *pAnimation) | nvsg::LightSource |
setAnimationFrame(size_t frame) | nvsg::LightSource |
setAnnotation(const char *anno) | nvsg::Node |
setAttenuation(float c, float l, float q) | nvsg::PointLight | [inline]
setDiffuseColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setDirection(const nvmath::Vec3f &direction) | nvsg::LightSource |
setIntensity(float i) | nvsg::LightSource | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOrientation(const nvmath::Quatf &orientation) | nvsg::LightSource | [inline]
setPosition(const nvmath::Vec3f &position) | nvsg::LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~LightSource(void) | nvsg::LightSource | [protected, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~PointLight(void) | nvsg::PointLight | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:33 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Quads Member List

This is the complete list of members for nvsg::Quads, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::Quads | [virtual]
clone(void) const | nvsg::Quads | [virtual]
create(void) | nvsg::Quads | [static]
createFromBase(const GeoSet &rhs) | nvsg::Quads | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::Quads | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFaces(void) const | nvsg::Quads | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFaces(void) const | nvsg::Quads | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::Drawable | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasFaces(void) const | nvsg::Quads | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::Quads | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::GeoSet | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Quads(void) | nvsg::Quads | [protected]
Quads(const GeoSet &rhs) | nvsg::Quads | [protected]
Quads(const Quads &rhs) | nvsg::Quads | [protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFaces(const Face4 *pFaces, size_t numFaces) | nvsg::Quads |
setFaces(size_t pos, const Face4 *pFaces, size_t numFaces) | nvsg::Quads |
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setNormals(size_t pos, const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~Quads(void) | nvsg::Quads | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:34 2005 for NVSGSDK by NVIDIA


Member List

nvsg::QuadStrips Member List

This is the complete list of members for nvsg::QuadStrips, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::QuadStrips | [virtual]
clone(void) const | nvsg::QuadStrips | [virtual]
create(void) | nvsg::QuadStrips | [static]
createFromBase(const GeoSet &rhs) | nvsg::QuadStrips | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::QuadStrips | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::Drawable | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfStrips(void) const | nvsg::QuadStrips | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getStrips() const | nvsg::QuadStrips | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasStrips(void) const | nvsg::QuadStrips | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::QuadStrips | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::GeoSet | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
QuadStrips(void) | nvsg::QuadStrips | [protected]
QuadStrips(const GeoSet &rhs) | nvsg::QuadStrips | [protected]
QuadStrips(const QuadStrips &rhs) | nvsg::QuadStrips | [protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setNormals(size_t pos, const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setStrips(const IndexSet *pStrips, size_t numStrips) | nvsg::QuadStrips |
setStrips(size_t pos, const IndexSet *pStrips, size_t numStrips) | nvsg::QuadStrips |
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~QuadStrips(void) | nvsg::QuadStrips | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:35 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Scene Member List

This is the complete list of members for nvsg::Scene, including all inherited members.
addCamera(const Camera *pCamera) | nvsg::Scene | [inline]
addCameraAnimation(const Animation< nvmath::Trafo > *pAnimation) | nvsg::Scene | [inline]
addRef() const | nvutil::RCObject | [inline]
containsCgFx(void) const | nvsg::Scene | [inline]
containsLight(void) const | nvsg::Scene | [inline]
containsTransparentMaterial(void) const | nvsg::Scene | [inline]
containsTransparentTexture(void) const | nvsg::Scene | [inline]
create(void) | nvsg::Scene | [static]
doneReading(void) const | nvsg::Scene | [inline]
doneWriting(void) const | nvsg::Scene | [inline]
getBackColor(void) const | nvsg::Scene | [inline]
getCamera(size_t index=0) const | nvsg::Scene | [inline]
getCameraAnimation(size_t index=0) const | nvsg::Scene | [inline]
getDefaultStateSet(void) const | nvsg::Scene | [inline]
getNumberOfCameraAnimations(void) const | nvsg::Scene | [inline]
getNumberOfCameras(void) const | nvsg::Scene | [inline]
getNumberOfFrames(void) const | nvsg::Scene | [inline]
getOverrideStateSet(void) const | nvsg::Scene | [inline]
getRootNode(void) const | nvsg::Scene | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeCamera(size_t index) | nvsg::Scene | [inline]
removeCameraAnimation(size_t index) | nvsg::Scene | [inline]
removeRef() const | nvutil::RCObject | [inline]
Scene(void) | nvsg::Scene | [protected]
setBackColor(const nvmath::Vec3f &color) | nvsg::Scene | [inline]
setDefaultStateSet(const StateSet *pStateSet) | nvsg::Scene |
setOverrideStateSet(const StateSet *pStateSet) | nvsg::Scene |
setRootNode(const Node *root) | nvsg::Scene |
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Scene | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Scene | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Scene(void) | nvsg::Scene | [protected, virtual]
Generated on Fri Jan 28 09:21:36 2005 for NVSGSDK by NVIDIA


Member List

nvsg::SceneLoader Member List

This is the complete list of members for nvsg::SceneLoader, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void)=0 | nvutil::PlugIn | [protected, pure virtual]
load(const std::string &filename, const std::vector< std::string > &searchPaths, const ViewState *&viewState)=0 | nvsg::SceneLoader | [pure virtual]
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneLoader() | nvsg::SceneLoader | [protected, virtual]
Generated on Fri Jan 28 09:21:31 2005 for NVSGSDK by NVIDIA


Member List

nvsg::SceneSaver Member List

This is the complete list of members for nvsg::SceneSaver, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void)=0 | nvutil::PlugIn | [protected, pure virtual]
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
save(const Scene &scene, const ViewState *viewState, const std::string &filename)=0 | nvsg::SceneSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneSaver() | nvsg::SceneSaver | [protected, virtual]
Generated on Fri Jan 28 09:21:31 2005 for NVSGSDK by NVIDIA


Member List

nvsg::SimpleCamera Member List

This is the complete list of members for nvsg::SimpleCamera, including all inherited members.
addHeadLight(const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)) | nvsg::SimpleCamera | [virtual]
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | nvsg::SimpleCamera | [virtual]
Camera() | nvsg::Camera | [inline, protected]
clone(void) const=0 | nvsg::SimpleCamera | [pure virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAspectRatio() const | nvsg::SimpleCamera | [virtual]
getDataID() const | nvsg::SimpleCamera | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDirection() const | nvsg::SimpleCamera | [virtual]
getFarDistance() const | nvsg::SimpleCamera | [virtual]
getHeadLight(size_t index) const | nvsg::SimpleCamera | [inline, virtual]
getHeadLightTrafo(nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const | nvsg::SimpleCamera | [virtual]
getInverseProjection(void) const=0 | nvsg::MonoCamera | [pure virtual]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNearDistance() const | nvsg::SimpleCamera | [virtual]
getNumberOfHeadLights() const | nvsg::SimpleCamera | [virtual]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::SimpleCamera | [virtual]
getPosition() const | nvsg::SimpleCamera | [virtual]
getProjection(void) const=0 | nvsg::MonoCamera | [pure virtual]
getProjectionDx() const | nvsg::SimpleCamera | [virtual]
getTargetDistance() const | nvsg::SimpleCamera | [virtual]
getUpVector() const | nvsg::SimpleCamera | [virtual]
getViewToWorldMatrix() const | nvsg::SimpleCamera | [virtual]
getWindowOffset() const | nvsg::SimpleCamera | [virtual]
getWindowRegion(nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const | nvsg::SimpleCamera | [virtual]
getWindowSize() const | nvsg::SimpleCamera | [virtual]
getWorldToViewMatrix() const | nvsg::SimpleCamera | [virtual]
IAllocator() | nvutil::IAllocator | [inline]
isAutoClipPlanes() const | nvsg::SimpleCamera | [virtual]
isDataShared() const | nvsg::SimpleCamera | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
MonoCamera(void) | nvsg::MonoCamera | [protected]
move(const nvmath::Vec3f &delta) | nvsg::SimpleCamera | [virtual]
moveX(float val) | nvsg::Camera | [inline]
moveY(float val) | nvsg::Camera | [inline]
moveZ(float val) | nvsg::Camera | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
orbit(const nvmath::Vec3f &axis, float rad) | nvsg::SimpleCamera | [virtual]
orbitX(float rad) | nvsg::Camera | [inline]
orbitY(float rad) | nvsg::Camera | [inline]
orbitZ(float rad) | nvsg::Camera | [inline]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeHeadLight(size_t index=0) | nvsg::SimpleCamera | [virtual]
removeRef() const | nvutil::RCObject | [inline]
rotate(const nvmath::Vec3f &axis, float rad, bool cameraRelative=true) | nvsg::SimpleCamera | [virtual]
rotateX(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateY(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateZ(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
setAspectRatio(float ar, bool keepWidth=false) | nvsg::SimpleCamera | [virtual]
setAutoClipPlanes(bool on) | nvsg::SimpleCamera | [virtual]
setDirection(const nvmath::Vec3f &dir) | nvsg::SimpleCamera | [virtual]
setFarDistance(float fd) | nvsg::SimpleCamera | [virtual]
setHeadLightTrafo(const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0) | nvsg::SimpleCamera | [virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNearDistance(float nd) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Quatf &quat) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | nvsg::SimpleCamera | [virtual]
setOrientation(const nvmath::Vec3f &axis, float angle) | nvsg::SimpleCamera | [virtual]
setPosition(const nvmath::Vec3f &pos) | nvsg::SimpleCamera | [virtual]
setProjectionDx(float dx) | nvsg::SimpleCamera | [virtual]
setTargetDistance(float td) | nvsg::SimpleCamera | [virtual]
setUpVector(const nvmath::Vec3f &up) | nvsg::SimpleCamera | [virtual]
setWindowOffset(const nvmath::Vec2f &offset) | nvsg::SimpleCamera | [virtual]
setWindowRegion(const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight) | nvsg::SimpleCamera | [virtual]
setWindowSize(const nvmath::Vec2f &size) | nvsg::SimpleCamera | [virtual]
SimpleCamera() | nvsg::SimpleCamera | [protected]
SimpleCamera(const SimpleCamera &rhs) | nvsg::SimpleCamera | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
zoom(float factor) | nvsg::SimpleCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f) | nvsg::SimpleCamera | [virtual]
~Camera(void) | nvsg::Camera | [inline, protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~MonoCamera(void) | nvsg::MonoCamera | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~SimpleCamera() | nvsg::SimpleCamera | [protected, virtual]
Generated on Fri Jan 28 09:21:38 2005 for NVSGSDK by NVIDIA


Member List

nvsg::SkinnedTriangles Member List

This is the complete list of members for nvsg::SkinnedTriangles, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::Triangles | [virtual]
clone(void) const | nvsg::SkinnedTriangles | [virtual]
create(void) | nvsg::SkinnedTriangles | [static]
createFromBase(const Triangles &rhs) | nvsg::SkinnedTriangles | [static]
nvsg::Triangles::createFromBase(const GeoSet &rhs) | nvsg::Triangles | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::SkinnedTriangles | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFaces(void) const | nvsg::Triangles | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFaces(void) const | nvsg::Triangles | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::SkinnedTriangles | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfSkins(void) const | nvsg::SkinnedTriangles | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getSkins(void) const | nvsg::SkinnedTriangles | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasFaces(void) const | nvsg::Triangles | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::SkinnedTriangles | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::GeoSet | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setAnimationFrame(size_t frame, bool bCalculateTangentSpace) | nvsg::SkinnedTriangles |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFaces(const Face3 *pFaces, size_t numFaces) | nvsg::Triangles |
setFaces(size_t pos, const Face3 *pFaces, size_t numFaces) | nvsg::Triangles |
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *pNor, size_t numNor) | nvsg::SkinnedTriangles |
setNormals(size_t pos, const nvmath::Vec3f *pNor, size_t numNor) | nvsg::SkinnedTriangles |
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSkins(const Skin *pSkins, size_t numSkins) | nvsg::SkinnedTriangles |
setSkins(size_t pos, const Skin *pSkins, size_t numSkins) | nvsg::SkinnedTriangles |
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
SkinnedTriangles(void) | nvsg::SkinnedTriangles | [protected]
SkinnedTriangles(const Triangles &rhs) | nvsg::SkinnedTriangles | [protected]
SkinnedTriangles(const SkinnedTriangles &rhs) | nvsg::SkinnedTriangles | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
Triangles(void) | nvsg::Triangles | [protected]
Triangles(const GeoSet &rhs) | nvsg::Triangles | [protected]
Triangles(const Triangles &rhs) | nvsg::Triangles | [protected]
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~SkinnedTriangles(void) | nvsg::SkinnedTriangles | [protected, virtual]
~Triangles(void) | nvsg::Triangles | [protected, virtual]
Generated on Fri Jan 28 09:21:40 2005 for NVSGSDK by NVIDIA


Member List

nvsg::SpotLight Member List

This is the complete list of members for nvsg::SpotLight, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::LightSource | [inline, protected, virtual]
clone(void) const | nvsg::SpotLight | [virtual]
containsCgFx(void) const | nvsg::Node | [virtual]
containsLight(void) const | nvsg::LightSource | [virtual]
containsTransparentMaterial(void) const | nvsg::Node | [virtual]
containsTransparentTexture(void) const | nvsg::Node | [virtual]
create(void) | nvsg::SpotLight | [static]
createFromBase(const LightSource &rhs) | nvsg::SpotLight | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAmbientColor(void) const | nvsg::LightSource | [inline]
getAnimation(void) const | nvsg::LightSource | [inline]
getAnnotation(void) const | nvsg::Node | [inline]
getAttenuation(void) const | nvsg::SpotLight | [inline]
getAttenuation(float &c, float &l, float &q) const | nvsg::SpotLight | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getCutoffAngle(void) const | nvsg::SpotLight | [inline]
getDataID(void) const | nvsg::SpotLight | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDiffuseColor(void) const | nvsg::LightSource | [inline]
getDirection(void) const | nvsg::LightSource | [inline]
getFalloffExponent(void) const | nvsg::SpotLight | [inline]
getIntensity(void) const | nvsg::LightSource | [inline]
getInverse(void) const | nvsg::LightSource | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfFrames(void) const | nvsg::LightSource | [inline, virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::LightSource | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getPosition(void) const | nvsg::LightSource | [inline]
getSpecularColor(void) const | nvsg::LightSource | [inline]
getTransformationMatrix(void) const | nvsg::LightSource | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCgFxContainment(void) | nvsg::Node | [virtual]
invalidateLightContainment(void) | nvsg::Node | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Node | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Node | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Node | [virtual]
isAttenuated(void) const | nvsg::SpotLight | [inline]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::SpotLight | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
LightSource(void) | nvsg::LightSource | [protected]
LightSource(const LightSource &rhs) | nvsg::LightSource | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setAmbientColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setAnimation(const Animation< nvmath::Trafo > *pAnimation) | nvsg::LightSource |
setAnimationFrame(size_t frame) | nvsg::LightSource |
setAnnotation(const char *anno) | nvsg::Node |
setAttenuation(float c, float l, float q) | nvsg::SpotLight | [inline]
setCutoffAngle(float ca) | nvsg::SpotLight | [inline]
setDiffuseColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
setDirection(const nvmath::Vec3f &direction) | nvsg::LightSource |
setFalloffExponent(float fe) | nvsg::SpotLight | [inline]
setIntensity(float i) | nvsg::LightSource | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOrientation(const nvmath::Quatf &orientation) | nvsg::LightSource | [inline]
setPosition(const nvmath::Vec3f &position) | nvsg::LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &c) | nvsg::LightSource | [inline]
SpotLight(void) | nvsg::SpotLight | [protected]
SpotLight(const LightSource &rhs) | nvsg::SpotLight | [protected]
SpotLight(const SpotLight &rhs) | nvsg::SpotLight | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~LightSource(void) | nvsg::LightSource | [protected, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~SpotLight(void) | nvsg::SpotLight | [protected, virtual]
Generated on Fri Jan 28 09:21:41 2005 for NVSGSDK by NVIDIA


Member List

nvsg::StateAttribute Member List

This is the complete list of members for nvsg::StateAttribute, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const=0 | nvsg::StateAttribute | [pure virtual]
containsTransparentMaterial(void) const | nvsg::StateAttribute | [virtual]
containsTransparentTexture(void) const | nvsg::StateAttribute | [virtual]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getDataID(void) const | nvsg::StateAttribute | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getIncarnation(void) const | nvsg::StateAttribute | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfParents(void) const | nvsg::StateAttribute | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t index) const | nvsg::StateAttribute | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateTransparentMaterialContainment(void) | nvsg::StateAttribute | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::StateAttribute | [virtual]
isDataShared(void) const | nvsg::StateAttribute | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_incarnation | nvsg::StateAttribute | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
StateAttribute(void) | nvsg::StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | nvsg::StateAttribute | [protected]
StateSet (defined in nvsg::StateAttribute) | nvsg::StateAttribute | [friend]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StateAttribute(void) | nvsg::StateAttribute | [protected, virtual]
Generated on Fri Jan 28 09:21:42 2005 for NVSGSDK by NVIDIA


Member List

nvsg::StateSet Member List

This is the complete list of members for nvsg::StateSet, including all inherited members.
addAttribute(const StateAttribute *attrib) | nvsg::StateSet |
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::StateSet | [virtual]
containsCgFx(void) const | nvsg::StateSet | [virtual]
containsTransparentMaterial(void) const | nvsg::StateSet | [virtual]
containsTransparentTexture(void) const | nvsg::StateSet | [virtual]
create(void) | nvsg::StateSet | [static]
createFromBase(const Object &rhs) | nvsg::StateSet | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
GeoNode (defined in nvsg::StateSet) | nvsg::StateSet | [friend]
getAttribute(size_t index) const | nvsg::StateSet | [inline]
getAttributeByObjectCode(unsigned int oc) const | nvsg::StateSet |
getDataID(void) const | nvsg::StateSet | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfAttributes(void) const | nvsg::StateSet | [inline]
getNumberOfOwners(void) const | nvsg::StateSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::StateSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateCaches(const StateAttribute *attrib, bool insert) | nvsg::StateSet | [protected]
invalidateCgFxContainment(void) | nvsg::StateSet | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::StateSet | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::StateSet | [virtual]
isDataShared(void) const | nvsg::StateSet | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
operator==(const StateSet &lhs, const StateSet &rhs) | nvsg::StateSet | [related]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeAttribute(const StateAttribute *attrib) | nvsg::StateSet |
removeAttribute(size_t index) | nvsg::StateSet |
removeAttributeByObjectCode(unsigned int oc) | nvsg::StateSet |
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
StateSet(void) | nvsg::StateSet | [protected]
StateSet(const Object &rhs) | nvsg::StateSet | [protected]
StateSet(const StateSet &rhs) | nvsg::StateSet | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StateSet(void) | nvsg::StateSet | [protected, virtual]
Generated on Fri Jan 28 09:21:43 2005 for NVSGSDK by NVIDIA


Member List

nvsg::StereoCamera Member List

This is the complete list of members for nvsg::StereoCamera, including all inherited members.
addHeadLight(const LightSource *pLight, const nvmath::Vec3f &position=nvmath::Vec3f(0.0f, 0.0f, 0.0f), const nvmath::Quatf &quat=nvmath::Quatf(0.0f, 0.0f, 0.0f, 1.0f)) | nvsg::StereoCamera | [virtual]
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | nvsg::StereoCamera | [virtual]
Camera() | nvsg::Camera | [inline, protected]
clone(void) const | nvsg::StereoCamera | [virtual]
create(const MonoCamera &base) | nvsg::StereoCamera | [static]
createFromBase(const Camera &rhs, const MonoCamera &base) | nvsg::StereoCamera | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getAspectRatio(void) const | nvsg::StereoCamera | [virtual]
getDataID(void) const | nvsg::StereoCamera | [virtual]
getDepthFactor(void) const | nvsg::StereoCamera | [inline]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getDirection(void) const | nvsg::StereoCamera | [virtual]
getFarDistance(void) const | nvsg::StereoCamera | [virtual]
getFocusDistance(void) const | nvsg::StereoCamera | [inline]
getHeadLight(size_t index) const | nvsg::StereoCamera | [virtual]
getHeadLightTrafo(nvmath::Vec3f &trans, nvmath::Quatf &quat, size_t index=0) const | nvsg::StereoCamera | [virtual]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getLeftCamera() const | nvsg::StereoCamera | [inline]
getMonoCamera(void) const | nvsg::StereoCamera | [inline]
getName(void) const | nvsg::Object | [inline]
getNearDistance(void) const | nvsg::StereoCamera | [virtual]
getNumberOfHeadLights(void) const | nvsg::StereoCamera | [virtual]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::StereoCamera | [virtual]
getPosition(void) const | nvsg::StereoCamera | [virtual]
getRightCamera() const | nvsg::StereoCamera | [inline]
getTargetDistance(void) const | nvsg::StereoCamera | [virtual]
getUpVector(void) const | nvsg::StereoCamera | [virtual]
getViewToWorldMatrix(void) const | nvsg::StereoCamera | [virtual]
getWindowOffset(void) const | nvsg::StereoCamera | [virtual]
getWindowRegion(nvmath::Vec2f &lowerLeft, nvmath::Vec2f &upperRight) const | nvsg::StereoCamera | [virtual]
getWindowSize(void) const | nvsg::StereoCamera | [virtual]
getWorldToViewMatrix(void) const | nvsg::StereoCamera | [virtual]
IAllocator() | nvutil::IAllocator | [inline]
isAutoClipPlanes(void) const | nvsg::StereoCamera | [virtual]
isDataShared(void) const | nvsg::StereoCamera | [virtual]
isLeftPassIndex(size_t pass) const | nvsg::StereoCamera | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
move(const nvmath::Vec3f &delta) | nvsg::StereoCamera | [virtual]
moveX(float val) | nvsg::Camera | [inline]
moveY(float val) | nvsg::Camera | [inline]
moveZ(float val) | nvsg::Camera | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
nvsg::Camera::operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
orbit(const nvmath::Vec3f &axis, float rad) | nvsg::StereoCamera | [virtual]
orbitX(float rad) | nvsg::Camera | [inline]
orbitY(float rad) | nvsg::Camera | [inline]
orbitZ(float rad) | nvsg::Camera | [inline]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeHeadLight(size_t index=0) | nvsg::StereoCamera | [virtual]
removeRef() const | nvutil::RCObject | [inline]
reverseLeftRight(void) | nvsg::StereoCamera | [inline]
rotate(const nvmath::Vec3f &axis, float rad, bool cameraRelative=true) | nvsg::StereoCamera | [virtual]
rotateX(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateY(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
rotateZ(float rad, bool cameraRelative=true) | nvsg::Camera | [inline]
setAspectRatio(float ar, bool keepWidth=false) | nvsg::StereoCamera | [virtual]
setAutoClipPlanes(bool on) | nvsg::StereoCamera | [virtual]
setDepthFactor(float df) | nvsg::StereoCamera | [inline]
setDirection(const nvmath::Vec3f &dir) | nvsg::StereoCamera | [virtual]
setFarDistance(float fd) | nvsg::StereoCamera | [virtual]
setFocusDistance(float fd) | nvsg::StereoCamera | [inline]
setHeadLightTrafo(const nvmath::Vec3f &trans, const nvmath::Quatf &quat, size_t index=0) | nvsg::StereoCamera | [virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNearDistance(float nd) | nvsg::StereoCamera | [virtual]
setOrientation(const nvmath::Quatf &quat) | nvsg::StereoCamera | [virtual]
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | nvsg::StereoCamera | [virtual]
setOrientation(const nvmath::Vec3f &axis, float angle) | nvsg::StereoCamera | [virtual]
setPosition(const nvmath::Vec3f &pos) | nvsg::StereoCamera | [virtual]
setTargetDistance(float td) | nvsg::StereoCamera | [virtual]
setUpVector(const nvmath::Vec3f &up) | nvsg::StereoCamera | [virtual]
setWindowOffset(const nvmath::Vec2f &offset) | nvsg::StereoCamera | [virtual]
setWindowRegion(const nvmath::Vec2f &lowerLeft, const nvmath::Vec2f &upperRight) | nvsg::StereoCamera | [virtual]
setWindowSize(const nvmath::Vec2f &size) | nvsg::StereoCamera | [virtual]
StereoCamera(const MonoCamera &base) | nvsg::StereoCamera | [protected]
StereoCamera(const Camera &rhs, const MonoCamera &base) | nvsg::StereoCamera | [protected]
StereoCamera(const StereoCamera &rhs) | nvsg::StereoCamera | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
updateMonoCameras(void) const | nvsg::StereoCamera |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
zoom(float factor) | nvsg::StereoCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f) | nvsg::StereoCamera | [virtual]
~Camera(void) | nvsg::Camera | [inline, protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StereoCamera(void) | nvsg::StereoCamera | [protected, virtual]
Generated on Fri Jan 28 09:21:45 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Switch Member List

This is the complete list of members for nvsg::Switch, including all inherited members.
addChild(const Node *pChild, size_t position=0xFFFFFFFF) | nvsg::Group |
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::Switch | [protected, virtual]
clone(void) const | nvsg::Switch | [virtual]
containsCgFx(void) const | nvsg::Group | [virtual]
containsLight(void) const | nvsg::Group | [virtual]
containsTransparentMaterial(void) const | nvsg::Group | [virtual]
containsTransparentTexture(void) const | nvsg::Group | [virtual]
create(void) | nvsg::Switch | [static]
createFromBase(const Group &rhs) | nvsg::Switch | [static]
nvsg::Group::createFromBase(const Node &rhs) | nvsg::Group | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getActive(std::vector< size_t > &indices) const | nvsg::Switch |
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getChild(size_t index) const | nvsg::Group | [inline]
getDataID(void) const | nvsg::Switch | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getIndex(const Node *node, size_t &index) const | nvsg::Group |
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfActive(void) const | nvsg::Switch |
getNumberOfChildren(void) const | nvsg::Group | [inline]
getNumberOfFrames(void) const | nvsg::Group | [virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
Group(void) | nvsg::Group | [protected]
Group(const Node &rhs) | nvsg::Group | [protected]
Group(const Group &rhs) | nvsg::Group | [protected]
hasChild(const Node *node) const | nvsg::Group |
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCaches(const Node *pChild, bool insert) | nvsg::Group | [inline, protected]
invalidateCgFxContainment(void) | nvsg::Group | [virtual]
invalidateLightContainment(void) | nvsg::Group | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Group | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Group | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Group | [virtual]
isActive(void) const | nvsg::Switch |
isActive(size_t index) const | nvsg::Switch |
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::Switch | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeChild(const Node *pChild) | nvsg::Group |
removeChild(size_t position) | nvsg::Group |
removeRef() const | nvutil::RCObject | [inline]
replaceChild(const Node *newChild, const Node *oldChild) | nvsg::Group |
replaceChild(const Node *newChild, size_t position) | nvsg::Group |
setActive(void) | nvsg::Switch |
setActive(size_t index) | nvsg::Switch |
setAnnotation(const char *anno) | nvsg::Node |
setInactive(void) | nvsg::Switch |
setInactive(size_t index) | nvsg::Switch |
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
Switch(void) | nvsg::Switch | [protected]
Switch(const Group &rhs) | nvsg::Switch | [protected]
Switch(const Switch &rhs) | nvsg::Switch | [protected]
theAllocator typedef | nvutil::IAllocator |
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Group(void) | nvsg::Group | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Switch(void) | nvsg::Switch | [protected, virtual]
Generated on Fri Jan 28 09:21:46 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Texture Member List

This is the complete list of members for nvsg::Texture, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
create(const std::string &fileName, bool flipImage=true) | nvsg::Texture | [static]
eTexFileType enum name | nvsg::Texture |
getComponents(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
getDepth(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFileName(void) const | nvsg::Texture | [inline]
getFormat(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
getHandle(void) const | nvsg::Texture | [inline]
getHeight(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getNumberOfImages(void) const | nvsg::Texture | [inline]
getNumberOfMipmaps(unsigned int image=0) const | nvsg::Texture |
getPixels(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
getSize(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
getTarget(void) const | nvsg::Texture | [inline]
getType(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
getWidth(unsigned int image=0, unsigned int mipmap=0) const | nvsg::Texture |
IAllocator() | nvutil::IAllocator | [inline]
isCubeMap(void) const | nvsg::Texture | [inline]
isFloatingPoint(void) const | nvsg::Texture |
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isTexFileType(eTexFileType tft) const | nvsg::Texture | [inline]
load(void) const | nvsg::Texture |
m_cube | nvsg::Texture | [mutable, protected]
m_fileName | nvsg::Texture | [protected]
m_flipImage | nvsg::Texture | [protected]
m_handle | nvsg::Texture | [mutable, protected]
m_imageID | nvsg::Texture | [mutable, protected]
m_numImages | nvsg::Texture | [mutable, protected]
m_target | nvsg::Texture | [mutable, protected]
m_texFileType | nvsg::Texture | [mutable, protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
scale(unsigned int image=0, unsigned int width=128, unsigned int height=128, unsigned int depth=1) const | nvsg::Texture |
setHandle(unsigned int handle) const | nvsg::Texture | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setTarget(unsigned long target) const | nvsg::Texture | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
Texture(const std::string &fileName, bool flipImage=true) | nvsg::Texture | [protected]
TFT_BMP enum value | nvsg::Texture |
TFT_DDS enum value | nvsg::Texture |
TFT_GIF enum value | nvsg::Texture |
TFT_HDR enum value | nvsg::Texture |
TFT_JPG enum value | nvsg::Texture |
TFT_PNG enum value | nvsg::Texture |
TFT_RGB enum value | nvsg::Texture |
TFT_TGA enum value | nvsg::Texture |
TFT_TIF enum value | nvsg::Texture |
TFT_UNKNOWN enum value | nvsg::Texture |
theAllocator typedef | nvutil::IAllocator |
unload(void) const | nvsg::Texture |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Texture(void) | nvsg::Texture | [protected, virtual]
Generated on Fri Jan 28 09:21:47 2005 for NVSGSDK by NVIDIA


Member List

nvsg::TextureAttribute Member List

This is the complete list of members for nvsg::TextureAttribute, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
bindTextureAttributeItem(const TextureAttributeItem *item, size_t unit) | nvsg::TextureAttribute |
clone(void) const | nvsg::TextureAttribute | [virtual]
containsTransparentMaterial(void) const | nvsg::StateAttribute | [virtual]
containsTransparentTexture(void) const | nvsg::StateAttribute | [virtual]
create(void) | nvsg::TextureAttribute | [static]
createFromBase(const StateAttribute &rhs) | nvsg::TextureAttribute | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getDataID(void) const | nvsg::TextureAttribute | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFirstItem(void) const | nvsg::TextureAttribute | [inline]
getIncarnation(void) const | nvsg::StateAttribute | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNextItem(void) const | nvsg::TextureAttribute | [inline]
getNumberOfItems(void) const | nvsg::TextureAttribute | [inline]
getNumberOfParents(void) const | nvsg::StateAttribute | [inline]
getObjectCode() const | nvsg::Object | [inline]
getParent(size_t index) const | nvsg::StateAttribute | [inline]
getTextureAttributeItem(size_t unit) const | nvsg::TextureAttribute | [inline]
IAllocator() | nvutil::IAllocator | [inline]
INVALID_ITEM enum value (defined in nvsg::TextureAttribute) | nvsg::TextureAttribute |
invalidateTransparentMaterialContainment(void) | nvsg::StateAttribute | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::StateAttribute | [virtual]
isDataShared(void) const | nvsg::TextureAttribute | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_incarnation | nvsg::StateAttribute | [protected]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
StateAttribute(void) | nvsg::StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | nvsg::StateAttribute | [protected]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TextureAttribute(void) | nvsg::TextureAttribute | [protected]
TextureAttribute(const StateAttribute &rhs) | nvsg::TextureAttribute | [protected]
TextureAttribute(const TextureAttribute &rhs) | nvsg::TextureAttribute | [protected]
theAllocator typedef | nvutil::IAllocator |
unbindTextureAttributeItem(size_t unit) | nvsg::TextureAttribute |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StateAttribute(void) | nvsg::StateAttribute | [protected, virtual]
~TextureAttribute(void) | nvsg::TextureAttribute | [protected, virtual]
Generated on Fri Jan 28 09:21:50 2005 for NVSGSDK by NVIDIA


Member List

nvsg::TextureAttributeItem Member List

This is the complete list of members for nvsg::TextureAttributeItem, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
clone(void) const | nvsg::TextureAttributeItem | [virtual]
create(void) | nvsg::TextureAttributeItem | [static]
createFromBase(const Object &rhs) | nvsg::TextureAttributeItem | [static]
disableTexGen(TexCoordAxis axis) | nvsg::TextureAttributeItem | [inline]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
getBorderColor(void) const | nvsg::TextureAttributeItem | [inline]
getDataID(void) const | nvsg::TextureAttributeItem | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getEnvMode(void) const | nvsg::TextureAttributeItem | [inline]
getFileName(void) const | nvsg::TextureAttributeItem | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getMagFilterMode(void) const | nvsg::TextureAttributeItem | [inline]
getMatrix(void) const | nvsg::TextureAttributeItem | [inline]
getMinFilterMode(void) const | nvsg::TextureAttributeItem | [inline]
getName(void) const | nvsg::Object | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::TextureAttributeItem | [inline]
getScaling(void) const | nvsg::TextureAttributeItem | [inline]
getTexGenMode(TexCoordAxis axis) const | nvsg::TextureAttributeItem | [inline]
getTexGenPlane(TexCoordAxis axis) const | nvsg::TextureAttributeItem | [inline]
getTexture(void) const | nvsg::TextureAttributeItem | [inline]
getTranslation(void) const | nvsg::TextureAttributeItem | [inline]
getType(void) const | nvsg::TextureAttributeItem | [inline]
getWrapMode(TexCoordAxis target) const | nvsg::TextureAttributeItem | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isDataShared(void) const | nvsg::TextureAttributeItem | [virtual]
isLookupRequired(void) const | nvsg::TextureAttributeItem | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
setBorderColor(const nvmath::Vec4f &color) | nvsg::TextureAttributeItem | [inline]
setEnvMode(TextureEnvMode mode) | nvsg::TextureAttributeItem | [inline]
setFileName(const std::string &fname) | nvsg::TextureAttributeItem | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setMagFilterMode(TextureMagFilterMode mode) | nvsg::TextureAttributeItem | [inline]
setMinFilterMode(TextureMinFilterMode mode) | nvsg::TextureAttributeItem | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOrientation(const nvmath::Quatf &orientation) | nvsg::TextureAttributeItem | [inline]
setScaling(const nvmath::Vec3f &scale) | nvsg::TextureAttributeItem | [inline]
setTexGenEnvironmentMapping(bool sAxis=true, bool tAxis=true) | nvsg::TextureAttributeItem | [inline]
setTexGenLinearMapping(TexCoordAxis axis, TexGenLinearMode mode, const nvmath::Plane3f &plane) | nvsg::TextureAttributeItem | [inline]
setTexture(const Texture *p) const | nvsg::TextureAttributeItem | [inline]
setTranslation(const nvmath::Vec3f &trans) | nvsg::TextureAttributeItem | [inline]
setType(TextureType tt) | nvsg::TextureAttributeItem | [inline]
setWrapMode(TexCoordAxis target, TextureWrapMode mode) | nvsg::TextureAttributeItem | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TextureAttribute (defined in nvsg::TextureAttributeItem) | nvsg::TextureAttributeItem | [friend]
TextureAttributeItem(void) | nvsg::TextureAttributeItem | [protected]
TextureAttributeItem(const Object &rhs) | nvsg::TextureAttributeItem | [protected]
TextureAttributeItem(const TextureAttributeItem &rhs) | nvsg::TextureAttributeItem | [protected]
theAllocator typedef | nvutil::IAllocator |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~TextureAttributeItem() (defined in nvsg::TextureAttributeItem) | nvsg::TextureAttributeItem | [protected, virtual]
Generated on Fri Jan 28 09:21:49 2005 for NVSGSDK by NVIDIA


Member List

nvsg::TextureAttributeItemData Member List

This is the complete list of members for nvsg::TextureAttributeItemData, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
TextureAttributeItem (defined in nvsg::TextureAttributeItemData) | nvsg::TextureAttributeItemData | [friend]
TextureAttributeItemData(const TextureAttributeItemData &rhs) | nvsg::TextureAttributeItemData |
theAllocator typedef | nvutil::IAllocator |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:21:48 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Transform Member List

This is the complete list of members for nvsg::Transform, including all inherited members.
addChild(const Node *pChild, size_t position=0xFFFFFFFF) | nvsg::Group |
addRef() const | nvutil::RCObject | [inline]
beginEdit(const T *obj) | nvsg::Object | [related]
calcBoundingSphere(void) const | nvsg::Transform | [protected, virtual]
clone(void) const | nvsg::Transform | [virtual]
containsCgFx(void) const | nvsg::Group | [virtual]
containsLight(void) const | nvsg::Group | [virtual]
containsTransparentMaterial(void) const | nvsg::Group | [virtual]
containsTransparentTexture(void) const | nvsg::Group | [virtual]
create(void) | nvsg::Transform | [static]
createFromBase(const Group &rhs) | nvsg::Transform | [static]
nvsg::Group::createFromBase(const Node &rhs) | nvsg::Group | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
endEdit(T *&obj) | nvsg::Object | [related]
extendBoundingSphere(const nvmath::Sphere3f &sphere) const | nvsg::Node | [inline, protected]
getAnnotation(void) const | nvsg::Node | [inline]
getBoundingSphere(void) const | nvsg::Node | [inline]
getCenter(void) const | nvsg::Transform | [inline]
getChild(size_t index) const | nvsg::Group | [inline]
getDataID(void) const | nvsg::Transform | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getIndex(const Node *node, size_t &index) const | nvsg::Group |
getInverse(void) const | nvsg::Transform | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getMatrix(void) const | nvsg::Transform | [inline]
getName(void) const | nvsg::Object | [inline]
getNumberOfChildren(void) const | nvsg::Group | [inline]
getNumberOfFrames(void) const | nvsg::Group | [virtual]
getNumberOfParents() const | nvsg::Node | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOrientation(void) const | nvsg::Transform | [inline]
getParent(size_t i) const | nvsg::Node | [inline]
getScaling(void) const | nvsg::Transform | [inline]
getTranslation(void) const | nvsg::Transform | [inline]
Group(void) | nvsg::Group | [protected]
Group(const Node &rhs) | nvsg::Group | [protected]
Group(const Group &rhs) | nvsg::Group | [protected]
hasChild(const Node *node) const | nvsg::Group |
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::Node |
invalidateCaches(const Node *pChild, bool insert) | nvsg::Group | [inline, protected]
invalidateCgFxContainment(void) | nvsg::Group | [virtual]
invalidateLightContainment(void) | nvsg::Group | [virtual]
invalidateNumberOfFrames(void) const | nvsg::Group | [virtual]
invalidateTransparentMaterialContainment(void) | nvsg::Group | [virtual]
invalidateTransparentTextureContainment(void) | nvsg::Group | [virtual]
isBoundingSphereValid(void) const | nvsg::Node | [inline]
isDataShared(void) const | nvsg::Transform | [virtual]
isIdentity(void) const | nvsg::Transform | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
Node(void) | nvsg::Node | [protected]
Node(const Node &rhs) | nvsg::Node | [protected]
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeChild(const Node *pChild) | nvsg::Group |
removeChild(size_t position) | nvsg::Group |
removeRef() const | nvutil::RCObject | [inline]
replaceChild(const Node *newChild, const Node *oldChild) | nvsg::Group |
replaceChild(const Node *newChild, size_t position) | nvsg::Group |
setAnnotation(const char *anno) | nvsg::Node |
setCenter(const nvmath::Vec3f &center) | nvsg::Transform | [virtual]
setIdentity(void) | nvsg::Transform | [virtual]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setOrientation(const nvmath::Quatf &orientation) | nvsg::Transform | [virtual]
setScaling(const nvmath::Vec3f &scaling) | nvsg::Transform | [virtual]
setTranslation(const nvmath::Vec3f &translation) | nvsg::Transform | [virtual]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
theAllocator typedef | nvutil::IAllocator |
Transform(void) | nvsg::Transform | [protected]
Transform(const Group &rhs) | nvsg::Transform | [protected]
Transform(const Transform &rhs) | nvsg::Transform | [protected]
transformBoundingSphere(const nvmath::Mat44f &m, float factor=1.0f) const | nvsg::Node | [inline, protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Group(void) | nvsg::Group | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Node(void) | nvsg::Node | [protected, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Transform(void) | nvsg::Transform | [protected, virtual]
Generated on Fri Jan 28 09:21:51 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Triangles Member List

This is the complete list of members for nvsg::Triangles, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::Triangles | [virtual]
clone(void) const | nvsg::Triangles | [virtual]
create(void) | nvsg::Triangles | [static]
createFromBase(const GeoSet &rhs) | nvsg::Triangles | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::Triangles | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFaces(void) const | nvsg::Triangles | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFaces(void) const | nvsg::Triangles | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::Drawable | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasFaces(void) const | nvsg::Triangles | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::Triangles | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::GeoSet | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFaces(const Face3 *pFaces, size_t numFaces) | nvsg::Triangles |
setFaces(size_t pos, const Face3 *pFaces, size_t numFaces) | nvsg::Triangles |
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setNormals(size_t pos, const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
Triangles(void) | nvsg::Triangles | [protected]
Triangles(const GeoSet &rhs) | nvsg::Triangles | [protected]
Triangles(const Triangles &rhs) | nvsg::Triangles | [protected]
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Triangles(void) | nvsg::Triangles | [protected, virtual]
Generated on Fri Jan 28 09:21:52 2005 for NVSGSDK by NVIDIA


Member List

nvsg::TriStrips Member List

This is the complete list of members for nvsg::TriStrips, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
attachHighlightObject(const HighlightObject *pObj=NULL) const | nvsg::GeoSet |
beginEdit(const T *obj) | nvsg::Object | [related]
calculateTangentSpace(size_t tu=0, size_t tg=1, size_t bn=2) | nvsg::TriStrips | [virtual]
clone() const | nvsg::TriStrips | [virtual]
create(void) | nvsg::TriStrips | [static]
createFromBase(const GeoSet &rhs) | nvsg::TriStrips | [static]
doneReading(void) const | nvsg::Object | [inline]
doneWriting(void) const | nvsg::Object | [inline]
Drawable(void) | nvsg::Drawable | [protected]
Drawable(const Drawable &) (defined in nvsg::Drawable) | nvsg::Drawable | [protected]
endEdit(T *&obj) | nvsg::Object | [related]
FOG_COORDINATE enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
generateTexCoords(TextureCoordType tct, const nvmath::Sphere3f &sphere, size_t tu=0) | nvsg::GeoSet |
GeoSet(void) | nvsg::GeoSet | [protected]
GeoSet(const GeoSet &rhs) | nvsg::GeoSet | [protected]
getBoundingSphere(void) const | nvsg::GeoSet | [virtual]
getColors(void) const | nvsg::GeoSet | [inline]
getColorsDim(void) const | nvsg::GeoSet | [inline]
getDataID(void) const | nvsg::TriStrips | [virtual]
getDeviceAbstractionLinkData(unsigned int dataID, std::vector< DALData * > &data) const | nvsg::DALHost | [inline]
getFogCoords(void) const | nvsg::GeoSet | [inline]
getHighlightObject(void) const | nvsg::GeoSet | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | nvsg::DALHost | [inline]
getName(void) const | nvsg::Object | [inline]
getNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfColors(void) const | nvsg::GeoSet | [inline]
getNumberOfFogCoords(void) const | nvsg::GeoSet | [inline]
getNumberOfFrames(void) const | nvsg::Drawable | [virtual]
getNumberOfNormals(void) const | nvsg::GeoSet | [inline]
getNumberOfOwners(void) const | nvsg::Drawable | [inline]
getNumberOfSecondaryColors(void) const | nvsg::GeoSet | [inline]
getNumberOfStrips(void) const | nvsg::TriStrips | [inline]
getNumberOfTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getNumberOfVertexAttributeBytes(size_t attrib) const | nvsg::GeoSet |
getNumberOfVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getNumberOfVertices(void) const | nvsg::GeoSet | [inline]
getObjectCode() const | nvsg::Object | [inline]
getOwner(size_t index) const | nvsg::Drawable | [inline]
getSecondaryColors(void) const | nvsg::GeoSet | [inline]
getSecondaryColorsDim(void) const | nvsg::GeoSet | [inline]
getStrips() const | nvsg::TriStrips | [inline]
getTexCoords(size_t texUnit) const | nvsg::GeoSet | [inline]
getTexCoordsDim(size_t texUnit) const | nvsg::GeoSet | [inline]
getVertexAttributeData(size_t attrib) const | nvsg::GeoSet | [inline]
getVertexAttributeDataDim(size_t attrib) const | nvsg::GeoSet | [inline]
getVertices(void) const | nvsg::GeoSet | [inline]
hasStrips(void) const | nvsg::TriStrips | [inline]
hasTexCoords(void) const | nvsg::GeoSet | [inline]
IAllocator() | nvutil::IAllocator | [inline]
invalidateBoundingSphere(void) const | nvsg::GeoSet | [protected, virtual]
invalidateNumberOfFrames(void) const | nvsg::Drawable |
isBoundingSphereValid(void) const | nvsg::GeoSet | [virtual]
isDataShared(void) const | nvsg::TriStrips | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_objectCode | nvsg::Object | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NORMAL enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
NUMBER_OF_VERTEX_ATTRIBUTES enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
Object(void) | nvsg::Object | [protected]
Object(const Object &rhs) | nvsg::Object | [protected]
onSetVertexAttributeData(void) | nvsg::GeoSet | [protected, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PRIMARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData() | nvsg::DALHost | [inline]
removeRef() const | nvutil::RCObject | [inline]
SECONDARY_COLOR enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
setColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(const float *coords, size_t count) | nvsg::GeoSet | [inline]
setFogCoords(size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setLastRecentlyUsedDeviceAbstractionLinkData(DALData *lastRecentlyUsed) const | nvsg::DALHost | [inline]
setName(const std::string &name) | nvsg::Object | [inline]
setNormals(const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setNormals(size_t pos, const nvmath::Vec3f *nor, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setSecondaryColors(unsigned int fdim, size_t pos, const float *cols, size_t count) | nvsg::GeoSet | [inline]
setStrips(const IndexSet *pStrips, size_t numStrips) | nvsg::TriStrips |
setStrips(size_t pos, const IndexSet *pStrips, size_t numStrips) | nvsg::TriStrips |
setTexCoords(size_t texUnit, unsigned int fdim, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setTexCoords(size_t texUnit, unsigned int fdim, size_t pos, const float *coords, size_t count) | nvsg::GeoSet | [inline]
setVertexAttributeData(size_t attrib, unsigned int fdim, const float *fdata, size_t count) | nvsg::GeoSet |
setVertexAttributeData(size_t attrib, unsigned int fdim, size_t pos, const float *fdata, size_t count) | nvsg::GeoSet |
setVertices(const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
setVertices(size_t pos, const nvmath::Vec3f *verts, size_t count) | nvsg::GeoSet | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) const | nvsg::DALHost | [inline]
TEXTURE_COORD_0 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_3 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_4 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_5 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_6 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
TEXTURE_COORD_7 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
theAllocator typedef | nvutil::IAllocator |
TriStrips(void) | nvsg::TriStrips | [protected]
TriStrips(const GeoSet &rhs) | nvsg::TriStrips | [protected]
TriStrips(const TriStrips &rhs) | nvsg::TriStrips | [protected]
UNUSED_1 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
UNUSED_2 enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_POSITION enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
VERTEX_WEIGHTS enum value (defined in nvsg::GeoSet) | nvsg::GeoSet |
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::Object | [inline]
~Drawable(void) | nvsg::Drawable | [protected, virtual]
~GeoSet(void) | nvsg::GeoSet | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~Object() | nvsg::Object | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~TriStrips(void) | nvsg::TriStrips | [protected, virtual]
Generated on Fri Jan 28 09:21:54 2005 for NVSGSDK by NVIDIA


Member List

nvsg::ViewState Member List

This is the complete list of members for nvsg::ViewState, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
clearCullTree(void) const | nvsg::ViewState |
clone() const | nvsg::ViewState |
create() | nvsg::ViewState | [static]
doneReading(void) const | nvsg::ViewState | [inline]
doneWriting(void) const | nvsg::ViewState | [inline]
getAnimationFrame(void) const | nvsg::ViewState | [inline]
getCamera(void) const | nvsg::ViewState | [inline]
getCullTree(void) const | nvsg::ViewState | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isAnimating(void) const | nvsg::ViewState | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isStereo(void) const | nvsg::ViewState | [inline]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setAnimation(bool state) | nvsg::ViewState | [inline]
setAnimationFrame(size_t frame) | nvsg::ViewState | [inline]
setCamera(const Camera *pCamera) | nvsg::ViewState | [inline]
setCullTree(const CullData *cullTree) | nvsg::ViewState | [inline]
setStereo(bool state) | nvsg::ViewState | [inline]
theAllocator typedef | nvutil::IAllocator |
ViewState(void) | nvsg::ViewState | [protected]
ViewState(const ViewState &rhs) | nvsg::ViewState | [protected]
waitToRead(size_t milliseconds=0xFFFFFFFF) const | nvsg::ViewState | [inline]
waitToWrite(size_t milliseconds=0xFFFFFFFF) const | nvsg::ViewState | [inline]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~ViewState(void) | nvsg::ViewState | [protected, virtual]
Generated on Fri Jan 28 09:21:55 2005 for NVSGSDK by NVIDIA


Member List

nvsg::VNVector Member List

This is the complete list of members for nvsg::VNVector, including all inherited members.
normals | nvsg::VNVector
vertices | nvsg::VNVector
Generated on Fri Jan 28 09:21:55 2005 for NVSGSDK by NVIDIA


Member List

NVSGLoader Member List

This is the complete list of members for NVSGLoader, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void) | NVSGLoader | [inline, virtual]
load(const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState) | NVSGLoader |
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, const ViewState *&viewState)=0 | nvsg::SceneLoader | [pure virtual]
NVSGLoader() (defined in NVSGLoader) | NVSGLoader |
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~NVSGLoader() (defined in NVSGLoader) | NVSGLoader |
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneLoader() | nvsg::SceneLoader | [protected, virtual]
Generated on Fri Jan 28 09:20:38 2005 for NVSGSDK by NVIDIA


Member List

NVSGSaver Member List

This is the complete list of members for NVSGSaver, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void) | NVSGSaver | [inline, virtual]
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
save(const nvsg::Scene &scene, const nvsg::ViewState *viewState, const std::string &filename) | NVSGSaver |
nvsg::SceneSaver::save(const Scene &scene, const ViewState *viewState, const std::string &filename)=0 | nvsg::SceneSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneSaver() | nvsg::SceneSaver | [protected, virtual]
Generated on Fri Jan 28 09:20:38 2005 for NVSGSDK by NVIDIA


Member List

NVSGSaveTraverser Member List

This is the complete list of members for NVSGSaveTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | NVSGSaveTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | NVSGSaveTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | NVSGSaveTraverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | NVSGSaveTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | NVSGSaveTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | NVSGSaveTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | NVSGSaveTraverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | NVSGSaveTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | NVSGSaveTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | NVSGSaveTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | NVSGSaveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | NVSGSaveTraverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | NVSGSaveTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | NVSGSaveTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | NVSGSaveTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | NVSGSaveTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | NVSGSaveTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | NVSGSaveTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | NVSGSaveTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | NVSGSaveTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | NVSGSaveTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | NVSGSaveTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | NVSGSaveTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | NVSGSaveTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | NVSGSaveTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | NVSGSaveTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | NVSGSaveTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | NVSGSaveTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | NVSGSaveTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
NVSGSaveTraverser() | NVSGSaveTraverser |
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setFILE(FILE *fh) | NVSGSaveTraverser |
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::AppTraverser Member List

This is the complete list of members for nvtraverser::AppTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
AppTraverser() | nvtraverser::AppTraverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::AppTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::AppTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::AppTraverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::AppTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::AppTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::AppTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::AppTraverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::AppTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_animationFrame | nvtraverser::AppTraverser | [protected]
m_bApplyingCgFx | nvtraverser::AppTraverser | [protected]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::AppTraverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~AppTraverser() | nvtraverser::AppTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:21:56 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::CondenseTraverser Member List

This is the complete list of members for nvtraverser::CondenseTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
CondenseTraverser(void) | nvtraverser::CondenseTraverser |
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::CondenseTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::CondenseTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setEpsilon(float epsilon) | nvtraverser::CondenseTraverser | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~CondenseTraverser(void) | nvtraverser::CondenseTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:21:57 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::CullTraverser Member List

This is the complete list of members for nvtraverser::CullTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
cullCode(const nvsg::Drawable *p) const | nvtraverser::CullTraverser | [protected, virtual]
cullCode(const nvsg::Node *p) const | nvtraverser::CullTraverser | [protected, virtual]
CullTraverser() | nvtraverser::CullTraverser | [protected]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::CullTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::CullTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::CullTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::CullTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::CullTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::CullTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::CullTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::CullTraverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~CullTraverser(void) | nvtraverser::CullTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:21:58 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::DrawableUnifyTraverser Member List

This is the complete list of members for nvtraverser::DrawableUnifyTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
combine(nvsg::GeoSet *p0, const nvsg::GeoSet *p1) (defined in nvtraverser::DrawableUnifyTraverser) | nvtraverser::DrawableUnifyTraverser | [protected]
combine(nvsg::Quads *p0, const nvsg::Quads *p1) (defined in nvtraverser::DrawableUnifyTraverser) | nvtraverser::DrawableUnifyTraverser | [protected]
combine(nvsg::QuadStrips *p0, const nvsg::QuadStrips *p1) (defined in nvtraverser::DrawableUnifyTraverser) | nvtraverser::DrawableUnifyTraverser | [protected]
combine(nvsg::Triangles *p0, const nvsg::Triangles *p1) (defined in nvtraverser::DrawableUnifyTraverser) | nvtraverser::DrawableUnifyTraverser | [protected]
combine(nvsg::TriStrips *p0, const nvsg::TriStrips *p1) (defined in nvtraverser::DrawableUnifyTraverser) | nvtraverser::DrawableUnifyTraverser | [protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
DrawableUnifyTraverser(void) | nvtraverser::DrawableUnifyTraverser |
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getIgnoreNames(void) const | nvtraverser::DrawableUnifyTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setIgnoreNames(bool ignore) | nvtraverser::DrawableUnifyTraverser | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~DrawableUnifyTraverser(void) | nvtraverser::DrawableUnifyTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:21:59 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::FrustumCullTraverser Member List

This is the complete list of members for nvtraverser::FrustumCullTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
cullCode(const nvsg::Drawable *p) const | nvtraverser::FrustumCullTraverser | [protected, virtual]
cullCode(const nvsg::Node *p) const | nvtraverser::FrustumCullTraverser | [protected, virtual]
CullTraverser() | nvtraverser::CullTraverser | [protected]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::CullTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
FrustumCullTraverser(void) | nvtraverser::FrustumCullTraverser |
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::CullTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::CullTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::CullTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::CullTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::CullTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::CullTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::FrustumCullTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::FrustumCullTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::FrustumCullTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::CullTraverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~CullTraverser(void) | nvtraverser::CullTraverser | [protected, virtual]
~FrustumCullTraverser(void) | nvtraverser::FrustumCullTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:00 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::GeoNodeUnifyTraverser Member List

This is the complete list of members for nvtraverser::GeoNodeUnifyTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
GeoNodeUnifyTraverser(void) | nvtraverser::GeoNodeUnifyTraverser |
getIgnoreNames(void) const | nvtraverser::GeoNodeUnifyTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::GeoNodeUnifyTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::GeoNodeUnifyTraverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::GeoNodeUnifyTraverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setIgnoreNames(bool ignore) | nvtraverser::GeoNodeUnifyTraverser | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~GeoNodeUnifyTraverser(void) | nvtraverser::GeoNodeUnifyTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:01 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::GLTraverser Member List

This is the complete list of members for nvtraverser::GLTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
DALDataCreator() | nvsg::DALDataCreator | [inline, protected]
disableLightSource(const nvsg::LightSource *p) | nvtraverser::GLTraverser | [protected, virtual]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::GLTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
GCT_DL enum value | nvtraverser::RenderTraverser |
GCT_NONE enum value | nvtraverser::RenderTraverser |
GCT_VBO enum value | nvtraverser::RenderTraverser |
GeometryCacheTechnique enum name | nvtraverser::RenderTraverser |
getCurrentLightIndex() const | nvtraverser::RenderTraverser | [inline, protected]
getGeometryCacheTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getJitterTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getLineAntiAliasing(void) const | nvtraverser::RenderTraverser | [inline]
getLineWidth(void) const | nvtraverser::RenderTraverser | [inline]
getOITMaxPasses(void) const | nvtraverser::GLTraverser | [virtual]
getOITTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getOITThreshold(void) const | nvtraverser::GLTraverser | [virtual]
getPointAntiAliasing(void) const | nvtraverser::RenderTraverser | [inline]
getPointSize(void) const | nvtraverser::RenderTraverser | [inline]
getRenderTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getTextureSizeLimits(size_t &width, size_t &height) const | nvtraverser::GLTraverser | [virtual]
getTransparencyTechnique(void) const | nvtraverser::GLTraverser | [virtual]
GLTraverser(void) | nvtraverser::GLTraverser |
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::GLTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::GLTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::GLTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::GLTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::GLTraverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::GLTraverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::GLTraverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::GLTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::GLTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::GLTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::GLTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::GLTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::GLTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::GLTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::GLTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::GLTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::GLTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::GLTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::GLTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::GLTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::GLTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::GLTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::GLTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isGeometryCacheTechniqueSupported(GeometryCacheTechnique gct) const | nvtraverser::GLTraverser | [virtual]
isJitterTechniqueSupported(JitterTechnique jt) const | nvtraverser::GLTraverser | [virtual]
isOITTechniqueSupported(OITTechnique ot) const | nvtraverser::GLTraverser | [virtual]
isRenderTechniqueSupported(RenderTechnique rt) const | nvtraverser::GLTraverser | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isTransparencyTechniqueSupported(TransparencyTechnique tt) const | nvtraverser::GLTraverser | [virtual]
JitterTechnique enum name | nvtraverser::RenderTraverser |
JT_ACCUM enum value | nvtraverser::RenderTraverser |
JT_PBUFFER enum value | nvtraverser::RenderTraverser |
JT_READ_PIXELS enum value | nvtraverser::RenderTraverser |
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_effect (defined in nvtraverser::GLTraverser) | nvtraverser::GLTraverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_perStateAttributeIncarnationMap | nvtraverser::RenderTraverser | [protected]
m_resetStateAttribute (defined in nvtraverser::GLTraverser) | nvtraverser::GLTraverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
OITTechnique enum name | nvtraverser::RenderTraverser |
onReleaseDAL(nvsg::HDAL hDAL) | nvtraverser::GLTraverser | [virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
OT_PBUFFER enum value | nvtraverser::RenderTraverser |
OT_TEXTURE enum value | nvtraverser::RenderTraverser |
postTraverseGroup(const nvsg::Group *p) | nvtraverser::RenderTraverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::GLTraverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::GLTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::GLTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID) | nvsg::DALDataCreator | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
RenderTechnique enum name | nvtraverser::RenderTraverser |
RenderTraverser(void) | nvtraverser::RenderTraverser | [protected]
RT_EFFECTED enum value | nvtraverser::RenderTraverser |
RT_POINTS enum value | nvtraverser::RenderTraverser |
RT_SHADED enum value | nvtraverser::RenderTraverser |
RT_TEXTURED enum value | nvtraverser::RenderTraverser |
RT_WIREFRAME enum value | nvtraverser::RenderTraverser |
setGeometryCacheTechnique(GeometryCacheTechnique gct) | nvtraverser::GLTraverser | [virtual]
setJitterTechnique(JitterTechnique jt) | nvtraverser::GLTraverser | [virtual]
setLineAntiAliasing(bool onOff) | nvtraverser::RenderTraverser | [inline]
setLineWidth(float width) | nvtraverser::RenderTraverser | [inline]
setOITMaxPasses(size_t maxPasses) | nvtraverser::GLTraverser | [virtual]
setOITTechnique(OITTechnique ot) | nvtraverser::GLTraverser | [virtual]
setOITThreshold(float threshold) | nvtraverser::GLTraverser | [virtual]
setPointAntiAliasing(bool onOff) | nvtraverser::RenderTraverser | [inline]
setPointSize(float size) | nvtraverser::RenderTraverser | [inline]
setRenderTechnique(RenderTechnique rt) | nvtraverser::GLTraverser | [virtual]
setTextureSizeLimits(size_t width, size_t height) | nvtraverser::GLTraverser | [virtual]
setTransparencyTechnique(TransparencyTechnique tt) | nvtraverser::GLTraverser | [virtual]
theAllocator typedef | nvutil::IAllocator |
TransparencyTechnique enum name | nvtraverser::RenderTraverser |
traverseLight(const nvsg::LightSource *p) | nvtraverser::RenderTraverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
TT_BLENDED enum value | nvtraverser::RenderTraverser |
TT_NONE enum value | nvtraverser::RenderTraverser |
TT_ORDER_INDEPENDENT enum value | nvtraverser::RenderTraverser |
TT_STIPPLED enum value | nvtraverser::RenderTraverser |
~GLTraverser(void) | nvtraverser::GLTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~RenderTraverser(void) | nvtraverser::RenderTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:03 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::GroupUnifyTraverser Member List

This is the complete list of members for nvtraverser::GroupUnifyTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getIgnoreNames(void) const | nvtraverser::GroupUnifyTraverser | [inline]
GroupUnifyTraverser(void) | nvtraverser::GroupUnifyTraverser |
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::GroupUnifyTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::GroupUnifyTraverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::GroupUnifyTraverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setIgnoreNames(bool ignore) | nvtraverser::GroupUnifyTraverser | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~GroupUnifyTraverser(void) | nvtraverser::GroupUnifyTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:04 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::IdentityToGroupTraverser Member List

This is the complete list of members for nvtraverser::IdentityToGroupTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::IdentityToGroupTraverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::IdentityToGroupTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::IdentityToGroupTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
IdentityToGroupTraverser(void) | nvtraverser::IdentityToGroupTraverser |
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~IdentityToGroupTraverser(void) | nvtraverser::IdentityToGroupTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:05 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::Intersection Member List

This is the complete list of members for nvtraverser::Intersection, including all inherited members.
clone(const Intersection &rhs) | nvtraverser::Intersection | [inline, protected]
getDist() const | nvtraverser::Intersection | [inline]
getDrawable() const | nvtraverser::Intersection | [inline]
getIsp() const | nvtraverser::Intersection | [inline]
getPath() const | nvtraverser::Intersection | [inline]
Intersection(const nvsg::Path *pPath, const nvsg::Drawable *pDrawable, const nvmath::Vec3f &isp, const float &dist) | nvtraverser::Intersection | [inline]
Intersection(const Intersection &rhs) | nvtraverser::Intersection | [inline]
Intersection(void) | nvtraverser::Intersection | [inline, protected]
m_dist | nvtraverser::Intersection | [protected]
m_isp | nvtraverser::Intersection | [protected]
m_pDrawable | nvtraverser::Intersection | [protected]
m_pPath | nvtraverser::Intersection | [protected]
operator=(const Intersection &rhs) | nvtraverser::Intersection | [inline]
~Intersection(void) | nvtraverser::Intersection | [inline, virtual]
Generated on Fri Jan 28 09:22:10 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::ModelViewTraverser Member List

This is the complete list of members for nvtraverser::ModelViewTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:06 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::OcclusionCullGLTraverser Member List

This is the complete list of members for nvtraverser::OcclusionCullGLTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
DALDataCreator() | nvsg::DALDataCreator | [inline, protected]
disableLightSource(const nvsg::LightSource *p) | nvtraverser::GLTraverser | [protected, virtual]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::GLTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
GCT_DL enum value | nvtraverser::RenderTraverser |
GCT_NONE enum value | nvtraverser::RenderTraverser |
GCT_VBO enum value | nvtraverser::RenderTraverser |
GeometryCacheTechnique enum name | nvtraverser::RenderTraverser |
getCurrentLightIndex() const | nvtraverser::RenderTraverser | [inline, protected]
getGeometryCacheTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getJitterTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getLineAntiAliasing(void) const | nvtraverser::RenderTraverser | [inline]
getLineWidth(void) const | nvtraverser::RenderTraverser | [inline]
getOITMaxPasses(void) const | nvtraverser::GLTraverser | [virtual]
getOITTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getOITThreshold(void) const | nvtraverser::GLTraverser | [virtual]
getPointAntiAliasing(void) const | nvtraverser::RenderTraverser | [inline]
getPointSize(void) const | nvtraverser::RenderTraverser | [inline]
getQueries(void) (defined in nvtraverser::OcclusionCullGLTraverser) | nvtraverser::OcclusionCullGLTraverser | [inline]
getRenderTechnique(void) const | nvtraverser::GLTraverser | [virtual]
getTextureSizeLimits(size_t &width, size_t &height) const | nvtraverser::GLTraverser | [virtual]
getTransparencyTechnique(void) const | nvtraverser::GLTraverser | [virtual]
GLTraverser(void) | nvtraverser::GLTraverser |
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *g) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::GLTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::GLTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::GLTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isGeometryCacheTechniqueSupported(GeometryCacheTechnique gct) const | nvtraverser::GLTraverser | [virtual]
isJitterTechniqueSupported(JitterTechnique jt) const | nvtraverser::GLTraverser | [virtual]
isOITTechniqueSupported(OITTechnique ot) const | nvtraverser::GLTraverser | [virtual]
isRenderTechniqueSupported(RenderTechnique rt) const | nvtraverser::GLTraverser | [virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isTransparencyTechniqueSupported(TransparencyTechnique tt) const | nvtraverser::GLTraverser | [virtual]
JitterTechnique enum name | nvtraverser::RenderTraverser |
JT_ACCUM enum value | nvtraverser::RenderTraverser |
JT_PBUFFER enum value | nvtraverser::RenderTraverser |
JT_READ_PIXELS enum value | nvtraverser::RenderTraverser |
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_effect (defined in nvtraverser::GLTraverser) | nvtraverser::GLTraverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_perStateAttributeIncarnationMap | nvtraverser::RenderTraverser | [protected]
m_resetStateAttribute (defined in nvtraverser::GLTraverser) | nvtraverser::GLTraverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
OcclusionCullGLTraverser(void) | nvtraverser::OcclusionCullGLTraverser |
OITTechnique enum name | nvtraverser::RenderTraverser |
onReleaseDAL(nvsg::HDAL hDAL) | nvtraverser::GLTraverser | [virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
OT_PBUFFER enum value | nvtraverser::RenderTraverser |
OT_TEXTURE enum value | nvtraverser::RenderTraverser |
postTraverseGroup(const nvsg::Group *p) | nvtraverser::RenderTraverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::GLTraverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::GLTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID) | nvsg::DALDataCreator | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
RenderTechnique enum name | nvtraverser::RenderTraverser |
RenderTraverser(void) | nvtraverser::RenderTraverser | [protected]
RT_EFFECTED enum value | nvtraverser::RenderTraverser |
RT_POINTS enum value | nvtraverser::RenderTraverser |
RT_SHADED enum value | nvtraverser::RenderTraverser |
RT_TEXTURED enum value | nvtraverser::RenderTraverser |
RT_WIREFRAME enum value | nvtraverser::RenderTraverser |
setGeometryCacheTechnique(GeometryCacheTechnique gct) | nvtraverser::GLTraverser | [virtual]
setJitterTechnique(JitterTechnique jt) | nvtraverser::GLTraverser | [virtual]
setLineAntiAliasing(bool onOff) | nvtraverser::RenderTraverser | [inline]
setLineWidth(float width) | nvtraverser::RenderTraverser | [inline]
setOITMaxPasses(size_t maxPasses) | nvtraverser::GLTraverser | [virtual]
setOITTechnique(OITTechnique ot) | nvtraverser::GLTraverser | [virtual]
setOITThreshold(float threshold) | nvtraverser::GLTraverser | [virtual]
setPointAntiAliasing(bool onOff) | nvtraverser::RenderTraverser | [inline]
setPointSize(float size) | nvtraverser::RenderTraverser | [inline]
setRenderTechnique(RenderTechnique rt) | nvtraverser::GLTraverser | [virtual]
setTextureSizeLimits(size_t width, size_t height) | nvtraverser::GLTraverser | [virtual]
setTransparencyTechnique(TransparencyTechnique tt) | nvtraverser::GLTraverser | [virtual]
theAllocator typedef | nvutil::IAllocator |
TransparencyTechnique enum name | nvtraverser::RenderTraverser |
traverseLight(const nvsg::LightSource *p) | nvtraverser::RenderTraverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
TT_BLENDED enum value | nvtraverser::RenderTraverser |
TT_NONE enum value | nvtraverser::RenderTraverser |
TT_ORDER_INDEPENDENT enum value | nvtraverser::RenderTraverser |
TT_STIPPLED enum value | nvtraverser::RenderTraverser |
~GLTraverser(void) | nvtraverser::GLTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~OcclusionCullGLTraverser(void) | nvtraverser::OcclusionCullGLTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~RenderTraverser(void) | nvtraverser::RenderTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:08 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::OcclusionCullTraverser Member List

This is the complete list of members for nvtraverser::OcclusionCullTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
cullCode(const nvsg::Drawable *p) const | nvtraverser::OcclusionCullTraverser | [protected, virtual]
cullCode(const nvsg::Node *p) const | nvtraverser::OcclusionCullTraverser | [protected, virtual]
CullTraverser() | nvtraverser::CullTraverser | [protected]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::OcclusionCullTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getGeometryCacheTechnique(void) const | nvtraverser::OcclusionCullTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::CullTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::CullTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::CullTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::CullTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::CullTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::CullTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::CullTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isGeometryCacheTechniqueSupported(RenderTraverser::GeometryCacheTechnique gct) const | nvtraverser::OcclusionCullTraverser | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
OcclusionCullTraverser(void) | nvtraverser::OcclusionCullTraverser |
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setGeometryCacheTechnique(RenderTraverser::GeometryCacheTechnique gct) | nvtraverser::OcclusionCullTraverser | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::CullTraverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~CullTraverser(void) | nvtraverser::CullTraverser | [protected, virtual]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~OcclusionCullTraverser(void) | nvtraverser::OcclusionCullTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:09 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::RayIntersectTraverser Member List

This is the complete list of members for nvtraverser::RayIntersectTraverser, including all inherited members.
_BSFAR enum value | nvtraverser::RayIntersectTraverser | [protected]
_BSNEAR enum value | nvtraverser::RayIntersectTraverser | [protected]
_BSNEARFAR enum value | nvtraverser::RayIntersectTraverser | [protected]
_BSTANGENT enum value | nvtraverser::RayIntersectTraverser | [protected]
_NONE enum value | nvtraverser::RayIntersectTraverser | [protected]
_RAY_DIRECTION_DEFAULT | nvtraverser::RayIntersectTraverser | [protected, static]
_RAY_ORIGIN_DEFAULT | nvtraverser::RayIntersectTraverser | [protected, static]
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
checkIntersection(const nvmath::Sphere3f &sphere) | nvtraverser::RayIntersectTraverser | [protected]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::RayIntersectTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getIntersections(void) const | nvtraverser::RayIntersectTraverser | [inline]
getNearest(void) const | nvtraverser::RayIntersectTraverser | [inline]
getNumberOfIntersections(void) const | nvtraverser::RayIntersectTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
intersectTriangle(const nvmath::Vec3f &v0, const nvmath::Vec3f &v1, const nvmath::Vec3f &v2, nvmath::Vec3f &isp, float &dist) | nvtraverser::RayIntersectTraverser | [protected]
isBackFaceCullingEnabled() | nvtraverser::RayIntersectTraverser | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
ISType enum name | nvtraverser::RayIntersectTraverser | [protected]
m_backFaceCulling | nvtraverser::RayIntersectTraverser | [protected]
m_camClipping | nvtraverser::RayIntersectTraverser | [protected]
m_camera | nvtraverser::RayIntersectTraverser | [protected]
m_ccw | nvtraverser::RayIntersectTraverser | [protected]
m_cullStack | nvtraverser::Traverser | [protected]
m_curPath | nvtraverser::RayIntersectTraverser | [protected]
m_currentFrame | nvtraverser::RayIntersectTraverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_intersectionList | nvtraverser::RayIntersectTraverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_msCamDir | nvtraverser::RayIntersectTraverser | [protected]
m_msRayDir | nvtraverser::RayIntersectTraverser | [protected]
m_msRayOrigin | nvtraverser::RayIntersectTraverser | [protected]
m_nearestIntIdx | nvtraverser::RayIntersectTraverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_rayDir | nvtraverser::RayIntersectTraverser | [protected]
m_rayOrigin | nvtraverser::RayIntersectTraverser | [protected]
m_scaleFactor | nvtraverser::RayIntersectTraverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::RayIntersectTraverser | [protected, virtual]
RayIntersectTraverser(void) | nvtraverser::RayIntersectTraverser |
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
release() | nvtraverser::RayIntersectTraverser |
removeRef() const | nvutil::RCObject | [inline]
setBackFaceCulling(bool enable) | nvtraverser::RayIntersectTraverser | [inline]
setCamClipping(bool b) | nvtraverser::RayIntersectTraverser | [inline]
setRay(const nvmath::Vec3f &origin, const nvmath::Vec3f &dir) | nvtraverser::RayIntersectTraverser |
storeIntersection(const nvsg::GeoSet *p, const nvmath::Vec3f &isp, float dist) | nvtraverser::RayIntersectTraverser | [protected]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~RayIntersectTraverser(void) | nvtraverser::RayIntersectTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:11 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::RenderTraverser Member List

This is the complete list of members for nvtraverser::RenderTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
DALDataCreator() | nvsg::DALDataCreator | [inline, protected]
disableLightSource(const nvsg::LightSource *p)=0 | nvtraverser::RenderTraverser | [protected, pure virtual]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
GCT_DL enum value | nvtraverser::RenderTraverser |
GCT_NONE enum value | nvtraverser::RenderTraverser |
GCT_VBO enum value | nvtraverser::RenderTraverser |
GeometryCacheTechnique enum name | nvtraverser::RenderTraverser |
getCurrentLightIndex() const | nvtraverser::RenderTraverser | [inline, protected]
getGeometryCacheTechnique(void) const=0 | nvtraverser::RenderTraverser | [pure virtual]
getJitterTechnique(void) const=0 | nvtraverser::RenderTraverser | [pure virtual]
getLineAntiAliasing(void) const | nvtraverser::RenderTraverser | [inline]
getLineWidth(void) const | nvtraverser::RenderTraverser | [inline]
getOITMaxPasses(void) const=0 | nvtraverser::RenderTraverser | [pure virtual]
getOITTechnique(void) const=0 | nvtraverser::RenderTraverser | [pure virtual]
getOITThreshold(void) const=0 | nvtraverser::RenderTraverser | [pure virtual]
getPointAntiAliasing(void) const | nvtraverser::RenderTraverser | [inline]
getPointSize(void) const | nvtraverser::RenderTraverser | [inline]
getRenderTechnique(void) const=0 | nvtraverser::RenderTraverser | [pure virtual]
getTextureSizeLimits(size_t &width, size_t &height) const=0 | nvtraverser::RenderTraverser | [pure virtual]
getTransparencyTechnique(void) const=0 | nvtraverser::RenderTraverser | [pure virtual]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::RenderTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::RenderTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isGeometryCacheTechniqueSupported(GeometryCacheTechnique gct) const=0 | nvtraverser::RenderTraverser | [pure virtual]
isJitterTechniqueSupported(JitterTechnique jt) const=0 | nvtraverser::RenderTraverser | [pure virtual]
isOITTechniqueSupported(OITTechnique ot) const=0 | nvtraverser::RenderTraverser | [pure virtual]
isRenderTechniqueSupported(RenderTechnique rt) const=0 | nvtraverser::RenderTraverser | [pure virtual]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
isTransparencyTechniqueSupported(TransparencyTechnique tt) const=0 | nvtraverser::RenderTraverser | [pure virtual]
JitterTechnique enum name | nvtraverser::RenderTraverser |
JT_ACCUM enum value | nvtraverser::RenderTraverser |
JT_PBUFFER enum value | nvtraverser::RenderTraverser |
JT_READ_PIXELS enum value | nvtraverser::RenderTraverser |
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
m_perStateAttributeIncarnationMap | nvtraverser::RenderTraverser | [protected]
m_transformStack | nvtraverser::ModelViewTraverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
ModelViewTraverser(bool readOnly=true) | nvtraverser::ModelViewTraverser | [protected]
OITTechnique enum name | nvtraverser::RenderTraverser |
onReleaseDAL(HDAL hDAL) | nvsg::DALDataCreator | [inline, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
OT_PBUFFER enum value | nvtraverser::RenderTraverser |
OT_TEXTURE enum value | nvtraverser::RenderTraverser |
postTraverseGroup(const nvsg::Group *p) | nvtraverser::RenderTraverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
postTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::ModelViewTraverser | [protected, virtual]
preTraverseTransform(const nvsg::Transform *p) | nvtraverser::ModelViewTraverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID) | nvsg::DALDataCreator | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
RenderTechnique enum name | nvtraverser::RenderTraverser |
RenderTraverser(void) | nvtraverser::RenderTraverser | [protected]
RT_EFFECTED enum value | nvtraverser::RenderTraverser |
RT_POINTS enum value | nvtraverser::RenderTraverser |
RT_SHADED enum value | nvtraverser::RenderTraverser |
RT_TEXTURED enum value | nvtraverser::RenderTraverser |
RT_WIREFRAME enum value | nvtraverser::RenderTraverser |
setGeometryCacheTechnique(GeometryCacheTechnique gct)=0 | nvtraverser::RenderTraverser | [pure virtual]
setJitterTechnique(JitterTechnique jt)=0 | nvtraverser::RenderTraverser | [pure virtual]
setLineAntiAliasing(bool onOff) | nvtraverser::RenderTraverser | [inline]
setLineWidth(float width) | nvtraverser::RenderTraverser | [inline]
setOITMaxPasses(size_t maxPasses)=0 | nvtraverser::RenderTraverser | [pure virtual]
setOITTechnique(OITTechnique ot)=0 | nvtraverser::RenderTraverser | [pure virtual]
setOITThreshold(float threshold)=0 | nvtraverser::RenderTraverser | [pure virtual]
setPointAntiAliasing(bool onOff) | nvtraverser::RenderTraverser | [inline]
setPointSize(float size) | nvtraverser::RenderTraverser | [inline]
setRenderTechnique(RenderTechnique rt)=0 | nvtraverser::RenderTraverser | [pure virtual]
setTextureSizeLimits(size_t width, size_t height)=0 | nvtraverser::RenderTraverser | [pure virtual]
setTransparencyTechnique(TransparencyTechnique tt)=0 | nvtraverser::RenderTraverser | [pure virtual]
theAllocator typedef | nvutil::IAllocator |
TransparencyTechnique enum name | nvtraverser::RenderTraverser |
traverseLight(const nvsg::LightSource *p) | nvtraverser::RenderTraverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
TT_BLENDED enum value | nvtraverser::RenderTraverser |
TT_NONE enum value | nvtraverser::RenderTraverser |
TT_ORDER_INDEPENDENT enum value | nvtraverser::RenderTraverser |
TT_STIPPLED enum value | nvtraverser::RenderTraverser |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~ModelViewTraverser() | nvtraverser::ModelViewTraverser | [protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~RenderTraverser(void) | nvtraverser::RenderTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:14 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::SearchTraverser Member List

This is the complete list of members for nvtraverser::SearchTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | nvtraverser::SearchTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getResults(void) const | nvtraverser::SearchTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::SearchTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::SearchTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::SearchTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::SearchTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::SearchTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::SearchTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
iterator typedef | nvtraverser::SearchTraverser |
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
search(const nvsg::Animation< nvmath::Trafo > *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Animation< nvsg::VNVector > *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Camera *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Drawable *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::GeoSet *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Group *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::InterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::InterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::LightSource *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::MonoCamera *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Node *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Object *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Quads *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::StateAttribute *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Transform *p) | nvtraverser::SearchTraverser | [protected, virtual]
search(const nvsg::Triangles *p) | nvtraverser::SearchTraverser | [protected, virtual]
SearchTraverser(void) | nvtraverser::SearchTraverser |
setBaseClassSearch(bool enable) | nvtraverser::SearchTraverser | [inline]
setClassName(const std::string &name) | nvtraverser::SearchTraverser | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~SearchTraverser(void) | nvtraverser::SearchTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:15 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::SmoothTraverser Member List

This is the complete list of members for nvtraverser::SmoothTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::SmoothTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::SmoothTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::SmoothTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::SmoothTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::SmoothTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::SmoothTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::SmoothTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::SmoothTraverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setCreaseAngle(float creaseAngle) | nvtraverser::SmoothTraverser |
SmoothTraverser(void) | nvtraverser::SmoothTraverser |
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~SmoothTraverser(void) | nvtraverser::SmoothTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:16 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::StateSetUnifyTraverser Member List

This is the complete list of members for nvtraverser::StateSetUnifyTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getIgnoreNames(void) const | nvtraverser::StateSetUnifyTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t textureUnit) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setIgnoreNames(bool ignore) | nvtraverser::StateSetUnifyTraverser | [inline]
StateSetUnifyTraverser(void) | nvtraverser::StateSetUnifyTraverser |
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StateSetUnifyTraverser(void) | nvtraverser::StateSetUnifyTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:17 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::StrippingTraverser Member List

This is the complete list of members for nvtraverser::StrippingTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getMinimalLengths(size_t &triStripLength, size_t &quadStripLength) const | nvtraverser::StrippingTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::StrippingTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::StrippingTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::StrippingTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::StrippingTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::StrippingTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::StrippingTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setMinimalLengths(size_t triStripLength, size_t quadStripLength) | nvtraverser::StrippingTraverser | [inline]
StrippingTraverser(void) | nvtraverser::StrippingTraverser |
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~StrippingTraverser(void) | nvtraverser::StrippingTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:18 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::TransformUnifyTraverser Member List

This is the complete list of members for nvtraverser::TransformUnifyTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::TransformUnifyTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
getIgnoreNames(void) const | nvtraverser::TransformUnifyTraverser | [inline]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::TransformUnifyTraverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::TransformUnifyTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::TransformUnifyTraverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::TransformUnifyTraverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setIgnoreNames(bool ignore) | nvtraverser::TransformUnifyTraverser | [inline]
theAllocator typedef | nvutil::IAllocator |
TransformUnifyTraverser(void) | nvtraverser::TransformUnifyTraverser |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~TransformUnifyTraverser(void) | nvtraverser::TransformUnifyTraverser | [protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:19 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::Traverser Member List

This is the complete list of members for nvtraverser::Traverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::Traverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
Generated on Fri Jan 28 09:22:21 2005 for NVSGSDK by NVIDIA


Member List

nvtraverser::TriangulateTraverser Member List

This is the complete list of members for nvtraverser::TriangulateTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::TriangulateTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | nvtraverser::TriangulateTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::TriangulateTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::TriangulateTraverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | nvtraverser::Traverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
TriangulateTraverser(void) | nvtraverser::TriangulateTraverser |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
~TriangulateTraverser(void) | nvtraverser::TriangulateTraverser | [protected, virtual]
Generated on Fri Jan 28 09:22:22 2005 for NVSGSDK by NVIDIA


Member List

nvui::AnimationCamManip Member List

This is the complete list of members for nvui::AnimationCamManip, including all inherited members.
_CONTROL_KEY enum value | nvui::CameraManipulator |
_LEFT_MOUSE_BTN enum value | nvui::CameraManipulator |
_MIDDLE_MOUSE_BTN enum value | nvui::CameraManipulator |
_NO_BTN_KEY enum value | nvui::CameraManipulator |
_RIGHT_MOUSE_BTN enum value | nvui::CameraManipulator |
_SHIFT_KEY enum value | nvui::CameraManipulator |
AnimationCamManip(void) | nvui::AnimationCamManip |
apply() | nvui::AnimationCamManip | [virtual]
attach(const nvsg::Camera *pCamera) | nvui::CameraManipulator | [inline]
CameraManipulator(void) | nvui::CameraManipulator |
convertKey(UINT key) | nvui::CameraManipulator | [protected, virtual]
convertMouseButton(UINT btn) | nvui::CameraManipulator | [protected, virtual]
getAttachedCamera(void) | nvui::CameraManipulator | [inline]
getButtonState(void) const | nvui::CameraManipulator | [inline]
getKeyState(void) const | nvui::CameraManipulator | [inline]
keyDown(UINT key) | nvui::CameraManipulator | [virtual]
keyRepeat() | nvui::CameraManipulator | [virtual]
keyUp(UINT key) | nvui::CameraManipulator | [virtual]
m_animation | nvui::AnimationCamManip | [protected]
m_buttonState | nvui::CameraManipulator | [protected]
m_camera | nvui::CameraManipulator | [protected]
m_currentFrame | nvui::AnimationCamManip | [protected]
m_dragAndThrowAnim | nvui::CameraManipulator | [protected]
m_keyState | nvui::CameraManipulator | [protected]
m_mouseX | nvui::CameraManipulator | [protected]
m_mouseXlast | nvui::CameraManipulator | [protected]
m_mouseXstart | nvui::CameraManipulator | [protected]
m_mouseY | nvui::CameraManipulator | [protected]
m_mouseYlast | nvui::CameraManipulator | [protected]
m_mouseYstart | nvui::CameraManipulator | [protected]
m_vpHeight | nvui::CameraManipulator | [protected]
m_vpWidth | nvui::CameraManipulator | [protected]
mouseButtonDown(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseButtonUp(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseMotion(int x, int y) | nvui::CameraManipulator | [virtual]
resetButtonState(void) | nvui::CameraManipulator | [inline]
resetKeyState(void) | nvui::CameraManipulator | [inline]
setAnimation(const nvsg::Animation< nvmath::Trafo > *pAnimation) | nvui::AnimationCamManip |
setAnimationFrame(size_t nFrame) | nvui::AnimationCamManip | [inline]
setViewportSize(size_t width, size_t height) | nvui::CameraManipulator | [inline]
~AnimationCamManip(void) | nvui::AnimationCamManip | [virtual]
~CameraManipulator(void) | nvui::CameraManipulator | [virtual]
Generated on Fri Jan 28 09:22:23 2005 for NVSGSDK by NVIDIA


Member List

nvui::CameraManipulator Member List

This is the complete list of members for nvui::CameraManipulator, including all inherited members.
_CONTROL_KEY enum value | nvui::CameraManipulator |
_LEFT_MOUSE_BTN enum value | nvui::CameraManipulator |
_MIDDLE_MOUSE_BTN enum value | nvui::CameraManipulator |
_NO_BTN_KEY enum value | nvui::CameraManipulator |
_RIGHT_MOUSE_BTN enum value | nvui::CameraManipulator |
_SHIFT_KEY enum value | nvui::CameraManipulator |
apply()=0 | nvui::CameraManipulator | [pure virtual]
attach(const nvsg::Camera *pCamera) | nvui::CameraManipulator | [inline]
CameraManipulator(void) | nvui::CameraManipulator |
convertKey(UINT key) | nvui::CameraManipulator | [protected, virtual]
convertMouseButton(UINT btn) | nvui::CameraManipulator | [protected, virtual]
getAttachedCamera(void) | nvui::CameraManipulator | [inline]
getButtonState(void) const | nvui::CameraManipulator | [inline]
getKeyState(void) const | nvui::CameraManipulator | [inline]
keyDown(UINT key) | nvui::CameraManipulator | [virtual]
keyRepeat() | nvui::CameraManipulator | [virtual]
keyUp(UINT key) | nvui::CameraManipulator | [virtual]
m_buttonState | nvui::CameraManipulator | [protected]
m_camera | nvui::CameraManipulator | [protected]
m_dragAndThrowAnim | nvui::CameraManipulator | [protected]
m_keyState | nvui::CameraManipulator | [protected]
m_mouseX | nvui::CameraManipulator | [protected]
m_mouseXlast | nvui::CameraManipulator | [protected]
m_mouseXstart | nvui::CameraManipulator | [protected]
m_mouseY | nvui::CameraManipulator | [protected]
m_mouseYlast | nvui::CameraManipulator | [protected]
m_mouseYstart | nvui::CameraManipulator | [protected]
m_vpHeight | nvui::CameraManipulator | [protected]
m_vpWidth | nvui::CameraManipulator | [protected]
mouseButtonDown(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseButtonUp(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseMotion(int x, int y) | nvui::CameraManipulator | [virtual]
resetButtonState(void) | nvui::CameraManipulator | [inline]
resetKeyState(void) | nvui::CameraManipulator | [inline]
setViewportSize(size_t width, size_t height) | nvui::CameraManipulator | [inline]
~CameraManipulator(void) | nvui::CameraManipulator | [virtual]
Generated on Fri Jan 28 09:22:24 2005 for NVSGSDK by NVIDIA


Member List

nvui::FlightCamManip Member List

This is the complete list of members for nvui::FlightCamManip, including all inherited members.
_CONTROL_KEY enum value | nvui::CameraManipulator |
_LEFT_MOUSE_BTN enum value | nvui::CameraManipulator |
_MIDDLE_MOUSE_BTN enum value | nvui::CameraManipulator |
_NO_BTN_KEY enum value | nvui::CameraManipulator |
_RIGHT_MOUSE_BTN enum value | nvui::CameraManipulator |
_S_KEY enum value | nvui::FlightCamManip |
_SHIFT_KEY enum value | nvui::CameraManipulator |
_W_KEY enum value | nvui::FlightCamManip |
apply(void) | nvui::FlightCamManip | [virtual]
AREAOFPEACE | nvui::FlightCamManip | [protected, static]
attach(const nvsg::Camera *pCamera) | nvui::CameraManipulator | [inline]
CameraManipulator(void) | nvui::CameraManipulator |
convertKey(UINT key) | nvui::FlightCamManip | [protected, virtual]
convertMouseButton(UINT btn) | nvui::CameraManipulator | [protected, virtual]
DECREASESPEED | nvui::FlightCamManip | [protected, static]
FlightCamManip(void) | nvui::FlightCamManip |
fly(void) | nvui::FlightCamManip | [protected]
FLYBACKWARD | nvui::FlightCamManip | [protected, static]
FLYFORWARD | nvui::FlightCamManip | [protected, static]
getAttachedCamera(void) | nvui::CameraManipulator | [inline]
getButtonState(void) const | nvui::CameraManipulator | [inline]
getHSensitivity() | nvui::FlightCamManip | [inline]
getKeyState(void) const | nvui::CameraManipulator | [inline]
getSpeed() | nvui::FlightCamManip | [inline]
getSpeedIncreaseFactor() | nvui::FlightCamManip | [inline]
getVSensitivity() | nvui::FlightCamManip | [inline]
getWorldUpVector() | nvui::FlightCamManip | [inline]
INCREASESPEED | nvui::FlightCamManip | [protected, static]
isFly(void) | nvui::FlightCamManip | [inline]
isFlyBackward(void) | nvui::FlightCamManip | [inline, protected]
isFlyForward(void) | nvui::FlightCamManip | [inline, protected]
keyDown(UINT key) | nvui::CameraManipulator | [virtual]
keyRepeat() | nvui::FlightCamManip | [virtual]
keyUp(UINT key) | nvui::CameraManipulator | [virtual]
m_buttonState | nvui::CameraManipulator | [protected]
m_camera | nvui::CameraManipulator | [protected]
m_dragAndThrowAnim | nvui::CameraManipulator | [protected]
m_hSensitivity | nvui::FlightCamManip | [protected]
m_keyState | nvui::CameraManipulator | [protected]
m_mouseX | nvui::CameraManipulator | [protected]
m_mouseXlast | nvui::CameraManipulator | [protected]
m_mouseXstart | nvui::CameraManipulator | [protected]
m_mouseY | nvui::CameraManipulator | [protected]
m_mouseYlast | nvui::CameraManipulator | [protected]
m_mouseYstart | nvui::CameraManipulator | [protected]
m_ScreenSizeX | nvui::FlightCamManip | [protected]
m_ScreenSizeY | nvui::FlightCamManip | [protected]
m_speed | nvui::FlightCamManip | [protected]
m_speedIncreaseFactor | nvui::FlightCamManip | [protected]
m_vpHeight | nvui::CameraManipulator | [protected]
m_vpWidth | nvui::CameraManipulator | [protected]
m_vSensitivity | nvui::FlightCamManip | [protected]
m_worldUpVector | nvui::FlightCamManip | [protected]
mouseButtonDown(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseButtonUp(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseMotion(int x, int y) | nvui::CameraManipulator | [virtual]
resetButtonState(void) | nvui::CameraManipulator | [inline]
resetKeyState(void) | nvui::CameraManipulator | [inline]
setHSensitivity(float sensitivity) | nvui::FlightCamManip | [inline]
setScreenSize(UINT x, UINT y) | nvui::FlightCamManip | [inline]
setSpeed(float speed) | nvui::FlightCamManip | [inline]
setSpeedIncreaseFactor(float factor) | nvui::FlightCamManip | [inline]
setViewportSize(size_t width, size_t height) | nvui::CameraManipulator | [inline]
setVSensitivity(float sensitivity) | nvui::FlightCamManip | [inline]
setWorldUpVector(nvmath::Vec3f up) | nvui::FlightCamManip | [inline]
~CameraManipulator(void) | nvui::CameraManipulator | [virtual]
~FlightCamManip(void) | nvui::FlightCamManip |
Generated on Fri Jan 28 09:22:25 2005 for NVSGSDK by NVIDIA


Member List

nvui::GLWinRenderArea Member List

This is the complete list of members for nvui::GLWinRenderArea, including all inherited members.
_MULTISAMPLE enum value | nvui::RenderArea | [protected]
_STEREO enum value | nvui::RenderArea | [protected]
_UNDEFINED enum value | nvui::RenderArea | [protected]
attachWindow(HWND hWnd) | nvui::GLWinRenderArea | [virtual]
createNewRenderAreaID() | nvui::RenderArea | [inline, static]
destroy(void) | nvui::GLWinRenderArea | [virtual]
determinePixelFormat(void) | nvui::GLWinRenderArea | [protected]
getAppTraverser() const | nvui::RenderArea | [inline]
getAspectRatio(void) const | nvui::RenderArea | [inline]
getCullTraverser(size_t position) const | nvui::RenderArea | [inline]
getNumberOfCullTraverser() const | nvui::RenderArea | [inline]
getRenderTraverser(void) const | nvui::RenderArea | [inline]
getViewState(void) const | nvui::RenderArea | [inline]
GLWinRenderArea(void) | nvui::GLWinRenderArea |
init(RenderArea *shareArea=NULL) | nvui::GLWinRenderArea | [virtual]
initGL(void) | nvui::GLWinRenderArea | [protected, virtual]
isStereoAvailable(void) | nvui::RenderArea |
keyDown(UINT key, bool keyRepeated=false) | nvui::RenderArea | [virtual]
keyUp(UINT key) | nvui::RenderArea | [virtual]
m_appTraverser | nvui::RenderArea | [protected]
m_camManip | nvui::RenderArea | [protected]
m_cullTraverser | nvui::RenderArea | [protected]
m_features | nvui::RenderArea | [protected]
m_hdc | nvui::GLWinRenderArea | [protected]
m_hglrc | nvui::GLWinRenderArea | [protected]
m_idRenderArea | nvui::RenderArea | [protected, static]
m_numMSBuffers | nvui::RenderArea | [protected]
m_raCreated | nvui::RenderArea | [protected]
m_raHeight | nvui::RenderArea | [protected]
m_raWidth | nvui::RenderArea | [protected]
m_renderTraverser | nvui::RenderArea | [protected]
m_scene | nvui::RenderArea | [protected]
m_viewState | nvui::RenderArea | [protected]
makeCurrent(void) | nvui::GLWinRenderArea |
mouseButtonDown(UINT flags, int x, int y) | nvui::GLWinRenderArea | [virtual]
mouseButtonUp(UINT flags, int x, int y) | nvui::GLWinRenderArea | [virtual]
mouseMotion(int x, int y) | nvui::GLWinRenderArea | [virtual]
pickCameraTargetPoint(int x, int y) | nvui::RenderArea |
popCullTraverser() | nvui::RenderArea | [inline]
pushCullTraverser(nvtraverser::CullTraverser *tr) | nvui::RenderArea | [inline]
RenderArea(void) | nvui::RenderArea | [protected]
renderScene(void) | nvui::GLWinRenderArea | [virtual]
requestFSAA(bool bOn, unsigned int numBuffers) | nvui::RenderArea |
requestStereoSupport(bool bStereo) | nvui::RenderArea |
resetButtonState(void) | nvui::RenderArea | [virtual]
resetKeyState(void) | nvui::RenderArea | [virtual]
setAppTraverser(nvtraverser::AppTraverser *tr) | nvui::RenderArea | [inline]
setRenderTraverser(nvtraverser::RenderTraverser *tr) | nvui::RenderArea | [inline]
setSceneData(nvui::CameraManipulator *pCamManip, const nvsg::Scene *pScene, const nvsg::ViewState *pViewState=NULL) | nvui::RenderArea |
setViewportSize(size_t x, size_t y) | nvui::GLWinRenderArea | [virtual]
setViewState(const nvsg::ViewState *viewState) | nvui::RenderArea |
shareLists(GLWinRenderArea *ra) | nvui::GLWinRenderArea |
triggerRedraw(void) | nvui::GLWinRenderArea | [virtual]
~GLWinRenderArea(void) | nvui::GLWinRenderArea | [virtual]
~RenderArea(void) | nvui::RenderArea | [virtual]
Generated on Fri Jan 28 09:22:26 2005 for NVSGSDK by NVIDIA


Member List

nvui::RenderArea Member List

This is the complete list of members for nvui::RenderArea, including all inherited members.
_MULTISAMPLE enum value | nvui::RenderArea | [protected]
_STEREO enum value | nvui::RenderArea | [protected]
_UNDEFINED enum value | nvui::RenderArea | [protected]
createNewRenderAreaID() | nvui::RenderArea | [inline, static]
destroy(void) | nvui::RenderArea | [virtual]
getAppTraverser() const | nvui::RenderArea | [inline]
getAspectRatio(void) const | nvui::RenderArea | [inline]
getCullTraverser(size_t position) const | nvui::RenderArea | [inline]
getNumberOfCullTraverser() const | nvui::RenderArea | [inline]
getRenderTraverser(void) const | nvui::RenderArea | [inline]
getViewState(void) const | nvui::RenderArea | [inline]
init(RenderArea *shareArea=NULL) | nvui::RenderArea | [virtual]
isStereoAvailable(void) | nvui::RenderArea |
keyDown(UINT key, bool keyRepeated=false) | nvui::RenderArea | [virtual]
keyUp(UINT key) | nvui::RenderArea | [virtual]
m_appTraverser | nvui::RenderArea | [protected]
m_camManip | nvui::RenderArea | [protected]
m_cullTraverser | nvui::RenderArea | [protected]
m_features | nvui::RenderArea | [protected]
m_idRenderArea | nvui::RenderArea | [protected, static]
m_numMSBuffers | nvui::RenderArea | [protected]
m_raCreated | nvui::RenderArea | [protected]
m_raHeight | nvui::RenderArea | [protected]
m_raWidth | nvui::RenderArea | [protected]
m_renderTraverser | nvui::RenderArea | [protected]
m_scene | nvui::RenderArea | [protected]
m_viewState | nvui::RenderArea | [protected]
mouseButtonDown(UINT btn, int x, int y) | nvui::RenderArea | [virtual]
mouseButtonUp(UINT btn, int x, int y) | nvui::RenderArea | [virtual]
mouseMotion(int x, int y) | nvui::RenderArea | [virtual]
pickCameraTargetPoint(int x, int y) | nvui::RenderArea |
popCullTraverser() | nvui::RenderArea | [inline]
pushCullTraverser(nvtraverser::CullTraverser *tr) | nvui::RenderArea | [inline]
RenderArea(void) | nvui::RenderArea | [protected]
renderScene(void) | nvui::RenderArea | [virtual]
requestFSAA(bool bOn, unsigned int numBuffers) | nvui::RenderArea |
requestStereoSupport(bool bStereo) | nvui::RenderArea |
resetButtonState(void) | nvui::RenderArea | [virtual]
resetKeyState(void) | nvui::RenderArea | [virtual]
setAppTraverser(nvtraverser::AppTraverser *tr) | nvui::RenderArea | [inline]
setRenderTraverser(nvtraverser::RenderTraverser *tr) | nvui::RenderArea | [inline]
setSceneData(nvui::CameraManipulator *pCamManip, const nvsg::Scene *pScene, const nvsg::ViewState *pViewState=NULL) | nvui::RenderArea |
setViewportSize(size_t width, size_t height) | nvui::RenderArea | [virtual]
setViewState(const nvsg::ViewState *viewState) | nvui::RenderArea |
triggerRedraw(void) | nvui::RenderArea | [inline, virtual]
~RenderArea(void) | nvui::RenderArea | [virtual]
Generated on Fri Jan 28 09:22:28 2005 for NVSGSDK by NVIDIA


Member List

nvui::TrackballCamManip Member List

This is the complete list of members for nvui::TrackballCamManip, including all inherited members.
_CONTROL_KEY enum value | nvui::CameraManipulator |
_LEFT_MOUSE_BTN enum value | nvui::CameraManipulator |
_MIDDLE_MOUSE_BTN enum value | nvui::CameraManipulator |
_NO_BTN_KEY enum value | nvui::CameraManipulator |
_RIGHT_MOUSE_BTN enum value | nvui::CameraManipulator |
_SHIFT_KEY enum value | nvui::CameraManipulator |
apply() | nvui::TrackballCamManip | [virtual]
attach(const nvsg::Camera *pCamera) | nvui::CameraManipulator | [inline]
CameraManipulator(void) | nvui::CameraManipulator |
convertKey(UINT key) | nvui::CameraManipulator | [protected, virtual]
convertMouseButton(UINT btn) | nvui::CameraManipulator | [protected, virtual]
dolly(void) | nvui::TrackballCamManip | [protected, virtual]
DOLLY1 | nvui::TrackballCamManip | [protected, static]
DOLLY2 | nvui::TrackballCamManip | [protected, static]
getAttachedCamera(void) | nvui::CameraManipulator | [inline]
getButtonState(void) const | nvui::CameraManipulator | [inline]
getKeyState(void) const | nvui::CameraManipulator | [inline]
isDolly(void) | nvui::TrackballCamManip | [inline]
isPan(void) | nvui::TrackballCamManip | [inline]
isRotate(void) | nvui::TrackballCamManip | [inline]
keyDown(UINT key) | nvui::CameraManipulator | [virtual]
keyRepeat() | nvui::CameraManipulator | [virtual]
keyUp(UINT key) | nvui::CameraManipulator | [virtual]
m_buttonState | nvui::CameraManipulator | [protected]
m_camera | nvui::CameraManipulator | [protected]
m_dragAndThrowAnim | nvui::CameraManipulator | [protected]
m_keyState | nvui::CameraManipulator | [protected]
m_mouseX | nvui::CameraManipulator | [protected]
m_mouseXlast | nvui::CameraManipulator | [protected]
m_mouseXstart | nvui::CameraManipulator | [protected]
m_mouseY | nvui::CameraManipulator | [protected]
m_mouseYlast | nvui::CameraManipulator | [protected]
m_mouseYstart | nvui::CameraManipulator | [protected]
m_trackball | nvui::TrackballCamManip | [protected]
m_vpHeight | nvui::CameraManipulator | [protected]
m_vpWidth | nvui::CameraManipulator | [protected]
mouseButtonDown(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseButtonUp(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseMotion(int x, int y) | nvui::CameraManipulator | [virtual]
pan(void) | nvui::TrackballCamManip | [protected, virtual]
PAN1 | nvui::TrackballCamManip | [protected, static]
PAN2 | nvui::TrackballCamManip | [protected, static]
resetButtonState(void) | nvui::CameraManipulator | [inline]
resetKeyState(void) | nvui::CameraManipulator | [inline]
rotate(void) | nvui::TrackballCamManip | [protected, virtual]
ROTATE1 | nvui::TrackballCamManip | [protected, static]
setViewportSize(size_t x, size_t y) | nvui::TrackballCamManip | [virtual]
TrackballCamManip(void) | nvui::TrackballCamManip |
~CameraManipulator(void) | nvui::CameraManipulator | [virtual]
~TrackballCamManip(void) | nvui::TrackballCamManip | [virtual]
Generated on Fri Jan 28 09:22:28 2005 for NVSGSDK by NVIDIA


Member List

nvui::WalkCamManip Member List

This is the complete list of members for nvui::WalkCamManip, including all inherited members.
_CONTROL_KEY enum value | nvui::CameraManipulator |
_LEFT_MOUSE_BTN enum value | nvui::CameraManipulator |
_MIDDLE_MOUSE_BTN enum value | nvui::CameraManipulator |
_NO_BTN_KEY enum value | nvui::CameraManipulator |
_RIGHT_MOUSE_BTN enum value | nvui::CameraManipulator |
_S_KEY enum value | nvui::WalkCamManip |
_SHIFT_KEY enum value | nvui::CameraManipulator |
_W_KEY enum value | nvui::WalkCamManip |
apply() | nvui::WalkCamManip | [virtual]
AREAOFPEACE | nvui::WalkCamManip | [protected, static]
attach(const nvsg::Camera *pCamera) | nvui::CameraManipulator | [inline]
CameraManipulator(void) | nvui::CameraManipulator |
convertKey(UINT key) | nvui::WalkCamManip | [protected, virtual]
convertMouseButton(UINT btn) | nvui::CameraManipulator | [protected, virtual]
DECREASESPEED | nvui::WalkCamManip | [protected, static]
getAttachedCamera(void) | nvui::CameraManipulator | [inline]
getButtonState(void) const | nvui::CameraManipulator | [inline]
getHSensitivity() | nvui::WalkCamManip | [inline]
getKeyState(void) const | nvui::CameraManipulator | [inline]
getSpeed() | nvui::WalkCamManip | [inline]
getSpeedIncreaseFactor() | nvui::WalkCamManip | [inline]
getWorldUpVector() | nvui::WalkCamManip | [inline]
INCREASESPEED | nvui::WalkCamManip | [protected, static]
isTilt(void) | nvui::WalkCamManip | [inline]
isTranslate(void) | nvui::WalkCamManip | [inline]
isWalk(void) | nvui::WalkCamManip | [inline]
isWalkBackward(void) | nvui::WalkCamManip | [inline, protected]
isWalkForward(void) | nvui::WalkCamManip | [inline, protected]
keyDown(UINT key) | nvui::CameraManipulator | [virtual]
keyRepeat() | nvui::WalkCamManip | [virtual]
keyUp(UINT key) | nvui::CameraManipulator | [virtual]
m_buttonState | nvui::CameraManipulator | [protected]
m_camera | nvui::CameraManipulator | [protected]
m_dragAndThrowAnim | nvui::CameraManipulator | [protected]
m_hSensitivity | nvui::WalkCamManip | [protected]
m_keyState | nvui::CameraManipulator | [protected]
m_mouseX | nvui::CameraManipulator | [protected]
m_mouseXlast | nvui::CameraManipulator | [protected]
m_mouseXstart | nvui::CameraManipulator | [protected]
m_mouseY | nvui::CameraManipulator | [protected]
m_mouseYlast | nvui::CameraManipulator | [protected]
m_mouseYstart | nvui::CameraManipulator | [protected]
m_ScreenSizeX | nvui::WalkCamManip | [protected]
m_ScreenSizeY | nvui::WalkCamManip | [protected]
m_speed | nvui::WalkCamManip | [protected]
m_speedIncreaseFactor | nvui::WalkCamManip | [protected]
m_vpHeight | nvui::CameraManipulator | [protected]
m_vpWidth | nvui::CameraManipulator | [protected]
m_worldUpVector | nvui::WalkCamManip | [protected]
mouseButtonDown(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseButtonUp(UINT btn, int x, int y) | nvui::CameraManipulator | [virtual]
mouseMotion(int x, int y) | nvui::CameraManipulator | [virtual]
resetButtonState(void) | nvui::CameraManipulator | [inline]
resetKeyState(void) | nvui::CameraManipulator | [inline]
setHSensitivity(float sensitivity) | nvui::WalkCamManip | [inline]
setScreenSize(UINT x, UINT y) | nvui::WalkCamManip | [inline]
setSpeed(float speed) | nvui::WalkCamManip | [inline]
setSpeedIncreaseFactor(float factor) | nvui::WalkCamManip | [inline]
setViewportSize(size_t width, size_t height) | nvui::CameraManipulator | [inline]
setWorldUpVector(nvmath::Vec3f up) | nvui::WalkCamManip | [inline]
tilt(void) | nvui::WalkCamManip | [protected, virtual]
TILT | nvui::WalkCamManip | [protected, static]
TRANSLATE | nvui::WalkCamManip | [protected, static]
translate(void) | nvui::WalkCamManip | [protected, virtual]
walk(void) | nvui::WalkCamManip | [protected, virtual]
WALKBACKWARD | nvui::WalkCamManip | [protected, static]
WalkCamManip(void) | nvui::WalkCamManip |
WALKFORWARD | nvui::WalkCamManip | [protected, static]
~CameraManipulator(void) | nvui::CameraManipulator | [virtual]
~WalkCamManip(void) | nvui::WalkCamManip |
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Allocator Member List

This is the complete list of members for nvutil::Allocator, including all inherited members.
alloc(size_t size) | nvutil::Allocator | [inline]
Allocator() | nvutil::Allocator |
dealloc(void *p, size_t size) | nvutil::Allocator | [inline]
~Allocator() | nvutil::Allocator |
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Bit< n > Member List

This is the complete list of members for nvutil::Bit< n >, including all inherited members.
mask enum value (defined in nvutil::Bit< n >) nvutil::Bit< n >
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Chunk Member List

This is the complete list of members for nvutil::Chunk, including all inherited members.
alloc() | nvutil::Chunk | [inline]
blocksAvailable() const | nvutil::Chunk | [inline]
Chunk(size_t blockSize) | nvutil::Chunk |
dealloc(void *p) | nvutil::Chunk | [inline]
freeMemory() | nvutil::Chunk | [inline]
isInsideBounds(void *p) const | nvutil::Chunk | [inline]
isUnused() const | nvutil::Chunk | [inline]
operator!=(const Chunk &rhs) const | nvutil::Chunk | [inline]
operator==(const Chunk &rhs) const | nvutil::Chunk | [inline]
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


Member List

nvutil::FixedAllocator Member List

This is the complete list of members for nvutil::FixedAllocator, including all inherited members.
alloc() | nvutil::FixedAllocator |
dealloc(void *p) | nvutil::FixedAllocator |
FixedAllocator() | nvutil::FixedAllocator |
init(size_t blockSize) | nvutil::FixedAllocator | [inline]
~FixedAllocator() | nvutil::FixedAllocator |
Generated on Fri Jan 28 09:22:30 2005 for NVSGSDK by NVIDIA


Member List

nvutil::IAllocator Member List

This is the complete list of members for nvutil::IAllocator, including all inherited members.
IAllocator() | nvutil::IAllocator | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
theAllocator typedef | nvutil::IAllocator |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Incarnation Member List

This is the complete list of members for nvutil::Incarnation, including all inherited members.
Incarnation() | nvutil::Incarnation | [inline]
Incarnation(int incarnation) | nvutil::Incarnation | [inline, explicit]
operator!=(const Incarnation &rhs) | nvutil::Incarnation | [inline]
operator++() | nvutil::Incarnation | [inline]
operator++(int) | nvutil::Incarnation | [inline]
operator=(const Incarnation &rhs) | nvutil::Incarnation | [inline]
operator=(int incarnation) | nvutil::Incarnation | [inline]
operator==(const Incarnation &rhs) | nvutil::Incarnation | [inline]
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Log< TestMode, OutputFn > Member List

This is the complete list of members for nvutil::Log< TestMode, OutputFn >, including all inherited members.
format(const char *fmt,...) const | nvutil::Log< TestMode, OutputFn > | [inline]
init(bool enable) | nvutil::Log< TestMode, OutputFn > | [inline]
isEnabled() const | nvutil::Log< TestMode, OutputFn > | [inline]
Log() | nvutil::Log< TestMode, OutputFn > | [inline]
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


Member List

nvutil::MemFunTbl< T > Member List

This is the complete list of members for nvutil::MemFunTbl< T >, including all inherited members.
addEntry(size_t i, U pmfn) | nvutil::MemFunTbl< T > | [inline]
MemFunTbl(size_t size) | nvutil::MemFunTbl< T > | [inline, explicit]
operator[](size_t i) const | nvutil::MemFunTbl< T > | [inline]
testEntry(size_t i) const | nvutil::MemFunTbl< T > | [inline]
Generated on Fri Jan 28 09:22:31 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugIn Member List

This is the complete list of members for nvutil::PlugIn, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void)=0 | nvutil::PlugIn | [protected, pure virtual]
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
PlugInServer class | nvutil::PlugIn | [friend]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
Generated on Fri Jan 28 09:22:33 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback Member List

This is the complete list of members for nvutil::PlugInCallback, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
markUnshareable() | nvutil::RCObject | [inline]
onEmptyToken(size_t position, const std::string &context, const std::string &token) const | nvutil::PlugInCallback | [inline, virtual]
onError(PIC_ERROR eid, const void *info) const | nvutil::PlugInCallback | [inline, virtual]
onFileAccessFailed(const std::string &file, unsigned int systemSpecificErrorCode) const | nvutil::PlugInCallback | [inline, virtual]
onFileEmpty(const std::string &file) const | nvutil::PlugInCallback | [inline, virtual]
onFileMappingFailed(unsigned int systemSpecificErrorCode) const | nvutil::PlugInCallback | [inline, virtual]
onFileNotFound(const std::string &file) const | nvutil::PlugInCallback | [inline, virtual]
onFilesNotFound(const std::vector< std::string > &files) const | nvutil::PlugInCallback | [inline, virtual]
onImcompatibleFile(const std::string &file, const std::string &context, unsigned int expectedVersion, unsigned int detectedVersion) const | nvutil::PlugInCallback | [inline, virtual]
onIncompatibleValues(size_t position, const std::string &context, const std::string &value0Name, int value0, const std::string &value1Name, int value1) const | nvutil::PlugInCallback | [inline, virtual]
onIncompatibleValues(size_t position, const std::string &context, const std::string &value0Name, float value0, const std::string &value1Name, float value1) const | nvutil::PlugInCallback | [inline, virtual]
onInvalidFile(const std::string &file, const std::string &context) const | nvutil::PlugInCallback | [inline, virtual]
onInvalidValue(size_t position, const std::string &context, const std::string &valueName, int value) const | nvutil::PlugInCallback | [inline, virtual]
onInvalidValue(size_t position, const std::string &context, const std::string &valueName, float value) const | nvutil::PlugInCallback | [inline, virtual]
onUndefinedToken(size_t position, const std::string &context, const std::string &token) const | nvutil::PlugInCallback | [inline, virtual]
onUnexpectedEndOfFile(size_t position) const | nvutil::PlugInCallback | [inline, virtual]
onUnexpectedToken(size_t position, const std::string &expected, const std::string &encountered) const | nvutil::PlugInCallback | [inline, virtual]
onUnknownToken(size_t position, const std::string &context, const std::string &token) const | nvutil::PlugInCallback | [inline, virtual]
onUnsupportedToken(size_t position, const std::string &context, const std::string &token) const | nvutil::PlugInCallback | [inline, virtual]
onWarning(PIC_WARNING wid, const void *info) const | nvutil::PlugInCallback | [inline, virtual]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
PIC_ERROR enum name | nvutil::PlugInCallback |
PIC_TYPE_ID enum name | nvutil::PlugInCallback |
PIC_WARNING enum name | nvutil::PlugInCallback |
PICE_FILE_ACCESS_FAILED enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICE_FILE_MAPPING_FAILED enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICE_INCOMPATIBLE_FILE enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICE_INVALID_FILE enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICE_UNEXPECTED_EOF enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICE_UNEXPECTED_TOKEN enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICE_UNKNOWN_TOKEN enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICT_FLOAT enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICT_INT enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_EMPTY_TOKEN enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_FILE_EMPTY enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_FILE_NOT_FOUND enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_FILES_NOT_FOUND enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_INCOMPATIBLE_VALUES enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_INVALID_VALUE enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_UNDEFINED_TOKEN enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PICW_UNSUPPORTED_TOKEN enum value (defined in nvutil::PlugInCallback) | nvutil::PlugInCallback |
PlugInCallback() | nvutil::PlugInCallback | [inline]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
setThrowExceptionOnError(bool set) | nvutil::PlugInCallback | [inline]
theAllocator typedef | nvutil::IAllocator |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~PlugInCallback() | nvutil::PlugInCallback | [inline, protected, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:22:34 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInServer Member List

This is the complete list of members for nvutil::PlugInServer, including all inherited members.
getInterface(const std::vector< std::string > &searchPath, const UPIID &piid, PlugIn *&plugIn) | nvutil::PlugInServer | [friend]
PlugInServer() (defined in nvutil::PlugInServer) | nvutil::PlugInServer |
queryInterfaceType(const std::vector< std::string > &searchPath, const UPITID &pitid, std::vector< UPIID > &piids) | nvutil::PlugInServer | [friend]
releaseInterface(const UPIID &piid) | nvutil::PlugInServer | [friend]
setPlugInFileFilter(const std::string &filter) | nvutil::PlugInServer | [friend]
~PlugInServer() (defined in nvutil::PlugInServer) | nvutil::PlugInServer |
Generated on Fri Jan 28 09:22:33 2005 for NVSGSDK by NVIDIA


Member List

nvutil::RCIPtr< T > Member List

This is the complete list of members for nvutil::RCIPtr< T >, including all inherited members.
operator *() | nvutil::RCIPtr< T > | [inline]
operator *() const | nvutil::RCIPtr< T > | [inline]
operator->() | nvutil::RCIPtr< T > | [inline]
operator->() const | nvutil::RCIPtr< T > | [inline]
operator=(const RCIPtr< T > &rhs) | nvutil::RCIPtr< T > | [inline]
RCIPtr(T *pObj=0) | nvutil::RCIPtr< T > | [inline, explicit]
RCIPtr(const RCIPtr &rhs) | nvutil::RCIPtr< T > | [inline]
writeAccess(RCIPtr< U > &rcPtr) | nvutil::RCIPtr< T > | [friend]
~RCIPtr() | nvutil::RCIPtr< T > | [inline]
Generated on Fri Jan 28 09:22:38 2005 for NVSGSDK by NVIDIA


Member List

nvutil::RCObject Member List

This is the complete list of members for nvutil::RCObject, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:22:37 2005 for NVSGSDK by NVIDIA


Member List

nvutil::RCObject_AutoPtr< T > Member List

This is the complete list of members for nvutil::RCObject_AutoPtr< T >, including all inherited members.
get() const | nvutil::RCObject_AutoPtr< T > | [inline]
operator *() const | nvutil::RCObject_AutoPtr< T > | [inline]
operator->() const | nvutil::RCObject_AutoPtr< T > | [inline]
operator=(const RCObject_AutoPtr< U > &rhs) | nvutil::RCObject_AutoPtr< T > | [inline]
RCObject_AutoPtr (defined in nvutil::RCObject_AutoPtr< T >) | nvutil::RCObject_AutoPtr< T > | [friend]
RCObject_AutoPtr(T *ptr=0) | nvutil::RCObject_AutoPtr< T > | [inline, explicit]
RCObject_AutoPtr(const RCObject_AutoPtr< U > &rhs) | nvutil::RCObject_AutoPtr< T > | [inline]
release() | nvutil::RCObject_AutoPtr< T > | [inline]
reset(T *ptr) | nvutil::RCObject_AutoPtr< T > |
~RCObject_AutoPtr() | nvutil::RCObject_AutoPtr< T > | [inline]
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::RCPtr< T > Member List

This is the complete list of members for nvutil::RCPtr< T >, including all inherited members.
operator *() | nvutil::RCPtr< T > | [inline]
operator *() const | nvutil::RCPtr< T > | [inline]
operator->() | nvutil::RCPtr< T > | [inline]
operator->() const | nvutil::RCPtr< T > | [inline]
operator=(const RCPtr< T > &rhs) | nvutil::RCPtr< T > | [inline]
RCPtr(T *pRCObj=0) | nvutil::RCPtr< T > | [inline, explicit]
RCPtr(const RCPtr &rhs) | nvutil::RCPtr< T > | [inline]
writeAccess(RCPtr< U > &rcPtr) | nvutil::RCPtr< T > | [friend]
~RCPtr() | nvutil::RCPtr< T > | [inline]
Generated on Fri Jan 28 09:22:38 2005 for NVSGSDK by NVIDIA


Member List

nvutil::RCVector< T > Member List

This is the complete list of members for nvutil::RCVector< T >, including all inherited members.
addRef() const | nvutil::RCObject | [inline]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
RCVector() | nvutil::RCVector< T > | [inline]
RCVector(size_t n) | nvutil::RCVector< T > | [inline]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
Generated on Fri Jan 28 09:22:37 2005 for NVSGSDK by NVIDIA


Member List

nvutil::RegVal< T > Member List

This is the complete list of members for nvutil::RegVal< T >, including all inherited members.
DIRTY enum value (defined in nvutil::RegVal< T >) | nvutil::RegVal< T > |
operator const T &() | nvutil::RegVal< T > | [inline]
operator=(const T &rhs) | nvutil::RegVal< T > | [inline]
RegVal(const TCHAR *value_name, const TCHAR *subkey, DWORD type, HKEY root=HKEY_LOCAL_MACHINE, const T &def=T()) | nvutil::RegVal< T > | [inline]
~RegVal() | nvutil::RegVal< T > | [inline]
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Singleton< T > Member List

This is the complete list of members for nvutil::Singleton< T >, including all inherited members.
instance() nvutil::Singleton< T > [inline, static]
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::SWMRSync Member List

This is the complete list of members for nvutil::SWMRSync, including all inherited members.
doneReading() const | nvutil::SWMRSync |
doneWriting() const | nvutil::SWMRSync |
initialize(const char *name=NULL) | nvutil::SWMRSync |
SWMRSync(void) | nvutil::SWMRSync |
waitToRead(size_t milliseconds, size_t &status) const | nvutil::SWMRSync |
waitToWrite(size_t milliseconds, size_t &status) const | nvutil::SWMRSync |
~SWMRSync(void) | nvutil::SWMRSync | [virtual]
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Trace< Functor > Member List

This is the complete list of members for nvutil::Trace< Functor >, including all inherited members.
Trace(const char *fn, bool traceOut) | nvutil::Trace< Functor > | [inline]
~Trace() | nvutil::Trace< Functor > | [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::Trackball Member List

This is the complete list of members for nvutil::Trackball, including all inherited members.
apply(const nvmath::Vec2f &p0, const nvmath::Vec2f &p1, nvmath::Vec3f &axis, float &rad) | nvutil::Trackball |
getSize(void) | nvutil::Trackball | [inline]
m_tbsize | nvutil::Trackball | [protected]
projectOntoTBSphere(const nvmath::Vec2f &p) | nvutil::Trackball | [protected]
setSize(float size) | nvutil::Trackball | [inline]
Trackball(void) | nvutil::Trackball |
~Trackball(void) | nvutil::Trackball | [virtual]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::TransformStack Member List

This is the complete list of members for nvutil::TransformStack, including all inherited members.
getClipToModel(void) const | nvutil::TransformStack | [inline]
getClipToView(void) const | nvutil::TransformStack | [inline]
getModelToClip(void) const | nvutil::TransformStack | [inline]
getModelToView(void) const | nvutil::TransformStack | [inline]
getModelToWorld(void) const | nvutil::TransformStack | [inline]
getStackDepth(void) const | nvutil::TransformStack | [inline]
getViewToClip(void) const | nvutil::TransformStack | [inline]
getViewToModel(void) const | nvutil::TransformStack | [inline]
getViewToWorld(void) const | nvutil::TransformStack | [inline]
getWorldToModel(void) const | nvutil::TransformStack | [inline]
getWorldToView(void) const | nvutil::TransformStack | [inline]
popModelToWorld(void) | nvutil::TransformStack | [inline]
pushModelToWorld(const nvmath::Mat44f &modelWorld, const nvmath::Mat44f &worldModel) | nvutil::TransformStack | [inline]
setViewToClip(const nvmath::Mat44f &viewClip, const nvmath::Mat44f &clipView) | nvutil::TransformStack | [inline]
setWorldToView(const nvmath::Mat44f &worldView, const nvmath::Mat44f &viewWorld) | nvutil::TransformStack | [inline]
TransformStack() | nvutil::TransformStack | [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::UPIID Member List

This is the complete list of members for nvutil::UPIID, including all inherited members.
getPlugInterfaceType() const | nvutil::UPIID | [inline]
getPlugSpecificIDString() const | nvutil::UPIID | [inline]
operator!=(const UPIID &lhs, const UPIID &rhs) | nvutil::UPIID | [friend]
operator<(const UPIID &lhs, const UPIID &rhs) | nvutil::UPIID | [friend]
operator=(const UPIID &rhs) | nvutil::UPIID |
operator==(const UPIID &lhs, const UPIID &rhs) | nvutil::UPIID | [friend]
UPIID() | nvutil::UPIID | [inline]
UPIID(const char idstr[8], UPITID pitid) | nvutil::UPIID |
Generated on Fri Jan 28 09:22:32 2005 for NVSGSDK by NVIDIA


Member List

nvutil::UPITID Member List

This is the complete list of members for nvutil::UPITID, including all inherited members.
operator!=(const UPITID &lhs, const UPITID &rhs) | nvutil::UPITID | [friend]
operator<(const UPITID &lhs, const UPITID &rhs) | nvutil::UPITID | [friend]
operator==(const UPITID &lhs, const UPITID &rhs) | nvutil::UPITID | [friend]
UPITID() | nvutil::UPITID | [inline]
UPITID(unsigned short pit, const char verStr[16]) | nvutil::UPITID |
UPITID(const UPITID &rhs) | nvutil::UPITID |
Generated on Fri Jan 28 09:22:32 2005 for NVSGSDK by NVIDIA


Member List

WRLLoader Member List

This is the complete list of members for WRLLoader, including all inherited members.
callback(void) const | nvutil::PlugIn | [inline, protected]
deleteThis(void) | WRLLoader | [inline, virtual]
load(const std::string &filename, const std::vector< std::string > &searchPaths, const nvsg::ViewState *&viewState) | WRLLoader |
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, const ViewState *&viewState)=0 | nvsg::SceneLoader | [pure virtual]
PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | nvutil::PlugIn | [inline]
WRLLoader() (defined in WRLLoader) | WRLLoader |
~PlugIn() (defined in nvutil::PlugIn) | nvutil::PlugIn | [inline, protected, virtual]
~SceneLoader() | nvsg::SceneLoader | [protected, virtual]
Generated on Fri Jan 28 09:20:41 2005 for NVSGSDK by NVIDIA


Member List

WRLLoadTraverser Member List

This is the complete list of members for WRLLoadTraverser, including all inherited members.
addObjectHandler(unsigned int objectCode, HandlerType handler) | nvtraverser::Traverser | [inline, protected]
addRef() const | nvutil::RCObject | [inline]
apply(const nvsg::ViewState *viewState, const nvsg::Scene *scene) | nvtraverser::Traverser |
beginEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
doApply(const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) | WRLLoadTraverser | [protected, virtual]
endEdit(const T *obj) const | nvtraverser::Traverser | [inline, protected]
handleAnimatedQuads(const nvsg::AnimatedQuads *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | nvtraverser::Traverser | [protected, virtual]
handleAnimatedTriangles(const nvsg::AnimatedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | nvtraverser::Traverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | nvtraverser::Traverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedTrafoAnimation(const nvsg::FramedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleFramedVNVectorAnimation(const nvsg::FramedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | WRLLoadTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
handleHighlightBox(const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleHighlightEdges(const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) | nvtraverser::Traverser | [protected, virtual]
handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation< nvmath::Trafo > *p) | nvtraverser::Traverser | [protected, virtual]
handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation< nvsg::VNVector > *p) | nvtraverser::Traverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | nvtraverser::Traverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | nvtraverser::Traverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | nvtraverser::Traverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | nvtraverser::Traverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | nvtraverser::Traverser | [protected, virtual]
handleSkinnedTriangles(const nvsg::SkinnedTriangles *p) | nvtraverser::Traverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | nvtraverser::Traverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | nvtraverser::Traverser | [protected, virtual]
handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | nvtraverser::Traverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p, size_t tu) | nvtraverser::Traverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | WRLLoadTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | nvtraverser::Traverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | nvtraverser::Traverser | [protected, virtual]
IAllocator() | nvutil::IAllocator | [inline]
isShareable() const | nvutil::RCObject | [inline]
isShared() const | nvutil::RCObject | [inline]
m_cullStack | nvtraverser::Traverser | [protected]
m_defaultStateSet | nvtraverser::Traverser | [protected]
m_groupStack | nvtraverser::Traverser | [protected]
m_lodStack | nvtraverser::Traverser | [protected]
m_overrideStateSet | nvtraverser::Traverser | [protected]
markUnshareable() | nvutil::RCObject | [inline]
operator delete(void *p, size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size) | nvutil::IAllocator | [inline]
operator new(size_t size, void *p) | nvutil::IAllocator | [inline]
operator=(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
postTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
postTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | nvtraverser::Traverser | [protected, virtual]
preTraverseRoot(const nvsg::SimpleCamera *p, const nvsg::Node *root) | nvtraverser::Traverser | [protected, virtual]
RCObject() | nvutil::RCObject | [inline]
RCObject(const RCObject &rhs) | nvutil::RCObject | [inline, protected]
removeRef() const | nvutil::RCObject | [inline]
theAllocator typedef | nvutil::IAllocator |
traverseLight(const nvsg::LightSource *p) | nvtraverser::Traverser | [protected, virtual]
traverseObject(const nvsg::Object *object) | nvtraverser::Traverser | [inline, protected]
traverseObject(const nvsg::Object *object, T arg) | nvtraverser::Traverser | [inline, protected]
Traverser(bool readOnly=true) | nvtraverser::Traverser | [protected]
WRLLoadTraverser() | WRLLoadTraverser |
~IAllocator() | nvutil::IAllocator | [inline, virtual]
~RCObject() | nvutil::RCObject | [inline, protected, virtual]
~Traverser(void) | nvtraverser::Traverser | [protected, virtual]
~WRLLoadTraverser(void) | WRLLoadTraverser | [virtual]
Generated on Fri Jan 28 09:20:42 2005 for NVSGSDK by NVIDIA


CondenseTraverser.h Source File

CondenseTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #pragma push_macro("free")
00016 #undef free
00017 #include <valarray>
00018 #pragma pop_macro("free")
00019
00020 #include <set>
00021
00022 #include "nvsgcommon.h"
00023
00024 #include "nvsg/nvsg.h"
00025 #include "nvtraverser/Traverser.h"
00026
00027 namespace nvtraverser
00028 {
00029
00031
00032   class CondenseTraverser : public Traverser
00033   {
00034   public:
00036     NVSG_API CondenseTraverser(void);
00037
00039
00040     NVSG_API void  setEpsilon(
00041       float epsilon
00042       );
00043
00044   protected:
00046     NVSG_API virtual ~CondenseTraverser(void);
00047
00049
00050     NVSG_API virtual void  doApply( const nvsg::ViewState *pViewState
00051       , const nvsg::Scene *pScene
00052       );
00053
00055     NVSG_API virtual void handleGeoNode( const nvsg::GeoNode *p
00056       );
00057
00058   private:
00059     bool    areSimilar( const std::valarray<float> &v0, const std::valarray<float> &v1, float eps );
00060     void    condense( const nvsg::Quads *p );
00061     void    condense( const nvsg::Triangles *p );
00062     size_t  hash( const std::valarray<float> &vertex, const std::valarray<float> &base, float scale, size_t numVertices );
00063     void    postRemapping( const nvsg::GeoSet *p, std::vector<std::valarray<float> > &valuesOut );
00064     void    prepareRemapping( const nvsg::GeoSet *p, std::vector<std::valarray<float> > &valuesIn );
00065     bool    remap( const nvsg::IndexSet &iIn, const std::vector<std::valarray<float> > &vIn,
00066       nvsg::IndexSet &iOut, std::vector<std::valarray<float> > &vOut, float epsilon );
00067
00068   private:
00069     float m_epsilon;
00070     float m_tolerance;
00071     std::set<const nvsg::Quads *>     m_quads;
00072     std::set<const nvsg::Triangles *> m_triangles;
00073   };
00074
00075   inline  void  CondenseTraverser::setEpsilon( float epsilon )
00076   {
00077     m_epsilon = fabsf( epsilon );
00078   }
00079 }
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


CullData.h Source File

CullData.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvutil/Allocator.h"
00018
00019 namespace nvsg
00020 {
00021
00023   typedef enum
00024   {
00025     CC_OUT,
00026     CC_IN,
00027     CC_PART
00028   } CullCode;
00029
00031
00034   class CullData : public nvutil::IAllocator
00035   {
00036     public:
00038       NVSG_API CullData( CullCode cullCode );
00039
00041       NVSG_API virtual ~CullData( void );
00042
00043     public:
00045
00048       NVSG_API void balance( void );
00049
00051
00053       NVSG_API void addChild( CullData *cd
00054                             );
00055
00057
00058       NVSG_API const CullData * getChild( size_t i
00059                                         ) const;
00060
00062
00063       NVSG_API CullCode getCullCode( void ) const;
00064
00066
00068       NVSG_API size_t getNumberOfChildren( void ) const;
00069
00070     private:
00071       CullCode          m_cullCode;
00072       std::vector<CullData*> m_children;
00073   };
00074
00075   // - - - - - - - - - - - - - - - - - - - - -
00076   // inlines
00077   // - - - - - - - - - - - - - - - - - - - - -
00078
00079   inline  CullData::CullData( CullCode cullCode )
00080     : m_cullCode( cullCode )
00081   {
00082     __TRACE();
00083   }
00084
00085   inline  void  CullData::addChild( CullData *cd )
00086   {
00087     __TRACE();
00088     m_children.push_back( cd );
00089   }
00090
00091   inline  const CullData  * CullData::getChild( size_t i ) const
00092   {
00093     __TRACE();
00094     __ASSERT( i < m_children.size() );
00095     return( m_children[i] );
00096   }
00097
00098   inline  CullCode  CullData::getCullCode( void ) const
00099   {
00100     __TRACE();
00101     return( m_cullCode );
00102   }
00103
00104   inline  size_t    CullData::getNumberOfChildren( void ) const
00105   {
00106     __TRACE();
00107     return( m_children.size() );
00108   }
00109
00110 } //  namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


CullTraverser.h Source File

CullTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  <map>
00018 #include  "nvsg/CullData.h"
00019 #include  "nvtraverser/ModelViewTraverser.h"
00020
00021 // forward declarations
00022 namespace nvsg
00023 {
00024   class Drawable;
00025   class Node;
00026   class GeoNode;
00027   class Group;
00028   class LOD;
00029   class Quads;
00030   class QuadStrips;
00031   class Switch;
00032   class Transform;
00033   class Triangles;
00034   class TriStrips;
00035   class SimpleCamera;
00036   class ViewState;
00037   class Scene;
00038 }
00039
00040 namespace nvtraverser
00041 {
00043
00046
00052
00055
00058
00060
00064
00066
00070
00072
00076
00078
00082
00083
00087
00089
00093
00095
00099
00100
00104
00105
00109
00110
00114
00115
00119
00120
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


DAL.h Source File

DAL.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <vector>
00018 #include <map>
00019 #include "nvutil/Singleton.h"
00020
00021 namespace nvsg
00022 {
00023 class DALServer;
00024 class DALData;
00025
00026 typedef unsigned long HDAL; // handle to a Device Abstraction Link
00027 extern const HDAL HDAL_INVALID;
00028
00030
00032 class DALHost
00033 {
00034 public:
00036
00044   NVSG_API HDAL storeDeviceAbstractionLinkData(unsigned int dataID, DALData * data) const;
00045
00047
00048   NVSG_API void releaseDeviceAbstractionLinkData();
00049
00051
00054   NVSG_API bool getDeviceAbstractionLinkData(unsigned int dataID, std::vector<DALData*>& data) const;
00055
00057
00060   NVSG_API DALData * getLastRecentlyUsedDeviceAbstractionLinkData() const;
00061
00063
00065   NVSG_API void setLastRecentlyUsedDeviceAbstractionLinkData(DALData * lastRecentlyUsed) const;
00066
00067 #if !defined(DOXYGEN_IGNORE)
00068 public:
00069   DALHost();
00070   DALHost(const DALHost&);
00071   ~DALHost();
00072 private:
00073   mutable HDAL m_hDAL;
00074   mutable DALData * m_lastRecentlyUsed;
00075 #endif
00076 };
00077
00079 class DALDataCreator
00080 {
00081 public:
00082 #if !defined(DOXYGEN_IGNORE)
00083   virtual ~DALDataCreator() {}
00084 #endif
00085
00086
00093   virtual void onReleaseDAL(HDAL hDAL) {}
00094
00095 protected:
00097   DALDataCreator() {}
00098
00100
00106   NVSG_API void releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID);
00107 };
00108
00110
00115 class DALData
00116 {
00117 #if !defined(DOXYGEN_IGNORE)
00118   friend class DALServer;
00119   friend class DALDataCreator;
00120 protected:
00121   virtual ~DALData();
00122 #endif
00123
00124 protected:
00126   DALData(
00127     DALDataCreator * creator
00128   , const DALHost * host
00129   );
00130
00132
00140   virtual void deleteThis() { delete this; }
00141
00142 #if !defined(DOXYGEN_IGNORE)
00143 private:
00144   DALDataCreator * m_creator;
00145   const DALHost * m_host;
00146 #endif
00147 };
00148
00150 class DALServer
00151 {
00152   friend class DALDataCreator;
00153   friend class DALHost;
00154
00155 #if !defined(DOXYGEN_IGNORE)
00156 public:
00157   // Initializes the DALServer at instantiation
00158   DALServer();
00159   // Cleanup after deletion
00160   ~DALServer();
00161 private:
00162   // Attaches the data identified by \a dataID and pointed to by \a data
00163   // to the Device Abstraction Link (DAL) identified by \a hDAL.
00164   // If HDAL_INVALID is passed for \a hDAL, a new DAL will be created first.
00165   // \returns A handle to the Device Abstraction Link or DAL_INVALID if the function fails.
00166   HDAL storeDALData(HDAL hDAL, unsigned int dataID, DALData* data);
00167   // Releases the data identified by \a dataID that was attached to the DAL identified by \a hDAL
00168   // by the creator pointed to by \a creator.
00169   // If 0xFFFFFFFF is passed for \a dataID, all data that was attached to the DAL identified by \a hDAL
00170   // by the creator pointed to by \a creator will be released.
00171   // If NULL is passed for \a creator, all data attached to the DAL identified by \a hDAL will be released
00172   // and the DAL will be deleted afterwards.
00173   void releaseDALData(HDAL hDAL, DALDataCreator * creator=NULL, unsigned int dataID=0xFFFFFFFF);
00174   // Provides all addresses of the data objects identified by \a dataID that are currently stored
00175   // with the DAL identified by \a hDAL.
00176   // The addresses of the data objects will be copied to the vector referenced by \a data.
00177   bool getDALData(HDAL hDAL, unsigned int dataID, std::vector<DALData*>& data) const;
00178 private:
00179   std::map<HDAL, std::multimap<unsigned int, DALData*> > m_DALMap; // map of DALs
00180   std::vector<HDAL> m_freeHDALs; // free DAL handles can be re-used
00181   HDAL m_hDALNext; // use this if no handle is available for re-use
00182 #endif
00183 };
00184
00185 #if !defined(DOXYGEN_IGNORE)
00186 typedef nvutil::Singleton<DALServer> DALS;
00187 #endif
00188
00189 inline HDAL DALHost::storeDeviceAbstractionLinkData(unsigned int dataID, DALData * data) const
00190 {
00191   m_hDAL = DALS::instance()->storeDALData(m_hDAL, dataID, data);
00192   return m_hDAL;
00193 }
00194
00195 inline void DALHost::releaseDeviceAbstractionLinkData()
00196 {
00197   if ( m_hDAL != HDAL_INVALID )
00198   {
00199     DALS::instance()->releaseDALData(m_hDAL);
00200     m_hDAL = HDAL_INVALID;
00201     m_lastRecentlyUsed = NULL;
00202   }
00203 }
00204
00205 inline bool DALHost::getDeviceAbstractionLinkData(unsigned int dataID, std::vector<DALData*>& data) const
00206 {
00207   return DALS::instance()->getDALData(m_hDAL, dataID, data);
00208 }
00209
00210 inline DALData * DALHost::getLastRecentlyUsedDeviceAbstractionLinkData() const
00211 {
00212   return m_lastRecentlyUsed;
00213 }
00214
00215 inline void DALHost::setLastRecentlyUsedDeviceAbstractionLinkData(DALData * lastRecentlyUsed) const
00216 {
00217   m_lastRecentlyUsed = lastRecentlyUsed;
00218 }
00219
00220 inline void DALDataCreator::releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID)
00221 {
00222   __ASSERT(hDAL != HDAL_INVALID);
00223   DALS::instance()->releaseDALData(hDAL, this, dataID);
00224 }
00225
00226 } // namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


DbgNew.h Source File

DbgNew.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <new>
00016
00017 #include "nvsgcommon.h"
00018
00019 // The following new operator overload forwards to default new, and hence
00020 // has a matching delete operator. Disable the warning.
00021 #pragma warning (disable:4291)
00022
00024 inline void * operator new(size_t size, const char * src, unsigned int ln)
00025 {
00026   return operator new(size);
00027 }
00028
00030 #if !defined (_WIN64)
00031 inline void * operator new[](size_t size, const char * src, unsigned int ln)
00032 {
00033   return ::operator new[](size, std::nothrow);
00034 }
00035 #endif
00036
00037 #ifdef _DEBUG
00038 # define new new(__FILE__, __LINE__)
00039 #endif
00040
00041
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


DirectedLight.h Source File

DirectedLight.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/LightSource.h"
00018 #include "nvmath/Vec3f.h"
00019
00020 namespace nvsg
00021 {
00023
00028   class DirectedLight : public LightSource
00029   {
00030     public:
00032
00033       NVSG_API static const DirectedLight * create( void );
00034
00036
00037       NVSG_API static const DirectedLight * createFromBase( const LightSource &rhs
00038                                                           );
00039
00041
00042       NVSG_API virtual const DirectedLight * clone( void ) const;
00043
00044       //--  Functions reimplemented from Object  --
00045       NVSG_API virtual DataID getDataID( void ) const;
00046       NVSG_API virtual bool isDataShared( void ) const;
00047
00048     protected:
00050       NVSG_API DirectedLight( void );
00051
00053       NVSG_API DirectedLight( const LightSource &rhs );
00054
00056       NVSG_API DirectedLight( const DirectedLight &rhs );
00057
00059       NVSG_API virtual ~DirectedLight(void);
00060   };
00061
00062 } //  namespace nvsg
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


Drawable.h Source File

Drawable.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Object.h"
00018
00019 //  forward declarations
00020 namespace nvmath
00021 {
00022   class Sphere3f;
00023 }
00024 namespace nvsg
00025 {
00026   class GeoNode;
00027 }
00028
00029 namespace nvsg
00030 {
00032
00033   class Drawable : public Object
00034   {
00035     public:
00036       // ! Resolve construction of the right drawable type through late binding.
00038       NVSG_API virtual const Drawable * clone( void ) const = 0;
00039
00041
00043       NVSG_API virtual bool isBoundingSphereValid( void ) const = 0;
00044
00046
00050       NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( void ) const = 0;
00051
00053       NVSG_API void invalidateNumberOfFrames( void ) const;
00054
00056
00057       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00058
00060
00061       NVSG_API size_t getNumberOfOwners( void ) const;
00062
00064
00065       NVSG_API const GeoNode * getOwner( size_t index
00066                                        ) const;
00067
00068       //--  Functions reimplemented from Object  --
00069       NVSG_API virtual DataID getDataID( void ) const;
00070       NVSG_API virtual bool isDataShared( void ) const;
00071
00072     protected:
00074       NVSG_API Drawable( void );
00075       // Copy constructor
00076       NVSG_API Drawable( const Drawable& );
00077
00079       NVSG_API virtual ~Drawable( void );
00080
00082       NVSG_API virtual void invalidateBoundingSphere( void ) const;
00083
00084     private:
00085       // A Drawable can be the child of more than one parent. The child-to-parent connection
00086       // is used, for example, when invalidating the owner GeoNode's BoundingSphere while
00087       // invalidating the BoundingSphere of a Drawable.
00088       friend class GeoNode;
00089       void addOwner( const GeoNode * node );
00090       void removeOwner( const GeoNode * node );
00091
00092     private:
00093       std::vector<const GeoNode*>  m_owners;
00094   };
00095
00096   inline size_t Drawable::getNumberOfOwners( void ) const
00097   {
00098      __TRACE();
00099     return( m_owners.size() );
00100   }
00101
00102   inline const GeoNode * Drawable::getOwner( size_t index ) const
00103   {
00104     __TRACE();
00105     __ASSERT( index < m_owners.size() );
00106     return( m_owners[index] );
00107   }
00108 } // namespace nvsg
00109
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


DrawableUnifyTraverser.h Source File

DrawableUnifyTraverser.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 #include "nvsg/Face.h"
00017 #include "nvtraverser/Traverser.h"
00018
00019 namespace nvtraverser
00020 {
00022
00023   class DrawableUnifyTraverser : public Traverser
00024   {
00025     public:
00027       NVSG_API DrawableUnifyTraverser( void );
00028
00029     public:
00031
00033       NVSG_API bool getIgnoreNames( void ) const;
00034
00036
00037       NVSG_API void setIgnoreNames( bool ignore
00038                                   );
00039
00040     protected:
00042       NVSG_API virtual ~DrawableUnifyTraverser( void );
00043
00045
00046       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode * p
00047                                          );
00048
00050
00051       NVSG_API virtual void handleStateSet( const nvsg::StateSet * p
00052                                           );
00053
00055
00056       NVSG_API virtual void handleQuads( const nvsg::Quads * p
00057                                        );
00058
00060
00061       NVSG_API virtual void handleAnimatedQuads( const nvsg::AnimatedQuads * p
00062                                                );
00063
00065
00066       NVSG_API virtual void handleQuadStrips( const nvsg::QuadStrips * p
00067                                             );
00068
00070
00071       NVSG_API virtual void handleTriangles( const nvsg::Triangles * p
00072                                            );
00073
00075
00076       NVSG_API virtual void handleAnimatedTriangles( const nvsg::AnimatedTriangles * p
00077                                                    );
00078
00080
00081       NVSG_API virtual void handleSkinnedTriangles( const nvsg::SkinnedTriangles * p
00082                                                   );
00083
00085
00086       NVSG_API virtual void handleTriStrips( const nvsg::TriStrips * p
00087                                            );
00088
00089     protected:
00090       void combine( nvsg::GeoSet *p0, const nvsg::GeoSet *p1 );
00091       void combine( nvsg::Quads *p0, const nvsg::Quads *p1 );
00092       void combine( nvsg::QuadStrips *p0, const nvsg::QuadStrips *p1 );
00093       void combine( nvsg::Triangles *p0, const nvsg::Triangles *p1 );
00094       void combine( nvsg::TriStrips *p0, const nvsg::TriStrips *p1 );
00095
00096     private:
00097       bool  m_ignoreNames;
00098       const nvsg::StateSet *                                                  m_currentStateSet;
00099       std::vector<std::pair<const nvsg::Drawable*,const nvsg::StateSet*> >    m_drawableToDelete;
00100       std::vector<std::pair<const nvsg::Quads*,const nvsg::StateSet*> >       m_quadsToKeep;
00101       std::vector<std::pair<const nvsg::QuadStrips*,const nvsg::StateSet*> >  m_quadStripsToKeep;
00102       std::vector<std::pair<const nvsg::Triangles*,const nvsg::StateSet*> >   m_trianglesToKeep;
00103       std::vector<std::pair<const nvsg::TriStrips*,const nvsg::StateSet*> >   m_triStripsToKeep;
00104       std::vector<nvsg::Face3>    m_shiftedFaces3;
00105       std::vector<nvsg::Face4>    m_shiftedFaces4;
00106       std::vector<nvsg::IndexSet> m_shiftedIndexSets;
00107   };
00108
00109   inline bool DrawableUnifyTraverser::getIgnoreNames( void ) const
00110   {
00111     return( m_ignoreNames );
00112   }
00113
00114   inline void DrawableUnifyTraverser::setIgnoreNames( bool ignore )
00115   {
00116     m_ignoreNames = ignore;
00117   }
00118
00119 }
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


ErrorHandling.h Source File

ErrorHandling.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <string>
00018
00019 namespace nvsg
00020 {
00021 // forward declaration
00022 class NVSGException;
00024 typedef void NVSGERRORHANDLER(const NVSGException&);
00025
00029 extern NVSGERRORHANDLER * nvsgErrorHandler;
00039 NVSGERRORHANDLER * nvsgSetErrorHandler(NVSGERRORHANDLER * newErrorHandler);
00040
00044 class NVSGException
00045 {
00046 public:
00055   NVSGException(bool critical, const std::string& errMsg) : m_critical(critical), m_errMsg(errMsg) {}
00069   NVSGException(bool critical, unsigned int errMsgID) {}
00070   virtual ~NVSGException() {}
00071
00082   virtual bool isCritical() const;
00088   virtual const std::string& getErrorMessage() const;
00089
00090 private:
00091   bool m_critical;
00092   std::string m_errMsg;
00093 };
00094
00095 // inline function implementation
00096
00097 inline bool NVSGException::isCritical() const
00098 {
00099   return m_critical;
00100 }
00101
00102 inline const std::string& NVSGException::getErrorMessage() const
00103 {
00104   return m_errMsg;
00105 }
00106
00107 }
Generated on Fri Jan 28 09:17:44 2005 for NVSGSDK by NVIDIA


Face.h Source File

Face.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 namespace nvsg
00018 {
00020
00021   template<size_t n> struct Face
00022   {
00024
00025     unsigned int& operator[]( size_t i
00026                             )
00027     {
00028       __ASSERT( i < n );
00029       return indices[i];
00030     }
00031
00033
00034     const unsigned int& operator[]( size_t i
00035                                   ) const
00036     {
00037       __ASSERT( i < n );
00038       return indices[i];
00039     }
00040
00041     unsigned int indices[n];
00042
00043   };
00044
00045   typedef Face<3> Face3;
00046   typedef Face<4> Face4;
00047 }
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


FaceAttribute.h Source File

FaceAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vec3f.h"
00018 #include "nvsg/StateAttribute.h"
00019 #include "nvutil/BitMask.h"
00020
00021
00022 namespace nvsg
00023 {
00024   class FaceAttribute;
00025
00027   class FaceAttributeData : public nvutil::RCObject
00028   {
00029     friend class FaceAttribute;
00030
00031     public:
00033       NVSG_API FaceAttributeData(const FaceAttributeData& rhs);
00034
00035     private:
00036       // instantiation on stack is not permitted
00037       FaceAttributeData();
00038       ~FaceAttributeData();
00039       // assignment also not permitted
00040       FaceAttributeData& operator=(const FaceAttributeData& rhs) {}
00041
00042     private:
00043       nvmath::Vec3f m_ambientColor;
00044       bool          m_backFaceCulling;
00045       struct
00046       {
00047         bool  enabled;
00048         float factor;
00049         float units;
00050       }             m_polygonOffset;
00051       bool          m_twoSidedLighting;
00052   };
00053
00055   class FaceAttribute : public StateAttribute
00056   {
00057     public:
00059
00060       NVSG_API static const FaceAttribute * create( void );
00061
00063
00064       NVSG_API static const FaceAttribute * createFromBase( const StateAttribute &rhs );
00065
00067
00068       NVSG_API virtual const FaceAttribute * clone( void ) const;
00069
00071
00072       NVSG_API virtual bool isDataShared( void ) const;
00073
00075
00076       NVSG_API virtual DataID getDataID( void ) const;
00077
00079
00083       NVSG_API const nvmath::Vec3f& getAmbientColor( void ) const;
00084
00086
00089       NVSG_API float getPolygonOffsetFactor( void ) const;
00090
00092
00095       NVSG_API float getPolygonOffsetUnits( void ) const;
00096
00098
00102       NVSG_API bool isBackFaceCulling( void ) const;
00103
00105
00110       NVSG_API bool isPolygonOffset( void ) const;
00111
00113
00119       NVSG_API bool isTwoSidedLighting( void ) const;
00120
00122
00125       NVSG_API void setAmbientColor( const nvmath::Vec3f &color
00126                                    );
00127
00129
00132       NVSG_API void setBackFaceCulling( bool onOff
00133                                       );
00134
00136
00140       NVSG_API void setPolygonOffset( bool onOff
00141                                     );
00142
00144
00147       NVSG_API void setPolygonOffset( float factor
00148                                     , float units
00149                                     );
00150
00152
00157       NVSG_API void setTwoSidedLighting( bool onOff
00158                                        );
00159
00160     protected:
00162       NVSG_API FaceAttribute();
00163
00165       NVSG_API FaceAttribute( const StateAttribute &rhs );
00166
00168       NVSG_API FaceAttribute( const FaceAttribute &rhs );
00169
00171       NVSG_API virtual ~FaceAttribute( void );
00172
00173     private:
00174       // shareable render mode data
00175       nvutil::RCPtr<FaceAttributeData> m_faceAttribute;
00176   };
00177
00178   inline const nvmath::Vec3f& FaceAttribute::getAmbientColor( void ) const
00179   {
00180     __TRACE();
00181     return( m_faceAttribute->m_ambientColor );
00182   }
00183
00184   inline void FaceAttribute::setAmbientColor( const nvmath::Vec3f &color )
00185   {
00186     __TRACE();
00187     nvutil::writeAccess( m_faceAttribute );   //  nvutil::writeAccess performs a deep copy if necessary
00188     m_faceAttribute->m_ambientColor = color;
00189   }
00190
00191   inline void FaceAttribute::setBackFaceCulling( bool onOff )
00192   {
00193     __TRACE();
00194     nvutil::writeAccess( m_faceAttribute );   //  nvutil::writeAccess performs a deep copy if necessary
00195     m_faceAttribute->m_backFaceCulling = onOff;
00196   }
00197
00198   inline bool FaceAttribute::isBackFaceCulling( void ) const
00199   {
00200     __TRACE();
00201     return m_faceAttribute->m_backFaceCulling;
00202   }
00203
00204   inline void FaceAttribute::setPolygonOffset( bool onOff )
00205   {
00206     __TRACE();
00207     nvutil::writeAccess( m_faceAttribute );   //  nvutil::writeAccess performs a deep copy if necessary
00208     m_faceAttribute->m_polygonOffset.enabled = onOff;
00209   }
00210
00211   inline void FaceAttribute::setPolygonOffset( float factor, float units )
00212   {
00213     __TRACE();
00214     nvutil::writeAccess( m_faceAttribute );   //  nvutil::writeAccess performs a deep copy if necessary
00215     m_faceAttribute->m_polygonOffset.factor = factor;
00216     m_faceAttribute->m_polygonOffset.units = units;
00217   }
00218
00219   inline bool FaceAttribute::isPolygonOffset( void ) const
00220   {
00221     __TRACE();
00222     return( m_faceAttribute->m_polygonOffset.enabled );
00223   }
00224
00225   inline float FaceAttribute::getPolygonOffsetFactor( void ) const
00226   {
00227     __TRACE();
00228     return( m_faceAttribute->m_polygonOffset.factor );
00229   }
00230
00231   inline float FaceAttribute::getPolygonOffsetUnits( void ) const
00232   {
00233     __TRACE();
00234     return( m_faceAttribute->m_polygonOffset.units );
00235   }
00236
00237   inline void FaceAttribute::setTwoSidedLighting( bool onOff )
00238   {
00239     __TRACE();
00240     nvutil::writeAccess( m_faceAttribute );   //  nvutil::writeAccess performs a deep copy if necessary
00241     m_faceAttribute->m_twoSidedLighting = onOff;
00242   }
00243
00244   inline bool FaceAttribute::isTwoSidedLighting( void ) const
00245   {
00246     __TRACE();
00247     return( m_faceAttribute->m_twoSidedLighting );
00248   }
00249
00250 } // namespace nvsg
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


FlightCamManip.h Source File

FlightCamManip.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvui/CameraManipulator.h"
00018
00019 namespace nvui
00020 {
00022
00037   class FlightCamManip : public CameraManipulator
00038   {
00039     public:
00041       NVSG_API FlightCamManip(void);
00042
00044       NVSG_API ~FlightCamManip(void);
00045
00047       enum
00048       { _W_KEY        = 0x0400
00049       , _S_KEY        = 0x0800
00050       };
00051
00053
00054       NVSG_API virtual void apply(void);
00055
00057
00058       NVSG_API virtual void keyRepeat();
00059
00061
00066       bool isFly(void);
00067
00069
00071       void setScreenSize( UINT x
00072                         , UINT y
00073                         );
00074
00076
00077       void setWorldUpVector( nvmath::Vec3f up
00078                            );
00080
00081       const nvmath::Vec3f& getWorldUpVector();
00082
00084
00085       void setSpeedIncreaseFactor(float factor
00086                                  );
00087
00089
00090       float getSpeedIncreaseFactor();
00091
00093
00095       void setHSensitivity(float sensitivity
00096                           );
00097
00099
00100       float getHSensitivity();
00101
00103
00105       void setVSensitivity(float sensitivity
00106                           );
00107
00109
00110       float getVSensitivity();
00111
00113
00114       void setSpeed(float speed
00115                    );
00116
00118
00119       float getSpeed();
00120
00121     protected:
00122       UINT  m_ScreenSizeX;
00123       UINT  m_ScreenSizeY;
00124
00125       nvmath::Vec3f m_worldUpVector;
00126
00127       float m_speedIncreaseFactor;
00128       float m_hSensitivity;
00129       float m_vSensitivity;
00130
00131       float m_speed;
00132
00133       static NVSG_API const UINT FLYFORWARD;
00134       static NVSG_API const UINT FLYBACKWARD;
00135       static NVSG_API const UINT INCREASESPEED;
00136       static NVSG_API const UINT DECREASESPEED;
00137
00138       static NVSG_API const float AREAOFPEACE;
00139
00141
00142       NVSG_API virtual UINT convertKey(UINT key
00143                                       );
00145
00147       void fly(void);
00148
00150
00155       bool isFlyForward(void);
00156
00158
00163       bool isFlyBackward(void);
00164
00165   };
00166
00167   inline bool FlightCamManip::isFly(void)
00168   {
00169     return (isFlyForward() || isFlyBackward());
00170   }
00171
00172   inline bool FlightCamManip::isFlyForward(void)
00173   {
00174     return(FLYFORWARD == m_buttonState && (  m_keyState == 0
00175                                           || m_keyState == INCREASESPEED
00176                                           || m_keyState == DECREASESPEED));
00177   }
00178
00179   inline bool FlightCamManip::isFlyBackward(void)
00180   {
00181     return(FLYBACKWARD == m_buttonState && (  m_keyState == 0
00182                                            || m_keyState == INCREASESPEED
00183                                            || m_keyState == DECREASESPEED));
00184   }
00185
00186   inline void FlightCamManip::setScreenSize(UINT x, UINT y)
00187   {
00188     __ASSERT(x>0);
00189     __ASSERT(y>0);
00190     m_ScreenSizeX = x;
00191     m_ScreenSizeX = y;
00192   }
00193
00194   inline void FlightCamManip::setWorldUpVector(nvmath::Vec3f up)
00195   {
00196     m_worldUpVector = up;
00197   }
00198
00199   inline const nvmath::Vec3f& FlightCamManip::getWorldUpVector()
00200   {
00201     return m_worldUpVector;
00202   }
00203
00204   inline void FlightCamManip::setSpeedIncreaseFactor(float factor)
00205   {
00206     __ASSERT(fabs(factor) > FLT_EPSILON);
00207     m_speedIncreaseFactor = factor;
00208   }
00209
00210   inline float FlightCamManip::getSpeedIncreaseFactor()
00211   {
00212     return m_speedIncreaseFactor;
00213   }
00214
00215   inline void FlightCamManip::setHSensitivity(float sensitivity)
00216   {
00217     m_hSensitivity = sensitivity;
00218   }
00219
00220   inline float FlightCamManip::getHSensitivity()
00221   {
00222     return m_hSensitivity;
00223   }
00224
00225   inline void FlightCamManip::setVSensitivity(float sensitivity)
00226   {
00227     m_vSensitivity = sensitivity;
00228   }
00229
00230   inline float FlightCamManip::getVSensitivity()
00231   {
00232     return m_vSensitivity;
00233   }
00234
00235   inline void FlightCamManip::setSpeed(float speed)
00236   {
00237     m_speed = speed;
00238   }
00239
00240   inline float FlightCamManip::getSpeed()
00241   {
00242     return m_speed;
00243   }
00244
00245 } //  namespace nvui
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


FramedAnimation.h Source File

FramedAnimation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Animation.h"
00018
00019 #ifdef _DEBUG
00020 # ifndef new
00021 #  define new new(__FILE__, __LINE__)
00022 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00023 # endif
00024 #endif
00025
00026 namespace nvsg
00027 {
00028   class VNVector;
00029
00031
00032   template<typename T> class FramedAnimation : public Animation<T>
00033   {
00034     public:
00036
00037       static const FramedAnimation<T> * create( void );
00038
00040
00041       static const FramedAnimation<T> * createFromBase( const Animation<T> &rhs
00042                                                       );
00043
00045
00046       virtual const FramedAnimation<T> * clone( void ) const;
00047
00049
00050       virtual void setNumberOfFrames( size_t count );
00051
00053
00054       virtual T & operator[]( size_t i );
00055
00056       //--  Functions reimplemented from Animation  --
00057       virtual size_t getNumberOfFrames( void ) const;
00058       virtual const T & operator[]( size_t i ) const;
00059
00060     protected:
00062       NVSG_API FramedAnimation( void );
00063
00065       NVSG_API FramedAnimation( const Animation<T> &rhs );
00066
00068       NVSG_API FramedAnimation( const FramedAnimation<T> &rhs );
00069
00071       virtual ~FramedAnimation( void );
00072
00073     private:
00074       std::vector<T> m_values;
00075   };
00076
00077   template<typename T> FramedAnimation<T>::~FramedAnimation( void )
00078   {
00079     __TRACE();
00080   }
00081
00082   template<typename T> const FramedAnimation<T> * FramedAnimation<T>::create( void )
00083   {
00084     __TRACE();
00085     return( new FramedAnimation<T> );
00086   }
00087
00088   template<typename T> const FramedAnimation<T> * FramedAnimation<T>::createFromBase( const Animation<T> &rhs )
00089   {
00090     __TRACE();
00091     return( new FramedAnimation<T>( rhs ) );
00092   }
00093
00094   template<typename T> const FramedAnimation<T> * FramedAnimation<T>::clone( void ) const
00095   {
00096     __TRACE();
00097     return( new FramedAnimation<T>( *this ) );
00098   }
00099
00100   template<typename T> void FramedAnimation<T>::setNumberOfFrames( size_t count )
00101   {
00102     __TRACE();
00103     m_values.resize( count );
00104   }
00105
00106   template<typename T> T & FramedAnimation<T>::operator[]( size_t i )
00107   {
00108     __TRACE();
00109     __ASSERT( i < m_values.size() );
00110     return( m_values[i] );
00111   }
00112
00113   template<typename T> size_t FramedAnimation<T>::getNumberOfFrames( void ) const
00114   {
00115     __TRACE();
00116     return( m_values.size() );
00117   }
00118
00119   template<typename T> const T & FramedAnimation<T>::operator[]( size_t i ) const
00120   {
00121     __TRACE();
00122     __ASSERT( i < m_values.size() );
00123     return( m_values[i] );
00124   }
00125 }
00126
00127 #ifdef _DEFINED_DBGNEW
00128 # undef new
00129 #endif
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


FrustumCullTraverser.h Source File

FrustumCullTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/CullData.h"
00018 #include "nvtraverser/CullTraverser.h"
00019
00020 namespace nvtraverser
00021 {
00023
00026   class FrustumCullTraverser : public CullTraverser
00027   {
00028     public:
00030       NVSG_API FrustumCullTraverser(void);
00031
00032     protected:
00034       NVSG_API virtual ~FrustumCullTraverser(void);
00035
00036       // preTraverseRoot override
00037       NVSG_API virtual bool preTraverseRoot( const nvsg::SimpleCamera *p, const nvsg::Node *root );
00038
00039       //  Reimplemented from CullTraverser
00040       NVSG_API virtual nvsg::CullCode cullCode( const nvsg::Drawable *p ) const;
00041       NVSG_API virtual nvsg::CullCode cullCode( const nvsg::Node *p ) const;
00042
00043       NVSG_API virtual bool preTraverseTransform( const nvsg::Transform *p
00044                                                 );
00045       NVSG_API virtual void postTraverseTransform( const nvsg::Transform *p
00046                                                  );
00047
00048     private:
00049       //  Determine the CullCode based on a sphere
00050       nvsg::CullCode _cullCode( const nvmath::Sphere3f &sphere ) const;
00051
00052     private:
00053       const nvsg::SimpleCamera  * m_camera;
00054       mutable float               m_scaleFactor;
00055   };
00056
00057 }
00058
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


Compound Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions

  • eTexFileType : nvsg::Texture
  • GeometryCacheTechnique : nvtraverser::RenderTraverser
  • ISType : nvtraverser::RayIntersectTraverser
  • JitterTechnique : nvtraverser::RenderTraverser
  • OITTechnique : nvtraverser::RenderTraverser
  • PIC_ERROR : nvutil::PlugInCallback
  • PIC_TYPE_ID : nvutil::PlugInCallback
  • PIC_WARNING : nvutil::PlugInCallback
  • RenderTechnique : nvtraverser::RenderTraverser
  • TransparencyTechnique : nvtraverser::RenderTraverser
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Compound Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
_ | g | j | o | r | t

- _ -

  • _BSFAR : nvtraverser::RayIntersectTraverser
  • _BSNEAR : nvtraverser::RayIntersectTraverser
  • _BSNEARFAR : nvtraverser::RayIntersectTraverser
  • _BSTANGENT : nvtraverser::RayIntersectTraverser
  • _CONTROL_KEY : nvui::CameraManipulator
  • _LEFT_MOUSE_BTN : nvui::CameraManipulator
  • _MIDDLE_MOUSE_BTN : nvui::CameraManipulator
  • _MULTISAMPLE : nvui::RenderArea
  • _NO_BTN_KEY : nvui::CameraManipulator
  • _NONE : nvtraverser::RayIntersectTraverser
  • _RIGHT_MOUSE_BTN : nvui::CameraManipulator
  • _S_KEY : nvui::WalkCamManip, nvui::FlightCamManip
  • _SHIFT_KEY : nvui::CameraManipulator
  • _STEREO : nvui::RenderArea
  • _UNDEFINED : nvui::RenderArea
  • _W_KEY : nvui::WalkCamManip, nvui::FlightCamManip

- g -

  • GCT_DL : nvtraverser::RenderTraverser
  • GCT_NONE : nvtraverser::RenderTraverser
  • GCT_VBO : nvtraverser::RenderTraverser

- j -

  • JT_ACCUM : nvtraverser::RenderTraverser
  • JT_PBUFFER : nvtraverser::RenderTraverser
  • JT_READ_PIXELS : nvtraverser::RenderTraverser

- o -

  • OT_PBUFFER : nvtraverser::RenderTraverser
  • OT_TEXTURE : nvtraverser::RenderTraverser

- r -

  • RT_EFFECTED : nvtraverser::RenderTraverser
  • RT_POINTS : nvtraverser::RenderTraverser
  • RT_SHADED : nvtraverser::RenderTraverser
  • RT_TEXTURED : nvtraverser::RenderTraverser
  • RT_WIREFRAME : nvtraverser::RenderTraverser

- t -

  • TFT_BMP : nvsg::Texture
  • TFT_DDS : nvsg::Texture
  • TFT_GIF : nvsg::Texture
  • TFT_HDR : nvsg::Texture
  • TFT_JPG : nvsg::Texture
  • TFT_PNG : nvsg::Texture
  • TFT_RGB : nvsg::Texture
  • TFT_TGA : nvsg::Texture
  • TFT_TIF : nvsg::Texture
  • TFT_UNKNOWN : nvsg::Texture
  • TT_BLENDED : nvtraverser::RenderTraverser
  • TT_NONE : nvtraverser::RenderTraverser
  • TT_ORDER_INDEPENDENT : nvtraverser::RenderTraverser
  • TT_STIPPLED : nvtraverser::RenderTraverser
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Compound Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | z | ~

- a -

  • addAttribute() : nvsg::StateSet
  • addBuffers() : nvgl::GLObjects
  • addCamera() : nvsg::Scene
  • addCameraAnimation() : nvsg::Scene
  • addChild() : nvsg::Group, nvsg::CullData
  • addEntry() : nvutil::MemFunTbl< T >
  • addGeometry() : nvsg::GeoNode
  • addHeadLight() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • addLists() : nvgl::GLObjects
  • addObjectHandler() : nvtraverser::Traverser
  • addOcclusionQueries() : nvgl::GLObjects
  • addPrograms() : nvgl::GLObjects
  • addQueries() : nvgl::GLObjects
  • addRef() : nvutil::RCObject
  • addTextures() : nvgl::GLObjects
  • alloc() : nvutil::Allocator, nvutil::FixedAllocator, nvutil::Chunk, NBFSaveTraverser
  • Allocator() : nvutil::Allocator
  • AnimatedQuads() : nvsg::AnimatedQuads
  • AnimatedTransform() : nvsg::AnimatedTransform
  • AnimatedTriangles() : nvsg::AnimatedTriangles
  • Animation() : nvsg::Animation< T >
  • AnimationCamManip() : nvui::AnimationCamManip
  • apply() : nvutil::Trackball, nvui::WalkCamManip, nvui::TrackballCamManip, nvui::FlightCamManip, nvui::CameraManipulator, nvui::AnimationCamManip, nvtraverser::Traverser
  • AppTraverser() : nvtraverser::AppTraverser
  • areCollinear() : nvmath::Vec3f
  • areOnOppositeSides() : nvmath::Plane3f
  • areOnSameSide() : nvmath::Plane3f
  • areOrthogonal() : nvmath::Vecnf< n >
  • areOrthonormal() : nvmath::Vecnf< n >
  • areSimilar() : nvmath::Vecnf< n >
  • attach() : nvui::CameraManipulator
  • attachHighlightObject() : nvsg::GeoSet
  • attachWindow() : nvui::GLWinRenderArea

- b -

  • balance() : nvsg::CullData
  • beginEdit() : nvsg::Object, nvtraverser::Traverser
  • bindTextureAttributeItem() : nvsg::TextureAttribute
  • blocksAvailable() : nvutil::Chunk
  • Bone() : nvsg::Bone
  • boundingSphere() : nvmath::Sphere3f
  • BoundingSphere() : nvmath::BoundingSphere

- c -

  • c() : nvmath::Plane3f
  • calcBoundingSphere() : nvsg::Transform, nvsg::Switch, nvsg::Node, nvsg::LightSource, nvsg::Group, nvsg::GeoNode
  • calcNearFarDistances() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • calculateTangentSpace() : nvsg::TriStrips, nvsg::Triangles, nvsg::QuadStrips, nvsg::Quads, nvsg::GeoSet, nvsg::GeoNode
  • calculatingStorageRequirements() : NBFSaveTraverser
  • callback() : nvutil::PlugIn
  • Camera() : nvsg::Camera
  • CameraManipulator() : nvui::CameraManipulator
  • CgFx() : nvsg::CgFx
  • checkIntersection() : nvtraverser::RayIntersectTraverser
  • Chunk() : nvutil::Chunk
  • clearCullTree() : nvsg::ViewState
  • clone() : nvtraverser::Intersection, nvsg::ViewState, nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::StateAttribute, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::SimpleCamera, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::Node, nvsg::MonoCamera, nvsg::Material, nvsg::LOD, nvsg::LinearInterpolatedAnimation< T >, nvsg::JitterCamera, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::FaceAttribute, nvsg::Drawable, nvsg::DirectedLight, nvsg::CgFx, nvsg::Camera, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • CondenseTraverser() : nvtraverser::CondenseTraverser
  • containsCgFx() : nvsg::StateSet, nvsg::Scene, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • containsLight() : nvsg::Scene, nvsg::Node, nvsg::LightSource, nvsg::Group
  • containsTransparentMaterial() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Scene, nvsg::Node, nvsg::Material, nvsg::Group, nvsg::GeoNode
  • containsTransparentTexture() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Scene, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • convertKey() : nvui::WalkCamManip, nvui::FlightCamManip, nvui::CameraManipulator
  • convertMouseButton() : nvui::CameraManipulator
  • create() : nvsg::ViewState, nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Texture, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::Scene, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::Material, nvsg::LOD, nvsg::LinearInterpolatedAnimation< T >, nvsg::JitterCamera, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::FaceAttribute, nvsg::DirectedLight, nvsg::CgFx, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • createEffectFromFile() : nvsg::CgFx
  • createFromBase() : nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::Material, nvsg::LOD, nvsg::LinearInterpolatedAnimation< T >, nvsg::JitterCamera, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::FaceAttribute, nvsg::DirectedLight, nvsg::CgFx, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • createNewRenderAreaID() : nvui::RenderArea
  • cullCode() : nvtraverser::OcclusionCullTraverser, nvtraverser::FrustumCullTraverser, nvtraverser::CullTraverser
  • CullData() : nvsg::CullData
  • CullTraverser() : nvtraverser::CullTraverser

- d -

  • DALData() : nvsg::DALData
  • DALDataCreator() : nvsg::DALDataCreator
  • dealloc() : nvutil::Allocator, nvutil::FixedAllocator, nvutil::Chunk
  • decompose() : nvmath::Quatf, nvmath::Mat44f, nvmath::Mat33f
  • deleteThis() : nvutil::PlugIn, nvsg::DALData, NVSGSaver, NBFSaver, WRLLoader, NVSGLoader, NVBLoader, NBFLoader
  • destroy() : nvui::RenderArea, nvui::GLWinRenderArea
  • determinant() : nvmath::Mat33f
  • determinePixelFormat() : nvui::GLWinRenderArea
  • DirectedLight() : nvsg::DirectedLight
  • disableLightSource() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • disableTexGen() : nvsg::TextureAttributeItem
  • distance() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Plane3f
  • doApply() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser, nvtraverser::CullTraverser, nvtraverser::CondenseTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • dolly() : nvui::TrackballCamManip
  • doneReading() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • doneWriting() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • Drawable() : nvsg::Drawable
  • DrawableUnifyTraverser() : nvtraverser::DrawableUnifyTraverser

- e -

  • endEdit() : nvsg::Object, nvtraverser::Traverser
  • EndImport() : NVNVB
  • enlarge() : nvmath::BoundingSphere
  • extend() : nvmath::BoundingSphere
  • extendBoundingSphere() : nvsg::Node

- f -

  • FaceAttribute() : nvsg::FaceAttribute
  • FaceAttributeData() : nvsg::FaceAttributeData
  • FixedAllocator() : nvutil::FixedAllocator
  • FlightCamManip() : nvui::FlightCamManip
  • fly() : nvui::FlightCamManip
  • format() : nvutil::TraceFunctor< OutFunctor >, nvutil::Log< TestMode, OutputFn >
  • FramedAnimation() : nvsg::FramedAnimation< T >
  • freeMemory() : nvutil::Chunk
  • FrustumCullTraverser() : nvtraverser::FrustumCullTraverser

- g -

  • generateTexCoords() : nvsg::GeoSet, nvsg::GeoNode
  • GeoNode() : nvsg::GeoNode
  • GeoNodeUnifyTraverser() : nvtraverser::GeoNodeUnifyTraverser
  • GeoSet() : nvsg::GeoSet
  • get() : nvutil::RCObject_AutoPtr< T >
  • getActive() : nvsg::Switch
  • getAmbientColor() : nvsg::Material, nvsg::LightSource, nvsg::FaceAttribute
  • getAnimation() : nvsg::Bone, nvsg::LightSource, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • getAnimationFrame() : nvsg::ViewState
  • getAnnotation() : nvsg::Node, nvsg::CgFx
  • getAppTraverser() : nvui::RenderArea
  • getAspectRatio() : nvui::RenderArea, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getAttachedCamera() : nvui::CameraManipulator
  • getAttenuation() : nvsg::SpotLight, nvsg::PointLight
  • getAttribute() : nvsg::StateSet
  • getAttributeByObjectCode() : nvsg::StateSet
  • getBackColor() : nvsg::Scene
  • getBaseCamera() : nvsg::JitterCamera
  • getBorderColor() : nvsg::TextureAttributeItem
  • getBoundingSphere() : nvsg::Node, nvsg::HighlightObject, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::GeoSet, nvsg::Drawable
  • getButtonState() : nvui::CameraManipulator
  • getCamera() : nvsg::ViewState, nvsg::Scene, nvsg::JitterCamera
  • getCameraAnimation() : nvsg::Scene
  • getCenter() : nvsg::Transform, nvsg::LOD, nvmath::Trafo, nvmath::Sphere3f, nvmath::BoundingSphere
  • getChild() : nvsg::Group, nvsg::CullData
  • getClipToModel() : nvutil::TransformStack
  • getClipToView() : nvutil::TransformStack
  • getColor() : nvsg::HighlightEdges, nvsg::HighlightBox
  • getColors() : nvsg::GeoSet
  • getColorsDim() : nvsg::GeoSet
  • getComponents() : nvsg::Texture
  • getCullCode() : nvsg::CullData
  • getCullTraverser() : nvui::RenderArea
  • getCullTree() : nvsg::ViewState
  • getCurrentFrame() : nvsg::InterpolatedAnimation< T >
  • getCurrentLightIndex() : nvtraverser::RenderTraverser
  • getCurrentTechnique() : nvsg::CgFx
  • getCurrentValue() : nvsg::InterpolatedAnimation< T >
  • getCutoffAngle() : nvsg::SpotLight
  • getDataID() : nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::StateAttribute, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::SimpleCamera, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::Object, nvsg::Node, nvsg::Material, nvsg::LightSource, nvsg::JitterCamera, nvsg::Group, nvsg::GeoSet, nvsg::GeoNode, nvsg::FaceAttribute, nvsg::Drawable, nvsg::DirectedLight, nvsg::CgFx, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • getDefaultStateSet() : nvsg::Scene
  • getDepth() : nvsg::Texture
  • getDepthFactor() : nvsg::StereoCamera
  • getDeviceAbstractionLinkData() : nvsg::DALHost
  • getDiffuseColor() : nvsg::Material, nvsg::LightSource
  • getDirection() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • getDist() : nvtraverser::Intersection
  • getDrawable() : nvtraverser::Intersection, nvsg::GeoNode
  • getDrawables() : nvsg::GeoNode
  • getEffectFile() : nvsg::CgFx
  • getEmissiveColor() : nvsg::Material
  • getEnvMode() : nvsg::TextureAttributeItem
  • getErrorMessage() : nvsg::NVSGException
  • getFaces() : nvsg::Triangles, nvsg::Quads
  • getFalloffExponent() : nvsg::SpotLight
  • getFarDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getFieldOfView() : nvsg::PerspectiveCamera
  • getFileName() : nvsg::TextureAttributeItem, nvsg::Texture
  • getFirstItem() : nvsg::TextureAttribute
  • getFocusDistance() : nvsg::StereoCamera
  • getFogCoords() : nvsg::GeoSet
  • getFormat() : nvsg::Texture
  • getFrame() : nvsg::InterpolatedAnimation< T >
  • getGeometryCacheTechnique() : nvtraverser::RenderTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser
  • getHandle() : nvsg::Texture
  • getHead() : nvsg::Path
  • getHeadLight() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getHeadLightTrafo() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getHeight() : nvsg::Texture
  • getHighlightObject() : nvsg::GeoSet
  • getHSensitivity() : nvui::WalkCamManip, nvui::FlightCamManip
  • getIgnoreNames() : nvtraverser::TransformUnifyTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::DrawableUnifyTraverser
  • getIncarnation() : nvsg::StateAttribute
  • getIndex() : nvsg::Group
  • getIntensity() : nvsg::LightSource
  • getIntersections() : nvtraverser::RayIntersectTraverser
  • getInverse() : nvsg::Transform, nvsg::LightSource, nvmath::Trafo
  • getInverseProjection() : nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • getIsp() : nvtraverser::Intersection
  • getJitters() : nvsg::JitterCamera
  • getJitterTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getKey() : nvsg::InterpolatedAnimation< T >
  • getKeyState() : nvui::CameraManipulator
  • getLastRecentlyUsedDeviceAbstractionLinkData() : nvsg::DALHost
  • getLeftCamera() : nvsg::StereoCamera
  • getLength() : nvsg::Path
  • getLineAntiAliasing() : nvtraverser::RenderTraverser
  • getLineWidth() : nvtraverser::RenderTraverser, nvsg::HighlightEdges, nvsg::HighlightBox
  • getLODToUse() : nvsg::LOD
  • getMagFilterMode() : nvsg::TextureAttributeItem
  • getMatrix() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::Bone, nvmath::Trafo
  • getMinFilterMode() : nvsg::TextureAttributeItem
  • getMinimalLengths() : nvtraverser::StrippingTraverser
  • getModelToClip() : nvutil::TransformStack
  • getModelToView() : nvutil::TransformStack
  • getModelToWorld() : nvutil::TransformStack
  • getMonoCamera() : nvsg::StereoCamera
  • getName() : nvsg::Object
  • getNearDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getNearest() : nvtraverser::RayIntersectTraverser
  • getNextItem() : nvsg::TextureAttribute
  • getNodeFromHead() : nvsg::Path
  • getNodeFromTail() : nvsg::Path
  • getNormals() : nvsg::GeoSet
  • getNumberOfActive() : nvsg::Switch
  • getNumberOfAnnotations() : nvsg::CgFx
  • getNumberOfAttributes() : nvsg::StateSet
  • getNumberOfCameraAnimations() : nvsg::Scene
  • getNumberOfCameras() : nvsg::Scene
  • getNumberOfChildren() : nvsg::Group, nvsg::CullData
  • getNumberOfColors() : nvsg::GeoSet
  • getNumberOfCullTraverser() : nvui::RenderArea
  • getNumberOfDrawables() : nvsg::GeoNode
  • getNumberOfFaces() : nvsg::Triangles, nvsg::Quads
  • getNumberOfFogCoords() : nvsg::GeoSet
  • getNumberOfFrames() : nvsg::SkinnedTriangles, nvsg::Scene, nvsg::Node, nvsg::LightSource, nvsg::InterpolatedAnimation< T >, nvsg::Group, nvsg::GeoNode, nvsg::FramedAnimation< T >, nvsg::Drawable, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • getNumberOfGeometries() : nvsg::GeoNode
  • getNumberOfHeadLights() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getNumberOfImages() : nvsg::Texture
  • getNumberOfIntersections() : nvtraverser::RayIntersectTraverser
  • getNumberOfItems() : nvsg::TextureAttribute
  • getNumberOfKeys() : nvsg::InterpolatedAnimation< T >
  • getNumberOfMipmaps() : nvsg::Texture
  • getNumberOfNormals() : nvsg::GeoSet
  • getNumberOfOwners() : nvsg::StateSet, nvsg::Drawable
  • getNumberOfParents() : nvsg::StateAttribute, nvsg::Node
  • getNumberOfPasses() : nvsg::JitterCamera, nvsg::CgFx
  • getNumberOfRanges() : nvsg::LOD
  • getNumberOfSecondaryColors() : nvsg::GeoSet
  • getNumberOfSkins() : nvsg::SkinnedTriangles
  • getNumberOfStateSets() : nvsg::GeoNode
  • getNumberOfStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • getNumberOfTechniques() : nvsg::CgFx
  • getNumberOfTexCoords() : nvsg::GeoSet
  • getNumberOfTransforms() : nvsg::CgFx
  • getNumberOfTweakables() : nvsg::CgFx
  • getNumberOfVertexAttributeBytes() : nvsg::GeoSet
  • getNumberOfVertexAttributeData() : nvsg::GeoSet
  • getNumberOfVertices() : nvsg::GeoSet
  • getObjectCode() : nvsg::Object
  • getOITMaxPasses() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getOITTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getOITThreshold() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getOpacity() : nvsg::Material
  • getOrientation() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera, nvmath::Trafo
  • getOverrideStateSet() : nvsg::Scene
  • getOwner() : nvsg::StateSet, nvsg::Drawable
  • getParent() : nvsg::StateAttribute, nvsg::Node
  • getPass() : nvsg::CgFx
  • getPath() : nvtraverser::Intersection
  • getPixels() : nvsg::Texture
  • getPlugInterfaceType() : nvutil::UPIID
  • getPlugSpecificIDString() : nvutil::UPIID
  • getPointAntiAliasing() : nvtraverser::RenderTraverser
  • getPointSize() : nvtraverser::RenderTraverser
  • getPolygonOffsetFactor() : nvsg::FaceAttribute
  • getPolygonOffsetUnits() : nvsg::FaceAttribute
  • getPosition() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • getProjection() : nvsg::PerspectiveCamera, nvsg::ParallelCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • getProjectionDx() : nvsg::SimpleCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • getPtr() : nvmath::Vecnf< n >, nvmath::Matnnf< n >
  • getRadius() : nvmath::Sphere3f, nvmath::BoundingSphere
  • getRanges() : nvsg::LOD
  • getRenderTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getRenderTraverser() : nvui::RenderArea
  • getResults() : nvtraverser::SearchTraverser
  • getRightCamera() : nvsg::StereoCamera
  • getRootNode() : nvsg::Scene
  • getScaling() : nvsg::Transform, nvsg::TextureAttributeItem, nvmath::Trafo
  • getSecondaryColors() : nvsg::GeoSet
  • getSecondaryColorsDim() : nvsg::GeoSet
  • getSize() : nvutil::Trackball, nvsg::Texture
  • getSkins() : nvsg::SkinnedTriangles
  • getSpecularColor() : nvsg::Material, nvsg::LightSource
  • getSpecularExponent() : nvsg::Material
  • getSpeed() : nvui::WalkCamManip, nvui::FlightCamManip
  • getSpeedIncreaseFactor() : nvui::WalkCamManip, nvui::FlightCamManip
  • getSphere() : nvmath::BoundingSphere
  • getStackDepth() : nvutil::TransformStack
  • getStateSet() : nvsg::GeoNode
  • getStateSets() : nvsg::GeoNode
  • getStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • getTail() : nvsg::Path
  • getTarget() : nvsg::Texture
  • getTargetDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getTechnique() : nvsg::CgFx
  • getTexCoords() : nvsg::GeoSet
  • getTexCoordsDim() : nvsg::GeoSet
  • getTexGenMode() : nvsg::TextureAttributeItem
  • getTexGenPlane() : nvsg::TextureAttributeItem
  • getTexture() : nvsg::TextureAttributeItem
  • getTextureAttributeItem() : nvsg::TextureAttribute
  • getTextureSizeLimits() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getTransform() : nvsg::CgFx
  • getTransformationMatrix() : nvsg::LightSource
  • getTranslation() : nvsg::Transform, nvsg::TextureAttributeItem, nvmath::Trafo
  • getTransparencyTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • getTweakable() : nvsg::CgFx
  • getType() : nvsg::TextureAttributeItem, nvsg::Texture
  • getUpVector() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getValue() : nvsg::InterpolatedAnimation< T >, nvsg::CgFx
  • getVertexAttributeData() : nvsg::GeoSet
  • getVertexAttributeDataDim() : nvsg::GeoSet
  • getVertices() : nvsg::HighlightBox, nvsg::GeoSet
  • getViewState() : nvui::RenderArea
  • getViewToClip() : nvutil::TransformStack
  • getViewToModel() : nvutil::TransformStack
  • getViewToWorld() : nvutil::TransformStack
  • getViewToWorldMatrix() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getVSensitivity() : nvui::FlightCamManip
  • getWeight() : nvsg::Bone
  • getWidth() : nvsg::Texture
  • getWindowOffset() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWindowRegion() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWindowSize() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWorldToModel() : nvutil::TransformStack
  • getWorldToView() : nvutil::TransformStack
  • getWorldToViewMatrix() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • getWorldUpVector() : nvui::WalkCamManip, nvui::FlightCamManip
  • getWrapMode() : nvsg::TextureAttributeItem
  • GLTraverser() : nvtraverser::GLTraverser
  • GLWinRenderArea() : nvui::GLWinRenderArea
  • Group() : nvsg::Group
  • GroupUnifyTraverser() : nvtraverser::GroupUnifyTraverser

- h -

  • handleAnimatedQuads() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleAnimatedTransform() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleAnimatedTriangles() : nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleCgFx() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleDirectedLight() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFaceAttribute() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedTrafoAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedVNVectorAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleGeoNode() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, nvtraverser::CondenseTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser, NVBLoadTraverser
  • handleGroup() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleHighlightBox() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::AppTraverser
  • handleHighlightEdges() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser
  • handleJitterCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleLinearInterpolatedTrafoAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLinearInterpolatedVNVectorAnimation() : nvtraverser::Traverser, nvtraverser::SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLOD() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleMaterial() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleParallelCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RenderTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePerspectiveCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RenderTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePointLight() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuads() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadStrips() : nvtraverser::TriangulateTraverser, nvtraverser::Traverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSkinnedTriangles() : nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::AppTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSpotLight() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStateSet() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleStereoCamera() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleSwitch() : nvtraverser::Traverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleTextureAttribute() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTextureAttributeItem() : nvtraverser::Traverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTransform() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::IdentityToGroupTraverser, nvtraverser::GLTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleTriangles() : nvtraverser::Traverser, nvtraverser::StrippingTraverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser, NVBLoadTraverser
  • handleTriStrips() : nvtraverser::Traverser, nvtraverser::SmoothTraverser, nvtraverser::SearchTraverser, nvtraverser::RayIntersectTraverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::GLTraverser, nvtraverser::DrawableUnifyTraverser, nvtraverser::CullTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • hasChild() : nvsg::Group
  • hasFaces() : nvsg::Triangles, nvsg::Quads
  • hasStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • hasTexCoords() : nvsg::GeoSet
  • HighlightBox() : nvsg::HighlightBox
  • HighlightEdges() : nvsg::HighlightEdges
  • HighlightObject() : nvsg::HighlightObject

- i -

  • IAllocator() : nvutil::IAllocator
  • IdentityToGroupTraverser() : nvtraverser::IdentityToGroupTraverser
  • Incarnation() : nvutil::Incarnation
  • init() : nvutil::Log< TestMode, OutputFn >, nvutil::FixedAllocator, nvui::RenderArea, nvui::GLWinRenderArea
  • initGL() : nvui::GLWinRenderArea
  • initialize() : nvutil::SWMRSync
  • instance() : nvutil::Singleton< T >
  • InterpolatedAnimation() : nvsg::InterpolatedAnimation< T >
  • Intersection() : nvtraverser::Intersection
  • intersectTriangle() : nvtraverser::RayIntersectTraverser
  • invalidate() : nvsg::HighlightObject, nvmath::BoundingSphere
  • invalidateBoundingSphere() : nvsg::Node, nvsg::GeoSet, nvsg::Drawable
  • invalidateCaches() : nvsg::StateSet, nvsg::Group, nvsg::GeoNode
  • invalidateCgFxContainment() : nvsg::StateSet, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • invalidateLightContainment() : nvsg::Node, nvsg::Group
  • invalidateNumberOfFrames() : nvsg::Node, nvsg::Group, nvsg::GeoNode, nvsg::Drawable
  • invalidateTransparentMaterialContainment() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • invalidateTransparentTextureContainment() : nvsg::StateSet, nvsg::StateAttribute, nvsg::Node, nvsg::Group, nvsg::GeoNode
  • invert() : nvmath::Quatf
  • isActive() : nvsg::Switch
  • isAnimating() : nvsg::ViewState
  • isAttenuated() : nvsg::SpotLight, nvsg::PointLight
  • isAutoClipPlanes() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera, NBFSimpleCamera
  • isAvailable() : nvgl::GLFunctions
  • isBackFaceCulling() : nvsg::FaceAttribute
  • isBackFaceCullingEnabled() : nvtraverser::RayIntersectTraverser
  • isBoundingSphereValid() : nvsg::Node, nvsg::HighlightObject, nvsg::HighlightEdges, nvsg::HighlightBox, nvsg::GeoSet, nvsg::Drawable
  • isCritical() : nvsg::NVSGException
  • isCubeMap() : nvsg::Texture
  • isCurrentTechniqueValid() : nvsg::CgFx
  • isCurrentTechniqueValidationPending() : nvsg::CgFx
  • isDataShared() : nvsg::TriStrips, nvsg::Triangles, nvsg::Transform, nvsg::TextureAttribute, nvsg::TextureAttributeItem, nvsg::Switch, nvsg::StereoCamera, nvsg::StateSet, nvsg::StateAttribute, nvsg::SpotLight, nvsg::SkinnedTriangles, nvsg::SimpleCamera, nvsg::QuadStrips, nvsg::Quads, nvsg::PointLight, nvsg::Object, nvsg::Node, nvsg::Material, nvsg::LightSource, nvsg::JitterCamera, nvsg::Group, nvsg::GeoSet, nvsg::GeoNode, nvsg::FaceAttribute, nvsg::Drawable, nvsg::DirectedLight, nvsg::CgFx, nvsg::Animation< T >, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • isDolly() : nvui::TrackballCamManip
  • isEffectValid() : nvsg::CgFx
  • isEmpty() : nvsg::Path
  • isEnabled() : nvutil::Log< TestMode, OutputFn >
  • isExported() : nvgl::GLFunctions
  • isFloatingPoint() : nvsg::Texture
  • isFly() : nvui::FlightCamManip
  • isFlyBackward() : nvui::FlightCamManip
  • isFlyForward() : nvui::FlightCamManip
  • isGeometryCacheTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser
  • isIdentity() : nvmath::Matnnf< n >, nvsg::Transform
  • isInsideBounds() : nvutil::Chunk
  • isJitterTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isLeftPassIndex() : nvsg::StereoCamera
  • isLookupRequired() : nvsg::TextureAttributeItem
  • isNormalized() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • isNull() : nvmath::Vecnf< n >, nvmath::Quatf
  • isOITTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isOrthogonal() : nvmath::Matnnf< n >
  • isPan() : nvui::TrackballCamManip
  • isPolygonOffset() : nvsg::FaceAttribute
  • isRenderTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isRotate() : nvui::TrackballCamManip
  • isRotation() : nvmath::Mat33f
  • isShareable() : nvutil::RCObject
  • isShared() : nvutil::RCObject, NBFObject
  • isStereo() : nvsg::ViewState
  • isStereoAvailable() : nvui::RenderArea
  • isTexFileType() : nvsg::Texture
  • isTilt() : nvui::WalkCamManip
  • isTranslate() : nvui::WalkCamManip
  • isTransparencyTechniqueSupported() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • isTwoSidedLighting() : nvsg::FaceAttribute
  • isUnused() : nvutil::Chunk
  • isValid() : nvsg::HighlightObject, nvmath::BoundingSphere
  • isWalk() : nvui::WalkCamManip
  • isWalkBackward() : nvui::WalkCamManip
  • isWalkForward() : nvui::WalkCamManip

- j -

  • JitterCamera() : nvsg::JitterCamera

- k -

  • keyDown() : nvui::RenderArea, nvui::CameraManipulator
  • keyRepeat() : nvui::WalkCamManip, nvui::FlightCamManip, nvui::CameraManipulator
  • keyUp() : nvui::RenderArea, nvui::CameraManipulator

- l -

  • length() : nvmath::Vecnf< n >
  • lengthSquared() : nvmath::Vecnf< n >
  • lerp() : nvmath::Trafo, nvmath::Quatf
  • LightSource() : nvsg::LightSource
  • LinearInterpolatedAnimation() : nvsg::LinearInterpolatedAnimation< T >
  • load() : nvsg::Texture, nvsg::SceneLoader, WRLLoader, NVSGLoader, NVNVB, NVBLoader, NBFLoader
  • loadCustomObject() : NBFLoader
  • LOD() : nvsg::LOD
  • Log() : nvutil::Log< TestMode, OutputFn >

- m -

  • magnitude() : nvmath::Quatf
  • makeCurrent() : nvui::GLWinRenderArea
  • mapOffset() : NBFLoader
  • mapViewOfFile() : NBFSaveTraverser
  • markUnshareable() : nvutil::RCObject
  • Mat33f() : nvmath::Mat33f
  • Mat44f() : nvmath::Mat44f
  • Material() : nvsg::Material
  • Matnnf() : nvmath::Matnnf< n >
  • maxElement() : nvmath::Vecnf< n >
  • MemFunTbl() : nvutil::MemFunTbl< T >
  • minElement() : nvmath::Vecnf< n >
  • ModelViewTraverser() : nvtraverser::ModelViewTraverser
  • MonoCamera() : nvsg::MonoCamera
  • mouseButtonDown() : nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • mouseButtonUp() : nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • mouseMotion() : nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • move() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • moveX() : nvsg::Camera
  • moveY() : nvsg::Camera
  • moveZ() : nvsg::Camera

- n -

  • n() : nvmath::Plane3f
  • NBFSaver() : NBFSaver
  • NBFSaveTraverser() : NBFSaveTraverser
  • nearestPoint() : nvmath::Plane3f
  • NewCamera() : NVNVB
  • NewController() : NVNVB
  • NewHelper() : NVNVB
  • NewLight() : NVNVB
  • NewMaterial() : NVNVB
  • NewMesh() : NVNVB
  • NewMotion() : NVNVB
  • NewScene() : NVNVB
  • NewShape() : NVNVB
  • NewTexture() : NVNVB
  • Node() : nvsg::Node
  • normalize() : nvmath::Vec3f, nvmath::Vecnf< n >, nvmath::Quatf
  • normalizeV() : nvmath::Vec3f
  • NVBImportError() : NVNVB
  • NVBLoadTraverser() : NVBLoadTraverser
  • NVBLog() : NVNVB
  • NVSGException() : nvsg::NVSGException
  • NVSGSaveTraverser() : NVSGSaveTraverser

- o -

  • Object() : nvsg::Object
  • OcclusionCullGLTraverser() : nvtraverser::OcclusionCullGLTraverser
  • OcclusionCullTraverser() : nvtraverser::OcclusionCullTraverser
  • onEmptyToken() : nvutil::PlugInCallback
  • onError() : nvutil::PlugInCallback
  • onFileAccessFailed() : nvutil::PlugInCallback
  • onFileEmpty() : nvutil::PlugInCallback
  • onFileMappingFailed() : nvutil::PlugInCallback
  • onFileNotFound() : nvutil::PlugInCallback
  • onFilesNotFound() : nvutil::PlugInCallback
  • onImcompatibleFile() : nvutil::PlugInCallback
  • onIncompatibleValues() : nvutil::PlugInCallback
  • onInvalidFile() : nvutil::PlugInCallback
  • onInvalidValue() : nvutil::PlugInCallback
  • onReleaseDAL() : nvtraverser::GLTraverser, nvsg::DALDataCreator
  • onSetVertexAttributeData() : nvsg::GeoSet, nvsg::AnimatedTriangles, nvsg::AnimatedQuads
  • onUndefinedToken() : nvutil::PlugInCallback
  • onUnexpectedEndOfFile() : nvutil::PlugInCallback
  • onUnexpectedToken() : nvutil::PlugInCallback
  • onUnknownToken() : nvutil::PlugInCallback
  • onUnsupportedToken() : nvutil::PlugInCallback
  • onWarning() : nvutil::PlugInCallback
  • operator *() : nvmath::Vecnf< n >, nvmath::Vec4f, nvmath::Vec3f, nvmath::Vec2f, nvmath::Quatf, nvmath::Matnnf< n >, nvmath::Mat44f, nvutil::RCObject_AutoPtr< T >, nvutil::RCIPtr< T >, nvutil::RCPtr< T >, nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator *=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator const T &() : nvutil::RegVal< T >
  • operator delete() : nvutil::IAllocator
  • operator new() : nvutil::IAllocator
  • operator!=() : nvutil::UPIID, nvutil::UPITID, nvutil::Incarnation, nvutil::Chunk, nvmath::Vecnf< n >, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator()() : nvutil::TraceFunctor< OutFunctor >, nvutil::traceFileConsoleOutput, nvutil::traceFileDebugOutput, nvutil::traceFileOutput, nvutil::traceConsoleDebugOutput, nvutil::traceConsoleOutput, nvutil::traceDebugOutput, nvutil::removeReference, nvutil::addReference, nvsg::Bone, nvmath::Sphere3f, nvmath::Plane3f
  • operator+() : nvmath::Vecnf< n >, nvmath::Matnnf< n >
  • operator++() : nvutil::Incarnation
  • operator+=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator-() : nvmath::Vecnf< n >, nvmath::Vec3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator-=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator->() : nvutil::RCObject_AutoPtr< T >, nvutil::RCIPtr< T >, nvutil::RCPtr< T >
  • operator/() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator/=() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator=() : nvutil::RegVal< T >, nvutil::RCObject_AutoPtr< T >, nvutil::RCIPtr< T >, nvutil::RCPtr< T >, nvutil::RCObject, nvutil::UPIID, nvutil::Incarnation, nvtraverser::Intersection, nvmath::Vecnf< n >, nvmath::Vec3f, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator==() : nvsg::StateSet, nvutil::UPIID, nvutil::UPITID, nvutil::Incarnation, nvutil::Chunk, nvmath::Vecnf< n >, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator[]() : nvutil::MemFunTbl< T >, nvsg::LinearInterpolatedAnimation< T >, nvsg::FramedAnimation< T >, nvsg::Face< n >, nvsg::Animation< T >, nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator^() : nvmath::Vec3f
  • operator~() : nvmath::Quatf, nvmath::Matnnf< n >
  • orbit() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • orbitX() : nvsg::Camera
  • orbitY() : nvsg::Camera
  • orbitZ() : nvsg::Camera
  • orthogonalize() : nvmath::Vecnf< n >
  • orthonormalize() : nvmath::Vecnf< n >

- p -

  • PADDING() : NBFFaceAttribute, NBFCgFx, NBFSpotLight, NBFPointLight, NBFAnimatedTransform, NBFTransform, NBFLOD, NBFAnimatedQuads, NBFAnimatedTriangles, NBFSimpleCamera, NBFFramedVNVectorAnimation, NBFFramedTrafoAnimation, NBFTrafoAnimation, NBFObject, NBFHeader
  • pan() : nvui::TrackballCamManip
  • ParallelCamera() : nvsg::ParallelCamera
  • passFirstPass() : nvsg::CgFx
  • passNextPass() : nvsg::CgFx
  • Path() : nvsg::Path
  • PerspectiveCamera() : nvsg::PerspectiveCamera
  • pickCameraTargetPoint() : nvui::RenderArea
  • Plane3f() : nvmath::Plane3f
  • PlugInCallback() : nvutil::PlugInCallback
  • PointLight() : nvsg::PointLight
  • pop() : nvsg::Path
  • popCullTraverser() : nvui::RenderArea
  • popModelToWorld() : nvutil::TransformStack
  • postTraverseGroup() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::RenderTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser
  • postTraverseRoot() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser
  • postTraverseTransform() : nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::FrustumCullTraverser
  • preCalculateFileSize() : NBFSaveTraverser
  • preTraverseDrawable() : nvtraverser::Traverser, nvtraverser::GLTraverser
  • preTraverseGroup() : nvtraverser::Traverser, nvtraverser::TransformUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser
  • preTraverseRoot() : nvtraverser::Traverser, nvtraverser::OcclusionCullGLTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, nvtraverser::FrustumCullTraverser
  • preTraverseTransform() : nvtraverser::RayIntersectTraverser, nvtraverser::ModelViewTraverser, nvtraverser::GLTraverser, nvtraverser::FrustumCullTraverser
  • projectOntoTBSphere() : nvutil::Trackball
  • pseudoAlloc() : NBFSaveTraverser
  • push() : nvsg::Path
  • pushCullTraverser() : nvui::RenderArea
  • pushModelToWorld() : nvutil::TransformStack

- q -

  • Quads() : nvsg::Quads
  • QuadStrips() : nvsg::QuadStrips
  • Quatf() : nvmath::Quatf

- r -

  • RayIntersectTraverser() : nvtraverser::RayIntersectTraverser
  • RCIPtr() : nvutil::RCIPtr< T >
  • RCObject() : nvutil::RCObject
  • RCObject_AutoPtr() : nvutil::RCObject_AutoPtr< T >
  • RCPtr() : nvutil::RCPtr< T >
  • RCVector() : nvutil::RCVector< T >
  • RegVal() : nvutil::RegVal< T >
  • release() : nvutil::RCObject_AutoPtr< T >, nvtraverser::RayIntersectTraverser
  • releaseDeviceAbstractionLinkData() : nvsg::DALDataCreator, nvsg::DALHost
  • removeAttribute() : nvsg::StateSet
  • removeAttributeByObjectCode() : nvsg::StateSet
  • removeBuffers() : nvgl::GLObjects
  • removeCamera() : nvsg::Scene
  • removeCameraAnimation() : nvsg::Scene
  • removeChild() : nvsg::Group
  • removeGeometries() : nvsg::GeoNode
  • removeGeometry() : nvsg::GeoNode
  • removeHeadLight() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • removeLists() : nvgl::GLObjects
  • removeOcclusionQueries() : nvgl::GLObjects
  • removePrograms() : nvgl::GLObjects
  • removeQueries() : nvgl::GLObjects
  • removeRef() : nvutil::RCObject
  • removeTextures() : nvgl::GLObjects
  • RenderArea() : nvui::RenderArea
  • renderScene() : nvui::RenderArea, nvui::GLWinRenderArea
  • RenderTraverser() : nvtraverser::RenderTraverser
  • replaceChild() : nvsg::Group
  • replaceDrawable() : nvsg::GeoNode
  • replaceStateSet() : nvsg::GeoNode
  • requestFSAA() : nvui::RenderArea
  • requestStereoSupport() : nvui::RenderArea
  • reset() : nvutil::RCObject_AutoPtr< T >
  • resetButtonState() : nvui::RenderArea, nvui::CameraManipulator
  • resetKeyState() : nvui::RenderArea, nvui::CameraManipulator
  • reverseLeftRight() : nvsg::StereoCamera
  • rotate() : nvui::TrackballCamManip, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • rotateX() : nvsg::Camera
  • rotateY() : nvsg::Camera
  • rotateZ() : nvsg::Camera

- s -

  • save() : nvsg::SceneSaver, NVSGSaver, NBFSaver
  • scale() : nvsg::Texture
  • Scene() : nvsg::Scene
  • search() : nvtraverser::SearchTraverser
  • SearchTraverser() : nvtraverser::SearchTraverser
  • set() : nvmath::Vec4f, nvmath::Vec3f, nvmath::Vec2f, nvmath::Mat44f, nvmath::Mat33f, nvmath::BoundingSphere
  • setActive() : nvsg::Switch
  • setAmbientColor() : nvsg::Material, nvsg::LightSource, nvsg::FaceAttribute
  • setAnimation() : nvui::AnimationCamManip, nvsg::ViewState, nvsg::Bone, nvsg::LightSource, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • setAnimationFrame() : nvui::AnimationCamManip, nvsg::ViewState, nvsg::SkinnedTriangles, nvsg::LightSource, nvsg::AnimatedTriangles, nvsg::AnimatedTransform, nvsg::AnimatedQuads
  • setAnnotation() : nvsg::Node
  • setAppTraverser() : nvui::RenderArea
  • setAspectRatio() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setAttenuation() : nvsg::SpotLight, nvsg::PointLight
  • setAutoClipPlanes() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setBackColor() : nvsg::Scene
  • setBackFaceCulling() : nvtraverser::RayIntersectTraverser, nvsg::FaceAttribute
  • setBaseClassSearch() : nvtraverser::SearchTraverser
  • setBorderColor() : nvsg::TextureAttributeItem
  • setCallback() : nvutil::PlugIn
  • setCamClipping() : nvtraverser::RayIntersectTraverser
  • setCamera() : nvsg::ViewState
  • setCenter() : nvsg::Transform, nvsg::LOD, nvsg::AnimatedTransform, nvmath::Trafo, nvmath::Sphere3f
  • setClassName() : nvtraverser::SearchTraverser
  • setColors() : nvsg::GeoSet
  • setCreaseAngle() : nvtraverser::SmoothTraverser
  • setCullTree() : nvsg::ViewState
  • setCurrent() : nvsg::InterpolatedAnimation< T >
  • setCurrentTechnique() : nvsg::CgFx
  • setCutoffAngle() : nvsg::SpotLight
  • setDefaultStateSet() : nvsg::Scene
  • setDepthFactor() : nvsg::StereoCamera
  • setDiffuseColor() : nvsg::Material, nvsg::LightSource
  • setDirection() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • setEmissiveColor() : nvsg::Material
  • setEnvMode() : nvsg::TextureAttributeItem
  • setEpsilon() : nvtraverser::CondenseTraverser
  • setFaces() : nvsg::Triangles, nvsg::Quads
  • setFalloffExponent() : nvsg::SpotLight
  • setFarDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setFieldOfView() : nvsg::PerspectiveCamera
  • setFILE() : NVSGSaveTraverser
  • setFileName() : nvsg::TextureAttributeItem
  • setFocusDistance() : nvsg::StereoCamera
  • setFogCoords() : nvsg::GeoSet
  • setGeometryCacheTechnique() : nvtraverser::RenderTraverser, nvtraverser::OcclusionCullTraverser, nvtraverser::GLTraverser
  • setHandle() : nvsg::Texture
  • setHeadLightTrafo() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setHSensitivity() : nvui::WalkCamManip, nvui::FlightCamManip
  • setIdentity() : nvsg::Transform, nvsg::AnimatedTransform, nvmath::Trafo
  • setIgnoreNames() : nvtraverser::TransformUnifyTraverser, nvtraverser::StateSetUnifyTraverser, nvtraverser::GroupUnifyTraverser, nvtraverser::GeoNodeUnifyTraverser, nvtraverser::DrawableUnifyTraverser
  • setInactive() : nvsg::Switch
  • setIntensity() : nvsg::LightSource
  • setInverse() : nvsg::Bone
  • setJitters() : nvsg::JitterCamera
  • setJitterTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setKeyFrame() : nvsg::InterpolatedAnimation< T >
  • setLastRecentlyUsedDeviceAbstractionLinkData() : nvsg::DALHost
  • setLineAntiAliasing() : nvtraverser::RenderTraverser
  • setLineWidth() : nvtraverser::RenderTraverser
  • SetLogCallback() : NVNVB
  • setMagFilterMode() : nvsg::TextureAttributeItem
  • setMatrix() : nvsg::Bone
  • setMinFilterMode() : nvsg::TextureAttributeItem
  • setMinimalLengths() : nvtraverser::StrippingTraverser
  • setName() : nvsg::Object
  • setNearDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setNormals() : nvsg::SkinnedTriangles, nvsg::GeoSet
  • setNumberOfFrames() : nvsg::FramedAnimation< T >
  • setNumberOfKeys() : nvsg::InterpolatedAnimation< T >
  • setOITMaxPasses() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setOITTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setOITThreshold() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setOpacity() : nvsg::Material
  • setOrientation() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera, nvsg::AnimatedTransform, nvmath::Trafo
  • setOverrideStateSet() : nvsg::Scene
  • setPointAntiAliasing() : nvtraverser::RenderTraverser
  • setPointSize() : nvtraverser::RenderTraverser
  • setPolygonOffset() : nvsg::FaceAttribute
  • setPosition() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::LightSource, nvsg::JitterCamera, nvsg::Camera
  • setProjectionDx() : nvsg::SimpleCamera, nvsg::MonoCamera, nvsg::JitterCamera
  • setRadius() : nvmath::Sphere3f
  • setRanges() : nvsg::LOD
  • setRay() : nvtraverser::RayIntersectTraverser
  • setRenderTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setRenderTraverser() : nvui::RenderArea
  • setRootNode() : nvsg::Scene
  • setScaling() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::AnimatedTransform, nvmath::Trafo
  • setSceneData() : nvui::RenderArea
  • setScreenSize() : nvui::WalkCamManip, nvui::FlightCamManip
  • setSecondaryColors() : nvsg::GeoSet
  • setSize() : nvutil::Trackball
  • setSkins() : nvsg::SkinnedTriangles
  • setSpecularColor() : nvsg::Material, nvsg::LightSource
  • setSpecularExponent() : nvsg::Material
  • setSpeed() : nvui::WalkCamManip, nvui::FlightCamManip
  • setSpeedIncreaseFactor() : nvui::WalkCamManip, nvui::FlightCamManip
  • setSphere() : nvmath::BoundingSphere
  • setStereo() : nvsg::ViewState
  • setStrips() : nvsg::TriStrips, nvsg::QuadStrips
  • setTarget() : nvsg::Texture
  • setTargetDistance() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::PerspectiveCamera, nvsg::JitterCamera, nvsg::Camera
  • setTexCoords() : nvsg::GeoSet
  • setTexGenEnvironmentMapping() : nvsg::TextureAttributeItem
  • setTexGenLinearMapping() : nvsg::TextureAttributeItem
  • setTexture() : nvsg::TextureAttributeItem
  • setTextureSizeLimits() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setThrowExceptionOnError() : nvutil::PlugInCallback
  • setTranslation() : nvsg::Transform, nvsg::TextureAttributeItem, nvsg::AnimatedTransform, nvmath::Trafo
  • setTransparencyTechnique() : nvtraverser::RenderTraverser, nvtraverser::GLTraverser
  • setTwoSidedLighting() : nvsg::FaceAttribute
  • setType() : nvsg::TextureAttributeItem
  • setUpVector() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setValue() : nvsg::CgFx
  • setVertexAttributeData() : nvsg::GeoSet
  • setVertices() : nvsg::HighlightBox, nvsg::GeoSet
  • setViewportSize() : nvui::TrackballCamManip, nvui::RenderArea, nvui::GLWinRenderArea, nvui::CameraManipulator
  • setViewState() : nvui::RenderArea
  • setViewToClip() : nvutil::TransformStack
  • setVSensitivity() : nvui::FlightCamManip
  • setWeight() : nvsg::Bone
  • setWindowOffset() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setWindowRegion() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setWindowSize() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera
  • setWorldToView() : nvutil::TransformStack
  • setWorldUpVector() : nvui::WalkCamManip, nvui::FlightCamManip
  • setWrapMode() : nvsg::TextureAttributeItem
  • shareLists() : nvui::GLWinRenderArea
  • signedDistance() : nvmath::Plane3f
  • SimpleCamera() : nvsg::SimpleCamera
  • SkinnedTriangles() : nvsg::SkinnedTriangles
  • smoothNormals() : nvmath::Vec3f
  • SmoothTraverser() : nvtraverser::SmoothTraverser
  • Sphere3f() : nvmath::Sphere3f
  • SpotLight() : nvsg::SpotLight
  • StateAttribute() : nvsg::StateAttribute
  • StateSet() : nvsg::StateSet
  • StateSetUnifyTraverser() : nvtraverser::StateSetUnifyTraverser
  • StereoCamera() : nvsg::StereoCamera
  • storeDeviceAbstractionLinkData() : nvsg::DALHost
  • storeIntersection() : nvtraverser::RayIntersectTraverser
  • StrippingTraverser() : nvtraverser::StrippingTraverser
  • Switch() : nvsg::Switch
  • SWMRSync() : nvutil::SWMRSync

- t -

  • testEntry() : nvutil::MemFunTbl< T >
  • Texture() : nvsg::Texture
  • TextureAttribute() : nvsg::TextureAttribute
  • TextureAttributeItem() : nvsg::TextureAttributeItem
  • TextureAttributeItemData() : nvsg::TextureAttributeItemData
  • tilt() : nvui::WalkCamManip
  • Trace() : nvutil::Trace< Functor >
  • Trackball() : nvutil::Trackball
  • TrackballCamManip() : nvui::TrackballCamManip
  • Trafo() : nvmath::Trafo
  • transform() : nvmath::BoundingSphere
  • Transform() : nvsg::Transform
  • transformBoundingSphere() : nvsg::Node
  • TransformStack() : nvutil::TransformStack
  • TransformUnifyTraverser() : nvtraverser::TransformUnifyTraverser
  • translate() : nvui::WalkCamManip
  • traverseLight() : nvtraverser::Traverser, nvtraverser::RenderTraverser, nvtraverser::CullTraverser, nvtraverser::AppTraverser
  • traverseObject() : nvtraverser::Traverser
  • Traverser() : nvtraverser::Traverser
  • Triangles() : nvsg::Triangles
  • TriangulateTraverser() : nvtraverser::TriangulateTraverser
  • triggerRedraw() : nvui::RenderArea, nvui::GLWinRenderArea
  • TriStrips() : nvsg::TriStrips
  • truncate() : nvsg::Path

- u -

  • unbindTextureAttributeItem() : nvsg::TextureAttribute
  • unload() : nvsg::Texture
  • unmapViewOfFile() : NBFSaveTraverser
  • updateMonoCameras() : nvsg::StereoCamera
  • updateSimpleCameras() : nvsg::JitterCamera
  • UPIID() : nvutil::UPIID
  • UPITID() : nvutil::UPITID

- v -

  • validateCurrentTechnique() : nvsg::CgFx
  • Vec2f() : nvmath::Vec2f
  • Vec3f() : nvmath::Vec3f
  • Vec4f() : nvmath::Vec4f
  • Vecnf() : nvmath::Vecnf< n >
  • ViewState() : nvsg::ViewState

- w -

  • waitToRead() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • waitToWrite() : nvutil::SWMRSync, nvsg::ViewState, nvsg::Scene, nvsg::Object
  • walk() : nvui::WalkCamManip
  • WalkCamManip() : nvui::WalkCamManip
  • WRLLoadTraverser() : WRLLoadTraverser

- z -

  • zoom() : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera

- ~ -

  • ~Allocator() : nvutil::Allocator
  • ~AnimatedQuads() : nvsg::AnimatedQuads
  • ~AnimatedTransform() : nvsg::AnimatedTransform
  • ~AnimatedTriangles() : nvsg::AnimatedTriangles
  • ~Animation() : nvsg::Animation< T >
  • ~AnimationCamManip() : nvui::AnimationCamManip
  • ~AppTraverser() : nvtraverser::AppTraverser
  • ~Bone() : nvsg::Bone
  • ~Camera() : nvsg::Camera
  • ~CameraManipulator() : nvui::CameraManipulator
  • ~CondenseTraverser() : nvtraverser::CondenseTraverser
  • ~CullData() : nvsg::CullData
  • ~CullTraverser() : nvtraverser::CullTraverser
  • ~DirectedLight() : nvsg::DirectedLight
  • ~Drawable() : nvsg::Drawable
  • ~DrawableUnifyTraverser() : nvtraverser::DrawableUnifyTraverser
  • ~FaceAttribute() : nvsg::FaceAttribute
  • ~FixedAllocator() : nvutil::FixedAllocator
  • ~FlightCamManip() : nvui::FlightCamManip
  • ~FramedAnimation() : nvsg::FramedAnimation< T >
  • ~FrustumCullTraverser() : nvtraverser::FrustumCullTraverser
  • ~GeoNode() : nvsg::GeoNode
  • ~GeoNodeUnifyTraverser() : nvtraverser::GeoNodeUnifyTraverser
  • ~GeoSet() : nvsg::GeoSet
  • ~GLFunctions() : nvgl::GLFunctions
  • ~GLTraverser() : nvtraverser::GLTraverser
  • ~GLWinRenderArea() : nvui::GLWinRenderArea
  • ~Group() : nvsg::Group
  • ~GroupUnifyTraverser() : nvtraverser::GroupUnifyTraverser
  • ~IAllocator() : nvutil::IAllocator
  • ~IdentityToGroupTraverser() : nvtraverser::IdentityToGroupTraverser
  • ~InterpolatedAnimation() : nvsg::InterpolatedAnimation< T >
  • ~Intersection() : nvtraverser::Intersection
  • ~JitterCamera() : nvsg::JitterCamera
  • ~LightSource() : nvsg::LightSource
  • ~LinearInterpolatedAnimation() : nvsg::LinearInterpolatedAnimation< T >
  • ~LOD() : nvsg::LOD
  • ~Material() : nvsg::Material
  • ~ModelViewTraverser() : nvtraverser::ModelViewTraverser
  • ~MonoCamera() : nvsg::MonoCamera
  • ~NBFLoader() : NBFLoader
  • ~Node() : nvsg::Node
  • ~NVBLoader() : NVBLoader
  • ~NVBLoadTraverser() : NVBLoadTraverser
  • ~Object() : nvsg::Object
  • ~OcclusionCullGLTraverser() : nvtraverser::OcclusionCullGLTraverser
  • ~OcclusionCullTraverser() : nvtraverser::OcclusionCullTraverser
  • ~ParallelCamera() : nvsg::ParallelCamera
  • ~Path() : nvsg::Path
  • ~PerspectiveCamera() : nvsg::PerspectiveCamera
  • ~PlugInCallback() : nvutil::PlugInCallback
  • ~PointLight() : nvsg::PointLight
  • ~Quads() : nvsg::Quads
  • ~QuadStrips() : nvsg::QuadStrips
  • ~RayIntersectTraverser() : nvtraverser::RayIntersectTraverser
  • ~RCIPtr() : nvutil::RCIPtr< T >
  • ~RCObject() : nvutil::RCObject
  • ~RCObject_AutoPtr() : nvutil::RCObject_AutoPtr< T >
  • ~RCPtr() : nvutil::RCPtr< T >
  • ~RegVal() : nvutil::RegVal< T >
  • ~RenderArea() : nvui::RenderArea
  • ~RenderTraverser() : nvtraverser::RenderTraverser
  • ~Scene() : nvsg::Scene
  • ~SceneLoader() : nvsg::SceneLoader
  • ~SceneSaver() : nvsg::SceneSaver
  • ~SearchTraverser() : nvtraverser::SearchTraverser
  • ~SimpleCamera() : nvsg::SimpleCamera
  • ~SkinnedTriangles() : nvsg::SkinnedTriangles
  • ~SmoothTraverser() : nvtraverser::SmoothTraverser
  • ~SpotLight() : nvsg::SpotLight
  • ~StateAttribute() : nvsg::StateAttribute
  • ~StateSet() : nvsg::StateSet
  • ~StateSetUnifyTraverser() : nvtraverser::StateSetUnifyTraverser
  • ~StereoCamera() : nvsg::StereoCamera
  • ~StrippingTraverser() : nvtraverser::StrippingTraverser
  • ~Switch() : nvsg::Switch
  • ~SWMRSync() : nvutil::SWMRSync
  • ~Texture() : nvsg::Texture
  • ~TextureAttribute() : nvsg::TextureAttribute
  • ~Trace() : nvutil::Trace< Functor >
  • ~Trackball() : nvutil::Trackball
  • ~TrackballCamManip() : nvui::TrackballCamManip
  • ~Transform() : nvsg::Transform
  • ~TransformUnifyTraverser() : nvtraverser::TransformUnifyTraverser
  • ~Traverser() : nvtraverser::Traverser
  • ~Triangles() : nvsg::Triangles
  • ~TriangulateTraverser() : nvtraverser::TriangulateTraverser
  • ~TriStrips() : nvsg::TriStrips
  • ~ViewState() : nvsg::ViewState
  • ~WalkCamManip() : nvui::WalkCamManip
  • ~WRLLoadTraverser() : WRLLoadTraverser
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Compound Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
a | b | d | e | g | i | l | m | n | o | p | q | r | s | w

- a -

  • areCollinear() : nvmath::Vec3f
  • areOnOppositeSides() : nvmath::Plane3f
  • areOnSameSide() : nvmath::Plane3f
  • areOrthogonal() : nvmath::Vecnf< n >
  • areOrthonormal() : nvmath::Vecnf< n >
  • areSimilar() : nvmath::Vecnf< n >

- b -

  • beginEdit() : nvsg::Object, nvtraverser::Traverser
  • boundingSphere() : nvmath::Sphere3f

- d -

  • decompose() : nvmath::Quatf, nvmath::Mat44f, nvmath::Mat33f
  • determinant() : nvmath::Mat33f
  • distance() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Plane3f

- e -

  • endEdit() : nvsg::Object, nvtraverser::Traverser

- g -

  • getInterface : nvutil::PlugInServer
  • GLAccum : nvgl::GLContext
  • GLActiveTexture : nvgl::GLContext
  • GLAlphaFunc : nvgl::GLContext
  • GLAreTexturesResident : nvgl::GLContext
  • GLArrayElement : nvgl::GLContext
  • GLBegin : nvgl::GLContext
  • GLBeginOcclusionQuery : nvgl::GLContext
  • GLBindBufferARB : nvgl::GLContext
  • GLBindProgram : nvgl::GLContext
  • GLBindTexture : nvgl::GLContext
  • GLBitmap : nvgl::GLContext
  • GLBlendFunc : nvgl::GLContext
  • GLBufferDataARB : nvgl::GLContext
  • GLBufferSubDataARB : nvgl::GLContext
  • GLCallList : nvgl::GLContext
  • GLCallLists : nvgl::GLContext
  • GLClear : nvgl::GLContext
  • GLClearAccum : nvgl::GLContext
  • GLClearColor : nvgl::GLContext
  • GLClearDepth : nvgl::GLContext
  • GLClearIndex : nvgl::GLContext
  • GLClearStencil : nvgl::GLContext
  • GLClientActiveTexture : nvgl::GLContext
  • GLClipPlane : nvgl::GLContext
  • GLColor3b : nvgl::GLContext
  • GLColor3d : nvgl::GLContext
  • GLColor3f : nvgl::GLContext
  • GLColor3fv : nvgl::GLContext
  • GLColor3i : nvgl::GLContext
  • GLColor3s : nvgl::GLContext
  • GLColor3ub : nvgl::GLContext
  • GLColor3ui : nvgl::GLContext
  • GLColor3us : nvgl::GLContext
  • GLColor4b : nvgl::GLContext
  • GLColor4d : nvgl::GLContext
  • GLColor4f : nvgl::GLContext
  • GLColor4i : nvgl::GLContext
  • GLColor4s : nvgl::GLContext
  • GLColor4ub : nvgl::GLContext
  • GLColor4ui : nvgl::GLContext
  • GLColor4us : nvgl::GLContext
  • GLColorMask : nvgl::GLContext
  • GLColorMaterial : nvgl::GLContext
  • GLColorPointer : nvgl::GLContext
  • GLCompressedTexImage1D : nvgl::GLContext
  • GLCompressedTexImage2D : nvgl::GLContext
  • GLCompressedTexImage3D : nvgl::GLContext
  • GLCopyPixels : nvgl::GLContext
  • GLCopyTexImage1D : nvgl::GLContext
  • GLCopyTexImage2D : nvgl::GLContext
  • GLCopyTexSubImage1D : nvgl::GLContext
  • GLCopyTexSubImage2D : nvgl::GLContext
  • GLCullFace : nvgl::GLContext
  • GLDeleteBuffersARB : nvgl::GLContext
  • GLDeleteLists : nvgl::GLContext
  • GLDeleteOcclusionQueries : nvgl::GLContext
  • GLDeletePrograms : nvgl::GLContext
  • GLDeleteQueries : nvgl::GLContext
  • GLDeleteTextures : nvgl::GLContext
  • GLDepthFunc : nvgl::GLContext
  • GLDepthMask : nvgl::GLContext
  • GLDepthRange : nvgl::GLContext
  • GLDisable : nvgl::GLContext
  • GLDisableClientState : nvgl::GLContext
  • GLDrawArrays : nvgl::GLContext
  • GLDrawBuffer : nvgl::GLContext
  • GLDrawElements : nvgl::GLContext
  • GLDrawPixels : nvgl::GLContext
  • GLDrawRangeElements : nvgl::GLContext
  • GLEdgeFlag : nvgl::GLContext
  • GLEdgeFlagPointer : nvgl::GLContext
  • GLEdgeFlagv : nvgl::GLContext
  • GLEnable : nvgl::GLContext
  • GLEnableClientState : nvgl::GLContext
  • GLEnd : nvgl::GLContext
  • GLEndList : nvgl::GLContext
  • GLEndOcclusionQuery : nvgl::GLContext
  • GLEvalCoord1d : nvgl::GLContext
  • GLEvalCoord1f : nvgl::GLContext
  • GLEvalCoord2d : nvgl::GLContext
  • GLEvalCoord2f : nvgl::GLContext
  • GLEvalMesh1 : nvgl::GLContext
  • GLEvalMesh2 : nvgl::GLContext
  • GLEvalPoint1 : nvgl::GLContext
  • GLEvalPoint2 : nvgl::GLContext
  • GLFeedbackBuffer : nvgl::GLContext
  • GLFinish : nvgl::GLContext
  • GLFlush : nvgl::GLContext
  • GLFogCoordPointer : nvgl::GLContext
  • GLFogf : nvgl::GLContext
  • GLFogfv : nvgl::GLContext
  • GLFogi : nvgl::GLContext
  • GLFogiv : nvgl::GLContext
  • GLFrontFace : nvgl::GLContext
  • GLFrustum : nvgl::GLContext
  • GLGenBuffersARB : nvgl::GLContext
  • GLGenLists : nvgl::GLContext
  • GLGenOcclusionQueries : nvgl::GLContext
  • GLGenPrograms : nvgl::GLContext
  • GLGenQueries : nvgl::GLContext
  • GLGenTextures : nvgl::GLContext
  • GLGetBooleanv : nvgl::GLContext
  • GLGetClipPlane : nvgl::GLContext
  • GLGetDoublev : nvgl::GLContext
  • GLGetFloatv : nvgl::GLContext
  • GLGetIntegerv : nvgl::GLContext
  • GLGetLightfv : nvgl::GLContext
  • GLGetLightiv : nvgl::GLContext
  • GLGetMapdv : nvgl::GLContext
  • GLGetMapfv : nvgl::GLContext
  • GLGetMapiv : nvgl::GLContext
  • GLGetMaterialfv : nvgl::GLContext
  • GLGetMaterialiv : nvgl::GLContext
  • GLGetOcclusionQueryuiv : nvgl::GLContext
  • GLGetPixelMapfv : nvgl::GLContext
  • GLGetPixelMapuiv : nvgl::GLContext
  • GLGetPixelMapusv : nvgl::GLContext
  • GLGetPointerv : nvgl::GLContext
  • GLGetPolygonStipple : nvgl::GLContext
  • GLGetString : nvgl::GLContext
  • GLGetTexEnvfv : nvgl::GLContext
  • GLGetTexEnviv : nvgl::GLContext
  • GLGetTexGendv : nvgl::GLContext
  • GLGetTexGenfv : nvgl::GLContext
  • GLGetTexGeniv : nvgl::GLContext
  • GLGetTexImage : nvgl::GLContext
  • GLGetTexLevelParameterfv : nvgl::GLContext
  • GLGetTexLevelParameteriv : nvgl::GLContext
  • GLGetTexParameterfv : nvgl::GLContext
  • GLGetTexParameteriv : nvgl::GLContext
  • GLHint : nvgl::GLContext
  • GLIndexd : nvgl::GLContext
  • GLIndexf : nvgl::GLContext
  • GLIndexi : nvgl::GLContext
  • GLIndexMask : nvgl::GLContext
  • GLIndexPointer : nvgl::GLContext
  • GLIndexs : nvgl::GLContext
  • GLIndexub : nvgl::GLContext
  • GLInitNames : nvgl::GLContext
  • GLInterleavedArrays : nvgl::GLContext
  • GLIsBufferARB : nvgl::GLContext
  • GLIsEnabled : nvgl::GLContext
  • GLIsExtensionAvailable : nvgl::GLContext
  • GLIsExtensionExported : nvgl::GLContext
  • GLIsList : nvgl::GLContext
  • GLIsOcclusionQuery : nvgl::GLContext
  • GLIsProgram : nvgl::GLContext
  • GLIsQuery : nvgl::GLContext
  • GLIsTexture : nvgl::GLContext
  • GLLightf : nvgl::GLContext
  • GLLightfv : nvgl::GLContext
  • GLLighti : nvgl::GLContext
  • GLLightiv : nvgl::GLContext
  • GLLightModelf : nvgl::GLContext
  • GLLightModelfv : nvgl::GLContext
  • GLLightModeli : nvgl::GLContext
  • GLLightModeliv : nvgl::GLContext
  • GLLineStipple : nvgl::GLContext
  • GLLineWidth : nvgl::GLContext
  • GLListBase : nvgl::GLContext
  • GLLoadIdentity : nvgl::GLContext
  • GLLoadMatrixd : nvgl::GLContext
  • GLLoadMatrixf : nvgl::GLContext
  • GLLoadName : nvgl::GLContext
  • GLLoadProgram : nvgl::GLContext
  • GLLogicOp : nvgl::GLContext
  • GLMap1d : nvgl::GLContext
  • GLMap1f : nvgl::GLContext
  • GLMap2d : nvgl::GLContext
  • GLMap2f : nvgl::GLContext
  • GLMapBufferARB : nvgl::GLContext
  • GLMapGrid1d : nvgl::GLContext
  • GLMapGrid1f : nvgl::GLContext
  • GLMapGrid2d : nvgl::GLContext
  • GLMapGrid2f : nvgl::GLContext
  • GLMaterialf : nvgl::GLContext
  • GLMaterialfv : nvgl::GLContext
  • GLMateriali : nvgl::GLContext
  • GLMaterialiv : nvgl::GLContext
  • GLMatrixMode : nvgl::GLContext
  • GLMultiDrawElements : nvgl::GLContext
  • GLMultiTexCoord2f : nvgl::GLContext
  • GLMultMatrixd : nvgl::GLContext
  • GLMultMatrixf : nvgl::GLContext
  • GLNewList : nvgl::GLContext
  • GLNormal3b : nvgl::GLContext
  • GLNormal3bv : nvgl::GLContext
  • GLNormal3d : nvgl::GLContext
  • GLNormal3dv : nvgl::GLContext
  • GLNormal3f : nvgl::GLContext
  • GLNormal3fv : nvgl::GLContext
  • GLNormal3i : nvgl::GLContext
  • GLNormal3iv : nvgl::GLContext
  • GLNormal3s : nvgl::GLContext
  • GLNormal3sv : nvgl::GLContext
  • GLNormalPointer : nvgl::GLContext
  • GLOrtho : nvgl::GLContext
  • GLPassThrough : nvgl::GLContext
  • GLPixelMapfv : nvgl::GLContext
  • GLPixelMapuiv : nvgl::GLContext
  • GLPixelMapusv : nvgl::GLContext
  • GLPixelStoref : nvgl::GLContext
  • GLPixelStorei : nvgl::GLContext
  • GLPixelTransferf : nvgl::GLContext
  • GLPixelTransferi : nvgl::GLContext
  • GLPixelZoom : nvgl::GLContext
  • GLPointSize : nvgl::GLContext
  • GLPolygonMode : nvgl::GLContext
  • GLPolygonOffset : nvgl::GLContext
  • GLPolygonStipple : nvgl::GLContext
  • GLPopAttrib : nvgl::GLContext
  • GLPopClientAttrib : nvgl::GLContext
  • GLPopMatrix : nvgl::GLContext
  • GLPopName : nvgl::GLContext
  • GLPrioritizeTextures : nvgl::GLContext
  • GLProgramNamedParameter4f : nvgl::GLContext
  • GLPushAttrib : nvgl::GLContext
  • GLPushClientAttrib : nvgl::GLContext
  • GLPushMatrix : nvgl::GLContext
  • GLPushName : nvgl::GLContext
  • GLRasterPos2d : nvgl::GLContext
  • GLRasterPos2f : nvgl::GLContext
  • GLRasterPos2i : nvgl::GLContext
  • GLRasterPos2s : nvgl::GLContext
  • GLRasterPos3d : nvgl::GLContext
  • GLRasterPos3f : nvgl::GLContext
  • GLRasterPos3i : nvgl::GLContext
  • GLRasterPos3s : nvgl::GLContext
  • GLRasterPos4d : nvgl::GLContext
  • GLRasterPos4f : nvgl::GLContext
  • GLRasterPos4i : nvgl::GLContext
  • GLRasterPos4s : nvgl::GLContext
  • GLReadBuffer : nvgl::GLContext
  • GLReadPixels : nvgl::GLContext
  • GLRectd : nvgl::GLContext
  • GLRectf : nvgl::GLContext
  • GLRecti : nvgl::GLContext
  • GLRects : nvgl::GLContext
  • GLRenderMode : nvgl::GLContext
  • GLRotated : nvgl::GLContext
  • GLRotatef : nvgl::GLContext
  • GLScaled : nvgl::GLContext
  • GLScalef : nvgl::GLContext
  • GLScissor : nvgl::GLContext
  • GLSecondaryColorPointer : nvgl::GLContext
  • GLSelectBuffer : nvgl::GLContext
  • GLSetWindowStereoMode : nvgl::GLContext
  • GLShadeModel : nvgl::GLContext
  • GLStencilFunc : nvgl::GLContext
  • GLStencilMask : nvgl::GLContext
  • GLStencilOp : nvgl::GLContext
  • GLTexCoord1d : nvgl::GLContext
  • GLTexCoord1f : nvgl::GLContext
  • GLTexCoord1i : nvgl::GLContext
  • GLTexCoord1s : nvgl::GLContext
  • GLTexCoord2d : nvgl::GLContext
  • GLTexCoord2f : nvgl::GLContext
  • GLTexCoord2fv : nvgl::GLContext
  • GLTexCoord2i : nvgl::GLContext
  • GLTexCoord2s : nvgl::GLContext
  • GLTexCoord3d : nvgl::GLContext
  • GLTexCoord3f : nvgl::GLContext
  • GLTexCoord3i : nvgl::GLContext
  • GLTexCoord3s : nvgl::GLContext
  • GLTexCoord4d : nvgl::GLContext
  • GLTexCoord4f : nvgl::GLContext
  • GLTexCoord4i : nvgl::GLContext
  • GLTexCoord4s : nvgl::GLContext
  • GLTexCoordPointer : nvgl::GLContext
  • GLTexEnvf : nvgl::GLContext
  • GLTexEnvfv : nvgl::GLContext
  • GLTexEnvi : nvgl::GLContext
  • GLTexEnviv : nvgl::GLContext
  • GLTexGend : nvgl::GLContext
  • GLTexGenf : nvgl::GLContext
  • GLTexGenfv : nvgl::GLContext
  • GLTexGeni : nvgl::GLContext
  • GLTexImage1D : nvgl::GLContext
  • GLTexImage2D : nvgl::GLContext
  • GLTexImage3D : nvgl::GLContext
  • GLTexParameterf : nvgl::GLContext
  • GLTexParameterfv : nvgl::GLContext
  • GLTexParameteri : nvgl::GLContext
  • GLTexParameteriv : nvgl::GLContext
  • GLTexSubImage1D : nvgl::GLContext
  • GLTexSubImage2D : nvgl::GLContext
  • GLTranslated : nvgl::GLContext
  • GLTranslatef : nvgl::GLContext
  • GLUnmapBufferARB : nvgl::GLContext
  • GLVertex2d : nvgl::GLContext
  • GLVertex2f : nvgl::GLContext
  • GLVertex2i : nvgl::GLContext
  • GLVertex2s : nvgl::GLContext
  • GLVertex3d : nvgl::GLContext
  • GLVertex3f : nvgl::GLContext
  • GLVertex3fv : nvgl::GLContext
  • GLVertex3i : nvgl::GLContext
  • GLVertex3s : nvgl::GLContext
  • GLVertex4d : nvgl::GLContext
  • GLVertex4f : nvgl::GLContext
  • GLVertex4i : nvgl::GLContext
  • GLVertex4s : nvgl::GLContext
  • GLVertexPointer : nvgl::GLContext
  • GLViewport : nvgl::GLContext

- i -

  • isIdentity() : nvmath::Matnnf< n >, nvsg::Transform
  • isNormalized() : nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • isNull() : nvmath::Vecnf< n >, nvmath::Quatf
  • isOrthogonal() : nvmath::Matnnf< n >
  • isRotation() : nvmath::Mat33f

- l -

  • length() : nvmath::Vecnf< n >
  • lengthSquared() : nvmath::Vecnf< n >
  • lerp() : nvmath::Trafo, nvmath::Quatf

- m -

  • magnitude() : nvmath::Quatf
  • maxElement() : nvmath::Vecnf< n >
  • minElement() : nvmath::Vecnf< n >

- n -

  • nearestPoint() : nvmath::Plane3f
  • normalize() : nvmath::Vec3f, nvmath::Vecnf< n >, nvmath::Quatf
  • normalizeV() : nvmath::Vec3f

- o -

  • operator *() : nvmath::Vecnf< n >, nvmath::Vec4f, nvmath::Vec3f, nvmath::Vec2f, nvmath::Quatf, nvmath::Matnnf< n >, nvmath::Mat44f, nvutil::RCObject_AutoPtr< T >, nvutil::RCIPtr< T >, nvutil::RCPtr< T >, nvmath::Vecnf< n >, nvmath::Quatf, nvmath::Matnnf< n >
  • operator!= : nvutil::UPIID, nvutil::UPITID, nvutil::Incarnation, nvutil::Chunk, nvmath::Vecnf< n >, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator< : nvutil::UPIID, nvutil::UPITID
  • operator== : nvsg::StateSet, nvutil::UPIID, nvutil::UPITID, nvutil::Incarnation, nvutil::Chunk, nvmath::Vecnf< n >, nvmath::Sphere3f, nvmath::Quatf, nvmath::Plane3f, nvmath::Matnnf< n >
  • operator^() : nvmath::Vec3f

- p -

  • PlugInServer : nvutil::PlugIn

- q -

  • queryInterfaceType : nvutil::PlugInServer

- r -

  • releaseInterface : nvutil::PlugInServer

- s -

  • setPlugInFileFilter : nvutil::PlugInServer
  • signedDistance() : nvmath::Plane3f
  • smoothNormals() : nvmath::Vec3f

- w -

  • writeAccess : nvutil::RCIPtr< T >, nvutil::RCPtr< T >
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Compound Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions

  • iterator : nvtraverser::SearchTraverser
  • theAllocator : nvutil::IAllocator
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Compound Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
_ | a | b | c | d | e | f | h | i | k | m | n | o | p | r | s | t | u | v | w | y

- _ -

  • _RAY_DIRECTION_DEFAULT : nvtraverser::RayIntersectTraverser
  • _RAY_ORIGIN_DEFAULT : nvtraverser::RayIntersectTraverser

- a -

  • activeChildren : NBFSwitch
  • ambientColor : NBFMaterial, NBFFaceAttribute, NBFLightSource
  • animation : NBFLightSource, NBFAnimatedTransform, NBFAnimatedQuads, NBFAnimatedTriangles, bone_t
  • AREAOFPEACE : nvui::WalkCamManip, nvui::FlightCamManip
  • attenuation : NBFSpotLight, NBFPointLight

- b -

  • backColor : NBFScene
  • backFaceCulling : NBFFaceAttribute
  • bindings : NBFTextureAttribute
  • bones : skin_t
  • byteOrder : NBFHeader

- c -

  • camera : NBFViewState
  • cameraAnimations : NBFScene
  • cameras : NBFScene
  • center : NBFLOD, trafo_t
  • chars : str_t
  • children : NBFGroup
  • colorDim : NBFGeoSet
  • colors : NBFGeoSet
  • context : nvutil::PlugInCallback::InvalidFileInfo, nvutil::PlugInCallback::IncompatibleFileInfo, nvutil::PlugInCallback::UnsupportedTokenInfo, nvutil::PlugInCallback::UnknownTokenInfo, nvutil::PlugInCallback::UndefinedTokenInfo, nvutil::PlugInCallback::InvalidValueInfo, nvutil::PlugInCallback::IncompatibleValueInfo, nvutil::PlugInCallback::EmptyTokenInfo
  • coordDim : texCoordSet_t
  • currTech : NBFCgFx
  • cutoffAngle : NBFSpotLight

- d -

  • dayLastModified : NBFHeader
  • DECREASESPEED : nvui::WalkCamManip, nvui::FlightCamManip
  • defaultStateSet : NBFScene
  • detectedVersion : nvutil::PlugInCallback::IncompatibleFileInfo
  • diffuseColor : NBFMaterial, NBFLightSource
  • direction : NBFSimpleCamera
  • DOLLY1 : nvui::TrackballCamManip
  • DOLLY2 : nvui::TrackballCamManip
  • drawable : geometrySet_t

- e -

  • emissiveColor : NBFMaterial
  • encountered : nvutil::PlugInCallback::UnexpectedTokenInfo
  • expected : nvutil::PlugInCallback::UnexpectedTokenInfo
  • expectedVersion : nvutil::PlugInCallback::IncompatibleFileInfo

- f -

  • faces : NBFQuads, NBFTriangles
  • falloffExponent : NBFSpotLight
  • farDist : NBFSimpleCamera
  • file : nvutil::PlugInCallback::InvalidFileInfo, nvutil::PlugInCallback::IncompatibleFileInfo, nvutil::PlugInCallback::FileAccessFailedInfo, NBFTextureAttributeItem, NBFCgFx
  • FLYBACKWARD : nvui::FlightCamManip
  • FLYFORWARD : nvui::FlightCamManip
  • fogCoords : NBFGeoSet

- h -

  • headLights : NBFSimpleCamera
  • hourLastModified : NBFHeader

- i -

  • INCREASESPEED : nvui::WalkCamManip, nvui::FlightCamManip
  • indices : indexSet_t, nvsg::Face< n >
  • intensity : NBFLightSource
  • isAutoClipPlanes : nvsg::StereoCamera, nvsg::SimpleCamera, nvsg::JitterCamera, nvsg::Camera, NBFSimpleCamera
  • isShared : nvutil::RCObject, NBFObject

- k -

  • keys : NBFInterpolatedAnimation

- m -

  • m_animation : nvui::AnimationCamManip
  • m_animationFrame : nvtraverser::AppTraverser
  • m_appTraverser : nvui::RenderArea
  • m_backFaceCulling : nvtraverser::RayIntersectTraverser
  • m_bApplyingCgFx : nvtraverser::AppTraverser
  • m_bones : nvsg::Skin
  • m_boundingSphere : nvsg::HighlightBox
  • m_buttonState : nvui::CameraManipulator
  • m_camClipping : nvtraverser::RayIntersectTraverser
  • m_camera : nvui::CameraManipulator, nvtraverser::RayIntersectTraverser
  • m_camManip : nvui::RenderArea
  • m_ccw : nvtraverser::RayIntersectTraverser
  • m_color : nvsg::HighlightEdges, nvsg::HighlightBox
  • m_cube : nvsg::Texture
  • m_cullStack : nvtraverser::Traverser
  • m_cullTraverser : nvui::RenderArea
  • m_curPath : nvtraverser::RayIntersectTraverser
  • m_currentFrame : nvui::AnimationCamManip, nvtraverser::RayIntersectTraverser
  • m_defaultStateSet : nvtraverser::Traverser
  • m_dist : nvtraverser::Intersection
  • m_dragAndThrowAnim : nvui::CameraManipulator
  • m_features : nvui::RenderArea
  • m_fileName : nvsg::Texture
  • m_flipImage : nvsg::Texture
  • m_glFunctions : nvgl::GLContext
  • m_groupStack : nvtraverser::Traverser
  • m_handle : nvsg::Texture
  • m_hdc : nvui::GLWinRenderArea
  • m_hglrc : nvui::GLWinRenderArea
  • m_hSensitivity : nvui::WalkCamManip, nvui::FlightCamManip
  • m_idRenderArea : nvui::RenderArea
  • m_imageID : nvsg::Texture
  • m_incarnation : nvsg::StateAttribute
  • m_intersectionList : nvtraverser::RayIntersectTraverser
  • m_invalid : nvsg::HighlightObject
  • m_isp : nvtraverser::Intersection
  • m_keyState : nvui::CameraManipulator
  • m_lineWidth : nvsg::HighlightEdges, nvsg::HighlightBox
  • m_lodStack : nvtraverser::Traverser
  • m_mouseX : nvui::CameraManipulator
  • m_mouseXlast : nvui::CameraManipulator
  • m_mouseXstart : nvui::CameraManipulator
  • m_mouseY : nvui::CameraManipulator
  • m_mouseYlast : nvui::CameraManipulator
  • m_mouseYstart : nvui::CameraManipulator
  • m_msCamDir : nvtraverser::RayIntersectTraverser
  • m_msRayDir : nvtraverser::RayIntersectTraverser
  • m_msRayOrigin : nvtraverser::RayIntersectTraverser
  • m_nearestIntIdx : nvtraverser::RayIntersectTraverser
  • m_normal : nvsg::Skin
  • m_numImages : nvsg::Texture
  • m_numMSBuffers : nvui::RenderArea
  • m_objectCode : nvsg::Object
  • m_overrideStateSet : nvtraverser::Traverser
  • m_pDrawable : nvtraverser::Intersection
  • m_perStateAttributeIncarnationMap : nvtraverser::RenderTraverser
  • m_pPath : nvtraverser::Intersection
  • m_raCreated : nvui::RenderArea
  • m_raHeight : nvui::RenderArea
  • m_raWidth : nvui::RenderArea
  • m_rayDir : nvtraverser::RayIntersectTraverser
  • m_rayOrigin : nvtraverser::RayIntersectTraverser
  • m_renderTraverser : nvui::RenderArea
  • m_scaleFactor : nvtraverser::RayIntersectTraverser
  • m_scene : nvui::RenderArea
  • m_ScreenSizeX : nvui::WalkCamManip, nvui::FlightCamManip
  • m_ScreenSizeY : nvui::WalkCamManip, nvui::FlightCamManip
  • m_speed : nvui::WalkCamManip, nvui::FlightCamManip
  • m_speedIncreaseFactor : nvui::WalkCamManip, nvui::FlightCamManip
  • m_target : nvsg::Texture
  • m_tbsize : nvutil::Trackball
  • m_texFileType : nvsg::Texture
  • m_trackball : nvui::TrackballCamManip
  • m_transformStack : nvtraverser::ModelViewTraverser
  • m_traverser : NBFSaver
  • m_vertex : nvsg::Skin
  • m_vertices : nvsg::HighlightBox
  • m_viewState : nvui::RenderArea
  • m_vpHeight : nvui::CameraManipulator
  • m_vpWidth : nvui::CameraManipulator
  • m_vSensitivity : nvui::FlightCamManip
  • m_worldUpVector : nvui::WalkCamManip, nvui::FlightCamManip
  • magFilter : NBFTextureAttributeItem
  • minFilter : NBFTextureAttributeItem
  • minuteLastModified : NBFHeader
  • monthLastModified : NBFHeader

- n -

  • name : tweak_t
  • nbfBugfixLevel : NBFHeader
  • nbfMajorVersion : NBFHeader
  • nbfMinorVersion : NBFHeader
  • nearDist : NBFSimpleCamera
  • normal : skin_t
  • normals : nvsg::VNVector, NBFGeoSet
  • normalSets : NBFVNVectorAnimation
  • numActiveChildren : NBFSwitch
  • numberOfAnimationFrames : NBFScene
  • numBindings : NBFTextureAttribute
  • numBones : skin_t
  • numCameraAnimations : NBFScene
  • numCameras : NBFScene
  • numChars : str_t
  • numChildren : NBFGroup
  • numColors : NBFGeoSet
  • numFaces : NBFQuads, NBFTriangles
  • numFogCoords : NBFGeoSet
  • numFrames : NBFFramedAnimation
  • numHeadLights : NBFSimpleCamera
  • numIndices : indexSet_t
  • numKeys : NBFInterpolatedAnimation
  • numNormals : NBFGeoSet, NBFVNVectorAnimation
  • numRanges : NBFLOD
  • numSecondaryColors : NBFGeoSet
  • numSkins : NBFSkinnedTriangles
  • numStateAttribs : NBFStateSet
  • numStrips : NBFStrips
  • numTexCoords : texCoordSet_t
  • numTexCoordsSets : NBFGeoSet
  • numTweaks : NBFCgFx
  • numVertices : NBFGeoSet, NBFVNVectorAnimation
  • nvsgBugfixLevel : NBFHeader
  • nvsgMajorVersion : NBFHeader
  • nvsgMinorVersion : NBFHeader

- o -

  • objectCode : NBFObject, NBFViewState
  • objectDataID : NBFObject
  • objectName : NBFObject
  • opacity : NBFMaterial
  • orientation : trafo_t
  • overrideStateSet : NBFScene

- p -

  • PAN1 : nvui::TrackballCamManip
  • PAN2 : nvui::TrackballCamManip
  • polygonOffsetEnabled : NBFFaceAttribute
  • polygonOffsetFactor : NBFFaceAttribute
  • polygonOffsetUnits : NBFFaceAttribute
  • position : nvutil::PlugInCallback::UnsupportedTokenInfo, nvutil::PlugInCallback::UnknownTokenInfo, nvutil::PlugInCallback::UnexpectedTokenInfo, nvutil::PlugInCallback::UndefinedTokenInfo, nvutil::PlugInCallback::InvalidValueInfo, nvutil::PlugInCallback::IncompatibleValueInfo, nvutil::PlugInCallback::EmptyTokenInfo, NBFSimpleCamera
  • projectionDx : NBFSimpleCamera

- r -

  • ranges : NBFLOD
  • reserved : NBFHeader
  • root : NBFScene
  • ROTATE1 : nvui::TrackballCamManip

- s -

  • scaling : trafo_t
  • scene : NBFHeader
  • secondaryColorDim : NBFGeoSet
  • secondaryColors : NBFGeoSet
  • secondLastModified : NBFHeader
  • signature : NBFHeader
  • skins : NBFSkinnedTriangles
  • sourceObject : NBFObject
  • specularColor : NBFMaterial, NBFLightSource
  • specularExponent : NBFMaterial
  • stateAttribs : NBFStateSet
  • stateSet : geometrySet_t
  • strips : NBFStrips
  • strval : tweak_t
  • systemSpecificErrorCode : nvutil::PlugInCallback::FileMappingFailedInfo, nvutil::PlugInCallback::FileAccessFailedInfo

- t -

  • targDist : NBFSimpleCamera
  • texAttribItem : texBinding_t
  • texBorderColor : NBFTextureAttributeItem
  • texCoords : texCoordSet_t
  • texCoordsSets : NBFGeoSet
  • texEnvMode : NBFTextureAttributeItem
  • texGenMode : NBFTextureAttributeItem
  • texGenPlane : NBFTextureAttributeItem
  • texType : NBFTextureAttributeItem
  • texUnit : texBinding_t
  • texWrapR : NBFTextureAttributeItem
  • texWrapS : NBFTextureAttributeItem
  • texWrapT : NBFTextureAttributeItem
  • TILT : nvui::WalkCamManip
  • token : nvutil::PlugInCallback::UnsupportedTokenInfo, nvutil::PlugInCallback::UnknownTokenInfo, nvutil::PlugInCallback::UndefinedTokenInfo, nvutil::PlugInCallback::EmptyTokenInfo
  • trafo : NBFTextureAttributeItem, NBFLightSource
  • trafos : NBFTrafoAnimation
  • TRANSLATE : nvui::WalkCamManip
  • translation : trafo_t
  • tweaks : NBFCgFx
  • twoSidedLighting : NBFFaceAttribute
  • type : tweak_t

- u -

  • upVector : NBFSimpleCamera

- v -

  • value : nvutil::PlugInCallback::InvalidValueInfo, tweak_t
  • value0 : nvutil::PlugInCallback::IncompatibleValueInfo
  • value0Name : nvutil::PlugInCallback::IncompatibleValueInfo
  • value1 : nvutil::PlugInCallback::IncompatibleValueInfo
  • value1Name : nvutil::PlugInCallback::IncompatibleValueInfo
  • valueName : nvutil::PlugInCallback::InvalidValueInfo
  • valueType : nvutil::PlugInCallback::InvalidValueInfo, nvutil::PlugInCallback::IncompatibleValueInfo
  • vertex : skin_t
  • vertexSets : NBFVNVectorAnimation
  • vertices : nvsg::VNVector, NBFGeoSet
  • viewState : NBFHeader

- w -

  • WALKBACKWARD : nvui::WalkCamManip
  • WALKFORWARD : nvui::WalkCamManip
  • weight : bone_t
  • windowOffset : NBFSimpleCamera
  • windowSize : NBFSimpleCamera

- y -

  • yearLastModified : NBFHeader
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


GeoNode.h Source File

GeoNode.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Node.h"
00018 #include "nvsg/GeoSet.h"
00019 #include "nvsg/StateSet.h"
00020
00021 // memory leak detection
00022 #ifdef _DEBUG
00023 # ifndef new
00024 #  define new new(__FILE__, __LINE__)
00025 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00026 # endif
00027 #endif
00028
00029 namespace nvsg
00030 {
00031
00033
00036   class GeoNode : public Node
00037   {
00038     public:
00040
00041       NVSG_API static const GeoNode * create( void );
00042
00044
00045       NVSG_API static const GeoNode * createFromBase(const Node &rhs
00046       );
00047
00049
00050       NVSG_API virtual GeoNode * clone( void ) const;
00051
00053
00056       NVSG_API bool addGeometry(const Drawable *pDrawable
00057                               , const StateSet *pStateSet
00058       );
00059
00061
00063
00066
00070
00074
00077
00082
00084
00088
00090
00095
00096
00100
00102
00106
00108
00112
00113
00116
00117
00122
00123
00128
00131
00136
00137
00141
00144
00148
00149
00154
00155
00161
00162
00165
00166
00169
00170
00173
00174
00177
00178
00181
00182
00185
00186
00197
00200
00203
00206
00209
00211
00214
00216
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


GeoNodeUnifyTraverser.h Source File

GeoNodeUnifyTraverser.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #include <list>
00013
00014 #include "nvsgcommon.h"
00015
00016 #include "nvtraverser/Traverser.h"
00017
00018 namespace nvtraverser
00019 {
00021
00022   class GeoNodeUnifyTraverser : public Traverser
00023   {
00024     public:
00026       NVSG_API GeoNodeUnifyTraverser( void );
00027
00028     public:
00030
00032       NVSG_API bool getIgnoreNames( void ) const;
00033
00035
00036       NVSG_API void setIgnoreNames( bool ignore
00037                                   );
00038
00039     protected:
00041       NVSG_API virtual ~GeoNodeUnifyTraverser( void );
00042
00044
00045       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode * p
00046                                          );
00047
00049
00050       NVSG_API virtual void preTraverseGroup( const nvsg::Group *p
00051                                             );
00052
00054
00055       NVSG_API virtual void postTraverseGroup( const nvsg::Group *p
00056                                              );
00057
00058     private:
00059       bool                                          m_ignoreNames;
00060       std::stack<std::list<const nvsg::GeoNode*>*>  m_geoNodes;
00061   };
00062
00063   inline bool GeoNodeUnifyTraverser::getIgnoreNames( void ) const
00064   {
00065     return( m_ignoreNames );
00066   }
00067
00068   inline void GeoNodeUnifyTraverser::setIgnoreNames( bool ignore )
00069   {
00070     m_ignoreNames = ignore;
00071   }
00072
00073 }
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


GeoSet.h Source File

GeoSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <map>
00018 #include "nvmath/BoundingSphere.h"
00019 #include "nvsg/Drawable.h"
00020 #include "nvsg/HighlightObject.h"
00021
00022 #ifdef _DEBUG
00023 # ifndef new
00024 #  define new new(__FILE__, __LINE__)
00025 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00026 # endif
00027 #endif
00028
00029
00030 namespace nvsg
00031 {
00032   //  forward declarations
00033   class GeoSet;
00034
00036
00037   typedef enum
00038   {
00039     TCT_CYLINDRICAL,
00040     TCT_PLANAR,
00041     TCT_SPHERICAL,
00042   } TextureCoordType;
00043
00044 // VertexAttrib serves as a private helper class providing data management (so no need for docs)
00045 # if ! defined( DOXYGEN_IGNORE )
00046   class VertexAttrib
00047   {
00048     public:
00049       // default constructs a VertexAttrib object
00050       VertexAttrib();
00051       // cleanup on destruction
00052       ~VertexAttrib();
00053       // Copies float data pointed to by fdata to the vertex attribute's internal data storage.
00054       // fdim specifies the dimension, in terms of float, of a single data element.
00055       // count specifies the number of data elements to be copied, so that always
00056       // count * fdim floats are copied to the internal data storage.
00057       // Behavior is undefined if fdata is an invalid pointer.
00058       void setData(unsigned int fdim, const float * fdata, size_t count);
00059       // Overrides the data element at position pos with the data element pointed to by fdata.
00060       // Behavior is undefined if either the specified position is invalid, or if fdata is an invalid pointer.
00061       // Behavior also is undefined if fdim doesn't match the dimension of the data element currently stored
00062       // at the specified position.
00063       void setData(unsigned int fdim, size_t pos, const float * fdata, size_t count);
00064       // Returns a pointer to the float data stored in this vertex attrib,
00065       // or a NULL pointer if no data is currently strored
00066       const float * getData() const;
00067       // Returns the dimension, in terms of float, of the stored data.
00068       // If no data is stored in this vertex attrib, the return value might be random.
00069       unsigned int getDataDim() const;
00070       // Returns the number of data elements currently stored in this vertex attribute
00071       size_t getNumberOfData() const;
00072
00073     private:
00074       unsigned int m_fdim; // dimension of data elements in terms of float
00075       std::vector<float> m_fdata; // float data storage (contiguous memory)
00076       size_t m_count; // number of data elements (==m_fdata.size()/m_fdim)
00077                       // serves as a cache to improve performance when querying the current data count
00078   };
00079
00080   inline const float * VertexAttrib::getData() const
00081   {
00082     __TRACE();
00083     return !m_fdata.empty() ? &m_fdata[0] : NULL;
00084   }
00085
00086   inline unsigned int VertexAttrib::getDataDim() const
00087   {
00088     __TRACE();
00089     __ASSERT(m_fdata.empty() || !(m_fdata.size()%m_fdim)); // this would be a serious error!
00090     __ASSERT(m_fdata.empty() == !m_fdim);
00091     return m_fdim;
00092   }
00093
00094   inline size_t VertexAttrib::getNumberOfData() const
00095   {
00096     __TRACE();
00097     __ASSERT(m_fdata.empty() == !m_fdim);
00098     __ASSERT(m_fdata.empty() || !(m_fdata.size()%m_fdim)); // this would be a serious error
00099     __ASSERT(m_fdata.empty() || m_count==m_fdata.size()/m_fdim); // count cache is not up to data
00100                                                                // --> serious, as well
00101     return m_count;
00102   }
00103 #endif    //  DOXYGEN_IGNORE
00104
00106
00109   class GeoSet : public Drawable
00110   {
00111     friend class CachedGeometry;
00112
00113     public:
00115
00116       enum
00117       {
00118         VERTEX_POSITION  = 0,
00119         VERTEX_WEIGHTS,
00120         NORMAL,
00121         PRIMARY_COLOR,
00122         SECONDARY_COLOR,
00123         FOG_COORDINATE,
00124         UNUSED_1,
00125         UNUSED_2,
00126         TEXTURE_COORD_0,
00127         TEXTURE_COORD_1,
00128         TEXTURE_COORD_2,
00129         TEXTURE_COORD_3,
00130         TEXTURE_COORD_4,
00131         TEXTURE_COORD_5,
00132         TEXTURE_COORD_6,
00133         TEXTURE_COORD_7,
00134         NUMBER_OF_VERTEX_ATTRIBUTES
00135       };
00136
00138
00139       NVSG_API virtual bool isDataShared( void ) const;
00140
00142
00143       NVSG_API virtual DataID getDataID( void ) const;
00144
00146
00148       NVSG_API bool isBoundingSphereValid( void ) const;
00149
00151
00154       NVSG_API const nvmath::Sphere3f & getBoundingSphere( void ) const;
00155
00157
00177       NVSG_API size_t getNumberOfVertexAttributeBytes( size_t attrib
00178                                                      ) const;
00179
00181
00202       NVSG_API const float * getVertexAttributeData( size_t attrib
00203                                                    ) const;
00204
00206
00230       NVSG_API unsigned int getVertexAttributeDataDim( size_t attrib
00231                                                      ) const;
00232
00234
00254       NVSG_API size_t getNumberOfVertexAttributeData( size_t attrib
00255                                                     ) const;
00256
00258
00283       NVSG_API void setVertexAttributeData( size_t attrib
00284                                           , unsigned int fdim
00285                                           , const float * fdata
00286                                           , size_t count
00287                                           );
00288
00290
00325       NVSG_API void setVertexAttributeData( size_t attrib
00326                                           , unsigned int fdim
00327                                           , size_t pos
00328                                           , const float * fdata
00329                                           , size_t count
00330                                           );
00332
00334       NVSG_API size_t getNumberOfVertices( void ) const;
00335
00337
00341       NVSG_API const nvmath::Vec3f * getVertices( void ) const;
00342
00344
00348       NVSG_API void setVertices( const nvmath::Vec3f * verts
00349                                , size_t count
00350                                );
00351
00353
00367       NVSG_API void setVertices( size_t pos
00368                                , const nvmath::Vec3f * verts
00369                                , size_t count
00370                                );
00371
00373
00375       NVSG_API size_t getNumberOfNormals( void ) const;
00376
00378
00382       NVSG_API const nvmath::Vec3f * getNormals( void ) const;
00383
00385
00390       NVSG_API void setNormals( const nvmath::Vec3f* nor
00391                               , size_t count
00392                               );
00393
00395
00409       NVSG_API void setNormals( size_t pos
00410                               , const nvmath::Vec3f * nor
00411                               , size_t count
00412                               );
00413
00415
00416       NVSG_API bool hasTexCoords( void ) const;
00417
00419
00423       NVSG_API size_t getNumberOfTexCoords( size_t texUnit
00424                                           ) const;
00425
00427
00432       NVSG_API const float * getTexCoords( size_t texUnit
00433                                          ) const;
00434
00436
00441       NVSG_API unsigned int getTexCoordsDim( size_t texUnit
00442                                            ) const;
00443
00445
00451       NVSG_API void setTexCoords( size_t texUnit
00452                                 , unsigned int fdim
00453                                 , const float * coords
00454                                 , size_t count
00455                                 );
00456
00458
00476       NVSG_API void setTexCoords( size_t texUnit
00477                                 , unsigned int fdim
00478                                 , size_t pos
00479                                 , const float * coords
00480                                 , size_t count
00481                                 );
00482
00484
00489       NVSG_API void generateTexCoords( TextureCoordType tct
00490                                       , const nvmath::Sphere3f &sphere
00491                                       , size_t tu = 0
00492                                       );
00493
00495
00496       NVSG_API size_t getNumberOfColors( void ) const;
00497
00499
00503       NVSG_API const float * getColors( void ) const;
00504
00506
00510       NVSG_API unsigned int getColorsDim( void ) const;
00511
00513
00518       NVSG_API void setColors( unsigned int fdim
00519                              , const float * cols
00520                              , size_t count
00521                              );
00522
00524
00541       NVSG_API void setColors( unsigned int fdim
00542                              , size_t pos
00543                              , const float * cols
00544                              , size_t count
00545                              );
00546
00548
00549       NVSG_API size_t getNumberOfSecondaryColors( void ) const;
00550
00552
00553       NVSG_API const float * getSecondaryColors( void ) const;
00554
00556
00558       NVSG_API unsigned int getSecondaryColorsDim( void ) const;
00559
00561
00566       NVSG_API void setSecondaryColors( unsigned int fdim
00567                                       , const float * cols
00568                                       , size_t count
00569                                       );
00570
00572
00589       NVSG_API void setSecondaryColors( unsigned int fdim
00590                                       , size_t pos
00591                                       , const float * cols
00592                                       , size_t count
00593                                       );
00594
00596
00597       NVSG_API size_t getNumberOfFogCoords( void ) const;
00598
00600
00601       NVSG_API const float * getFogCoords( void ) const;
00602
00604
00607       NVSG_API void setFogCoords( const float * coords
00608                                 , size_t count
00609                                 );
00610
00612
00627       NVSG_API void setFogCoords( size_t pos
00628                                 , const float * coords
00629                                 , size_t count
00630                                 );
00631
00633
00635       NVSG_API virtual void  calculateTangentSpace( size_t tu = 0
00636                                                   , size_t tg = 1
00637                                                   , size_t bn = 2
00638                                                   ) = 0;
00639
00641
00642       NVSG_API void attachHighlightObject( const HighlightObject* pObj = NULL ) const;
00643
00645
00646       NVSG_API const HighlightObject* getHighlightObject( void ) const;
00647
00648     protected:
00650
00653       NVSG_API GeoSet( void );
00654
00656
00659       NVSG_API GeoSet( const GeoSet& rhs );
00660
00662       NVSG_API virtual ~GeoSet( void );
00663
00665
00668       NVSG_API virtual void onSetVertexAttributeData( void );
00669
00671       NVSG_API virtual void invalidateBoundingSphere( void ) const;
00672
00673     private:
00674         // implementation details
00675       void generateTexCoordsCylinder( const nvmath::Sphere3f &sphere, size_t tu = 0 );
00676       void generateTexCoordsPlane( const nvmath::Sphere3f &sphere, size_t tu = 0 );
00677       void generateTexCoordsSphere( const nvmath::Sphere3f &sphere, size_t tu = 0 );
00678       void _validateBoundingSphere( void ) const;
00679
00680       nvutil::RCPtr<nvutil::RCVector<VertexAttrib> >            m_vertexAttribs;    // shareable vertex attribs
00681       mutable nvmath::BoundingSphere                    m_boundingSphere;   // geometry's bounds
00682       mutable const HighlightObject *                  m_highlightObject;
00683   };
00684
00685   inline const float * GeoSet::getVertexAttributeData( size_t attrib ) const
00686   {
00687     __TRACE();
00688     __ASSERT(attrib < NUMBER_OF_VERTEX_ATTRIBUTES );
00689     return (*m_vertexAttribs)[attrib].getData();
00690   }
00691
00692   inline size_t GeoSet::getNumberOfVertexAttributeData( size_t attrib ) const
00693   {
00694     __TRACE();
00695     __ASSERT(attrib < NUMBER_OF_VERTEX_ATTRIBUTES);
00696     return (*m_vertexAttribs)[attrib].getNumberOfData();
00697   }
00698
00699   inline unsigned int GeoSet::getVertexAttributeDataDim( size_t attrib ) const
00700   {
00701     __TRACE();
00702     __ASSERT(attrib < NUMBER_OF_VERTEX_ATTRIBUTES );
00703     return (*m_vertexAttribs)[attrib].getDataDim();
00704   }
00705
00706   inline size_t GeoSet::getNumberOfVertices( void ) const
00707   {
00708     __TRACE();
00709     return getNumberOfVertexAttributeData(VERTEX_POSITION);
00710   }
00711
00712   inline const nvmath::Vec3f * GeoSet::getVertices( void )  const
00713   {
00714     __TRACE();
00715     return (const nvmath::Vec3f *)getVertexAttributeData(VERTEX_POSITION);
00716   }
00717
00718   inline void GeoSet::setVertices( const nvmath::Vec3f * verts, size_t count )
00719   {
00720     __TRACE();
00721     setVertexAttributeData(VERTEX_POSITION, 3, (const float*)verts, count);
00722
00723     if(m_highlightObject)
00724     {
00725       // the highlight object needs to be recalculated
00726       HighlightObject * hlobj = beginEdit( m_highlightObject );
00727       hlobj->invalidate();
00728       endEdit( hlobj );
00729     }
00730   }
00731
00732   inline void GeoSet::setVertices( size_t pos, const nvmath::Vec3f * verts, size_t count )
00733   {
00734     __TRACE();
00735     setVertexAttributeData(VERTEX_POSITION, 3, pos, (const float*)verts, count);
00736
00737     if(m_highlightObject)
00738     {
00739       // the highlight object needs to be recalculated
00740       HighlightObject * hlobj = beginEdit( m_highlightObject );
00741       hlobj->invalidate();
00742       endEdit( hlobj );
00743     }
00744   }
00745
00746   inline size_t GeoSet::getNumberOfNormals( void ) const
00747   {
00748     __TRACE();
00749     return getNumberOfVertexAttributeData(NORMAL);
00750   }
00751
00752   inline const nvmath::Vec3f * GeoSet::getNormals( void ) const
00753   {
00754     __TRACE();
00755     return (const nvmath::Vec3f *)getVertexAttributeData(NORMAL);
00756   }
00757
00758   inline void GeoSet::setNormals( const nvmath::Vec3f * nor, size_t count )
00759   {
00760     __TRACE();
00761     setVertexAttributeData(NORMAL, 3, (const float*)nor, count);
00762                                  //^ normals always are 3-dimensional
00763   }
00764
00765   inline void GeoSet::setNormals( size_t pos, const nvmath::Vec3f * nor, size_t count )
00766   {
00767     __TRACE();
00768     setVertexAttributeData(NORMAL, 3, pos, (const float*)nor, count );
00769   }
00770
00771   inline bool GeoSet::hasTexCoords( void ) const
00772   {
00773     __TRACE();
00774     return(  getNumberOfVertexAttributeData(TEXTURE_COORD_0)
00775           || getNumberOfVertexAttributeData(TEXTURE_COORD_1)
00776           || getNumberOfVertexAttributeData(TEXTURE_COORD_2)
00777           || getNumberOfVertexAttributeData(TEXTURE_COORD_3)
00778           || getNumberOfVertexAttributeData(TEXTURE_COORD_4)
00779           || getNumberOfVertexAttributeData(TEXTURE_COORD_5)
00780           || getNumberOfVertexAttributeData(TEXTURE_COORD_6)
00781           || getNumberOfVertexAttributeData(TEXTURE_COORD_7) );
00782   }
00783
00784   inline size_t GeoSet::getNumberOfTexCoords( size_t texUnit ) const
00785   {
00786     __TRACE();
00787     __ASSERT(texUnit <= 7);
00788     return getNumberOfVertexAttributeData(TEXTURE_COORD_0+texUnit);
00789   }
00790
00791   inline const float * GeoSet::getTexCoords( size_t texUnit ) const
00792   {
00793     __TRACE();
00794     __ASSERT(texUnit <= 7);
00795     return getVertexAttributeData(TEXTURE_COORD_0+texUnit);
00796   }
00797
00798   inline unsigned int GeoSet::getTexCoordsDim( size_t texUnit ) const
00799   {
00800     __TRACE();
00801     __ASSERT(texUnit <= 7);
00802     return getVertexAttributeDataDim(TEXTURE_COORD_0+texUnit);
00803   }
00804
00805   inline void GeoSet::setTexCoords( size_t texUnit, unsigned int fdim, const float* coords, size_t count )
00806   {
00807     __TRACE();
00808     __ASSERT(texUnit <= 7);
00809     setVertexAttributeData(TEXTURE_COORD_0+texUnit, fdim, coords, count);
00810   }
00811
00812   inline void GeoSet::setTexCoords( size_t texUnit, unsigned int fdim, size_t pos, const float* coords, size_t count )
00813   {
00814     __TRACE();
00815     __ASSERT(texUnit <= 7);
00816     setVertexAttributeData(TEXTURE_COORD_0+texUnit, fdim, pos, coords, count);
00817   }
00818
00819   inline size_t GeoSet::getNumberOfColors( void ) const
00820   {
00821     __TRACE();
00822     return getNumberOfVertexAttributeData(PRIMARY_COLOR);
00823   }
00824
00825   inline const float * GeoSet::getColors( void ) const
00826   {
00827     __TRACE();
00828     return getVertexAttributeData(PRIMARY_COLOR);
00829   }
00830
00831   inline unsigned int GeoSet::getColorsDim( void ) const
00832   {
00833     __TRACE();
00834     return getVertexAttributeDataDim(PRIMARY_COLOR);
00835   }
00836
00837   inline void GeoSet::setColors( unsigned int fdim, const float * cols, size_t count )
00838   {
00839     __TRACE();
00840     setVertexAttributeData(PRIMARY_COLOR, fdim, cols, count);
00841   }
00842
00843   inline void GeoSet::setColors( unsigned int fdim, size_t pos, const float * cols, size_t count )
00844   {
00845     __TRACE();
00846     setVertexAttributeData(PRIMARY_COLOR, fdim, pos, cols, count);
00847   }
00848
00849   inline size_t GeoSet::getNumberOfSecondaryColors( void ) const
00850   {
00851     __TRACE();
00852     return getNumberOfVertexAttributeData(SECONDARY_COLOR);
00853   }
00854
00855   inline const float * GeoSet::getSecondaryColors( void ) const
00856   {
00857     __TRACE();
00858     return getVertexAttributeData(SECONDARY_COLOR);
00859   }
00860
00861   inline unsigned int GeoSet::getSecondaryColorsDim( void ) const
00862   {
00863     __TRACE();
00864     return getVertexAttributeDataDim(SECONDARY_COLOR);
00865   }
00866
00867   inline void GeoSet::setSecondaryColors( unsigned int fdim, const float* cols, size_t count )
00868   {
00869     __TRACE();
00870     setVertexAttributeData(SECONDARY_COLOR, fdim, cols, count);
00871   }
00872
00873   inline void GeoSet::setSecondaryColors( unsigned int fdim, size_t pos, const float* cols, size_t count )
00874   {
00875     __TRACE();
00876     setVertexAttributeData(SECONDARY_COLOR, fdim, pos, cols, count);
00877   }
00878
00879   inline size_t GeoSet::getNumberOfFogCoords( void ) const
00880   {
00881     __TRACE();
00882     return getNumberOfVertexAttributeData(FOG_COORDINATE);
00883   }
00884
00885   inline const float * GeoSet::getFogCoords( void ) const
00886   {
00887     __TRACE();
00888     return getVertexAttributeData(FOG_COORDINATE);
00889   }
00890
00891   inline void GeoSet::setFogCoords( const float * coords, size_t count )
00892   {
00893     __TRACE();
00894     setVertexAttributeData(FOG_COORDINATE, 1, coords, count);
00895                                          //^ fog coords always are 1-dimensional
00896   }
00897
00898   inline void GeoSet::setFogCoords( size_t pos, const float * coords, size_t count )
00899   {
00900     __TRACE();
00901     setVertexAttributeData(FOG_COORDINATE, 1, pos, coords, count);
00902                                          //^ fog coords always are 1-dimensional
00903   }
00904
00905   inline const HighlightObject* GeoSet::getHighlightObject( void ) const
00906   {
00907     __TRACE();
00908     return m_highlightObject;
00909   }
00910
00911 } //  namespace nvsg
00912
00913 #ifdef _DEFINED_DBGNEW
00914 # undef new
00915 #endif
Generated on Fri Jan 28 09:17:45 2005 for NVSGSDK by NVIDIA


GLContext.h Source File

GLContext.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvgl/nvgl.h"
00018 #include "nvutil/RCObject.h"
00019 #include "nvsg/Texture.h"
00020 #include <map>
00021 #include <string>
00022 #include <algorithm>
00023 #include <utility>
00024
00025 namespace nvgl
00026 {
00027 class GLFunctions;
00028 class GLObjects;
00029
00030 // common device context helper function for Windows and Linux
00031 #if defined(_WIN32)
00032 # define MAKE_CURRENT(DC,RC) WGLMakeCurrent(DC,RC)
00033 # define GET_CURRENT_DC()    WGLGetCurrentDC()
00034 # define GET_CURRENT_RC()    WGLGetCurrentContext()
00035 #elif defined(LINUX)
00036 # define MAKE_CURRENT(DC,RC) GLXMakeCurrent(glContext->getDisplay(),DC,RC)
00037 # define GET_CURRENT_RC()    GLXGetCurrentContext()
00038 # define GET_CURRENT_DC()    GLXGetCurrentDrawable()
00039 #else
00040 # error Undefined Operating System!
00041 #endif
00042
00044 class GLContext
00045 {
00046   friend NVSG_API void GLAccum( GLenum op, GLfloat value );
00047   friend NVSG_API void GLActiveTexture( GLenum texture );
00048   friend NVSG_API void GLAlphaFunc( GLenum func, GLclampf ref );
00049   friend NVSG_API GLboolean GLAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences );
00050   friend NVSG_API void GLArrayElement( GLint i );
00051   friend NVSG_API void GLBegin( GLenum mode );
00052   friend NVSG_API void GLBeginOcclusionQuery( GLuint id );
00053   friend NVSG_API void GLBindBufferARB(GLenum target, GLuint id);
00054   friend NVSG_API void GLBufferDataARB( GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage );
00055   friend NVSG_API void GLBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data );
00056   friend NVSG_API void GLDeleteBuffersARB( GLsizei n, const GLuint *buffers );
00057   friend NVSG_API void GLGenBuffersARB( GLsizei n, GLuint *buffers );
00058   friend NVSG_API GLvoid* GLMapBufferARB( GLenum target, GLenum access );
00059   friend NVSG_API GLboolean GLUnmapBufferARB( GLenum target );
00060   friend NVSG_API GLboolean GLIsBufferARB( GLuint name );
00061   friend NVSG_API void GLBindProgram( GLenum target, GLuint id );
00062   friend NVSG_API void GLBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
00063   friend NVSG_API void GLBlendFunc( GLenum sfactor, GLenum dfactor );
00064   friend NVSG_API void GLBindTexture( GLenum target, GLuint texture );
00065   friend NVSG_API void GLCallList( GLuint list );
00066   friend NVSG_API void GLCallLists( GLsizei n, GLenum type, const GLvoid *lists );
00067   friend NVSG_API void GLClear( GLbitfield mask );
00068   friend NVSG_API void GLClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
00069   friend NVSG_API void GLClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
00070   friend NVSG_API void GLClearDepth( GLclampd depth );
00071   friend NVSG_API void GLClearIndex( GLfloat c );
00072   friend NVSG_API void GLClearStencil( GLint s );
00073   friend NVSG_API void GLClientActiveTexture( GLenum texture );
00074   friend NVSG_API void GLClipPlane( GLenum plane, const GLdouble *equation );
00075   friend NVSG_API void GLColor3b( GLbyte red, GLbyte green, GLbyte blue );
00076   friend NVSG_API void GLColor3d( GLdouble red, GLdouble green, GLdouble blue );
00077   friend NVSG_API void GLColor3f( GLfloat red, GLfloat green, GLfloat blue );
00078   friend NVSG_API void GLColor3fv( const GLfloat * v );
00079   friend NVSG_API void GLColor3i( GLint red, GLint green, GLint blue );
00080   friend NVSG_API void GLColor3s( GLshort red, GLshort green, GLshort blue );
00081   friend NVSG_API void GLColor3ub( GLubyte red, GLubyte green, GLubyte blue );
00082   friend NVSG_API void GLColor3ui( GLuint red, GLuint green, GLuint blue );
00083   friend NVSG_API void GLColor3us( GLushort red, GLushort green, GLushort blue );
00084   friend NVSG_API void GLColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
00085   friend NVSG_API void GLColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
00086   friend NVSG_API void GLColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
00087   friend NVSG_API void GLColor4i( GLint red, GLint green, GLint blue, GLint alpha );
00088   friend NVSG_API void GLColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha );
00089   friend NVSG_API void GLColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
00090   friend NVSG_API void GLColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
00091   friend NVSG_API void GLColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha );
00092   friend NVSG_API void GLColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
00093   friend NVSG_API void GLColorMaterial( GLenum face, GLenum mode );
00094   friend NVSG_API void GLColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00095   friend NVSG_API void GLCompressedTexImage1D( GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data );
00096   friend NVSG_API void GLCompressedTexImage2D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data );
00097   friend NVSG_API void GLCompressedTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data );
00098   friend NVSG_API void GLCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
00099   friend NVSG_API void GLCopyTexImage1D( GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border );
00100   friend NVSG_API void GLCopyTexImage2D( GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
00101   friend NVSG_API void GLCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
00102   friend NVSG_API void GLCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
00103   friend NVSG_API void GLCullFace( GLenum mode );
00104   friend NVSG_API void GLDeleteLists( GLuint list, GLsizei range );
00105   friend NVSG_API void GLDeleteOcclusionQueries( GLsizei n, const GLuint *ids );
00106   friend NVSG_API void GLDeletePrograms( GLsizei n, const GLuint *ids );
00107   friend NVSG_API void GLDeleteQueries( GLsizei n, const GLuint *ids );
00108   friend NVSG_API void GLDeleteTextures( GLsizei n, const GLuint *textures );
00109   friend NVSG_API void GLDepthFunc( GLenum func );
00110   friend NVSG_API void GLDepthMask( GLboolean flag );
00111   friend NVSG_API void GLDepthRange( GLclampd znear, GLclampd zfar );
00112   friend NVSG_API void GLDisable( GLenum cap );
00113   friend NVSG_API void GLDisableClientState( GLenum array );
00114   friend NVSG_API void GLDrawArrays( GLenum mode, GLint first, GLsizei count );
00115   friend NVSG_API void GLDrawBuffer( GLenum mode );
00116   friend NVSG_API void GLDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
00117   friend NVSG_API void GLMultiDrawElements( GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount );
00118   friend NVSG_API void GLDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
00119   friend NVSG_API void GLDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
00120   friend NVSG_API void GLEdgeFlagPointer( GLsizei stride, const GLboolean *pointer );
00121   friend NVSG_API void GLEdgeFlag( GLboolean flag );
00122   friend NVSG_API void GLEdgeFlagv( const GLboolean *flag );
00123   friend NVSG_API void GLEnable( GLenum cap );
00124   friend NVSG_API void GLEnableClientState( GLenum array );
00125   friend NVSG_API void GLEnd( void );
00126   friend NVSG_API void GLEndList( void );
00127   friend NVSG_API void GLEndOcclusionQuery( void );
00128   friend NVSG_API void GLEvalCoord1d( GLdouble u );
00129   friend NVSG_API void GLEvalCoord1f( GLfloat u );
00130   friend NVSG_API void GLEvalCoord2d( GLdouble u, GLdouble v );
00131   friend NVSG_API void GLEvalCoord2f( GLfloat u, GLfloat v );
00132   friend NVSG_API void GLEvalMesh1( GLenum mode, GLint i1, GLint i2 );
00133   friend NVSG_API void GLEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
00134   friend NVSG_API void GLEvalPoint1( GLint i );
00135   friend NVSG_API void GLEvalPoint2( GLint i, GLint j );
00136   friend NVSG_API void GLFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
00137   friend NVSG_API void GLFinish( void );
00138   friend NVSG_API void GLFlush( void );
00139   friend NVSG_API void GLFogCoordPointer( GLenum type, GLsizei stride, const GLvoid *pointer );
00140   friend NVSG_API void GLFogf( GLenum pname, GLfloat param );
00141   friend NVSG_API void GLFogfv( GLenum pname, const GLfloat *params );
00142   friend NVSG_API void GLFogi( GLenum pname, GLint param );
00143   friend NVSG_API void GLFogiv( GLenum pname, const GLint *params );
00144   friend NVSG_API void GLFrontFace( GLenum mode );
00145   friend NVSG_API void GLFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
00146   friend NVSG_API GLuint GLGenLists( GLsizei range );
00147   friend NVSG_API void GLGenOcclusionQueries( GLsizei n, GLuint *ids );
00148   friend NVSG_API void GLGenPrograms( GLsizei n, GLuint *ids );
00149   friend NVSG_API void GLGenQueries( GLsizei n, GLuint *ids );
00150   friend NVSG_API void GLGenTextures( GLsizei n, GLuint *textures );
00151   friend NVSG_API void GLGetBooleanv( GLenum pname, GLboolean *params );
00152   friend NVSG_API void GLGetDoublev( GLenum pname, GLdouble *params );
00153   friend NVSG_API void GLGetFloatv( GLenum pname, GLfloat *params );
00154   friend NVSG_API void GLGetIntegerv( GLenum pname, GLint *params );
00155   friend NVSG_API void GLGetClipPlane( GLenum plane, GLdouble *equation );
00156   friend NVSG_API void GLGetLightfv( GLenum light, GLenum pname, GLfloat *params );
00157   friend NVSG_API void GLGetLightiv( GLenum light, GLenum pname, GLint *params );
00158   friend NVSG_API void GLGetMapdv( GLenum target, GLenum query, GLdouble *v );
00159   friend NVSG_API void GLGetMapfv( GLenum target, GLenum query, GLfloat *v );
00160   friend NVSG_API void GLGetMapiv( GLenum target, GLenum query, GLint *v );
00161   friend NVSG_API void GLGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
00162   friend NVSG_API void GLGetMaterialiv( GLenum face, GLenum pname, GLint *params );
00163   friend NVSG_API void GLGetOcclusionQueryuiv( GLuint id, GLenum pname, GLuint *params );
00164   friend NVSG_API void GLGetPixelMapfv( GLenum map, GLfloat *values );
00165   friend NVSG_API void GLGetPixelMapuiv( GLenum map, GLuint *values );
00166   friend NVSG_API void GLGetPixelMapusv( GLenum map, GLushort *values );
00167   friend NVSG_API void GLGetPointerv( GLenum pname, GLvoid* *params );
00168   friend NVSG_API void GLGetPolygonStipple( GLubyte *mask );
00169   friend NVSG_API const GLubyte * GLGetString( GLenum name );
00170   friend NVSG_API void GLGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
00171   friend NVSG_API void GLGetTexEnviv( GLenum target, GLenum pname, GLint *params );
00172   friend NVSG_API void GLGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
00173   friend NVSG_API void GLGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
00174   friend NVSG_API void GLGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
00175   friend NVSG_API void GLGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels );
00176   friend NVSG_API void GLGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params );
00177   friend NVSG_API void GLGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params );
00178   friend NVSG_API void GLGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params );
00179   friend NVSG_API void GLGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
00180   friend NVSG_API void GLHint( GLenum target, GLenum mode );
00181   friend NVSG_API void GLIndexd( GLdouble c );
00182   friend NVSG_API void GLIndexf( GLfloat c );
00183   friend NVSG_API void GLIndexi( GLint c );
00184   friend NVSG_API void GLIndexMask( GLuint mask );
00185   friend NVSG_API void GLIndexPointer( GLenum type, GLsizei stride, const GLvoid *pointer );
00186   friend NVSG_API void GLIndexs( GLshort c );
00187   friend NVSG_API void GLIndexub( GLubyte c );
00188   friend NVSG_API void GLInitNames( void );
00189   friend NVSG_API void GLInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer );
00190   friend NVSG_API GLboolean GLIsEnabled( GLenum cap );
00191   friend NVSG_API GLboolean GLIsList( GLuint list );
00192   friend NVSG_API GLboolean GLIsOcclusionQuery( GLuint id );
00193   friend NVSG_API GLboolean GLIsProgram( GLuint id );
00194   friend NVSG_API GLboolean GLIsQuery( GLuint id );
00195   friend NVSG_API GLboolean GLIsTexture( GLuint texture );
00196   friend NVSG_API void GLLightf( GLenum light, GLenum pname, GLfloat param );
00197   friend NVSG_API void GLLightfv( GLenum light, GLenum pname, const GLfloat *params );
00198   friend NVSG_API void GLLighti( GLenum light, GLenum pname, GLint param );
00199   friend NVSG_API void GLLightiv( GLenum light, GLenum pname, GLint *params );
00200   friend NVSG_API void GLLightModelf( GLenum pname, GLfloat param );
00201   friend NVSG_API void GLLightModelfv( GLenum pname, const GLfloat *params );
00202   friend NVSG_API void GLLightModeli( GLenum pname, GLint param );
00203   friend NVSG_API void GLLightModeliv( GLenum pname, const GLint *params );
00204   friend NVSG_API void GLLineStipple( GLint factor, GLushort pattern );
00205   friend NVSG_API void GLLineWidth( GLfloat width );
00206   friend NVSG_API void GLListBase( GLuint base );
00207   friend NVSG_API void GLLoadIdentity( void );
00208   friend NVSG_API void GLLoadMatrixd( const GLdouble *m );
00209   friend NVSG_API void GLLoadMatrixf( const GLfloat *m );
00210   friend NVSG_API void GLLoadName( GLuint name );
00211   friend NVSG_API void GLLoadProgram( GLenum target, GLuint id, GLsizei len, const GLubyte *program );
00212   friend NVSG_API void GLLogicOp( GLenum opcode );
00213   friend NVSG_API void GLMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
00214   friend NVSG_API void GLMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
00215   friend NVSG_API void GLMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
00216   friend NVSG_API void GLMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
00217   friend NVSG_API void GLMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
00218   friend NVSG_API void GLMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
00219   friend NVSG_API void GLMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
00220   friend NVSG_API void GLMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
00221   friend NVSG_API void GLMaterialf( GLenum face, GLenum pname, const GLfloat param );
00222   friend NVSG_API void GLMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
00223   friend NVSG_API void GLMateriali( GLenum face, GLenum pname, const GLint param );
00224   friend NVSG_API void GLMaterialiv( GLenum face, GLenum pname, const GLint *params );
00225   friend NVSG_API void GLMatrixMode( GLenum mode );
00226   friend NVSG_API void GLMultiTexCoord2f( GLenum texture, GLfloat tx, GLfloat ty );
00227   friend NVSG_API void GLMultMatrixd( const GLdouble *m );
00228   friend NVSG_API void GLMultMatrixf( const GLfloat *m );
00229   friend NVSG_API void GLNewList( GLuint list, GLenum mode );
00230   friend NVSG_API void GLNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
00231   friend NVSG_API void GLNormal3bv( const GLbyte *v );
00232   friend NVSG_API void GLNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
00233   friend NVSG_API void GLNormal3dv( const GLdouble *v );
00234   friend NVSG_API void GLNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
00235   friend NVSG_API void GLNormal3fv( const GLfloat *v );
00236   friend NVSG_API void GLNormal3i( GLint nx, GLint ny, GLint nz );
00237   friend NVSG_API void GLNormal3iv( const GLint *v );
00238   friend NVSG_API void GLNormal3s( GLshort nx, GLshort ny, GLshort nz );
00239   friend NVSG_API void GLNormal3sv( const GLshort *v );
00240   friend NVSG_API void GLNormalPointer( GLenum type, GLsizei stride, const GLvoid *pointer );
00241   friend NVSG_API void GLOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
00242   friend NVSG_API void GLPassThrough( GLfloat token );
00243   friend NVSG_API void GLPixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values );
00244   friend NVSG_API void GLPixelMapuiv( GLenum map, GLsizei mapsize, const GLuint *values );
00245   friend NVSG_API void GLPixelMapusv( GLenum map, GLsizei mapsize, const GLushort *values );
00246   friend NVSG_API void GLPixelStoref( GLenum pname, GLfloat param );
00247   friend NVSG_API void GLPixelStorei( GLenum pname, GLint param );
00248   friend NVSG_API void GLPixelTransferf( GLenum pname, GLfloat param );
00249   friend NVSG_API void GLPixelTransferi( GLenum pname, GLint param );
00250   friend NVSG_API void GLPixelZoom( GLfloat xfactor, GLfloat yfactor );
00251   friend NVSG_API void GLPointSize( GLfloat size );
00252   friend NVSG_API void GLPolygonMode( GLenum face, GLenum mode );
00253   friend NVSG_API void GLPolygonOffset( GLfloat factor, GLfloat units );
00254   friend NVSG_API void GLPolygonStipple( const GLubyte *mask );
00255   friend NVSG_API void GLPopAttrib( void );
00256   friend NVSG_API void GLPopClientAttrib( void );
00257   friend NVSG_API void GLPopMatrix( void );
00258   friend NVSG_API void GLPopName( void );
00259   friend NVSG_API void GLPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities );
00260   friend NVSG_API void GLProgramNamedParameter4f( GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
00261   friend NVSG_API void GLPushAttrib( GLbitfield mask );
00262   friend NVSG_API void GLPushClientAttrib( GLbitfield mask );
00263   friend NVSG_API void GLPushMatrix( void );
00264   friend NVSG_API void GLPushName( GLuint name );
00265   friend NVSG_API void GLRasterPos2d( GLdouble x, GLdouble y );
00266   friend NVSG_API void GLRasterPos2f( GLfloat x, GLfloat y );
00267   friend NVSG_API void GLRasterPos2i( GLint x, GLint y );
00268   friend NVSG_API void GLRasterPos2s( GLshort x, GLshort y );
00269   friend NVSG_API void GLRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
00270   friend NVSG_API void GLRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
00271   friend NVSG_API void GLRasterPos3i( GLint x, GLint y, GLint z );
00272   friend NVSG_API void GLRasterPos3s( GLshort x, GLshort y, GLshort z );
00273   friend NVSG_API void GLRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
00274   friend NVSG_API void GLRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
00275   friend NVSG_API void GLRasterPos4i( GLint x, GLint y, GLint z, GLint w );
00276   friend NVSG_API void GLRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
00277   friend NVSG_API void GLReadBuffer( GLenum mode );
00278   friend NVSG_API void GLReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels );
00279   friend NVSG_API void GLRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
00280   friend NVSG_API void GLRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
00281   friend NVSG_API void GLRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
00282   friend NVSG_API void GLRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
00283   friend NVSG_API void GLRenderMode( GLenum mode );
00284   friend NVSG_API void GLRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
00285   friend NVSG_API void GLRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
00286   friend NVSG_API void GLScaled( GLdouble x, GLdouble y, GLdouble z );
00287   friend NVSG_API void GLScalef( GLfloat x, GLfloat y, GLfloat z );
00288   friend NVSG_API void GLScissor( GLint x, GLint y, GLsizei width, GLsizei height );
00289   friend NVSG_API void GLSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00290   friend NVSG_API void GLSelectBuffer( GLsizei size, GLuint *buffer );
00291   friend NVSG_API void GLSetWindowStereoMode( GLboolean displayMode );
00292   friend NVSG_API void GLShadeModel( GLenum mode );
00293   friend NVSG_API void GLStencilFunc( GLenum func, GLint ref, GLuint mask );
00294   friend NVSG_API void GLStencilMask( GLuint mask );
00295   friend NVSG_API void GLStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
00296   friend NVSG_API void GLTexCoord1d( GLdouble s );
00297   friend NVSG_API void GLTexCoord1f( GLfloat s );
00298   friend NVSG_API void GLTexCoord1i( GLint s );
00299   friend NVSG_API void GLTexCoord1s( GLshort s );
00300   friend NVSG_API void GLTexCoord2d( GLdouble s, GLdouble t );
00301   friend NVSG_API void GLTexCoord2f( GLfloat s, GLfloat t );
00302   friend NVSG_API void GLTexCoord2fv( const GLfloat *v );
00303   friend NVSG_API void GLTexCoord2i( GLint s, GLint t );
00304   friend NVSG_API void GLTexCoord2s( GLshort s, GLshort t );
00305   friend NVSG_API void GLTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
00306   friend NVSG_API void GLTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
00307   friend NVSG_API void GLTexCoord3i( GLint s, GLint t, GLint r );
00308   friend NVSG_API void GLTexCoord3s( GLshort s, GLshort t, GLshort r );
00309   friend NVSG_API void GLTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
00310   friend NVSG_API void GLTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
00311   friend NVSG_API void GLTexCoord4i( GLint s, GLint t, GLint r, GLint q );
00312   friend NVSG_API void GLTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
00313   friend NVSG_API void GLTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00314   friend NVSG_API void GLTexEnvf( GLenum target, GLenum pname, GLfloat param );
00315   friend NVSG_API void GLTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
00316   friend NVSG_API void GLTexEnvi( GLenum target, GLenum pname, GLint param );
00317   friend NVSG_API void GLTexEnviv( GLenum target, GLenum pname, const GLint *params );
00318   friend NVSG_API void GLTexGend( GLenum coord, GLenum pname, GLdouble param );
00319   friend NVSG_API void GLTexGenf( GLenum coord, GLenum pname, GLfloat param );
00320   friend NVSG_API void GLTexGenfv( GLenum coord, GLenum pname, const GLfloat *param );
00321   friend NVSG_API void GLTexGeni( GLenum coord, GLenum pname, GLint param );
00322   friend NVSG_API void GLTexImage1D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
00323   friend NVSG_API void GLTexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
00324   friend NVSG_API void GLTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void* pixels);
00325   friend NVSG_API void GLTexParameterf( GLenum target, GLenum pname, GLfloat param );
00326   friend NVSG_API void GLTexParameteri( GLenum target, GLenum pname, GLint param );
00327   friend NVSG_API void GLTexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
00328   friend NVSG_API void GLTexParameteriv( GLenum target, GLenum pname, const GLint *params );
00329   friend NVSG_API void GLTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels );
00330   friend NVSG_API void GLTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
00331   friend NVSG_API void GLTranslated( GLdouble x, GLdouble y, GLdouble z );
00332   friend NVSG_API void GLTranslatef( GLfloat x, GLfloat y, GLfloat z );
00333   friend NVSG_API void GLVertex2d( GLdouble x, GLdouble y );
00334   friend NVSG_API void GLVertex2f( GLfloat x, GLfloat y );
00335   friend NVSG_API void GLVertex2i( GLint x, GLint y );
00336   friend NVSG_API void GLVertex2s( GLshort x, GLshort y );
00337   friend NVSG_API void GLVertex3d( GLdouble x, GLdouble y, GLdouble z );
00338   friend NVSG_API void GLVertex3f( GLfloat x, GLfloat y, GLfloat z );
00339   friend NVSG_API void GLVertex3fv( const GLfloat *v );
00340   friend NVSG_API void GLVertex3i( GLint x, GLint y, GLint z );
00341   friend NVSG_API void GLVertex3s( GLshort x, GLshort y, GLshort z );
00342   friend NVSG_API void GLVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
00343   friend NVSG_API void GLVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
00344   friend NVSG_API void GLVertex4i( GLint x, GLint y, GLint z, GLint w );
00345   friend NVSG_API void GLVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
00346   friend NVSG_API void GLVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00347   friend NVSG_API void GLViewport( GLint x, GLint y, GLsizei width, GLsizei height );
00348 #if defined(_WIN32)
00349   friend NVSG_API BOOL WGLBindTexImage( HPBUFFERARB hPbuffer, int iBuffer );
00350   friend NVSG_API BOOL WGLChoosePixelFormat( HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats );
00351   friend NVSG_API HGLRC WGLCreateContext( HDC hdc );
00352   friend NVSG_API HPBUFFERARB WGLCreatePbuffer( HDC hdc, int pixelFormat, int width, int height, const int *attribList );
00353   friend NVSG_API BOOL WGLDeleteContext( HGLRC hglrc );
00354   friend NVSG_API BOOL WGLDestroyPbuffer( HPBUFFERARB hPbuffer );
00355   friend NVSG_API HGLRC WGLGetCurrentContext(void);
00356   friend NVSG_API HDC WGLGetCurrentDC(void);
00357   friend NVSG_API BOOL WGLMakeCurrent( HDC hdc, HGLRC hglrc );
00358   friend NVSG_API HDC WGLGetPbufferDC( HPBUFFERARB hPbuffer );
00359   friend NVSG_API BOOL WGLQueryPbuffer( HPBUFFERARB hPbuffer, int attribute, int *value );
00360   friend NVSG_API int WGLReleasePbufferDC( HPBUFFERARB hPbuffer, HDC hdc );
00361   friend NVSG_API BOOL WGLReleaseTexImage( HPBUFFERARB hPbuffer, int iBuffer );
00362   friend NVSG_API BOOL WGLShareLists( HGLRC hglrc1, HGLRC hglrc2 );
00363   friend NVSG_API BOOL WGLJoinSwapGroupNV(HDC hDC, GLuint group);
00364   friend NVSG_API BOOL WGLBindSwapBarrierNV(GLuint group, GLuint barrier);
00365   friend NVSG_API BOOL WGLQuerySwapGroupNV(HDC hDC, GLuint * group, GLuint * barrier);
00366   friend NVSG_API BOOL WGLQueryMaxSwapGroupsNV(HDC hDC, GLuint * maxGroups, GLuint * maxBarriers);
00367   friend NVSG_API BOOL WGLQueryFrameCountNV(HDC hDC, GLuint * count);
00368   friend NVSG_API BOOL WGLResetFrameCountNV(HDC hDC);
00369   // routines to handle bypassing of WGLCreateContext and WGLDeleteContext
00370   friend NVSG_API void WGLAttachContext(HDC, HGLRC);
00371   friend NVSG_API void WGLDetachContext(HGLRC);
00372 #elif defined(LINUX)
00373   friend NVSG_API GLXContext GLXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
00374   friend NVSG_API void GLXDestroyContext(Display *dpy, GLXContext ctx);
00375   friend NVSG_API GLXContext GLXGetCurrentContext();
00376   friend NVSG_API GLXDrawable GLXGetCurrentDrawable();
00377   friend NVSG_API Bool GLXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx);
00378   // routines to handle bypassing of GLXCreateContext and GLXDestroyContext
00379   friend NVSG_API void GLXAttachContext(Display*, GLXContext);
00380   friend NVSG_API void GLXDetachContext(GLXContext);
00381 #endif
00382   // some NVSG extensions
00383
00384   // CgFXSetDevice extension
00385   friend NVSG_API GLboolean GLCgFXSetDevice();
00386   friend NVSG_API void GLCgFXFreeDevice();
00387
00388   // Texture lookup extension
00389   friend NVSG_API void GLAddTextureFileForLookup(const std::string& file, const nvsg::Texture * tex);
00390   friend NVSG_API void GLRemoveTextureFileFromLookup(const std::string& file);
00391   friend NVSG_API const nvsg::Texture * GLLookupTexture(const std::string& file);
00392
00393   // query hw capacity for texcoords arrays and texture image units
00394   friend NVSG_API GLint GLGetMaxTexCoords();
00395   friend NVSG_API GLint GLGetMaxTexUnits();
00396
00397   // extension query
00399
00401   friend NVSG_API GLboolean GLIsExtensionAvailable(const std::string& extension);
00403
00405   friend NVSG_API GLboolean GLIsExtensionExported(const std::string& extension);
00406
00407 public:  // public interface
00408 #if defined(LINUX)
00409   inline Display* getDisplay() { return m_dpy; }
00410 #endif
00411
00412 private: // private interface
00413
00414 #if defined(_WIN32)
00415   GLContext(HDC hdc, HGLRC hglrc);
00416 #elif defined(LINUX)
00417   GLContext(Display *dpy, GLXContext ctx);
00418 #endif
00419   ~GLContext();
00420
00421 #if defined(_WIN32)
00422   void init(); // init function pointers and caches
00423 #elif defined(LINUX)
00424   void init(GLXDrawable drw);
00425 #endif
00426   void exit(); // GL objects cleanup
00427
00428   // Share sharable GL objects with the GLContext referenced through \a source.
00429   void share(const GLContext& source);
00430
00431   // helper
00432   bool isTexture(GLuint name) const;
00433   bool isVBO(GLuint name)     const;
00434   bool isProgram(GLuint name) const;
00435   bool isDisplayList(GLuint name) const;
00436   bool isOcclusionQuery(GLuint name) const;
00437   bool isQuery(GLuint name) const;
00438   void addTexture(const std::string& file, const nvsg::Texture* texture);
00439   void removeTexture(const std::string& file);
00440   const nvsg::Texture * lookupTexture(const std::string& file) const;
00441
00442
00443 public: // public data
00444   GLFunctions * m_glFunctions;
00445
00446   // glFrontFaceCache
00447   GLenum m_fontFaceMode;
00448
00449 private: // private data
00450
00451 #if defined(_WIN32)
00452   HDC           m_hdc;
00453   HGLRC         m_hglrc;
00454 #elif defined(LINUX)
00455   static Display * m_dpy;
00456   GLXContext       m_ctx;
00457   GLXDrawable      m_drawable;
00458 #endif
00459
00460   GLObjects   * m_glObjects;
00461   GLint         m_maxTexCoords;
00462   GLint         m_maxTexUnits;
00463 #if defined( _DEBUG )
00464   bool          m_inBeginEndLoop;
00465 #endif
00466
00467   nvutil::RCObject * m_CgFXDevice;
00468 };
00469
00470 } // namespace nvgl
00471
00472 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00473 // inline implementations
00474 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00475
00476 // need defines now with implementing
00477 #include "nvgl/GLFunctions.h"
00478 #include "nvgl/GLObjects.h"
00479
00480 namespace nvgl
00481 {
00482
00484
00485 inline void  GLAccum( GLenum op, GLfloat value )
00486 {
00487   glAccum( op, value );
00488   ASSERT_GL_NO_ERROR;
00489 }
00490
00492
00493 inline  void  GLActiveTexture( GLenum texture )
00494 {
00495   glContext->m_glFunctions->glActiveTexture(texture);
00496 }
00497
00499
00500 inline  void  GLAlphaFunc( GLenum func, GLclampf ref )
00501 {
00502   glAlphaFunc( func, ref );
00503   ASSERT_GL_NO_ERROR;
00504 }
00505
00507
00508 inline  GLboolean GLAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences )
00509 {
00510   GLboolean ok = glAreTexturesResident( n, textures, residences );
00511   ASSERT_GL_NO_ERROR;
00512   return( ok );
00513 }
00514
00516
00517 inline  void  GLArrayElement( GLint i )
00518 {
00519   glArrayElement( i );
00520   ASSERT_GL_NO_ERROR;
00521 }
00522
00524
00525 inline  void  GLBegin( GLenum mode )
00526 {
00527   glBegin( mode );
00528 #if defined( _DEBUG )
00529   glContext->m_inBeginEndLoop = true;
00530 #endif
00531 }
00532
00534
00535 inline  void  GLBeginOcclusionQuery( GLuint id )
00536 {
00537   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glBeginOcclusionQueryNV );
00538   glContext->m_glFunctions->glBeginOcclusionQueryNV( id );
00539   ASSERT_GL_NO_ERROR;
00540 }
00541
00543
00544 inline  void  GLBeginQuery( GLenum target, GLuint id )
00545 {
00546   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glBeginQueryARB );
00547   glContext->m_glFunctions->glBeginQueryARB( target, id );
00548   ASSERT_GL_NO_ERROR;
00549 }
00550
00552
00553 inline  void  GLBindBufferARB(GLenum target, GLuint id)
00554 {
00555   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glBindBufferARB );
00556   glContext->m_glFunctions->glBindBufferARB( target, id );
00557   ASSERT_GL_NO_ERROR;
00558 }
00559
00561
00562 inline  void  GLBufferDataARB( GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage )
00563 {
00564   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glBufferDataARB );
00565   glContext->m_glFunctions->glBufferDataARB( target, size, data, usage );
00566   ASSERT_GL_NO_ERROR;
00567 }
00568
00570
00571 inline  void  GLBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data )
00572 {
00573   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glBufferSubDataARB );
00574   glContext->m_glFunctions->glBufferSubDataARB( target, offset, size, data );
00575   ASSERT_GL_NO_ERROR;
00576 }
00577
00579
00580 inline  void  GLDeleteBuffersARB(GLsizei n, const GLuint *buffers)
00581 {
00582   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glDeleteBuffersARB );
00583   glContext->m_glFunctions->glDeleteBuffersARB( n, buffers );
00584   glContext->m_glObjects->removeBuffers(n, buffers);
00585   ASSERT_GL_NO_ERROR;
00586 }
00587
00589
00590 inline  void  GLGenBuffersARB(GLsizei n, GLuint *buffers)
00591 {
00592   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGenBuffersARB );
00593   glContext->m_glFunctions->glGenBuffersARB( n, buffers );
00594   glContext->m_glObjects->addBuffers(n, buffers);
00595   ASSERT_GL_NO_ERROR;
00596 }
00597
00598 //void GLAPI glGetBufferParameterivARB (GLenum target, GLenum pname, GLint *params);
00599 //void GLAPI glGetBufferPointervARB (GLenum target, GLenum pname, GLvoid* *params);
00600 //void GLAPI glGetBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
00601
00603
00604 inline  GLvoid*  GLMapBufferARB( GLenum target, GLenum access )
00605 {
00606   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glMapBufferARB );
00607   GLvoid * p = glContext->m_glFunctions->glMapBufferARB( target, access );
00608   ASSERT_GL_NO_ERROR;
00609   return p;
00610 }
00611
00613
00614 inline  GLboolean  GLUnmapBufferARB( GLenum target )
00615 {
00616   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glUnmapBufferARB );
00617   GLboolean b = glContext->m_glFunctions->glUnmapBufferARB( target );
00618   ASSERT_GL_NO_ERROR;
00619   return b;
00620 }
00621
00623
00624 inline  GLboolean  GLIsBufferARB( GLuint name )
00625 {
00626   __ASSERT(glContext->m_glFunctions && glContext->m_glFunctions->glIsBufferARB);
00627   __ASSERT(!!glContext->isVBO(name)==!!glContext->m_glFunctions->glIsBufferARB(name));
00628   return glContext->isVBO(name);
00629 }
00630
00632
00633 inline  void  GLBindProgram( GLenum target, GLuint id )
00634 {
00635   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glBindProgramNV );
00636   glContext->m_glFunctions->glBindProgramNV( target, id );
00637   ASSERT_GL_NO_ERROR;
00638 }
00639
00641
00642 inline  void  GLBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap )
00643 {
00644   glBitmap( width, height, xorig, yorig, xmove, ymove, bitmap );
00645   ASSERT_GL_NO_ERROR;
00646 }
00647
00649
00650 inline  void  GLBlendFunc( GLenum sfactor, GLenum dfactor )
00651 {
00652   glBlendFunc( sfactor, dfactor );
00653   ASSERT_GL_NO_ERROR;
00654 }
00655
00657
00658 inline  void  GLBindTexture( GLenum target, GLuint texture )
00659 {
00660   glBindTexture( target, texture );
00661   ASSERT_GL_NO_ERROR;
00662 }
00663
00665
00666 inline  void  GLCallList( GLuint list )
00667 {
00668   glCallList( list );
00669   ASSERT_GL_NO_ERROR;
00670 }
00671
00673
00674 inline  void  GLCallLists( GLsizei n, GLenum type, const GLvoid *lists )
00675 {
00676   glCallLists( n, type, lists );
00677   ASSERT_GL_NO_ERROR;
00678 }
00679
00681
00682 inline  void  GLClear( GLbitfield mask )
00683 {
00684   glClear( mask );
00685   ASSERT_GL_NO_ERROR;
00686 }
00687
00689
00690 inline  void  GLClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
00691 {
00692   glClearAccum( red, green, blue, alpha );
00693   ASSERT_GL_NO_ERROR;
00694 }
00695
00697
00698 inline  void  GLClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
00699 {
00700   glClearColor(red, green, blue, alpha);
00701   ASSERT_GL_NO_ERROR;
00702 }
00703
00705
00706 inline  void  GLClearDepth( GLclampd depth )
00707 {
00708   glClearDepth( depth );
00709   ASSERT_GL_NO_ERROR;
00710 }
00711
00713
00714 inline  void  GLClearIndex( GLfloat c )
00715 {
00716   glClearIndex( c );
00717   ASSERT_GL_NO_ERROR;
00718 }
00719
00721
00722 inline  void  GLClearStencil( GLint s )
00723 {
00724   glClearStencil( s );
00725   ASSERT_GL_NO_ERROR;
00726 }
00727
00729
00730 inline  void  GLClientActiveTexture( GLenum texture )
00731 {
00732   glContext->m_glFunctions->glClientActiveTexture( texture );
00733   ASSERT_GL_NO_ERROR;
00734 }
00735
00737
00738 inline  void  GLClipPlane( GLenum plane, const GLdouble *equation )
00739 {
00740   glClipPlane(plane, equation);
00741   ASSERT_GL_NO_ERROR;
00742 }
00743
00745
00746 inline  void  GLColor3b( GLbyte red, GLbyte green, GLbyte blue )
00747 {
00748   glColor3b( red, green, blue );
00749   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00750 }
00751
00753
00754 inline  void  GLColor3d( GLdouble red, GLdouble green, GLdouble blue )
00755 {
00756   glColor3d( red, green, blue );
00757   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00758 }
00759
00761
00762 inline  void  GLColor3f( GLfloat red, GLfloat green, GLfloat blue )
00763 {
00764   glColor3f( red, green, blue );
00765   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00766 }
00767
00769
00770 inline  void  GLColor3fv( const GLfloat * v )
00771 {
00772   glColor3fv( v );
00773   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00774 }
00775
00777
00778 inline  void  GLColor3i( GLint red, GLint green, GLint blue )
00779 {
00780   glColor3i( red, green, blue );
00781   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00782 }
00783
00785
00786 inline  void  GLColor3s( GLshort red, GLshort green, GLshort blue )
00787 {
00788   glColor3s( red, green, blue );
00789   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00790 }
00791
00793
00794 inline  void  GLColor3ub( GLubyte red, GLubyte green, GLubyte blue )
00795 {
00796   glColor3ub( red, green, blue );
00797   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00798 }
00799
00801
00802 inline  void  GLColor3ui( GLuint red, GLuint green, GLuint blue )
00803 {
00804   glColor3ui( red, green, blue );
00805   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00806 }
00807
00809
00810 inline  void  GLColor3us( GLushort red, GLushort green, GLushort blue )
00811 {
00812   glColor3us( red, green, blue );
00813   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00814 }
00815
00817
00818 inline  void  GLColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha )
00819 {
00820   glColor4b( red, green, blue, alpha );
00821   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00822 }
00823
00825
00826 inline  void  GLColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha )
00827 {
00828   glColor4d( red, green, blue, alpha );
00829   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00830 }
00831
00833
00834 inline  void  GLColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
00835 {
00836   glColor4f( red, green, blue, alpha );
00837   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00838 }
00839
00841
00842 inline  void  GLColor4i( GLint red, GLint green, GLint blue, GLint alpha )
00843 {
00844   glColor4i( red, green, blue, alpha );
00845   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00846 }
00847
00849
00850 inline  void  GLColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha )
00851 {
00852   glColor4s( red, green, blue, alpha );
00853   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00854 }
00855
00857
00858 inline  void  GLColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha )
00859 {
00860   glColor4ub( red, green, blue, alpha );
00861   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00862 }
00863
00865
00866 inline  void  GLColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha )
00867 {
00868   glColor4ui( red, green, blue, alpha );
00869   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00870 }
00871
00873
00874 inline  void  GLColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha )
00875 {
00876   glColor4us( red, green, blue, alpha );
00877   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
00878 }
00879
00881
00882 inline  void  GLColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha )
00883 {
00884   glColorMask( red, green, blue, alpha );
00885   ASSERT_GL_NO_ERROR;
00886 }
00887
00889
00890 inline  void  GLColorMaterial( GLenum face, GLenum mode )
00891 {
00892   glColorMaterial( face, mode );
00893   ASSERT_GL_NO_ERROR;
00894 }
00895
00897
00898 inline  void  GLColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
00899 {
00900   glColorPointer( size, type, stride, pointer );
00901   ASSERT_GL_NO_ERROR;
00902 }
00903
00905
00906 inline  void  GLCompressedTexImage1D( GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data )
00907 {
00908   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glCompressedTexImage1D );
00909   glContext->m_glFunctions->glCompressedTexImage1D( target, level, internalformat, width, border, imageSize, data );
00910   ASSERT_GL_NO_ERROR;
00911 }
00912
00914
00915 inline  void  GLCompressedTexImage2D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data )
00916 {
00917   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glCompressedTexImage2D );
00918   glContext->m_glFunctions->glCompressedTexImage2D( target, level, internalformat, width, height, border, imageSize, data );
00919   ASSERT_GL_NO_ERROR;
00920 }
00921
00923
00924 inline  void  GLCompressedTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data )
00925 {
00926   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glCompressedTexImage3D );
00927   glContext->m_glFunctions->glCompressedTexImage3D( target, level, internalformat, width, height, depth, border, imageSize, data );
00928   ASSERT_GL_NO_ERROR;
00929 }
00930
00932
00933 inline  void  GLCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type )
00934 {
00935   glCopyPixels( x, y, width, height, type );
00936   ASSERT_GL_NO_ERROR;
00937 }
00938
00940
00941 inline  void  GLCopyTexImage1D( GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border )
00942 {
00943   glCopyTexImage1D( target, level, internalFormat, x, y, width, border );
00944   ASSERT_GL_NO_ERROR;
00945 }
00946
00948
00949 inline  void  GLCopyTexImage2D( GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border )
00950 {
00951   glCopyTexImage2D( target, level, internalFormat, x, y, width, height, border );
00952   ASSERT_GL_NO_ERROR;
00953 }
00954
00956
00957 inline  void  GLCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width )
00958 {
00959   glCopyTexSubImage1D( target,level, xoffset, x, y, width );
00960   ASSERT_GL_NO_ERROR;
00961 }
00962
00964
00965 inline  void  GLCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height )
00966 {
00967   glCopyTexSubImage2D( target,level, xoffset, yoffset, x, y, width, height );
00968   ASSERT_GL_NO_ERROR;
00969 }
00970
00972
00973 inline  void  GLCullFace( GLenum mode )
00974 {
00975   glCullFace( mode );
00976   ASSERT_GL_NO_ERROR;
00977 }
00978
00980
00981 inline  void  GLDeleteLists( GLuint list, GLsizei range )
00982 {
00983   glDeleteLists( list, range );
00984   glContext->m_glObjects->removeLists(range, list);
00985   ASSERT_GL_NO_ERROR;
00986 }
00987
00989
00990 inline  void  GLDeleteOcclusionQueries( GLsizei n, const GLuint *ids )
00991 {
00992   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glDeleteOcclusionQueriesNV );
00993   glContext->m_glFunctions->glDeleteOcclusionQueriesNV( n, ids );
00994   glContext->m_glObjects->removeOcclusionQueries(n, ids);
00995   ASSERT_GL_NO_ERROR;
00996 }
00997
00999
01000 inline  void  GLDeletePrograms( GLsizei n, const GLuint *ids )
01001 {
01002   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glDeleteProgramsNV );
01003   glContext->m_glFunctions->glDeleteProgramsNV( n, ids );
01004   glContext->m_glObjects->removePrograms(n, ids);
01005   ASSERT_GL_NO_ERROR;
01006 }
01007
01009
01010 inline  void  GLDeleteQueries( GLsizei n, const GLuint *ids )
01011 {
01012   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glDeleteQueriesARB );
01013   glContext->m_glFunctions->glDeleteQueriesARB( n, ids );
01014   glContext->m_glObjects->removeQueries( n, ids );
01015   ASSERT_GL_NO_ERROR;
01016 }
01017
01019
01020 inline  void  GLDeleteTextures( GLsizei n, const GLuint *textures )
01021 {
01022   glDeleteTextures( n, textures );
01023   glContext->m_glObjects->removeTextures(n, textures);
01024   ASSERT_GL_NO_ERROR;
01025 }
01026
01028
01029 inline  void  GLDepthFunc( GLenum func )
01030 {
01031   glDepthFunc( func );
01032   ASSERT_GL_NO_ERROR;
01033 }
01034
01036
01037 inline  void  GLDepthMask( GLboolean flag )
01038 {
01039   glDepthMask( flag );
01040   ASSERT_GL_NO_ERROR;
01041 }
01042
01044
01045 inline  void  GLDepthRange( GLclampd znear, GLclampd zfar )
01046 {
01047   glDepthRange( znear, zfar );
01048   ASSERT_GL_NO_ERROR;
01049 }
01050
01052
01053 inline  void  GLDisable( GLenum cap )
01054 {
01055   glDisable( cap );
01056   ASSERT_GL_NO_ERROR;
01057 }
01058
01060
01061 inline  void  GLDisableClientState( GLenum array )
01062 {
01063   glDisableClientState( array );
01064   ASSERT_GL_NO_ERROR;
01065 }
01066
01068
01069 inline  void  GLDrawArrays( GLenum mode, GLint first, GLsizei count )
01070 {
01071   glDrawArrays( mode, first, count );
01072   ASSERT_GL_NO_ERROR;
01073 }
01074
01076
01077 inline  void  GLDrawBuffer( GLenum mode )
01078 {
01079   glDrawBuffer( mode );
01080   ASSERT_GL_NO_ERROR;
01081 }
01082
01084
01085 inline  void  GLDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices )
01086 {
01087   glDrawElements( mode, count, type, indices );
01088   ASSERT_GL_NO_ERROR;
01089 }
01090
01092
01093 inline  void  GLMultiDrawElements( GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount )
01094 {
01095   glContext->m_glFunctions->glMultiDrawElements( mode, count, type, indices, primcount );
01096   ASSERT_GL_NO_ERROR;
01097 }
01098
01100
01101 inline  void  GLDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
01102 {
01103   glDrawPixels( width, height, format, type, pixels );
01104   ASSERT_GL_NO_ERROR;
01105 }
01106
01108
01109 inline  void  GLDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices )
01110 {
01111   glContext->m_glFunctions->glDrawRangeElements( mode, start, end, count, type, indices );
01112   ASSERT_GL_NO_ERROR;
01113 }
01114
01116
01117 inline  void  GLEdgeFlagPointer( GLsizei stride, const GLboolean *pointer )
01118 {
01119   glEdgeFlagPointer( stride, pointer );
01120   ASSERT_GL_NO_ERROR;
01121 }
01122
01124
01125 inline  void  GLEdgeFlag( GLboolean flag )
01126 {
01127   glEdgeFlag( flag );
01128   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01129 }
01130
01132
01133 inline  void  GLEdgeFlagv( const GLboolean *flag )
01134 {
01135   glEdgeFlagv( flag );
01136   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01137 }
01138
01140
01141 inline  void  GLEnable( GLenum cap )
01142 {
01143   glEnable( cap );
01144   ASSERT_GL_NO_ERROR;
01145 }
01146
01148
01149 inline  void  GLEnableClientState( GLenum array )
01150 {
01151   glEnableClientState( array );
01152   ASSERT_GL_NO_ERROR;
01153 }
01154
01156
01157 inline  void  GLEnd( void )
01158 {
01159   glEnd();
01160 #if defined( _DEBUG )
01161   glContext->m_inBeginEndLoop = false;
01162 #endif
01163   ASSERT_GL_NO_ERROR;
01164 }
01165
01167
01168 inline  void  GLEndList( void )
01169 {
01170   glEndList();
01171   ASSERT_GL_NO_ERROR;
01172 }
01173
01175
01176 inline  void  GLEndOcclusionQuery( void )
01177 {
01178   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glEndOcclusionQueryNV );
01179   glContext->m_glFunctions->glEndOcclusionQueryNV();
01180   ASSERT_GL_NO_ERROR;
01181 }
01182
01184
01185 inline  void  GLEndQuery( GLenum target )
01186 {
01187   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glEndQueryARB );
01188   glContext->m_glFunctions->glEndQueryARB( target );
01189   ASSERT_GL_NO_ERROR;
01190 }
01191
01193
01194 inline  void  GLEvalCoord1d( GLdouble u )
01195 {
01196   glEvalCoord1d( u );
01197   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01198 }
01199
01201
01202 inline  void  GLEvalCoord1f( GLfloat u )
01203 {
01204   glEvalCoord1f( u );
01205   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01206 }
01207
01209
01210 inline  void  GLEvalCoord2d( GLdouble u, GLdouble v )
01211 {
01212   glEvalCoord2d( u, v );
01213   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01214 }
01215
01217
01218 inline  void  GLEvalCoord2f( GLfloat u, GLfloat v )
01219 {
01220   glEvalCoord2f( u, v );
01221   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01222 }
01223
01225
01226 inline  void  GLEvalMesh1( GLenum mode, GLint i1, GLint i2 )
01227 {
01228   glEvalMesh1( mode, i1, i2 );
01229   ASSERT_GL_NO_ERROR;
01230 }
01231
01233
01234 inline  void  GLEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
01235 {
01236   glEvalMesh2( mode, i1, i2, j1, j2 );
01237   ASSERT_GL_NO_ERROR;
01238 }
01239
01241
01242 inline  void  GLEvalPoint1( GLint i )
01243 {
01244   glEvalPoint1( i );
01245   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01246 }
01247
01249
01250 inline  void  GLEvalPoint2( GLint i, GLint j )
01251 {
01252   glEvalPoint2( i, j );
01253   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01254 }
01255
01257
01258 inline  void  GLFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
01259 {
01260   glFeedbackBuffer( size, type, buffer );
01261   ASSERT_GL_NO_ERROR;
01262 }
01263
01265
01266 inline  void  GLFinish( void )
01267 {
01268   glFinish();
01269   ASSERT_GL_NO_ERROR;
01270 }
01271
01273
01274 inline  void  GLFlush( void )
01275 {
01276   glFlush();
01277   ASSERT_GL_NO_ERROR;
01278 }
01279
01281
01282 inline  void  GLFogCoordPointer( GLenum type, GLsizei stride, const GLvoid *pointer )
01283 {
01284   glContext->m_glFunctions->glFogCoordPointer( type, stride, pointer );
01285   ASSERT_GL_NO_ERROR;
01286 }
01287
01289
01290 inline  void  GLFogf( GLenum pname, GLfloat param )
01291 {
01292   glFogf( pname, param );
01293   ASSERT_GL_NO_ERROR;
01294 }
01295
01297
01298 inline  void  GLFogfv( GLenum pname, const GLfloat *params )
01299 {
01300   glFogfv( pname, params );
01301   ASSERT_GL_NO_ERROR;
01302 }
01303
01305
01306 inline  void  GLFogi( GLenum pname, GLint param )
01307 {
01308   glFogi(pname, param);
01309   ASSERT_GL_NO_ERROR;
01310 }
01311
01313
01314 inline  void  GLFogiv( GLenum pname, const GLint *params )
01315 {
01316   glFogiv(pname, params);
01317   ASSERT_GL_NO_ERROR;
01318 }
01319
01321
01322 inline  void  GLFrontFace( GLenum mode )
01323 {
01324   if (mode != glContext->m_fontFaceMode)
01325   {
01326     glFrontFace( mode );
01327     ASSERT_GL_NO_ERROR;
01328
01329     glContext->m_fontFaceMode = mode;
01330   }
01331 }
01332
01334
01335 inline  void  GLFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar )
01336 {
01337   glFrustum( left, right, bottom, top, zNear, zFar );
01338   ASSERT_GL_NO_ERROR;
01339 }
01340
01342
01343 inline  GLuint  GLGenLists( GLsizei range )
01344 {
01345   GLuint  firstList = glGenLists( range );
01346   glContext->m_glObjects->addLists(range, firstList);
01347   ASSERT_GL_NO_ERROR;
01348   return( firstList );
01349 }
01350
01352
01353 inline  void  GLGenOcclusionQueries( GLsizei n, GLuint *ids )
01354 {
01355   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGenOcclusionQueriesNV );
01356   glContext->m_glFunctions->glGenOcclusionQueriesNV( n, ids );
01357   glContext->m_glObjects->addOcclusionQueries(n, ids);
01358   ASSERT_GL_NO_ERROR;
01359 }
01360
01362
01363 inline  void  GLGenPrograms( GLsizei n, GLuint *ids )
01364 {
01365   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGenProgramsNV );
01366   glContext->m_glFunctions->glGenProgramsNV( n, ids );
01367   glContext->m_glObjects->addPrograms(n, ids);
01368   ASSERT_GL_NO_ERROR;
01369 }
01370
01372
01373 inline  void  GLGenQueries( GLsizei n, GLuint *ids )
01374 {
01375   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGenQueriesARB );
01376   glContext->m_glFunctions->glGenQueriesARB( n, ids );
01377   glContext->m_glObjects->addQueries( n, ids );
01378   ASSERT_GL_NO_ERROR;
01379 }
01380
01382
01383 inline  void  GLGenTextures( GLsizei n, GLuint *textures )
01384 {
01385   glGenTextures( n, textures );
01386   glContext->m_glObjects->addTextures(n, textures);
01387   ASSERT_GL_NO_ERROR;
01388 }
01389
01391
01392 inline  void  GLGetBooleanv( GLenum pname, GLboolean *params )
01393 {
01394   glGetBooleanv( pname, params );
01395   ASSERT_GL_NO_ERROR;
01396 }
01397
01399
01400 inline  void  GLGetDoublev( GLenum pname, GLdouble *params )
01401 {
01402   glGetDoublev( pname, params );
01403   ASSERT_GL_NO_ERROR;
01404 }
01405
01407
01408 inline  void  GLGetFloatv( GLenum pname, GLfloat *params )
01409 {
01410   glGetFloatv( pname, params );
01411   ASSERT_GL_NO_ERROR;
01412 }
01413
01415
01416 inline  void  GLGetIntegerv( GLenum pname, GLint *params )
01417 {
01418   glGetIntegerv( pname, params );
01419   ASSERT_GL_NO_ERROR;
01420 }
01421
01423
01424 inline  void  GLGetClipPlane( GLenum plane, GLdouble *equation )
01425 {
01426   glGetClipPlane( plane, equation );
01427   ASSERT_GL_NO_ERROR;
01428 }
01429
01431
01432 inline  void  GLGetLightfv( GLenum light, GLenum pname, GLfloat *params )
01433 {
01434   glGetLightfv( light, pname, params );
01435   ASSERT_GL_NO_ERROR;
01436 }
01437
01439
01440 inline  void  GLGetLightiv( GLenum light, GLenum pname, GLint *params )
01441 {
01442   glGetLightiv( light, pname, params );
01443   ASSERT_GL_NO_ERROR;
01444 }
01445
01447
01448 inline  void  GLGetMapdv( GLenum target, GLenum query, GLdouble *v )
01449 {
01450   glGetMapdv( target, query, v );
01451   ASSERT_GL_NO_ERROR;
01452 }
01453
01455
01456 inline  void  GLGetMapfv( GLenum target, GLenum query, GLfloat *v )
01457 {
01458   glGetMapfv( target, query, v );
01459   ASSERT_GL_NO_ERROR;
01460 }
01461
01463
01464 inline  void  GLGetMapiv( GLenum target, GLenum query, GLint *v )
01465 {
01466   glGetMapiv( target, query, v );
01467   ASSERT_GL_NO_ERROR;
01468 }
01469
01471
01472 inline  void  GLGetMaterialfv( GLenum face, GLenum pname, GLfloat *params )
01473 {
01474   glGetMaterialfv( face, pname, params );
01475   ASSERT_GL_NO_ERROR;
01476 }
01477
01479
01480 inline  void  GLGetMaterialiv( GLenum face, GLenum pname, GLint *params )
01481 {
01482   glGetMaterialiv( face, pname, params );
01483   ASSERT_GL_NO_ERROR;
01484 }
01485
01487
01488 inline  void  GLGetOcclusionQueryuiv( GLuint id, GLenum pname, GLuint *params )
01489 {
01490   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGetOcclusionQueryuivNV );
01491   glContext->m_glFunctions->glGetOcclusionQueryuivNV( id, pname, params );
01492   ASSERT_GL_NO_ERROR;
01493 }
01494
01496
01497 inline  void  GLGetPixelMapfv( GLenum map, GLfloat *values )
01498 {
01499   glGetPixelMapfv( map, values );
01500   ASSERT_GL_NO_ERROR;
01501 }
01502
01504
01505 inline  void  GLGetPixelMapuiv( GLenum map, GLuint *values )
01506 {
01507   glGetPixelMapuiv( map, values );
01508   ASSERT_GL_NO_ERROR;
01509 }
01510
01512
01513 inline  void  GLGetPixelMapusv( GLenum map, GLushort *values )
01514 {
01515   glGetPixelMapusv( map, values );
01516   ASSERT_GL_NO_ERROR;
01517 }
01518
01520
01521 inline  void  GLGetPointerv( GLenum pname, GLvoid* *params )
01522 {
01523   glGetPointerv( pname, params );
01524   ASSERT_GL_NO_ERROR;
01525 }
01526
01528
01529 inline  void  GLGetPolygonStipple( GLubyte *mask )
01530 {
01531   glGetPolygonStipple( mask );
01532   ASSERT_GL_NO_ERROR;
01533 }
01534
01536
01537 inline  void  GLGetQueryiv( GLenum target, GLenum pname, GLint *params )
01538 {
01539   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGetQueryivARB );
01540   glContext->m_glFunctions->glGetQueryivARB( target, pname, params );
01541   ASSERT_GL_NO_ERROR;
01542 }
01543
01545
01546 inline  void  GLGetQueryObjectiv( GLuint id, GLenum pname, GLint *params )
01547 {
01548   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGetQueryObjectivARB );
01549   glContext->m_glFunctions->glGetQueryObjectivARB( id, pname, params );
01550   ASSERT_GL_NO_ERROR;
01551 }
01552
01554
01555 inline  void  GLGetQueryObjectuiv( GLuint id, GLenum pname, GLuint *params )
01556 {
01557   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glGetQueryObjectuivARB );
01558   glContext->m_glFunctions->glGetQueryObjectuivARB( id, pname, params );
01559   ASSERT_GL_NO_ERROR;
01560 }
01561
01563
01564 inline  const GLubyte * GLGetString( GLenum name )
01565 {
01566   const GLubyte * ret = glGetString( name );
01567   ASSERT_GL_NO_ERROR;
01568   return( ret );
01569 }
01570
01572
01573 inline  void  GLGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params )
01574 {
01575   glGetTexEnvfv( target,pname, params );
01576   ASSERT_GL_NO_ERROR;
01577 }
01578
01580
01581 inline  void  GLGetTexEnviv( GLenum target, GLenum pname, GLint *params )
01582 {
01583   glGetTexEnviv( target,pname, params );
01584   ASSERT_GL_NO_ERROR;
01585 }
01586
01588
01589 inline  void  GLGetTexGendv( GLenum coord, GLenum pname, GLdouble *params )
01590 {
01591   glGetTexGendv( coord, pname, params );
01592   ASSERT_GL_NO_ERROR;
01593 }
01594
01596
01597 inline  void  GLGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params )
01598 {
01599   glGetTexGenfv( coord, pname, params );
01600   ASSERT_GL_NO_ERROR;
01601 }
01602
01604
01605 inline  void  GLGetTexGeniv( GLenum coord, GLenum pname, GLint *params )
01606 {
01607   glGetTexGeniv( coord, pname, params );
01608   ASSERT_GL_NO_ERROR;
01609 }
01610
01612
01613 inline  void  GLGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels )
01614 {
01615   glGetTexImage( target, level, format, type, pixels );
01616   ASSERT_GL_NO_ERROR;
01617 }
01618
01620
01621 inline  void  GLGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params )
01622 {
01623   glGetTexLevelParameterfv( target, level, pname, params );
01624   ASSERT_GL_NO_ERROR;
01625 }
01626
01628
01629 inline  void  GLGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params )
01630 {
01631   glGetTexLevelParameteriv( target, level, pname, params );
01632   ASSERT_GL_NO_ERROR;
01633 }
01634
01636
01637 inline  void  GLGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params )
01638 {
01639   glGetTexParameterfv( target, pname, params );
01640   ASSERT_GL_NO_ERROR;
01641 }
01642
01644
01645 inline  void  GLGetTexParameteriv( GLenum target, GLenum pname, GLint *params )
01646 {
01647   glGetTexParameteriv( target, pname, params );
01648   ASSERT_GL_NO_ERROR;
01649 }
01650
01652
01653 inline  void  GLHint( GLenum target, GLenum mode )
01654 {
01655   glHint( target, mode );
01656   ASSERT_GL_NO_ERROR;
01657 }
01658
01660
01661 inline  void  GLIndexd( GLdouble c )
01662 {
01663   glIndexd( c );
01664   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01665 }
01666
01668
01669 inline  void  GLIndexf( GLfloat c )
01670 {
01671   glIndexf( c );
01672   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01673 }
01674
01676
01677 inline  void  GLIndexi( GLint c )
01678 {
01679   glIndexi( c );
01680   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01681 }
01682
01684
01685 inline  void  GLIndexMask( GLuint mask )
01686 {
01687   glIndexMask( mask );
01688   ASSERT_GL_NO_ERROR;
01689 }
01690
01692
01693 inline  void  GLIndexPointer( GLenum type, GLsizei stride, const GLvoid *pointer )
01694 {
01695   glIndexPointer( type, stride, pointer );
01696   ASSERT_GL_NO_ERROR;
01697 }
01698
01700
01701 inline  void  GLIndexs( GLshort c )
01702 {
01703   glIndexs( c );
01704   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01705 }
01706
01708
01709 inline  void  GLIndexub( GLubyte c )
01710 {
01711   glIndexub( c );
01712   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
01713 }
01714
01716
01717 inline  void  GLInitNames( void )
01718 {
01719   glInitNames();
01720   ASSERT_GL_NO_ERROR;
01721 }
01722
01724
01725 inline  void  GLInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer )
01726 {
01727   glInterleavedArrays( format, stride, pointer );
01728   ASSERT_GL_NO_ERROR;
01729 }
01730
01732
01733 inline  GLboolean  GLIsEnabled( GLenum cap )
01734 {
01735   GLboolean isEnabled = glIsEnabled( cap );
01736   ASSERT_GL_NO_ERROR;
01737   return isEnabled;
01738 }
01739
01741
01742 inline  GLboolean GLIsList( GLuint list )
01743 {
01744   __ASSERT(glContext && glContext->m_glFunctions);
01745   __ASSERT(!!glContext->isDisplayList(list)==!!glIsList(list));
01746   return glContext->isDisplayList(list);
01747 }
01748
01750
01751 inline  GLboolean GLIsOcclusionQuery( GLuint id )
01752 {
01753   __ASSERT(glContext->m_glFunctions && glContext->m_glFunctions->glIsOcclusionQueryNV);
01754   __ASSERT(!!glContext->isOcclusionQuery(id)==!!glContext->m_glFunctions->glIsOcclusionQueryNV(id));
01755   return glContext->m_glFunctions->glIsOcclusionQueryNV(id);
01756 }
01757
01759
01760 inline  GLboolean GLIsProgram(GLuint id)
01761 {
01762   __ASSERT(glContext->m_glFunctions && glContext->m_glFunctions->glIsProgramNV);
01763   __ASSERT(!!glContext->isProgram(id)==!!glContext->m_glFunctions->glIsProgramNV(id));
01764   return glContext->isProgram(id);
01765 }
01766
01768
01769 inline  GLboolean GLIsQuery( GLuint id )
01770 {
01771   __ASSERT(glContext->m_glFunctions && glContext->m_glFunctions->glIsQueryARB);
01772   __ASSERT(!!glContext->isQuery(id)==!!glContext->m_glFunctions->glIsQueryARB(id));
01773   return glContext->isQuery(id);
01774 }
01775
01777
01778 inline  GLboolean GLIsTexture( GLuint texture )
01779 {
01780   __ASSERT(glContext && glContext->m_glFunctions);
01781   __ASSERT(!!glContext->isTexture(texture)==!!glIsTexture(texture));
01782   return(glContext->isTexture(texture));
01783 }
01784
01786
01787 inline  void  GLLightf( GLenum light, GLenum pname, GLfloat param )
01788 {
01789   glLightf( light, pname, param );
01790   ASSERT_GL_NO_ERROR;
01791 }
01792
01794
01796 inline  void  GLLightfv( GLenum light, GLenum pname, const GLfloat *params )
01797 {
01798   glLightfv( light, pname, params );
01799   ASSERT_GL_NO_ERROR;
01800 }
01801
01803
01804 inline  void  GLLighti( GLenum light, GLenum pname, GLint param )
01805 {
01806   glLighti( light, pname, param );
01807   ASSERT_GL_NO_ERROR;
01808 }
01809
01811
01812 inline  void  GLLightiv( GLenum light, GLenum pname, GLint *params )
01813 {
01814   glLightiv( light, pname, params );
01815   ASSERT_GL_NO_ERROR;
01816 }
01817
01819
01820 inline  void  GLLightModelf( GLenum pname, GLfloat param )
01821 {
01822   glLightModelf( pname, param );
01823   ASSERT_GL_NO_ERROR;
01824 }
01825
01827
01828 inline  void  GLLightModelfv( GLenum pname, const GLfloat *params )
01829 {
01830   glLightModelfv( pname, params );
01831 }
01832
01834
01835 inline  void  GLLightModeli( GLenum pname, GLint param )
01836 {
01837   glLightModeli( pname, param );
01838   ASSERT_GL_NO_ERROR;
01839 }
01840
01842
01843 inline  void  GLLightModeliv( GLenum pname, const GLint *params )
01844 {
01845   glLightModeliv( pname, params );
01846   ASSERT_GL_NO_ERROR;
01847 }
01848
01850
01851 inline  void  GLLineStipple( GLint factor, GLushort pattern )
01852 {
01853   glLineStipple( factor, pattern );
01854   ASSERT_GL_NO_ERROR;
01855 }
01856
01858
01859 inline  void  GLLineWidth( GLfloat width )
01860 {
01861   glLineWidth( width );
01862   ASSERT_GL_NO_ERROR;
01863 }
01864
01866
01867 inline  void  GLListBase( GLuint base )
01868 {
01869   glListBase( base );
01870   ASSERT_GL_NO_ERROR;
01871 }
01872
01874
01875 inline  void  GLLoadIdentity( void )
01876 {
01877   glLoadIdentity();
01878   ASSERT_GL_NO_ERROR;
01879 }
01880
01882
01883 inline  void  GLLoadMatrixd( const GLdouble *m )
01884 {
01885   glLoadMatrixd( m );
01886   ASSERT_GL_NO_ERROR;
01887 }
01888
01890
01891 inline  void  GLLoadMatrixf( const GLfloat *m )
01892 {
01893   glLoadMatrixf( m );
01894   ASSERT_GL_NO_ERROR;
01895 }
01896
01898
01899 inline  void  GLLoadName( GLuint name )
01900 {
01901   glLoadName( name );
01902   ASSERT_GL_NO_ERROR;
01903 }
01904
01906
01907 inline  void  GLLoadProgram( GLenum target, GLuint id, GLsizei len, const GLubyte *program )
01908 {
01909   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glLoadProgramNV );
01910   glContext->m_glFunctions->glLoadProgramNV( target, id, len, program );
01911 #if defined( _DEBUG )
01912   ASSERT_GL_NO_ERROR;
01913   GLint errorPos;
01914   glGetIntegerv( GL_PROGRAM_ERROR_POSITION_NV, &errorPos );
01915   __ASSERT( errorPos == -1 );
01916 #endif
01917 }
01918
01920
01921 inline  void  GLLogicOp( GLenum opcode )
01922 {
01923   glLogicOp( opcode );
01924   ASSERT_GL_NO_ERROR;
01925 }
01926
01928
01929 inline  void  GLMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points )
01930 {
01931   glMap1d( target, u1, u2, stride, order, points );
01932   ASSERT_GL_NO_ERROR;
01933 }
01934
01936
01937 inline  void  GLMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points )
01938 {
01939   glMap1f( target, u1, u2, stride, order, points );
01940   ASSERT_GL_NO_ERROR;
01941 }
01942
01944
01945 inline  void  GLMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points )
01946 {
01947   glMap2d( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
01948   ASSERT_GL_NO_ERROR;
01949 }
01950
01952
01953 inline  void  GLMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points )
01954 {
01955   glMap2f( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
01956   ASSERT_GL_NO_ERROR;
01957 }
01958
01960
01961 inline  void  GLMapGrid1d( GLint un, GLdouble u1, GLdouble u2 )
01962 {
01963   glMapGrid1d( un, u1, u2 );
01964   ASSERT_GL_NO_ERROR;
01965 }
01966
01968
01969 inline  void  GLMapGrid1f( GLint un, GLfloat u1, GLfloat u2 )
01970 {
01971   glMapGrid1f( un, u1, u2 );
01972   ASSERT_GL_NO_ERROR;
01973 }
01974
01976
01977 inline  void  GLMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 )
01978 {
01979   glMapGrid2d( un, u1, u2, vn, v1, v2 );
01980   ASSERT_GL_NO_ERROR;
01981 }
01982
01984
01985 inline  void  GLMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 )
01986 {
01987   glMapGrid2f( un, u1, u2, vn, v1, v2 );
01988   ASSERT_GL_NO_ERROR;
01989 }
01990
01992
01993 inline  void  GLMaterialf( GLenum face, GLenum pname, const GLfloat param )
01994 {
01995   glMaterialf( face, pname, param );
01996   ASSERT_GL_NO_ERROR;
01997 }
01998
02000
02001 inline  void  GLMaterialfv( GLenum face, GLenum pname, const GLfloat *params )
02002 {
02003   glMaterialfv( face, pname, params );
02004   ASSERT_GL_NO_ERROR;
02005 }
02006
02008
02009 inline  void  GLMateriali( GLenum face, GLenum pname, const GLint param )
02010 {
02011   glMateriali( face, pname, param );
02012   ASSERT_GL_NO_ERROR;
02013 }
02014
02016
02017 inline  void  GLMaterialiv( GLenum face, GLenum pname, const GLint *params )
02018 {
02019   glMaterialiv( face, pname, params );
02020   ASSERT_GL_NO_ERROR;
02021 }
02022
02024
02025 inline  void  GLMatrixMode( GLenum mode )
02026 {
02027   glMatrixMode( mode );
02028   ASSERT_GL_NO_ERROR;
02029 }
02030
02032
02033 inline  void  GLMultiTexCoord2f( GLenum texture, GLfloat tx, GLfloat ty )
02034 {
02035   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glMultiTexCoord2f );
02036   glContext->m_glFunctions->glMultiTexCoord2f( texture, tx, ty );
02037   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02038 }
02039
02041
02042 inline  void  GLMultMatrixd( const GLdouble *m )
02043 {
02044   glMultMatrixd( m );
02045   ASSERT_GL_NO_ERROR;
02046 }
02047
02049
02050 inline  void  GLMultMatrixf( const GLfloat *m )
02051 {
02052   glMultMatrixf( m );
02053   ASSERT_GL_NO_ERROR;
02054 }
02055
02057
02058 inline  void  GLNewList( GLuint list, GLenum mode )
02059 {
02060   glNewList( list, mode );
02061   ASSERT_GL_NO_ERROR;
02062 }
02063
02065
02066 inline  void  GLNormal3b( GLbyte nx, GLbyte ny, GLbyte nz )
02067 {
02068   glNormal3b( nx, ny, nz );
02069   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02070 }
02071
02073
02074 inline  void  GLNormal3bv( const GLbyte *v )
02075 {
02076   glNormal3bv( v );
02077   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02078 }
02079
02081
02082 inline  void  GLNormal3d( GLdouble nx, GLdouble ny, GLdouble nz )
02083 {
02084   glNormal3d( nx, ny, nz );
02085   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02086 }
02087
02089
02090 inline  void  GLNormal3dv( const GLdouble *v )
02091 {
02092   glNormal3dv( v );
02093   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02094 }
02095
02097
02098 inline  void  GLNormal3f( GLfloat nx, GLfloat ny, GLfloat nz )
02099 {
02100   glNormal3f( nx, ny, nz );
02101   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02102 }
02103
02105
02106 inline  void  GLNormal3fv( const GLfloat *v )
02107 {
02108   glNormal3fv( v );
02109   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02110 }
02111
02113
02114 inline  void  GLNormal3i( GLint nx, GLint ny, GLint nz )
02115 {
02116   glNormal3i( nx, ny, nz );
02117   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02118 }
02119
02121
02122 inline  void  GLNormal3iv( const GLint *v )
02123 {
02124   glNormal3iv( v );
02125   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02126 }
02127
02129
02130 inline  void  GLNormal3s( GLshort nx, GLshort ny, GLshort nz )
02131 {
02132   glNormal3s( nx, ny, nz );
02133   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02134 }
02135
02137
02138 inline  void  GLNormal3sv( const GLshort *v )
02139 {
02140   glNormal3sv( v );
02141   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02142 }
02143
02145
02146 inline  void  GLNormalPointer( GLenum type, GLsizei stride, const GLvoid *pointer )
02147 {
02148   glNormalPointer( type, stride, pointer );
02149   ASSERT_GL_NO_ERROR;
02150 }
02151
02153
02154 inline  void  GLOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar )
02155 {
02156   glOrtho( left, right, bottom, top, zNear, zFar );
02157   ASSERT_GL_NO_ERROR;
02158 }
02159
02161
02162 inline  void  GLPassThrough( GLfloat token )
02163 {
02164   glPassThrough( token );
02165   ASSERT_GL_NO_ERROR;
02166 }
02167
02169
02170 inline  void  GLPixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
02171 {
02172   glPixelMapfv( map, mapsize, values );
02173   ASSERT_GL_NO_ERROR;
02174 }
02175
02177
02178 inline  void  GLPixelMapuiv( GLenum map, GLsizei mapsize, const GLuint *values )
02179 {
02180   glPixelMapuiv( map, mapsize, values );
02181   ASSERT_GL_NO_ERROR;
02182 }
02183
02185
02186 inline  void  GLPixelMapusv( GLenum map, GLsizei mapsize, const GLushort *values )
02187 {
02188   glPixelMapusv( map, mapsize, values );
02189   ASSERT_GL_NO_ERROR;
02190 }
02191
02193
02194 inline  void  GLPixelStoref( GLenum pname, GLfloat param )
02195 {
02196   glPixelStoref( pname, param );
02197   ASSERT_GL_NO_ERROR;
02198 }
02199
02201
02202 inline  void  GLPixelStorei( GLenum pname, GLint param )
02203 {
02204   glPixelStorei( pname, param );
02205   ASSERT_GL_NO_ERROR;
02206 }
02207
02209
02210 inline  void  GLPixelTransferf( GLenum pname, GLfloat param )
02211 {
02212   glPixelTransferf( pname, param );
02213   ASSERT_GL_NO_ERROR;
02214 }
02215
02217
02218 inline  void  GLPixelTransferi( GLenum pname, GLint param )
02219 {
02220   glPixelTransferi( pname, param );
02221   ASSERT_GL_NO_ERROR;
02222 }
02223
02225
02226 inline  void  GLPixelZoom( GLfloat xfactor, GLfloat yfactor )
02227 {
02228   glPixelZoom( xfactor, yfactor );
02229   ASSERT_GL_NO_ERROR;
02230 }
02231
02233
02234 inline  void  GLPointSize( GLfloat size )
02235 {
02236   glPointSize( size );
02237   ASSERT_GL_NO_ERROR;
02238 }
02239
02241
02242 inline  void  GLPolygonMode( GLenum face, GLenum mode )
02243 {
02244   glPolygonMode( face, mode );
02245   ASSERT_GL_NO_ERROR;
02246 }
02247
02249
02250 inline  void  GLPolygonOffset( GLfloat factor, GLfloat units )
02251 {
02252   glPolygonOffset( factor, units );
02253   ASSERT_GL_NO_ERROR;
02254 }
02255
02257
02258 inline  void  GLPolygonStipple( const GLubyte *mask )
02259 {
02260   glPolygonStipple( mask );
02261   ASSERT_GL_NO_ERROR;
02262 }
02263
02265
02266 inline  void  GLPopAttrib( void )
02267 {
02268   glPopAttrib();
02269   ASSERT_GL_NO_ERROR;
02270 }
02271
02273
02274 inline  void  GLPopClientAttrib( void )
02275 {
02276   glPopClientAttrib();
02277   ASSERT_GL_NO_ERROR;
02278 }
02279
02281
02282 inline  void  GLPopMatrix( void )
02283 {
02284   glPopMatrix();
02285   ASSERT_GL_NO_ERROR;
02286 }
02287
02289
02290 inline  void  GLPopName( void )
02291 {
02292   glPopName();
02293   ASSERT_GL_NO_ERROR;
02294 }
02295
02297
02298 inline  void  GLPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities )
02299 {
02300   glPrioritizeTextures( n, textures, priorities );
02301   ASSERT_GL_NO_ERROR;
02302 }
02303
02305
02306 inline  void  GLProgramNamedParameter4f( GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
02307 {
02308   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glProgramNamedParameter4fNV );
02309   glContext->m_glFunctions->glProgramNamedParameter4fNV( id, len, name, x, y, z, w );
02310   ASSERT_GL_NO_ERROR;
02311 }
02312
02314
02315 inline  void  GLPushAttrib( GLbitfield mask )
02316 {
02317   glPushAttrib( mask );
02318   ASSERT_GL_NO_ERROR;
02319 }
02320
02322
02323 inline  void  GLPushClientAttrib( GLbitfield mask )
02324 {
02325   glPushClientAttrib( mask );
02326   ASSERT_GL_NO_ERROR;
02327 }
02328
02330
02331 inline  void  GLPushMatrix( void )
02332 {
02333   glPushMatrix();
02334   ASSERT_GL_NO_ERROR;
02335 }
02336
02338
02339 inline  void  GLPushName( GLuint name )
02340 {
02341   glPushName( name );
02342   ASSERT_GL_NO_ERROR;
02343 }
02344
02346
02347 inline  void  GLRasterPos2d( GLdouble x, GLdouble y )
02348 {
02349   glRasterPos2d( x, y );
02350   ASSERT_GL_NO_ERROR;
02351 }
02352
02354
02355 inline  void  GLRasterPos2f( GLfloat x, GLfloat y )
02356 {
02357   glRasterPos2f( x, y );
02358   ASSERT_GL_NO_ERROR;
02359 }
02360
02362
02363 inline  void  GLRasterPos2i( GLint x, GLint y )
02364 {
02365   glRasterPos2i( x, y );
02366   ASSERT_GL_NO_ERROR;
02367 }
02368
02370
02371 inline  void  GLRasterPos2s( GLshort x, GLshort y )
02372 {
02373   glRasterPos2s( x, y );
02374   ASSERT_GL_NO_ERROR;
02375 }
02376
02378
02379 inline  void  GLRasterPos3d( GLdouble x, GLdouble y, GLdouble z )
02380 {
02381   glRasterPos3d( x, y, z );
02382   ASSERT_GL_NO_ERROR;
02383 }
02384
02386
02387 inline  void  GLRasterPos3f( GLfloat x, GLfloat y, GLfloat z )
02388 {
02389   glRasterPos3f( x, y, z );
02390   ASSERT_GL_NO_ERROR;
02391 }
02392
02394
02395 inline  void  GLRasterPos3i( GLint x, GLint y, GLint z )
02396 {
02397   glRasterPos3i( x, y, z );
02398   ASSERT_GL_NO_ERROR;
02399 }
02400
02402
02403 inline  void  GLRasterPos3s( GLshort x, GLshort y, GLshort z )
02404 {
02405   glRasterPos3s( x, y, z );
02406   ASSERT_GL_NO_ERROR;
02407 }
02408
02410
02411 inline  void  GLRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
02412 {
02413   glRasterPos4d( x, y, z, w );
02414   ASSERT_GL_NO_ERROR;
02415 }
02416
02418
02419 inline  void  GLRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
02420 {
02421   glRasterPos4f( x, y, z, w );
02422   ASSERT_GL_NO_ERROR;
02423 }
02424
02426
02427 inline  void  GLRasterPos4i( GLint x, GLint y, GLint z, GLint w )
02428 {
02429   glRasterPos4i( x, y, z, w );
02430   ASSERT_GL_NO_ERROR;
02431 }
02432
02434
02435 inline  void  GLRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w )
02436 {
02437   glRasterPos4s( x, y, z, w );
02438   ASSERT_GL_NO_ERROR;
02439 }
02440
02442
02443 inline  void  GLReadBuffer( GLenum mode )
02444 {
02445   glReadBuffer( mode );
02446   ASSERT_GL_NO_ERROR;
02447 }
02448
02450
02451 inline  void  GLReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels )
02452 {
02453   glReadPixels( x, y, width, height, format, type, pixels );
02454   ASSERT_GL_NO_ERROR;
02455 }
02456
02458
02459 inline  void  GLRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 )
02460 {
02461   glRectd( x1, y1, x2, y2 );
02462   ASSERT_GL_NO_ERROR;
02463 }
02464
02466
02467 inline  void  GLRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
02468 {
02469   glRectf( x1, y1, x2, y2 );
02470   ASSERT_GL_NO_ERROR;
02471 }
02472
02474
02475 inline  void  GLRecti( GLint x1, GLint y1, GLint x2, GLint y2 )
02476 {
02477   glRecti( x1, y1, x2, y2 );
02478   ASSERT_GL_NO_ERROR;
02479 }
02480
02482
02483 inline  void  GLRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 )
02484 {
02485   glRects( x1, y1, x2, y2 );
02486   ASSERT_GL_NO_ERROR;
02487 }
02488
02490
02491 inline  void  GLRenderMode( GLenum mode )
02492 {
02493   glRenderMode( mode );
02494   ASSERT_GL_NO_ERROR;
02495 }
02496
02498
02499 inline  void  GLRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z )
02500 {
02501   glRotated( angle, x, y, z );
02502   ASSERT_GL_NO_ERROR;
02503 }
02504
02506
02507 inline  void  GLRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
02508 {
02509   glRotatef( angle, x, y, z );
02510   ASSERT_GL_NO_ERROR;
02511 }
02512
02514
02515 inline  void  GLScaled( GLdouble x, GLdouble y, GLdouble z )
02516 {
02517   glScaled( x, y, z );
02518   ASSERT_GL_NO_ERROR;
02519 }
02520
02522
02523 inline  void  GLScalef( GLfloat x, GLfloat y, GLfloat z )
02524 {
02525   glScalef( x, y, z );
02526   ASSERT_GL_NO_ERROR;
02527 }
02528
02530
02531 inline  void  GLScissor( GLint x, GLint y, GLsizei width, GLsizei height )
02532 {
02533   glScissor( x, y, width, height );
02534   ASSERT_GL_NO_ERROR;
02535 }
02536
02538
02539 inline  void  GLSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
02540 {
02541   glContext->m_glFunctions->glSecondaryColorPointer( size, type, stride, pointer );
02542   ASSERT_GL_NO_ERROR;
02543 }
02544
02546
02547 inline  void  GLSelectBuffer( GLsizei size, GLuint *buffer )
02548 {
02549   glSelectBuffer( size, buffer );
02550   ASSERT_GL_NO_ERROR;
02551 }
02552
02554
02555 inline  void  GLSetWindowStereoMode( GLboolean displayMode )
02556 {
02557   __ASSERT( glContext->m_glFunctions );
02558   if ( glContext->m_glFunctions->glSetWindowStereoModeNV )
02559   {
02560     glContext->m_glFunctions->glSetWindowStereoModeNV( displayMode );
02561     ASSERT_GL_NO_ERROR;
02562   }
02563 }
02564
02566
02567 inline  void  GLShadeModel( GLenum mode )
02568 {
02569   glShadeModel( mode );
02570   ASSERT_GL_NO_ERROR;
02571 }
02572
02574
02575 inline  void  GLStencilFunc( GLenum func, GLint ref, GLuint mask )
02576 {
02577   glStencilFunc( func, ref, mask );
02578   ASSERT_GL_NO_ERROR;
02579 }
02580
02582
02583 inline  void  GLStencilMask( GLuint mask )
02584 {
02585   glStencilMask( mask );
02586   ASSERT_GL_NO_ERROR;
02587 }
02588
02590
02591 inline  void  GLStencilOp( GLenum fail, GLenum zfail, GLenum zpass )
02592 {
02593   glStencilOp( fail, zfail, zpass );
02594   ASSERT_GL_NO_ERROR;
02595 }
02596
02598
02599 inline  void  GLTexCoord1d( GLdouble s )
02600 {
02601   glTexCoord1d( s );
02602   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02603 }
02604
02606
02607 inline  void  GLTexCoord1f( GLfloat s )
02608 {
02609   glTexCoord1f( s );
02610   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02611 }
02612
02614
02615 inline  void  GLTexCoord1i( GLint s )
02616 {
02617   glTexCoord1i( s );
02618   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02619 }
02620
02622
02623 inline  void  GLTexCoord1s( GLshort s )
02624 {
02625   glTexCoord1s( s );
02626   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02627 }
02628
02630
02631 inline  void  GLTexCoord2d( GLdouble s, GLdouble t )
02632 {
02633   glTexCoord2d( s, t );
02634   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02635 }
02636
02638
02639 inline  void  GLTexCoord2f( GLfloat s, GLfloat t )
02640 {
02641   glTexCoord2f( s, t );
02642   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02643 }
02644
02646
02647 inline  void  GLTexCoord2fv( const GLfloat *v )
02648 {
02649   glTexCoord2fv( v );
02650   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02651 }
02652
02654
02655 inline  void  GLTexCoord2i( GLint s, GLint t )
02656 {
02657   glTexCoord2i( s, t );
02658   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02659 }
02660
02662
02663 inline  void  GLTexCoord2s( GLshort s, GLshort t )
02664 {
02665   glTexCoord2s( s, t );
02666   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02667 }
02668
02670
02671 inline  void  GLTexCoord3d( GLdouble s, GLdouble t, GLdouble r )
02672 {
02673   glTexCoord3d( s, t, r );
02674   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02675 }
02676
02678
02679 inline  void  GLTexCoord3f( GLfloat s, GLfloat t, GLfloat r )
02680 {
02681   glTexCoord3f( s, t, r );
02682   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02683 }
02684
02686
02687 inline  void  GLTexCoord3i( GLint s, GLint t, GLint r )
02688 {
02689   glTexCoord3i( s, t, r );
02690   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02691 }
02692
02694
02695 inline  void  GLTexCoord3s( GLshort s, GLshort t, GLshort r )
02696 {
02697   glTexCoord3s( s, t, r );
02698   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02699 }
02700
02702
02703 inline  void  GLTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q )
02704 {
02705   glTexCoord4d( s, t, r, q );
02706   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02707 }
02708
02710
02711 inline  void  GLTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q )
02712 {
02713   glTexCoord4f( s, t, r, q );
02714   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02715 }
02716
02718
02719 inline  void  GLTexCoord4i( GLint s, GLint t, GLint r, GLint q )
02720 {
02721   glTexCoord4i( s, t, r, q );
02722   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02723 }
02724
02726
02727 inline  void  GLTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q )
02728 {
02729   glTexCoord4s( s, t, r, q );
02730   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02731 }
02732
02734
02735 inline  void  GLTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
02736 {
02737   glTexCoordPointer( size, type, stride, pointer );
02738   ASSERT_GL_NO_ERROR;
02739 }
02740
02742
02743 inline  void  GLTexEnvf( GLenum target, GLenum pname, GLfloat param )
02744 {
02745   glTexEnvf( target, pname, param );
02746   ASSERT_GL_NO_ERROR;
02747 }
02748
02750
02751 inline  void  GLTexEnvfv( GLenum target, GLenum pname, const GLfloat *params )
02752 {
02753   glTexEnvfv( target, pname, params );
02754   ASSERT_GL_NO_ERROR;
02755 }
02756
02758
02759 inline  void  GLTexEnvi( GLenum target, GLenum pname, GLint param )
02760 {
02761   glTexEnvi( target, pname, param );
02762   ASSERT_GL_NO_ERROR;
02763 }
02764
02766
02767 inline  void  GLTexEnviv( GLenum target, GLenum pname, const GLint *params )
02768 {
02769   glTexEnviv( target, pname, params );
02770   ASSERT_GL_NO_ERROR;
02771 }
02772
02774
02775 inline  void  GLTexGend( GLenum coord, GLenum pname, GLdouble param )
02776 {
02777   glTexGend( coord, pname, param );
02778   ASSERT_GL_NO_ERROR;
02779 }
02780
02782
02783 inline  void  GLTexGenf( GLenum coord, GLenum pname, GLfloat param )
02784 {
02785   glTexGenf( coord, pname, param );
02786   ASSERT_GL_NO_ERROR;
02787 }
02788
02790
02791 inline  void  GLTexGenfv( GLenum coord, GLenum pname, const GLfloat *param )
02792 {
02793   glTexGenfv( coord, pname, param );
02794   ASSERT_GL_NO_ERROR;
02795 }
02796
02798
02799 inline  void  GLTexGeni( GLenum coord, GLenum pname, GLint param )
02800 {
02801   glTexGeni( coord, pname, param );
02802   ASSERT_GL_NO_ERROR;
02803 }
02804
02806
02807 inline  void  GLTexImage1D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
02808 {
02809   glTexImage1D( target, level, internalformat, width, border, format, type, pixels );
02810   ASSERT_GL_NO_ERROR;
02811 }
02812
02814
02815 inline  void  GLTexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
02816 {
02817   glTexImage2D( target, level, internalformat, width, height, border, format, type, pixels );
02818   ASSERT_GL_NO_ERROR;
02819 }
02820
02822
02823 inline  void  GLTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void* pixels)
02824 {
02825   __ASSERT( glContext->m_glFunctions && glContext->m_glFunctions->glTexImage3D );
02826   glContext->m_glFunctions->glTexImage3D( target, level, internalformat, width, height, depth, border, format, type, pixels );
02827   ASSERT_GL_NO_ERROR;
02828 }
02829
02831
02832 inline  void  GLTexParameterf( GLenum target, GLenum pname, GLfloat param )
02833 {
02834   glTexParameterf( target, pname, param );
02835   ASSERT_GL_NO_ERROR;
02836 }
02837
02839
02840 inline  void  GLTexParameteri( GLenum target, GLenum pname, GLint param )
02841 {
02842   glTexParameteri( target, pname, param );
02843   ASSERT_GL_NO_ERROR;
02844 }
02845
02847
02848 inline  void  GLTexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
02849 {
02850   glTexParameterfv( target, pname, params );
02851   ASSERT_GL_NO_ERROR;
02852 }
02853
02855
02856 inline  void  GLTexParameteriv( GLenum target, GLenum pname, const GLint *params )
02857 {
02858   glTexParameteriv( target, pname, params );
02859   ASSERT_GL_NO_ERROR;
02860 }
02861
02863
02864 inline  void  GLTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels )
02865 {
02866   glTexSubImage1D( target, level, xoffset, width, format, type, pixels );
02867   ASSERT_GL_NO_ERROR;
02868 }
02869
02871
02872 inline  void  GLTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
02873 {
02874   glTexSubImage2D( target, level, xoffset, yoffset, width, height, format, type, pixels );
02875   ASSERT_GL_NO_ERROR;
02876 }
02877
02879
02880 inline  void  GLTranslated( GLdouble x, GLdouble y, GLdouble z )
02881 {
02882   glTranslated( x, y, z );
02883   ASSERT_GL_NO_ERROR;
02884 }
02885
02887
02888 inline  void  GLTranslatef( GLfloat x, GLfloat y, GLfloat z )
02889 {
02890   glTranslatef( x, y, z );
02891   ASSERT_GL_NO_ERROR;
02892 }
02893
02895
02896 inline  void  GLVertex2d( GLdouble x, GLdouble y )
02897 {
02898   glVertex2d( x, y );
02899   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02900 }
02901
02903
02904 inline  void  GLVertex2f( GLfloat x, GLfloat y )
02905 {
02906   glVertex2f( x, y );
02907   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02908 }
02909
02911
02912 inline  void  GLVertex2i( GLint x, GLint y )
02913 {
02914   glVertex2i( x, y );
02915   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02916 }
02917
02919
02920 inline  void  GLVertex2s( GLshort x, GLshort y )
02921 {
02922   glVertex2s( x, y );
02923   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02924 }
02925
02927
02928 inline  void  GLVertex3d( GLdouble x, GLdouble y, GLdouble z )
02929 {
02930   glVertex3d( x, y, z );
02931   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02932 }
02933
02935
02936 inline  void  GLVertex3f( GLfloat x, GLfloat y, GLfloat z )
02937 {
02938   glVertex3f( x, y, z );
02939   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02940 }
02941
02943
02944 inline  void  GLVertex3fv( const GLfloat *v )
02945 {
02946   glVertex3fv( v );
02947   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02948 }
02949
02951
02952 inline  void  GLVertex3i( GLint x, GLint y, GLint z )
02953 {
02954   glVertex3i( x, y, z );
02955   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02956 }
02957
02959
02960 inline  void  GLVertex3s( GLshort x, GLshort y, GLshort z )
02961 {
02962   glVertex3s( x, y, z );
02963   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02964 }
02965
02967
02968 inline  void  GLVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
02969 {
02970   glVertex4d( x, y, z, w );
02971   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02972 }
02973
02975
02976 inline  void  GLVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
02977 {
02978   glVertex4f( x, y, z, w );
02979   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02980 }
02981
02983
02984 inline  void  GLVertex4i( GLint x, GLint y, GLint z, GLint w )
02985 {
02986   glVertex4i( x, y, z, w );
02987   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02988 }
02989
02991
02992 inline  void  GLVertex4s( GLshort x, GLshort y, GLshort z, GLshort w )
02993 {
02994   glVertex4s( x, y, z, w );
02995   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02996 }
02997
02999
03000 inline  void  GLVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
03001 {
03002   glVertexPointer( size, type, stride, pointer );
03003   ASSERT_GL_NO_ERROR;
03004 }
03005
03007
03008 inline  void  GLViewport( GLint x, GLint y, GLsizei width, GLsizei height )
03009 {
03010   glViewport( x, y, width, height );
03011   ASSERT_GL_NO_ERROR;
03012 }
03013
03014 #if defined(_WIN32)
03015
03016
03017 inline  BOOL  WGLBindTexImage( HPBUFFERARB hPbuffer, int iBuffer )
03018 {
03019   __ASSERT( glContext->m_glFunctions->wglBindTexImageARB );
03020   return glContext->m_glFunctions->wglBindTexImageARB( hPbuffer, iBuffer );
03021 }
03022
03024
03025 inline  BOOL  WGLChoosePixelFormat( HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats )
03026 {
03027   __ASSERT( glContext->m_glFunctions->wglChoosePixelFormatARB );
03028   return glContext->m_glFunctions->wglChoosePixelFormatARB( hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats );
03029 }
03030
03032
03036 inline  HGLRC WGLCreateContext( HDC hdc )
03037 {
03038   HGLRC hglrc = wglCreateContext( hdc );
03039   WGLAttachContext(hdc, hglrc);
03040   return hglrc;
03041 }
03042
03043 inline void WGLAttachContext(HDC hdc, HGLRC hglrc)
03044 {
03045   __ASSERT(hdc);
03046   __ASSERT(hglrc);
03047   // there should be no entry for the new hglrc right now
03048   __ASSERT(hglrcContextMap.end()==hglrcContextMap.find(hglrc));
03049   hglrcContextMap.insert(std::make_pair(hglrc, new GLContext(hdc, hglrc)));
03050 }
03051
03052 inline void WGLDetachContext(HGLRC hglrc)
03053 {
03054   std::map<HGLRC, GLContext*>::iterator it = hglrcContextMap.find( hglrc );
03055   if ( it != hglrcContextMap.end() )
03056   {
03057     __ASSERT( it->second );
03058     if ( glContext == it->second )
03059     {
03060       glContext = NULL;
03061     }
03062     it->second->exit();
03063     delete it->second;
03064     hglrcContextMap.erase( it );
03065   }
03066 }
03067
03069
03072 inline  HPBUFFERARB WGLCreatePbuffer( HDC hdc, int pixelFormat, int width, int height, const int *attribList )
03073 {
03074   __ASSERT( wglGetCurrentContext() != NULL );
03075   __ASSERT( glContext->m_glFunctions->wglCreatePbufferARB );
03076   HPBUFFERARB hPbuffer = glContext->m_glFunctions->wglCreatePbufferARB( hdc, pixelFormat, width, height, attribList );
03077   return( hPbuffer );
03078 }
03079
03081
03085 inline  BOOL  WGLDeleteContext( HGLRC hglrc )
03086 {
03087   WGLDetachContext(hglrc);
03088   return wglDeleteContext(hglrc);
03089 }
03090
03092
03093 inline  BOOL  WGLDestroyPbuffer( HPBUFFERARB hPbuffer )
03094 {
03095   __ASSERT(glContext->m_glFunctions->wglDestroyPbufferARB);
03096   return glContext->m_glFunctions->wglDestroyPbufferARB( hPbuffer );
03097 }
03098
03100
03104 inline  HGLRC  WGLGetCurrentContext(void)
03105 {
03106   return wglGetCurrentContext();
03107 }
03108
03110
03115 inline  HDC  WGLGetCurrentDC(void)
03116 {
03117   return wglGetCurrentDC();
03118 }
03119
03121
03125 inline BOOL WGLMakeCurrent( HDC hdc, HGLRC hglrc )
03126 {
03127   BOOL success = FALSE;
03128
03129   if ( hglrc )
03130   {
03131     // lookup the context
03132     std::map<HGLRC, GLContext*>::iterator it = hglrcContextMap.find(hglrc);
03133     if ( it!=hglrcContextMap.end() )
03134     {
03135       if ( glContext == (*it).second )
03136       { // already current
03137         // should have been properly initialized if we get here!
03138         __ASSERT(glContext->m_glFunctions);
03139         success = TRUE; // suceeded
03140       }
03141       else
03142       {
03143         success =  (hglrc==wglGetCurrentContext()) // bypassed?
03144                    // only necessary if not yet current
03145                    || wglMakeCurrent(hdc, hglrc);
03146
03147         if ( success )
03148         {
03149           glContext = (*it).second;
03150           if ( !glContext->m_glFunctions )
03151           { // was not initialized before
03152             glContext->init();
03153           }
03154         }
03155       }
03156     }
03157     else
03158     { // ERROR: hglrc was not attached yet
03159       __ASSERT(!"ERROR: hglrc was not attached yet!");
03160
03161       // Note: It is an error to call WGLMakeCurrent on a context hglrc!=NULL that has not been attached yet
03162       // either by a call to WGLCreateContext or WGLAttachContext. Hence, make the current context no longer
03163       // current (this is the same behaviour as with the original wglMakeCurrent).
03164       wglMakeCurrent(hdc, NULL);
03165       glContext = NULL;
03166     }
03167   }
03168   else
03169   { // make the calling thread's current rendering context no longer current
03170     success = wglMakeCurrent(hdc, NULL);
03171     if ( success )
03172     { // hglrc was NULL, so the pointer to our context object should
03173       glContext = NULL;
03174     }
03175   }
03176
03177   return success;
03178 }
03179
03181
03182 inline  HDC WGLGetPbufferDC( HPBUFFERARB hPbuffer )
03183 {
03184   __ASSERT( glContext->m_glFunctions->wglGetPbufferDCARB );
03185   return glContext->m_glFunctions->wglGetPbufferDCARB( hPbuffer );
03186 }
03187
03189
03190 inline  BOOL  WGLQueryPbuffer( HPBUFFERARB hPbuffer, int attribute, int *value )
03191 {
03192   __ASSERT( glContext->m_glFunctions->wglQueryPbufferARB );
03193   return glContext->m_glFunctions->wglQueryPbufferARB( hPbuffer, attribute, value );
03194 }
03195
03197
03198 inline  int WGLReleasePbufferDC( HPBUFFERARB hPbuffer, HDC hdc )
03199 {
03200   __ASSERT( glContext->m_glFunctions->wglReleasePbufferDCARB );
03201   int i = glContext->m_glFunctions->wglReleasePbufferDCARB( hPbuffer, hdc );
03202   __ASSERT( i == 1 );
03203   return( i );
03204 }
03205
03207
03208 inline  BOOL  WGLReleaseTexImage( HPBUFFERARB hPbuffer, int iBuffer )
03209 {
03210   __ASSERT( glContext->m_glFunctions->wglReleaseTexImageARB );
03211   return glContext->m_glFunctions->wglReleaseTexImageARB( hPbuffer, iBuffer );
03212 }
03213
03215
03216 inline  BOOL  WGLShareLists( HGLRC hglrc1, HGLRC hglrc2 )
03217 {
03218   if ( hglrc1 == hglrc2 )
03219   { // do nothing in case of identical contexts
03220     return TRUE;
03221   }
03222
03223   std::map<HGLRC, GLContext*>::iterator it1 = hglrcContextMap.find(hglrc1);
03224   if ( it1 != hglrcContextMap.end() )
03225   {
03226     std::map<HGLRC, GLContext*>::iterator it2 = hglrcContextMap.find(hglrc2);
03227     if ( it2 != hglrcContextMap.end() )
03228     {
03229       (*it2).second->share(*(*it1).second);
03230     }
03231 #ifdef _DEBUG
03232     else
03233     { // hglrc probably was created by bypassing the WGLCreateContext routine
03234       __ASSERT(!"hglrc2 probably was created by bypassing the WGLCreateContext routine!");
03235     }
03236 #endif
03237   }
03238 #ifdef _DEBUG
03239   else
03240   { // hglrc probably was created by bypassing the WGLCreateContext routine
03241     __ASSERT(!"hglrc1 probably was created by bypassing the WGLCreateContext routine!");
03242   }
03243 #endif
03244
03245   return wglShareLists( hglrc1, hglrc2 );
03246 }
03247
03249 inline BOOL WGLJoinSwapGroupNV(HDC hDC, GLuint group)
03250 {
03251   return glContext->m_glFunctions->wglJoinSwapGroupNV(hDC, group);
03252 }
03253
03255 inline BOOL WGLBindSwapBarrierNV(GLuint group, GLuint barrier)
03256 {
03257   return glContext->m_glFunctions->wglBindSwapBarrierNV(group, barrier);
03258 }
03259
03261 inline BOOL WGLQuerySwapGroupNV(HDC hDC, GLuint * group, GLuint * barrier)
03262 {
03263   return glContext->m_glFunctions->wglQuerySwapGroupNV(hDC, group, barrier);
03264 }
03265
03267 inline BOOL WGLQueryMaxSwapGroupsNV(HDC hDC, GLuint * maxGroups, GLuint * maxBarriers)
03268 {
03269   return glContext->m_glFunctions->wglQueryMaxSwapGroupsNV(hDC, maxGroups, maxBarriers);
03270 }
03271
03273 inline BOOL WGLQueryFrameCountNV(HDC hDC, GLuint * count)
03274 {
03275   return glContext->m_glFunctions->wglQueryFrameCountNV(hDC, count);
03276 }
03277
03279 inline BOOL WGLResetFrameCountNV(HDC hDC)
03280 {
03281   return glContext->m_glFunctions->wglResetFrameCountNV(hDC);
03282 }
03283
03284 #elif defined(LINUX)
03285
03286 inline GLXContext GLXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct)
03287 {
03288   GLXContext ctx = glXCreateContext(dpy, vis, shareList, direct);
03289   GLXAttachContext(dpy, ctx);
03290   return ctx;
03291 }
03292
03294 inline void GLXDestroyContext(Display *dpy, GLXContext ctx)
03295 {
03296   GLXDetachContext(ctx);
03297   return glXDestroyContext(dpy, ctx);
03298 }
03299
03300 inline void GLXAttachContext(Display * dpy, GLXContext ctx)
03301 {
03302   __ASSERT(dpy);
03303   __ASSERT(ctx);
03304   // there should be no entry for the new hglrc right now
03305   __ASSERT(hglrcContextMap.end()==hglrcContextMap.find(ctx));
03306   hglrcContextMap.insert(std::make_pair(ctx, new GLContext(dpy, ctx)));
03307 }
03308
03309 inline void GLXDetachContext(GLXContext ctx)
03310 {
03311   std::map<GLXContext, GLContext*>::iterator it = hglrcContextMap.find(ctx);
03312   if ( it != hglrcContextMap.end() )
03313   {
03314     __ASSERT((*it).second);
03315     (*it).second->exit();
03316     delete (*it).second;
03317     hglrcContextMap.erase(it);
03318   }
03319 }
03320
03322 inline GLXContext GLXGetCurrentContext()
03323 {
03324   return glXGetCurrentContext();
03325 }
03326
03328 inline GLXDrawable GLXGetCurrentDrawable()
03329 {
03330   return glXGetCurrentDrawable();
03331 }
03332
03334 inline Bool GLXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)
03335 {
03336   Bool success = False;
03337
03338   if ( ctx )
03339   {
03340     // lookup the context
03341     std::map<GLXContext, GLContext*>::iterator it = hglrcContextMap.find(ctx);
03342     if ( it!=hglrcContextMap.end() )
03343     {
03344       if ( glContext == (*it).second )
03345       { // already current
03346         // should have been properly initialized if we get here!
03347         __ASSERT(glContext->m_glFunctions);
03348         success = True; // suceeded
03349       }
03350       else
03351       {
03352         success =  (ctx==GLXGetCurrentContext()) // bypassed?
03353                    // only necessary if not yet current
03354                    || glXMakeCurrent(dpy, drawable, ctx);
03355
03356         if ( success )
03357         {
03358           glContext = (*it).second;
03359           if ( !glContext->m_glFunctions )
03360           { // was not initialized before
03361             glContext->init(drawable);
03362           }
03363         }
03364       }
03365     }
03366     else
03367     { // ERROR: ctx was not attached yet
03368       __ASSERT(!"ERROR: ctx was not attached yet!");
03369
03370       // Note: It is an error to call GLXMakeCurrent on a context ctx!=NULL that has not been attached yet
03371       // either by a call to GLXCreateContext or GLXAttachContext. Hence, make the current context no longer
03372       // current (this is the same behaviour as with the original glxMakeCurrent).
03373       glXMakeCurrent(dpy, None, NULL);
03374       glContext = NULL;
03375     }
03376   }
03377   else
03378   { // make the calling thread's current rendering context no longer current
03379     success = glXMakeCurrent(dpy, None, NULL);
03380     if ( success )
03381     { // hglrc was NULL, so the pointer to our context object should
03382       glContext = NULL;
03383     }
03384   }
03385
03386   return success;
03387 }
03388
03389 #endif // LINUX
03390
03391 } // namespace nvgl
Generated on Fri Jan 28 09:17:46 2005 for NVSGSDK by NVIDIA


glext.h Source File

glext.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 /*
00015 ** Copyright 1998-2002, NVIDIA Corporation.
00016 ** All Rights Reserved.
00017 **
00018 ** THE INFORMATION CONTAINED HEREIN IS PROPRIETARY AND CONFIDENTIAL TO
00019 ** NVIDIA, CORPORATION.  USE, REPRODUCTION OR DISCLOSURE TO ANY THIRD PARTY
00020 ** IS SUBJECT TO WRITTEN PRE-APPROVAL BY NVIDIA, CORPORATION.
00021 **
00022 **
00023 ** Copyright 1992-1999, Silicon Graphics, Inc.
00024 ** All Rights Reserved.
00025 **
00026 ** Portions of this file are UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon
00027 ** Graphics, Inc.; the contents of this file may not be disclosed to third
00028 ** parties, copied or duplicated in any form, in whole or in part, without
00029 ** the prior written permission of Silicon Graphics, Inc.
00030 **
00031 ** RESTRICTED RIGHTS LEGEND:
00032 ** Use, duplication or disclosure by the Government is subject to
00033 ** restrictions as set forth in subdivision (c)(1)(ii) of the Rights in
00034 ** Technical Data and Computer Software clause at DFARS 252.227-7013,
00035 ** and/or in similar or successor clauses in the FAR, DOD or NASA FAR
00036 ** Supplement.  Unpublished - rights reserved under the Copyright Laws of
00037 ** the United States.
00038 */
00039
00040 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
00041 #define WIN32_LEAN_AND_MEAN 1
00042 #include <windows.h>
00043 #endif
00044
00045 #ifndef APIENTRY
00046 #define APIENTRY
00047 #endif
00048 #ifndef GLAPI
00049 # ifdef _WIN32
00050 #  define GLAPI __stdcall
00051 # else
00052 #  define GLAPI
00053 # endif
00054 #endif
00055
00056 /*************************************************************/
00057
00058 typedef unsigned short GLhalf;
00059 typedef unsigned int GLhandleARB;
00060 typedef char GLcharARB;
00061
00062 #if defined(_WIN64)
00063     typedef __int64 GLintptrARB;
00064     typedef __int64 GLsizeiptrARB;
00065     typedef __int64 GLintptr;
00066     typedef __int64 GLsizeiptr;
00067 #elif defined(__ia64__) || defined(__x86_64__)
00068     typedef long int GLintptrARB;
00069     typedef long int GLsizeiptrARB;
00070     typedef long int GLintptr;
00071     typedef long int GLsizeiptr;
00072 #else
00073     typedef int GLintptrARB;
00074     typedef int GLsizeiptrARB;
00075     typedef int GLintptr;
00076     typedef int GLsizeiptr;
00077 #endif
00078
00079 /* Version */
00080 #define GL_VERSION_1_2                    1
00081 #define GL_VERSION_1_3                    1
00082 #define GL_VERSION_1_4                    1
00083 #define GL_VERSION_1_5                    1
00084
00085 /* Extensions */
00086 #define GL_ARB_depth_texture              1
00087 #define GL_ARB_fragment_program           1
00088 #define GL_ARB_imaging                    1
00089 #define GL_ARB_multisample                1
00090 #define GL_ARB_multitexture               1
00091 #define GL_ARB_occlusion_query            1
00092 #define GL_ARB_point_parameters           1
00093 #define GL_ARB_point_sprite               1
00094 #define GL_ARB_shader_objects             1
00095 #define GL_ARB_shadow                     1
00096 #define GL_ARB_shadow_ambient             1
00097 #define GL_ARB_texture_border_clamp       1
00098 #define GL_ARB_texture_compression        1
00099 #define GL_ARB_texture_cube_map           1
00100 #define GL_ARB_texture_env_add            1
00101 #define GL_ARB_texture_env_combine        1
00102 #define GL_ARB_texture_env_dot3           1
00103 #define GL_ARB_texture_mirrored_repeat    1
00104 #define GL_ARB_transpose_matrix           1
00105 #define GL_ARB_vertex_array_set_object    1
00106 #define GL_ARB_vertex_buffer_object       1
00107 #define GL_ARB_vertex_program             1
00108 #define GL_ARB_vertex_shader              1
00109 #define GL_ARB_window_pos                 1
00110 #define GL_ATI_draw_buffers               1
00111 #define GL_ATI_texture_mirror_once        1
00112 #define GL_Autodesk_valid_back_buffer_hint 1
00113 #define GL_EXT_abgr                       1
00114 #define GL_EXT_bgra                       1
00115 #define GL_EXT_blend_color                1
00116 #define GL_EXT_blend_equation_separate    1
00117 #define GL_EXT_blend_func_separate        1
00118 #define GL_EXT_blend_minmax               1
00119 #define GL_EXT_blend_subtract             1
00120 #define GL_EXT_clip_volume_hint           1
00121 #define GL_EXT_compiled_vertex_array      1
00122 #define GL_EXT_color_table                1
00123 #define GL_EXT_depth_bounds_test          1
00124 #define GL_EXT_draw_range_elements        1
00125 #define GL_EXT_fog_coord                  1
00126 #define GL_EXT_framebuffer_object         1
00127 #define GL_EXT_multi_draw_arrays          1
00128 #define GL_EXT_packed_pixels              1
00129 #define GL_EXT_paletted_texture           1
00130 #define GL_EXT_point_parameters           1
00131 #define GL_EXT_rescale_normal             1
00132 #define GL_EXT_secondary_color            1
00133 #define GL_EXT_separate_specular_color    1
00134 #define GL_EXT_shadow_funcs               1
00135 #define GL_EXT_shared_texture_palette     1
00136 #define GL_EXT_stencil_wrap               1
00137 #define GL_EXT_stencil_two_side           1
00138 #define GL_EXT_texture3D                  1
00139 #define GL_EXT_texture_compression_s3tc   1
00140 #define GL_EXT_texture_cube_map           1
00141 #define GL_EXT_texture_edge_clamp         1
00142 #define GL_EXT_texture_env_add            1
00143 #define GL_EXT_texture_env_combine        1
00144 #define GL_EXT_texture_env_dot3           1
00145 #define GL_EXT_texture_filter_anisotropic 1
00146 #define GL_EXT_texture_mirror_clamp       1
00147 #define GL_EXT_texture_object             1
00148 #define GL_EXT_texture_lod_bias           1
00149 #define GL_EXT_vertex_array               1
00150 #define GL_HP_occlusion_test              1
00151 #define GL_IBM_rasterpos_clip             1
00152 #define GL_IBM_texture_mirrored_repeat    1
00153 #define GL_NV_blend_square                1
00154 #define GL_NV_copy_depth_to_color         1
00155 #define GL_NV_depth_clamp                 1
00156 #define GL_NV_draw_mesh                   1
00157 #define GL_NV_extended_combiner_program   1
00158 #define GL_NV_fence                       1
00159 #define GL_NV_float_buffer                1
00160 #define GL_NV_fog_distance                1
00161 #define GL_NV_fragment_program            1
00162 #define GL_NV_fragment_program2           1
00163 #define GL_NV_half_float                  1
00164 #define GL_NV_light_max_exponent          1
00165 #define GL_NV_mac_get_proc_address        1
00166 #define GL_NV_multisample_filter_hint     1
00167 #define GL_NV_occlusion_query             1
00168 #define GL_NV_packed_depth_stencil        1
00169 #define GL_NV_pixel_data_range            1
00170 #define GL_NV_point_sprite                1
00171 #define GL_NV_primitive_restart           1
00172 #define GL_NV_register_combiners          1
00173 #define GL_NV_register_combiners2         1
00174 #define GL_NV_set_window_stereomode       1
00175 #define GL_NV_texgen_reflection           1
00176 #define GL_NV_texture_compression_vtc     1
00177 #define GL_NV_texture_env_combine4        1
00178 #define GL_NV_texture_expand_normal       1
00179 #define GL_NV_texture_rectangle           1
00180 #define GL_NV_texture_shader              1
00181 #define GL_NV_texture_shader2             1
00182 #define GL_NV_texture_shader3             1
00183 #define GL_NV_vertex_array_range          1
00184 #define GL_NV_vertex_array_range2         1
00185 #define GL_NV_vertex_buffer_object        1
00186 #define GL_NV_vertex_program              1
00187 #define GL_NV_vertex_program1_1           1
00188 #define GL_NV_vertex_program2             1
00189 #define GL_NV_vertex_program3             1
00190 #define GL_NVX_conditional_render 1
00191 #define GL_NVX_ycrcb                      1
00192 #define GL_S3_s3tc                        1
00193 #define GL_SGIS_generate_mipmap           1
00194 #define GL_SGIS_multitexture              1
00195 #define GL_SGIS_texture_lod               1
00196 #define GL_SGIX_depth_texture             1
00197 #define GL_SGIX_shadow                    1
00198 #define GL_SUN_slice_accum                1
00199 #define GL_APPLE_transform_hint           1
00200 #define GL_WIN_swap_hint                  1
00201
00202 #ifdef GL_VERSION_1_2
00203 #ifdef GL_GLEXT_PROTOTYPES
00204 void GLAPI glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
00205 void GLAPI glBlendEquation (GLenum mode);
00206 void GLAPI glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
00207 void GLAPI glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
00208 void GLAPI glColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params);
00209 void GLAPI glColorTableParameteriv (GLenum target, GLenum pname, const GLint *params);
00210 void GLAPI glCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
00211 void GLAPI glGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table);
00212 void GLAPI glGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params);
00213 void GLAPI glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params);
00214 void GLAPI glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
00215 void GLAPI glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
00216 void GLAPI glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
00217 #endif /* GL_GLEXT_PROTOTYPES */
00218 typedef void (GLAPI * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
00219 typedef void (GLAPI * PFNGLBLENDEQUATIONPROC) (GLenum mode);
00220 typedef void (GLAPI * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
00221 typedef void (GLAPI * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
00222 typedef void (GLAPI * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
00223 typedef void (GLAPI * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
00224 typedef void (GLAPI * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
00225 typedef void (GLAPI * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
00226 typedef void (GLAPI * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
00227 typedef void (GLAPI * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
00228 typedef void (GLAPI * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
00229 typedef void (GLAPI * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
00230 typedef void (GLAPI * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
00231 #endif
00232
00233
00234 #ifdef GL_ARB_imaging
00235 #ifdef GL_GLEXT_PROTOTYPES
00236 void GLAPI glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
00237 void GLAPI glCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
00238 void GLAPI glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
00239 void GLAPI glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
00240 void GLAPI glConvolutionParameterf (GLenum target, GLenum pname, GLfloat params);
00241 void GLAPI glConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params);
00242 void GLAPI glConvolutionParameteri (GLenum target, GLenum pname, GLint params);
00243 void GLAPI glConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params);
00244 void GLAPI glCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
00245 void GLAPI glCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
00246 void GLAPI glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image);
00247 void GLAPI glGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params);
00248 void GLAPI glGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params);
00249 void GLAPI glGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
00250 void GLAPI glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
00251 void GLAPI glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
00252 void GLAPI glGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params);
00253 void GLAPI glGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params);
00254 void GLAPI glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
00255 void GLAPI glGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params);
00256 void GLAPI glGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params);
00257 void GLAPI glHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
00258 void GLAPI glMinmax (GLenum target, GLenum internalformat, GLboolean sink);
00259 void GLAPI glResetHistogram (GLenum target);
00260 void GLAPI glResetMinmax (GLenum target);
00261 #endif /* GL_GLEXT_PROTOTYPES */
00262 typedef void (GLAPI * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
00263 typedef void (GLAPI * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
00264 typedef void (GLAPI * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
00265 typedef void (GLAPI * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
00266 typedef void (GLAPI * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
00267 typedef void (GLAPI * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
00268 typedef void (GLAPI * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
00269 typedef void (GLAPI * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
00270 typedef void (GLAPI * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
00271 typedef void (GLAPI * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
00272 typedef void (GLAPI * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
00273 typedef void (GLAPI * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
00274 typedef void (GLAPI * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
00275 typedef void (GLAPI * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
00276 typedef void (GLAPI * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
00277 typedef void (GLAPI * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
00278 typedef void (GLAPI * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
00279 typedef void (GLAPI * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
00280 typedef void (GLAPI * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
00281 typedef void (GLAPI * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
00282 typedef void (GLAPI * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
00283 typedef void (GLAPI * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
00284 typedef void (GLAPI * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
00285 typedef void (GLAPI * PFNGLRESETHISTOGRAMPROC) (GLenum target);
00286 typedef void (GLAPI * PFNGLRESETMINMAXPROC) (GLenum target);
00287 #endif
00288
00289
00290 #ifdef GL_VERSION_1_3
00291 #ifdef GL_GLEXT_PROTOTYPES
00292 void GLAPI glActiveTexture (GLenum texture);
00293 void GLAPI glClientActiveTexture (GLenum texture);
00294 void GLAPI glMultiTexCoord1d (GLenum target, GLdouble s);
00295 void GLAPI glMultiTexCoord1dv (GLenum target, const GLdouble *v);
00296 void GLAPI glMultiTexCoord1f (GLenum target, GLfloat s);
00297 void GLAPI glMultiTexCoord1fv (GLenum target, const GLfloat *v);
00298 void GLAPI glMultiTexCoord1i (GLenum target, GLint s);
00299 void GLAPI glMultiTexCoord1iv (GLenum target, const GLint *v);
00300 void GLAPI glMultiTexCoord1s (GLenum target, GLshort s);
00301 void GLAPI glMultiTexCoord1sv (GLenum target, const GLshort *v);
00302 void GLAPI glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t);
00303 void GLAPI glMultiTexCoord2dv (GLenum target, const GLdouble *v);
00304 void GLAPI glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t);
00305 void GLAPI glMultiTexCoord2fv (GLenum target, const GLfloat *v);
00306 void GLAPI glMultiTexCoord2i (GLenum target, GLint s, GLint t);
00307 void GLAPI glMultiTexCoord2iv (GLenum target, const GLint *v);
00308 void GLAPI glMultiTexCoord2s (GLenum target, GLshort s, GLshort t);
00309 void GLAPI glMultiTexCoord2sv (GLenum target, const GLshort *v);
00310 void GLAPI glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00311 void GLAPI glMultiTexCoord3dv (GLenum target, const GLdouble *v);
00312 void GLAPI glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00313 void GLAPI glMultiTexCoord3fv (GLenum target, const GLfloat *v);
00314 void GLAPI glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r);
00315 void GLAPI glMultiTexCoord3iv (GLenum target, const GLint *v);
00316 void GLAPI glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r);
00317 void GLAPI glMultiTexCoord3sv (GLenum target, const GLshort *v);
00318 void GLAPI glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00319 void GLAPI glMultiTexCoord4dv (GLenum target, const GLdouble *v);
00320 void GLAPI glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00321 void GLAPI glMultiTexCoord4fv (GLenum target, const GLfloat *v);
00322 void GLAPI glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q);
00323 void GLAPI glMultiTexCoord4iv (GLenum target, const GLint *v);
00324 void GLAPI glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00325 void GLAPI glMultiTexCoord4sv (GLenum target, const GLshort *v);
00326 void GLAPI glLoadTransposeMatrixf (const GLfloat *m);
00327 void GLAPI glLoadTransposeMatrixd (const GLdouble *m);
00328 void GLAPI glMultTransposeMatrixf (const GLfloat *m);
00329 void GLAPI glMultTransposeMatrixd (const GLdouble *m);
00330 void GLAPI glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
00331 void GLAPI glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
00332 void GLAPI glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
00333 void GLAPI glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
00334 void GLAPI glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
00335 void GLAPI glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
00336 void GLAPI glGetCompressedTexImage (GLenum target, GLint lod, GLvoid *img);
00337 void GLAPI glSampleCoverage (GLclampf value, GLboolean invert);
00338 #endif /* GL_GLEXT_PROTOTYPES */
00339 typedef void (GLAPI * PFNGLACTIVETEXTUREPROC) (GLenum texture);
00340 typedef void (GLAPI * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
00341 typedef void (GLAPI * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
00342 typedef void (GLAPI * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
00343 typedef void (GLAPI * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
00344 typedef void (GLAPI * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
00345 typedef void (GLAPI * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
00346 typedef void (GLAPI * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
00347 typedef void (GLAPI * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
00348 typedef void (GLAPI * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
00349 typedef void (GLAPI * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
00350 typedef void (GLAPI * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
00351 typedef void (GLAPI * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
00352 typedef void (GLAPI * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
00353 typedef void (GLAPI * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
00354 typedef void (GLAPI * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
00355 typedef void (GLAPI * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
00356 typedef void (GLAPI * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
00357 typedef void (GLAPI * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00358 typedef void (GLAPI * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
00359 typedef void (GLAPI * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00360 typedef void (GLAPI * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
00361 typedef void (GLAPI * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
00362 typedef void (GLAPI * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
00363 typedef void (GLAPI * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
00364 typedef void (GLAPI * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
00365 typedef void (GLAPI * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00366 typedef void (GLAPI * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
00367 typedef void (GLAPI * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00368 typedef void (GLAPI * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
00369 typedef void (GLAPI * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
00370 typedef void (GLAPI * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
00371 typedef void (GLAPI * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00372 typedef void (GLAPI * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
00373 typedef void (GLAPI * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
00374 typedef void (GLAPI * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
00375 typedef void (GLAPI * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
00376 typedef void (GLAPI * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
00377 typedef void (GLAPI * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
00378 typedef void (GLAPI * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
00379 typedef void (GLAPI * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
00380 typedef void (GLAPI * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
00381 typedef void (GLAPI * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
00382 typedef void (GLAPI * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
00383 typedef void (GLAPI * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLvoid *img);
00384 typedef void (GLAPI * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
00385 #endif
00386
00387
00388 #ifdef GL_VERSION_1_4
00389 #ifdef GL_GLEXT_PROTOTYPES
00390 void GLAPI glPointParameterf (GLenum pname, GLfloat param);
00391 void GLAPI glPointParameterfv (GLenum pname, const GLfloat *params);
00392 void GLAPI glPointParameteri (GLenum pname, GLint param);
00393 void GLAPI glPointParameteriv (GLenum pname, const GLint *params);
00394 void GLAPI glWindowPos2d (GLdouble x, GLdouble y);
00395 void GLAPI glWindowPos2f (GLfloat x, GLfloat y);
00396 void GLAPI glWindowPos2i (GLint x, GLint y);
00397 void GLAPI glWindowPos2s (GLshort x, GLshort y);
00398 void GLAPI glWindowPos2dv (const GLdouble *p);
00399 void GLAPI glWindowPos2fv (const GLfloat *p);
00400 void GLAPI glWindowPos2iv (const GLint *p);
00401 void GLAPI glWindowPos2sv (const GLshort *p);
00402 void GLAPI glWindowPos3d (GLdouble x, GLdouble y, GLdouble z);
00403 void GLAPI glWindowPos3f (GLfloat x, GLfloat y, GLfloat z);
00404 void GLAPI glWindowPos3i (GLint x, GLint y, GLint z);
00405 void GLAPI glWindowPos3s (GLshort x, GLshort y, GLshort z);
00406 void GLAPI glWindowPos3dv (const GLdouble *p);
00407 void GLAPI glWindowPos3fv (const GLfloat *p);
00408 void GLAPI glWindowPos3iv (const GLint *p);
00409 void GLAPI glWindowPos3sv (const GLshort *p);
00410 void GLAPI glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
00411 void GLAPI glFogCoordd (GLdouble fog);
00412 void GLAPI glFogCoorddv (const GLdouble *fog);
00413 void GLAPI glFogCoordf (GLfloat fog);
00414 void GLAPI glFogCoordfv (const GLfloat *fog);
00415 void GLAPI glFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
00416 void GLAPI glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
00417 void GLAPI glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
00418 void GLAPI glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue);
00419 void GLAPI glSecondaryColor3bv (const GLbyte *v);
00420 void GLAPI glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue);
00421 void GLAPI glSecondaryColor3dv (const GLdouble *v);
00422 void GLAPI glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue);
00423 void GLAPI glSecondaryColor3fv (const GLfloat *v);
00424 void GLAPI glSecondaryColor3i (GLint red, GLint green, GLint blue);
00425 void GLAPI glSecondaryColor3iv (const GLint *v);
00426 void GLAPI glSecondaryColor3s (GLshort red, GLshort green, GLshort blue);
00427 void GLAPI glSecondaryColor3sv (const GLshort *v);
00428 void GLAPI glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue);
00429 void GLAPI glSecondaryColor3ubv (const GLubyte *v);
00430 void GLAPI glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue);
00431 void GLAPI glSecondaryColor3uiv (const GLuint *v);
00432 void GLAPI glSecondaryColor3us (GLushort red, GLushort green, GLushort blue);
00433 void GLAPI glSecondaryColor3usv (const GLushort *v);
00434 void GLAPI glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
00435 #endif /* GL_GLEXT_PROTOTYPES */
00436 typedef void (GLAPI * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
00437 typedef void (GLAPI * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
00438 typedef void (GLAPI * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
00439 typedef void (GLAPI * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
00440 typedef void (GLAPI * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
00441 typedef void (GLAPI * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
00442 typedef void (GLAPI * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
00443 typedef void (GLAPI * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
00444 typedef void (GLAPI * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p);
00445 typedef void (GLAPI * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p);
00446 typedef void (GLAPI * PFNGLWINDOWPOS2IVPROC) (const GLint *p);
00447 typedef void (GLAPI * PFNGLWINDOWPOS2SVPROC) (const GLshort *p);
00448 typedef void (GLAPI * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
00449 typedef void (GLAPI * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
00450 typedef void (GLAPI * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
00451 typedef void (GLAPI * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
00452 typedef void (GLAPI * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p);
00453 typedef void (GLAPI * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p);
00454 typedef void (GLAPI * PFNGLWINDOWPOS3IVPROC) (const GLint *p);
00455 typedef void (GLAPI * PFNGLWINDOWPOS3SVPROC) (const GLshort *p);
00456 typedef void (GLAPI * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
00457 typedef void (GLAPI * PFNGLFOGCOORDDPROC) (GLdouble fog);
00458 typedef void (GLAPI * PFNGLFOGCOORDDVPROC) (const GLdouble *fog);
00459 typedef void (GLAPI * PFNGLFOGCOORDFPROC) (GLfloat fog);
00460 typedef void (GLAPI * PFNGLFOGCOORDFVPROC) (const GLfloat *fog);
00461 typedef void (GLAPI * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
00462 typedef void (GLAPI * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
00463 typedef void (GLAPI * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
00464 typedef void (GLAPI * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
00465 typedef void (GLAPI * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
00466 typedef void (GLAPI * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
00467 typedef void (GLAPI * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
00468 typedef void (GLAPI * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
00469 typedef void (GLAPI * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
00470 typedef void (GLAPI * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
00471 typedef void (GLAPI * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
00472 typedef void (GLAPI * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
00473 typedef void (GLAPI * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
00474 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
00475 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
00476 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
00477 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
00478 typedef void (GLAPI * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
00479 typedef void (GLAPI * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
00480 typedef void (GLAPI * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
00481 #endif
00482
00483
00484 #ifdef GL_EXT_vertex_array
00485 #ifdef GL_GLEXT_PROTOTYPES
00486 void GLAPI glArrayElementEXT (GLint i);
00487 void GLAPI glColorPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00488 void GLAPI glEdgeFlagPointerEXT (GLsizei stride, GLsizei count, const GLboolean *pointer);
00489 void GLAPI glGetPointervEXT (GLenum pname, GLvoid* *params);
00490 void GLAPI glIndexPointerEXT (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00491 void GLAPI glNormalPointerEXT (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00492 void GLAPI glTexCoordPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00493 void GLAPI glVertexPointerEXT (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00494 void GLAPI glDrawArraysEXT (GLenum mode, GLint first, GLsizei count);
00495 #endif /* GL_GLEXT_PROTOTYPES */
00496 typedef void (GLAPI * PFNGLARRAYELEMENTEXTPROC) (GLint i);
00497 typedef void (GLAPI * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00498 typedef void (GLAPI * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
00499 typedef void (GLAPI * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
00500 typedef void (GLAPI * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00501 typedef void (GLAPI * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00502 typedef void (GLAPI * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00503 typedef void (GLAPI * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
00504 typedef void (GLAPI * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
00505 #endif
00506
00507
00508 #ifdef GL_EXT_texture_object
00509 #ifdef GL_GLEXT_PROTOTYPES
00510 GLboolean GLAPI glAreTexturesResidentEXT (GLsizei n, const GLuint *textures, GLboolean *residences);
00511 void GLAPI glBindTextureEXT (GLenum target, GLuint texture);
00512 void GLAPI glDeleteTexturesEXT (GLsizei n, const GLuint *textures);
00513 void GLAPI glGenTexturesEXT (GLsizei n, GLuint *textures);
00514 GLboolean GLAPI glIsTextureEXT (GLuint texture);
00515 void GLAPI glPrioritizeTexturesEXT (GLsizei n, const GLuint *textures, const GLclampf *priorities);
00516 #endif /* GL_GLEXT_PROTOTYPES */
00517 typedef GLboolean (GLAPI * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
00518 typedef void (GLAPI * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
00519 typedef void (GLAPI * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
00520 typedef void (GLAPI * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
00521 typedef GLboolean (GLAPI * PFNGLISTEXTUREEXTPROC) (GLuint texture);
00522 typedef void (GLAPI * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
00523 #endif
00524
00525
00526 #ifdef GL_EXT_compiled_vertex_array
00527 #ifdef GL_GLEXT_PROTOTYPES
00528 void GLAPI glLockArraysEXT (GLint first, GLsizei count);
00529 void GLAPI glUnlockArraysEXT (void);
00530 #endif /* GL_GLEXT_PROTOTYPES */
00531 typedef void (GLAPI * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
00532 typedef void (GLAPI * PFNGLUNLOCKARRAYSEXTPROC) (void);
00533 #endif
00534
00535
00536 #ifdef GL_ARB_multitexture
00537 #ifdef GL_GLEXT_PROTOTYPES
00538 void GLAPI glActiveTextureARB (GLenum texture);
00539 void GLAPI glClientActiveTextureARB (GLenum texture);
00540 void GLAPI glMultiTexCoord1dARB (GLenum target, GLdouble s);
00541 void GLAPI glMultiTexCoord1dvARB (GLenum target, const GLdouble *v);
00542 void GLAPI glMultiTexCoord1fARB (GLenum target, GLfloat s);
00543 void GLAPI glMultiTexCoord1fvARB (GLenum target, const GLfloat *v);
00544 void GLAPI glMultiTexCoord1iARB (GLenum target, GLint s);
00545 void GLAPI glMultiTexCoord1ivARB (GLenum target, const GLint *v);
00546 void GLAPI glMultiTexCoord1sARB (GLenum target, GLshort s);
00547 void GLAPI glMultiTexCoord1svARB (GLenum target, const GLshort *v);
00548 void GLAPI glMultiTexCoord2dARB (GLenum target, GLdouble s, GLdouble t);
00549 void GLAPI glMultiTexCoord2dvARB (GLenum target, const GLdouble *v);
00550 void GLAPI glMultiTexCoord2fARB (GLenum target, GLfloat s, GLfloat t);
00551 void GLAPI glMultiTexCoord2fvARB (GLenum target, const GLfloat *v);
00552 void GLAPI glMultiTexCoord2iARB (GLenum target, GLint s, GLint t);
00553 void GLAPI glMultiTexCoord2ivARB (GLenum target, const GLint *v);
00554 void GLAPI glMultiTexCoord2sARB (GLenum target, GLshort s, GLshort t);
00555 void GLAPI glMultiTexCoord2svARB (GLenum target, const GLshort *v);
00556 void GLAPI glMultiTexCoord3dARB (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00557 void GLAPI glMultiTexCoord3dvARB (GLenum target, const GLdouble *v);
00558 void GLAPI glMultiTexCoord3fARB (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00559 void GLAPI glMultiTexCoord3fvARB (GLenum target, const GLfloat *v);
00560 void GLAPI glMultiTexCoord3iARB (GLenum target, GLint s, GLint t, GLint r);
00561 void GLAPI glMultiTexCoord3ivARB (GLenum target, const GLint *v);
00562 void GLAPI glMultiTexCoord3sARB (GLenum target, GLshort s, GLshort t, GLshort r);
00563 void GLAPI glMultiTexCoord3svARB (GLenum target, const GLshort *v);
00564 void GLAPI glMultiTexCoord4dARB (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00565 void GLAPI glMultiTexCoord4dvARB (GLenum target, const GLdouble *v);
00566 void GLAPI glMultiTexCoord4fARB (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00567 void GLAPI glMultiTexCoord4fvARB (GLenum target, const GLfloat *v);
00568 void GLAPI glMultiTexCoord4iARB (GLenum target, GLint s, GLint t, GLint r, GLint q);
00569 void GLAPI glMultiTexCoord4ivARB (GLenum target, const GLint *v);
00570 void GLAPI glMultiTexCoord4sARB (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00571 void GLAPI glMultiTexCoord4svARB (GLenum target, const GLshort *v);
00572 #endif /* GL_GLEXT_PROTOTYPES */
00573 typedef void (GLAPI * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
00574 typedef void (GLAPI * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
00575 typedef void (GLAPI * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
00576 typedef void (GLAPI * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
00577 typedef void (GLAPI * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
00578 typedef void (GLAPI * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
00579 typedef void (GLAPI * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
00580 typedef void (GLAPI * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
00581 typedef void (GLAPI * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
00582 typedef void (GLAPI * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
00583 typedef void (GLAPI * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
00584 typedef void (GLAPI * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
00585 typedef void (GLAPI * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
00586 typedef void (GLAPI * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
00587 typedef void (GLAPI * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
00588 typedef void (GLAPI * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
00589 typedef void (GLAPI * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
00590 typedef void (GLAPI * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
00591 typedef void (GLAPI * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00592 typedef void (GLAPI * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
00593 typedef void (GLAPI * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00594 typedef void (GLAPI * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
00595 typedef void (GLAPI * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
00596 typedef void (GLAPI * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
00597 typedef void (GLAPI * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
00598 typedef void (GLAPI * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
00599 typedef void (GLAPI * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00600 typedef void (GLAPI * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
00601 typedef void (GLAPI * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00602 typedef void (GLAPI * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
00603 typedef void (GLAPI * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
00604 typedef void (GLAPI * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
00605 typedef void (GLAPI * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00606 typedef void (GLAPI * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
00607 #endif
00608
00609
00610 #ifdef GL_ARB_window_pos
00611 #ifdef GL_GLEXT_PROTOTYPES
00612 void GLAPI glWindowPos2dARB (GLdouble x, GLdouble y);
00613 void GLAPI glWindowPos2fARB (GLfloat x, GLfloat y);
00614 void GLAPI glWindowPos2iARB (GLint x, GLint y);
00615 void GLAPI glWindowPos2sARB (GLshort x, GLshort y);
00616 void GLAPI glWindowPos2dvARB (const GLdouble *p);
00617 void GLAPI glWindowPos2fvARB (const GLfloat *p);
00618 void GLAPI glWindowPos2ivARB (const GLint *p);
00619 void GLAPI glWindowPos2svARB (const GLshort *p);
00620 void GLAPI glWindowPos3dARB (GLdouble x, GLdouble y, GLdouble z);
00621 void GLAPI glWindowPos3fARB (GLfloat x, GLfloat y, GLfloat z);
00622 void GLAPI glWindowPos3iARB (GLint x, GLint y, GLint z);
00623 void GLAPI glWindowPos3sARB (GLshort x, GLshort y, GLshort z);
00624 void GLAPI glWindowPos3dvARB (const GLdouble *p);
00625 void GLAPI glWindowPos3fvARB (const GLfloat *p);
00626 void GLAPI glWindowPos3ivARB (const GLint *p);
00627 void GLAPI glWindowPos3svARB (const GLshort *p);
00628 #endif /* GL_GLEXT_PROTOTYPES */
00629 typedef void (GLAPI * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
00630 typedef void (GLAPI * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
00631 typedef void (GLAPI * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
00632 typedef void (GLAPI * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
00633 typedef void (GLAPI * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *p);
00634 typedef void (GLAPI * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *p);
00635 typedef void (GLAPI * PFNGLWINDOWPOS2IVARBPROC) (const GLint *p);
00636 typedef void (GLAPI * PFNGLWINDOWPOS2SVARBPROC) (const GLshort *p);
00637 typedef void (GLAPI * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
00638 typedef void (GLAPI * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
00639 typedef void (GLAPI * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
00640 typedef void (GLAPI * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
00641 typedef void (GLAPI * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *p);
00642 typedef void (GLAPI * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *p);
00643 typedef void (GLAPI * PFNGLWINDOWPOS3IVARBPROC) (const GLint *p);
00644 typedef void (GLAPI * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *p);
00645 #endif
00646
00647
00648 #ifdef GL_EXT_texture3D
00649 #ifdef GL_GLEXT_PROTOTYPES
00650 void GLAPI glTexImage3DEXT (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
00651 void GLAPI glTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
00652 void GLAPI glCopyTexSubImage3DEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
00653 #endif /* GL_GLEXT_PROTOTYPES */
00654 typedef void (GLAPI * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
00655 typedef void (GLAPI * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
00656 typedef void (GLAPI * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
00657 #endif
00658
00659
00660 #ifdef GL_EXT_blend_color
00661 #ifdef GL_GLEXT_PROTOTYPES
00662 void GLAPI glBlendColorEXT (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
00663 #endif /* GL_GLEXT_PROTOTYPES */
00664 typedef void (GLAPI * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
00665 #endif
00666
00667
00668 #ifdef GL_EXT_blend_minmax
00669 #ifdef GL_GLEXT_PROTOTYPES
00670 void GLAPI glBlendEquationEXT (GLenum mode);
00671 #endif /* GL_GLEXT_PROTOTYPES */
00672 typedef void (GLAPI * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
00673 #endif
00674
00675
00676 #ifdef GL_EXT_point_parameters
00677 #ifdef GL_GLEXT_PROTOTYPES
00678 void GLAPI glPointParameterfEXT (GLenum pname, GLfloat param);
00679 void GLAPI glPointParameterfvEXT (GLenum pname, const GLfloat *params);
00680 #endif /* GL_GLEXT_PROTOTYPES */
00681 typedef void (GLAPI * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
00682 typedef void (GLAPI * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
00683 #endif
00684
00685
00686 #ifdef GL_EXT_paletted_texture
00687 #ifdef GL_GLEXT_PROTOTYPES
00688 void GLAPI glColorSubTableEXT (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
00689 void GLAPI glColorTableEXT (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
00690 void GLAPI glGetColorTableEXT (GLenum target, GLenum format, GLenum type, GLvoid *table);
00691 void GLAPI glGetColorTableParameterfvEXT (GLenum target, GLenum pname, GLfloat *params);
00692 void GLAPI glGetColorTableParameterivEXT (GLenum target, GLenum pname, GLint *params);
00693 #endif /* GL_GLEXT_PROTOTYPES */
00694 typedef void (GLAPI * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table);
00695 typedef void (GLAPI * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
00696 typedef void (GLAPI * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
00697 typedef void (GLAPI * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
00698 typedef void (GLAPI * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
00699 #endif
00700
00701
00702 #ifdef GL_WIN_swap_hint
00703 #ifdef GL_GLEXT_PROTOTYPES
00704 void GLAPI glAddSwapHintRectWIN (GLint x, GLint y, GLsizei width, GLsizei height);
00705 #endif /* GL_GLEXT_PROTOTYPES */
00706 typedef void (GLAPI * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
00707 #endif
00708
00709
00710 #ifdef GL_SGIS_multitexture
00711 #ifdef GL_GLEXT_PROTOTYPES
00712 void GLAPI glMultiTexCoord1dSGIS (GLenum target, GLdouble s);
00713 void GLAPI glMultiTexCoord1dvSGIS (GLenum target, const GLdouble *v);
00714 void GLAPI glMultiTexCoord1fSGIS (GLenum target, GLfloat s);
00715 void GLAPI glMultiTexCoord1fvSGIS (GLenum target, const GLfloat *v);
00716 void GLAPI glMultiTexCoord1iSGIS (GLenum target, GLint s);
00717 void GLAPI glMultiTexCoord1ivSGIS (GLenum target, const GLint *v);
00718 void GLAPI glMultiTexCoord1sSGIS (GLenum target, GLshort s);
00719 void GLAPI glMultiTexCoord1svSGIS (GLenum target, const GLshort *v);
00720 void GLAPI glMultiTexCoord2dSGIS (GLenum target, GLdouble s, GLdouble t);
00721 void GLAPI glMultiTexCoord2dvSGIS (GLenum target, const GLdouble *v);
00722 void GLAPI glMultiTexCoord2fSGIS (GLenum target, GLfloat s, GLfloat t);
00723 void GLAPI glMultiTexCoord2fvSGIS (GLenum target, const GLfloat *v);
00724 void GLAPI glMultiTexCoord2iSGIS (GLenum target, GLint s, GLint t);
00725 void GLAPI glMultiTexCoord2ivSGIS (GLenum target, const GLint *v);
00726 void GLAPI glMultiTexCoord2sSGIS (GLenum target, GLshort s, GLshort t);
00727 void GLAPI glMultiTexCoord2svSGIS (GLenum target, const GLshort *v);
00728 void GLAPI glMultiTexCoord3dSGIS (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00729 void GLAPI glMultiTexCoord3dvSGIS (GLenum target, const GLdouble *v);
00730 void GLAPI glMultiTexCoord3fSGIS (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00731 void GLAPI glMultiTexCoord3fvSGIS (GLenum target, const GLfloat *v);
00732 void GLAPI glMultiTexCoord3iSGIS (GLenum target, GLint s, GLint t, GLint r);
00733 void GLAPI glMultiTexCoord3ivSGIS (GLenum target, const GLint *v);
00734 void GLAPI glMultiTexCoord3sSGIS (GLenum target, GLshort s, GLshort t, GLshort r);
00735 void GLAPI glMultiTexCoord3svSGIS (GLenum target, const GLshort *v);
00736 void GLAPI glMultiTexCoord4dSGIS (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00737 void GLAPI glMultiTexCoord4dvSGIS (GLenum target, const GLdouble *v);
00738 void GLAPI glMultiTexCoord4fSGIS (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00739 void GLAPI glMultiTexCoord4fvSGIS (GLenum target, const GLfloat *v);
00740 void GLAPI glMultiTexCoord4iSGIS (GLenum target, GLint s, GLint t, GLint r, GLint q);
00741 void GLAPI glMultiTexCoord4ivSGIS (GLenum target, const GLint *v);
00742 void GLAPI glMultiTexCoord4sSGIS (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00743 void GLAPI glMultiTexCoord4svSGIS (GLenum target, const GLshort *v);
00744 void GLAPI glMultiTexCoordPointerSGIS (GLenum target, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
00745 void GLAPI glSelectTextureSGIS (GLenum target);
00746 void GLAPI glSelectTextureCoordSetSGIS (GLenum target);
00747 #endif /* GL_GLEXT_PROTOTYPES */
00748 typedef void (GLAPI * PFNGLMULTITEXCOORD1DSGISPROC) (GLenum target, GLdouble s);
00749 typedef void (GLAPI * PFNGLMULTITEXCOORD1DVSGISPROC) (GLenum target, const GLdouble *v);
00750 typedef void (GLAPI * PFNGLMULTITEXCOORD1FSGISPROC) (GLenum target, GLfloat s);
00751 typedef void (GLAPI * PFNGLMULTITEXCOORD1FVSGISPROC) (GLenum target, const GLfloat *v);
00752 typedef void (GLAPI * PFNGLMULTITEXCOORD1ISGISPROC) (GLenum target, GLint s);
00753 typedef void (GLAPI * PFNGLMULTITEXCOORD1IVSGISPROC) (GLenum target, const GLint *v);
00754 typedef void (GLAPI * PFNGLMULTITEXCOORD1SSGISPROC) (GLenum target, GLshort s);
00755 typedef void (GLAPI * PFNGLMULTITEXCOORD1SVSGISPROC) (GLenum target, const GLshort *v);
00756 typedef void (GLAPI * PFNGLMULTITEXCOORD2DSGISPROC) (GLenum target, GLdouble s, GLdouble t);
00757 typedef void (GLAPI * PFNGLMULTITEXCOORD2DVSGISPROC) (GLenum target, const GLdouble *v);
00758 typedef void (GLAPI * PFNGLMULTITEXCOORD2FSGISPROC) (GLenum target, GLfloat s, GLfloat t);
00759 typedef void (GLAPI * PFNGLMULTITEXCOORD2FVSGISPROC) (GLenum target, const GLfloat *v);
00760 typedef void (GLAPI * PFNGLMULTITEXCOORD2ISGISPROC) (GLenum target, GLint s, GLint t);
00761 typedef void (GLAPI * PFNGLMULTITEXCOORD2IVSGISPROC) (GLenum target, const GLint *v);
00762 typedef void (GLAPI * PFNGLMULTITEXCOORD2SSGISPROC) (GLenum target, GLshort s, GLshort t);
00763 typedef void (GLAPI * PFNGLMULTITEXCOORD2SVSGISPROC) (GLenum target, const GLshort *v);
00764 typedef void (GLAPI * PFNGLMULTITEXCOORD3DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
00765 typedef void (GLAPI * PFNGLMULTITEXCOORD3DVSGISPROC) (GLenum target, const GLdouble *v);
00766 typedef void (GLAPI * PFNGLMULTITEXCOORD3FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
00767 typedef void (GLAPI * PFNGLMULTITEXCOORD3FVSGISPROC) (GLenum target, const GLfloat *v);
00768 typedef void (GLAPI * PFNGLMULTITEXCOORD3ISGISPROC) (GLenum target, GLint s, GLint t, GLint r);
00769 typedef void (GLAPI * PFNGLMULTITEXCOORD3IVSGISPROC) (GLenum target, const GLint *v);
00770 typedef void (GLAPI * PFNGLMULTITEXCOORD3SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
00771 typedef void (GLAPI * PFNGLMULTITEXCOORD3SVSGISPROC) (GLenum target, const GLshort *v);
00772 typedef void (GLAPI * PFNGLMULTITEXCOORD4DSGISPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
00773 typedef void (GLAPI * PFNGLMULTITEXCOORD4DVSGISPROC) (GLenum target, const GLdouble *v);
00774 typedef void (GLAPI * PFNGLMULTITEXCOORD4FSGISPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
00775 typedef void (GLAPI * PFNGLMULTITEXCOORD4FVSGISPROC) (GLenum target, const GLfloat *v);
00776 typedef void (GLAPI * PFNGLMULTITEXCOORD4ISGISPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
00777 typedef void (GLAPI * PFNGLMULTITEXCOORD4IVSGISPROC) (GLenum target, const GLint *v);
00778 typedef void (GLAPI * PFNGLMULTITEXCOORD4SSGISPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
00779 typedef void (GLAPI * PFNGLMULTITEXCOORD4SVSGISPROC) (GLenum target, const GLshort *v);
00780 typedef void (GLAPI * PFNGLMULTITEXCOORDPOINTERSGISPROC) (GLenum target, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
00781 typedef void (GLAPI * PFNGLSELECTTEXTURESGISPROC) (GLenum target);
00782 typedef void (GLAPI * PFNGLSELECTTEXTURECOORDSETSGISPROC) (GLenum target);
00783 #endif
00784
00785
00786 #ifdef GL_EXT_fog_coord
00787 #ifdef GL_GLEXT_PROTOTYPES
00788 void GLAPI glFogCoorddEXT (GLdouble fog);
00789 void GLAPI glFogCoorddvEXT (const GLdouble *fog);
00790 void GLAPI glFogCoordfEXT (GLfloat fog);
00791 void GLAPI glFogCoordfvEXT (const GLfloat *fog);
00792 void GLAPI glFogCoordPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer);
00793 #endif /* GL_GLEXT_PROTOTYPES */
00794 typedef void (GLAPI * PFNGLFOGCOORDDEXTPROC) (GLdouble fog);
00795 typedef void (GLAPI * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *fog);
00796 typedef void (GLAPI * PFNGLFOGCOORDFEXTPROC) (GLfloat fog);
00797 typedef void (GLAPI * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *fog);
00798 typedef void (GLAPI * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
00799 #endif
00800
00801
00802 #ifdef GL_EXT_secondary_color
00803 #ifdef GL_GLEXT_PROTOTYPES
00804 void GLAPI glSecondaryColor3bEXT (GLbyte red, GLbyte green, GLbyte blue);
00805 void GLAPI glSecondaryColor3bvEXT (const GLbyte *v);
00806 void GLAPI glSecondaryColor3dEXT (GLdouble red, GLdouble green, GLdouble blue);
00807 void GLAPI glSecondaryColor3dvEXT (const GLdouble *v);
00808 void GLAPI glSecondaryColor3fEXT (GLfloat red, GLfloat green, GLfloat blue);
00809 void GLAPI glSecondaryColor3fvEXT (const GLfloat *v);
00810 void GLAPI glSecondaryColor3iEXT (GLint red, GLint green, GLint blue);
00811 void GLAPI glSecondaryColor3ivEXT (const GLint *v);
00812 void GLAPI glSecondaryColor3sEXT (GLshort red, GLshort green, GLshort blue);
00813 void GLAPI glSecondaryColor3svEXT (const GLshort *v);
00814 void GLAPI glSecondaryColor3ubEXT (GLubyte red, GLubyte green, GLubyte blue);
00815 void GLAPI glSecondaryColor3ubvEXT (const GLubyte *v);
00816 void GLAPI glSecondaryColor3uiEXT (GLuint red, GLuint green, GLuint blue);
00817 void GLAPI glSecondaryColor3uivEXT (const GLuint *v);
00818 void GLAPI glSecondaryColor3usEXT (GLushort red, GLushort green, GLushort blue);
00819 void GLAPI glSecondaryColor3usvEXT (const GLushort *v);
00820 void GLAPI glSecondaryColorPointerEXT (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
00821 #endif /* GL_GLEXT_PROTOTYPES */
00822 typedef void (GLAPI * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
00823 typedef void (GLAPI * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
00824 typedef void (GLAPI * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
00825 typedef void (GLAPI * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
00826 typedef void (GLAPI * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
00827 typedef void (GLAPI * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
00828 typedef void (GLAPI * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
00829 typedef void (GLAPI * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
00830 typedef void (GLAPI * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
00831 typedef void (GLAPI * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
00832 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
00833 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
00834 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
00835 typedef void (GLAPI * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
00836 typedef void (GLAPI * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
00837 typedef void (GLAPI * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
00838 typedef void (GLAPI * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
00839 #endif
00840
00841
00842 #ifdef GL_NV_vertex_array_range
00843 #ifdef GL_GLEXT_PROTOTYPES
00844 void GLAPI glFlushVertexArrayRangeNV (void);
00845 void GLAPI glVertexArrayRangeNV (GLsizei size, const GLvoid *pointer);
00846 #endif /* GL_GLEXT_PROTOTYPES */
00847 typedef void (GLAPI * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
00848 typedef void (GLAPI * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei size, const GLvoid *pointer);
00849 #endif
00850
00851
00852 #ifdef GL_NV_register_combiners
00853 #ifdef GL_GLEXT_PROTOTYPES
00854 void GLAPI glCombinerParameterfvNV (GLenum pname, const GLfloat *params);
00855 void GLAPI glCombinerParameterfNV (GLenum pname, GLfloat param);
00856 void GLAPI glCombinerParameterivNV (GLenum pname, const GLint *params);
00857 void GLAPI glCombinerParameteriNV (GLenum pname, GLint param);
00858 void GLAPI glCombinerInputNV (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
00859 void GLAPI glCombinerOutputNV (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
00860 void GLAPI glFinalCombinerInputNV (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
00861 void GLAPI glGetCombinerInputParameterfvNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
00862 void GLAPI glGetCombinerInputParameterivNV (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
00863 void GLAPI glGetCombinerOutputParameterfvNV (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
00864 void GLAPI glGetCombinerOutputParameterivNV (GLenum stage, GLenum portion, GLenum pname, GLint *params);
00865 void GLAPI glGetFinalCombinerInputParameterfvNV (GLenum variable, GLenum pname, GLfloat *params);
00866 void GLAPI glGetFinalCombinerInputParameterivNV (GLenum variable, GLenum pname, GLint *params);
00867 #endif /* GL_GLEXT_PROTOTYPES */
00868 typedef void (GLAPI * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
00869 typedef void (GLAPI * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
00870 typedef void (GLAPI * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
00871 typedef void (GLAPI * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
00872 typedef void (GLAPI * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
00873 typedef void (GLAPI * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
00874 typedef void (GLAPI * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
00875 typedef void (GLAPI * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
00876 typedef void (GLAPI * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
00877 typedef void (GLAPI * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
00878 typedef void (GLAPI * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
00879 typedef void (GLAPI * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
00880 typedef void (GLAPI * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
00881 #endif
00882
00883
00884 #ifdef GL_ARB_transpose_matrix
00885 #ifdef GL_GLEXT_PROTOTYPES
00886 void GLAPI glLoadTransposeMatrixfARB (const GLfloat *m);
00887 void GLAPI glLoadTransposeMatrixdARB (const GLdouble *m);
00888 void GLAPI glMultTransposeMatrixfARB (const GLfloat *m);
00889 void GLAPI glMultTransposeMatrixdARB (const GLdouble *m);
00890 #endif /* GL_GLEXT_PROTOTYPES */
00891 typedef void (GLAPI * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
00892 typedef void (GLAPI * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
00893 typedef void (GLAPI * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
00894 typedef void (GLAPI * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
00895 #endif
00896
00897
00898 #ifdef GL_ARB_texture_compression
00899 #ifdef GL_GLEXT_PROTOTYPES
00900 void GLAPI glCompressedTexImage3DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
00901 void GLAPI glCompressedTexImage2DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
00902 void GLAPI glCompressedTexImage1DARB (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
00903 void GLAPI glCompressedTexSubImage3DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
00904 void GLAPI glCompressedTexSubImage2DARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
00905 void GLAPI glCompressedTexSubImage1DARB (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
00906 void GLAPI glGetCompressedTexImageARB (GLenum target, GLint lod, GLvoid *img);
00907 #endif /* GL_GLEXT_PROTOTYPES */
00908 typedef void (GLAPI * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
00909 typedef void (GLAPI * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
00910 typedef void (GLAPI * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
00911 typedef void (GLAPI * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
00912 typedef void (GLAPI * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
00913 typedef void (GLAPI * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
00914 typedef void (GLAPI * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLvoid *img);
00915 #endif
00916
00917
00918 #ifdef GL_NV_vertex_program
00919 #ifdef GL_GLEXT_PROTOTYPES
00920 GLboolean GLAPI glAreProgramsResidentNV (GLsizei n, const GLuint *programs, GLboolean *residences);
00921 void GLAPI glBindProgramNV (GLenum target, GLuint id);
00922 void GLAPI glDeleteProgramsNV (GLsizei n, const GLuint *programs);
00923 void GLAPI glExecuteProgramNV (GLenum target, GLuint id, const GLfloat *params);
00924 void GLAPI glGenProgramsNV (GLsizei n, GLuint *programs);
00925 void GLAPI glGetProgramParameterdvNV (GLenum target, GLuint index, GLenum pname, GLdouble *params);
00926 void GLAPI glGetProgramParameterfvNV (GLenum target, GLuint index, GLenum pname, GLfloat *params);
00927 void GLAPI glGetProgramivNV (GLuint id, GLenum pname, GLint *params);
00928 void GLAPI glGetProgramStringNV (GLuint id, GLenum pname, GLubyte *program);
00929 void GLAPI glGetTrackMatrixivNV (GLenum target, GLuint address, GLenum pname, GLint *params);
00930 void GLAPI glGetVertexAttribdvNV (GLuint index, GLenum pname, GLdouble *params);
00931 void GLAPI glGetVertexAttribfvNV (GLuint index, GLenum pname, GLfloat *params);
00932 void GLAPI glGetVertexAttribivNV (GLuint index, GLenum pname, GLint *params);
00933 void GLAPI glGetVertexAttribPointervNV (GLuint index, GLenum pname, GLvoid* *pointer);
00934 GLboolean GLAPI glIsProgramNV (GLuint id);
00935 void GLAPI glLoadProgramNV (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
00936 void GLAPI glProgramParameter4dNV (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00937 void GLAPI glProgramParameter4dvNV (GLenum target, GLuint index, const GLdouble *v);
00938 void GLAPI glProgramParameter4fNV (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00939 void GLAPI glProgramParameter4fvNV (GLenum target, GLuint index, const GLfloat *v);
00940 void GLAPI glProgramParameters4dvNV (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
00941 void GLAPI glProgramParameters4fvNV (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
00942 void GLAPI glRequestResidentProgramsNV (GLsizei n, const GLuint *programs);
00943 void GLAPI glTrackMatrixNV (GLenum target, GLuint address, GLenum matrix, GLenum transform);
00944 void GLAPI glVertexAttribPointerNV (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
00945 void GLAPI glVertexAttrib1dNV (GLuint index, GLdouble x);
00946 void GLAPI glVertexAttrib1dvNV (GLuint index, const GLdouble *v);
00947 void GLAPI glVertexAttrib1fNV (GLuint index, GLfloat x);
00948 void GLAPI glVertexAttrib1fvNV (GLuint index, const GLfloat *v);
00949 void GLAPI glVertexAttrib1sNV (GLuint index, GLshort x);
00950 void GLAPI glVertexAttrib1svNV (GLuint index, const GLshort *v);
00951 void GLAPI glVertexAttrib2dNV (GLuint index, GLdouble x, GLdouble y);
00952 void GLAPI glVertexAttrib2dvNV (GLuint index, const GLdouble *v);
00953 void GLAPI glVertexAttrib2fNV (GLuint index, GLfloat x, GLfloat y);
00954 void GLAPI glVertexAttrib2fvNV (GLuint index, const GLfloat *v);
00955 void GLAPI glVertexAttrib2sNV (GLuint index, GLshort x, GLshort y);
00956 void GLAPI glVertexAttrib2svNV (GLuint index, const GLshort *v);
00957 void GLAPI glVertexAttrib3dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z);
00958 void GLAPI glVertexAttrib3dvNV (GLuint index, const GLdouble *v);
00959 void GLAPI glVertexAttrib3fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z);
00960 void GLAPI glVertexAttrib3fvNV (GLuint index, const GLfloat *v);
00961 void GLAPI glVertexAttrib3sNV (GLuint index, GLshort x, GLshort y, GLshort z);
00962 void GLAPI glVertexAttrib3svNV (GLuint index, const GLshort *v);
00963 void GLAPI glVertexAttrib4dNV (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00964 void GLAPI glVertexAttrib4dvNV (GLuint index, const GLdouble *v);
00965 void GLAPI glVertexAttrib4fNV (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00966 void GLAPI glVertexAttrib4fvNV (GLuint index, const GLfloat *v);
00967 void GLAPI glVertexAttrib4sNV (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
00968 void GLAPI glVertexAttrib4svNV (GLuint index, const GLshort *v);
00969 void GLAPI glVertexAttrib4ubNV (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
00970 void GLAPI glVertexAttrib4ubvNV (GLuint index, const GLubyte *v);
00971 void GLAPI glVertexAttribs1dvNV (GLuint index, GLsizei count, const GLdouble *v);
00972 void GLAPI glVertexAttribs1fvNV (GLuint index, GLsizei count, const GLfloat *v);
00973 void GLAPI glVertexAttribs1svNV (GLuint index, GLsizei count, const GLshort *v);
00974 void GLAPI glVertexAttribs2dvNV (GLuint index, GLsizei count, const GLdouble *v);
00975 void GLAPI glVertexAttribs2fvNV (GLuint index, GLsizei count, const GLfloat *v);
00976 void GLAPI glVertexAttribs2svNV (GLuint index, GLsizei count, const GLshort *v);
00977 void GLAPI glVertexAttribs3dvNV (GLuint index, GLsizei count, const GLdouble *v);
00978 void GLAPI glVertexAttribs3fvNV (GLuint index, GLsizei count, const GLfloat *v);
00979 void GLAPI glVertexAttribs3svNV (GLuint index, GLsizei count, const GLshort *v);
00980 void GLAPI glVertexAttribs4dvNV (GLuint index, GLsizei count, const GLdouble *v);
00981 void GLAPI glVertexAttribs4fvNV (GLuint index, GLsizei count, const GLfloat *v);
00982 void GLAPI glVertexAttribs4svNV (GLuint index, GLsizei count, const GLshort *v);
00983 void GLAPI glVertexAttribs4ubvNV (GLuint index, GLsizei count, const GLubyte *v);
00984 #endif /* GL_GLEXT_PROTOTYPES */
00985 typedef GLboolean (GLAPI * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
00986 typedef void (GLAPI * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
00987 typedef void (GLAPI * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
00988 typedef void (GLAPI * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
00989 typedef void (GLAPI * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
00990 typedef void (GLAPI * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
00991 typedef void (GLAPI * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
00992 typedef void (GLAPI * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
00993 typedef void (GLAPI * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
00994 typedef void (GLAPI * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
00995 typedef void (GLAPI * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
00996 typedef void (GLAPI * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
00997 typedef void (GLAPI * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
00998 typedef void (GLAPI * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
00999 typedef GLboolean (GLAPI * PFNGLISPROGRAMNVPROC) (GLuint id);
01000 typedef void (GLAPI * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
01001 typedef void (GLAPI * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01002 typedef void (GLAPI * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
01003 typedef void (GLAPI * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01004 typedef void (GLAPI * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
01005 typedef void (GLAPI * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v);
01006 typedef void (GLAPI * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v);
01007 typedef void (GLAPI * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
01008 typedef void (GLAPI * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
01009 typedef void (GLAPI * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
01010 typedef void (GLAPI * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
01011 typedef void (GLAPI * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
01012 typedef void (GLAPI * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
01013 typedef void (GLAPI * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
01014 typedef void (GLAPI * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
01015 typedef void (GLAPI * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
01016 typedef void (GLAPI * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
01017 typedef void (GLAPI * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
01018 typedef void (GLAPI * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
01019 typedef void (GLAPI * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
01020 typedef void (GLAPI * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
01021 typedef void (GLAPI * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
01022 typedef void (GLAPI * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
01023 typedef void (GLAPI * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
01024 typedef void (GLAPI * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
01025 typedef void (GLAPI * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
01026 typedef void (GLAPI * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
01027 typedef void (GLAPI * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
01028 typedef void (GLAPI * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01029 typedef void (GLAPI * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
01030 typedef void (GLAPI * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01031 typedef void (GLAPI * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
01032 typedef void (GLAPI * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
01033 typedef void (GLAPI * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
01034 typedef void (GLAPI * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
01035 typedef void (GLAPI * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
01036 typedef void (GLAPI * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
01037 typedef void (GLAPI * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
01038 typedef void (GLAPI * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
01039 typedef void (GLAPI * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
01040 typedef void (GLAPI * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
01041 typedef void (GLAPI * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
01042 typedef void (GLAPI * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
01043 typedef void (GLAPI * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
01044 typedef void (GLAPI * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
01045 typedef void (GLAPI * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
01046 typedef void (GLAPI * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
01047 typedef void (GLAPI * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
01048 typedef void (GLAPI * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
01049 #endif
01050
01051
01052 #ifdef GL_NV_fence
01053 #ifdef GL_GLEXT_PROTOTYPES
01054 void GLAPI glDeleteFencesNV (GLsizei n, const GLuint *fences);
01055 void GLAPI glGenFencesNV (GLsizei n, GLuint *fences);
01056 GLboolean GLAPI glIsFenceNV (GLuint fence);
01057 GLboolean GLAPI glTestFenceNV (GLuint fence);
01058 void GLAPI glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
01059 void GLAPI glFinishFenceNV (GLuint fence);
01060 void GLAPI glSetFenceNV (GLuint fence, GLenum condition);
01061 #endif /* GL_GLEXT_PROTOTYPES */
01062 typedef void (GLAPI * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
01063 typedef void (GLAPI * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
01064 typedef GLboolean (GLAPI * PFNGLISFENCENVPROC) (GLuint fence);
01065 typedef GLboolean (GLAPI * PFNGLTESTFENCENVPROC) (GLuint fence);
01066 typedef void (GLAPI * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
01067 typedef void (GLAPI * PFNGLFINISHFENCENVPROC) (GLuint fence);
01068 typedef void (GLAPI * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
01069 #endif
01070
01071
01072 #ifdef GL_NV_draw_mesh
01073 #ifdef GL_GLEXT_PROTOTYPES
01074 void GLAPI glDrawMeshNV (GLenum mode, GLsizei count, GLenum type, GLsizei stride, const GLvoid *indicesTexCoord, const GLvoid *indicesNormal, const GLvoid *indicesVertex);
01075 #endif /* GL_GLEXT_PROTOTYPES */
01076 typedef void (GLAPI * PFNGLDRAWMESHNVPROC) (GLenum mode, GLsizei count, GLenum type, GLsizei stride, const GLvoid *indicesTexCoord, const GLvoid *indicesNormal, const GLvoid *indicesVertex);
01077 #endif
01078
01079
01080 #ifdef GL_Autodesk_valid_back_buffer_hint
01081 #ifdef GL_GLEXT_PROTOTYPES
01082 void GLAPI glWindowBackBufferHintAutodesk (void);
01083 GLboolean GLAPI glValidBackBufferHintAutodesk (GLint x, GLint y, GLsizei width, GLsizei height);
01084 #endif /* GL_GLEXT_PROTOTYPES */
01085 typedef void (GLAPI * PFNGLWINDOWBACKBUFFERHINTAUTODESKPROC) (void);
01086 typedef GLboolean (GLAPI * PFNGLVALIDBACKBUFFERHINTAUTODESKPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
01087 #endif
01088
01089
01090 #ifdef GL_NV_set_window_stereomode
01091 #ifdef GL_GLEXT_PROTOTYPES
01092 void GLAPI glSetWindowStereoModeNV (GLboolean displayMode);
01093 #endif /* GL_GLEXT_PROTOTYPES */
01094 typedef void (GLAPI * PFNGLSETWINDOWSTEREOMODENVPROC) (GLboolean displayMode);
01095 #endif
01096
01097
01098 #ifdef GL_NV_register_combiners2
01099 #ifdef GL_GLEXT_PROTOTYPES
01100 void GLAPI glCombinerStageParameterfvNV (GLenum stage, GLenum pname, const GLfloat *params);
01101 void GLAPI glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname, GLfloat *params);
01102 #endif /* GL_GLEXT_PROTOTYPES */
01103 typedef void (GLAPI * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
01104 typedef void (GLAPI * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
01105 #endif
01106
01107
01108 #ifdef GL_ARB_multisample
01109 #ifdef GL_GLEXT_PROTOTYPES
01110 void GLAPI glSampleCoverageARB (GLclampf value, GLboolean invert);
01111 #endif /* GL_GLEXT_PROTOTYPES */
01112 typedef void (GLAPI * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
01113 #endif
01114
01115
01116 #ifdef GL_EXT_draw_range_elements
01117 #ifdef GL_GLEXT_PROTOTYPES
01118 void GLAPI glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
01119 #endif /* GL_GLEXT_PROTOTYPES */
01120 typedef void (GLAPI * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
01121 #endif
01122
01123
01124 #ifdef GL_NV_pixel_data_range
01125 #ifdef GL_GLEXT_PROTOTYPES
01126 void GLAPI glFlushPixelDataRangeNV (GLenum target);
01127 void GLAPI glPixelDataRangeNV (GLenum target, GLsizei size, const GLvoid *pointer);
01128 #endif /* GL_GLEXT_PROTOTYPES */
01129 typedef void (GLAPI * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
01130 typedef void (GLAPI * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei size, const GLvoid *pointer);
01131 #endif
01132
01133
01134 #ifdef GL_NV_fragment_program
01135 #ifdef GL_GLEXT_PROTOTYPES
01136 void GLAPI glGetProgramNamedParameterdvNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
01137 void GLAPI glGetProgramNamedParameterfvNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
01138 void GLAPI glProgramNamedParameter4dNV (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01139 void GLAPI glProgramNamedParameter4dvNV (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
01140 void GLAPI glProgramNamedParameter4fNV (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01141 void GLAPI glProgramNamedParameter4fvNV (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
01142 #endif /* GL_GLEXT_PROTOTYPES */
01143 typedef void (GLAPI * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
01144 typedef void (GLAPI * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
01145 typedef void (GLAPI * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01146 typedef void (GLAPI * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
01147 typedef void (GLAPI * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01148 typedef void (GLAPI * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
01149 #endif
01150
01151
01152 #ifdef GL_NV_occlusion_query
01153 #ifdef GL_GLEXT_PROTOTYPES
01154 void GLAPI glGenOcclusionQueriesNV (GLsizei n, GLuint *ids);
01155 void GLAPI glDeleteOcclusionQueriesNV (GLsizei n, const GLuint *ids);
01156 GLboolean GLAPI glIsOcclusionQueryNV (GLuint id);
01157 void GLAPI glBeginOcclusionQueryNV (GLuint id);
01158 void GLAPI glEndOcclusionQueryNV (void);
01159 void GLAPI glGetOcclusionQueryivNV (GLuint id, GLenum pname, GLint *params);
01160 void GLAPI glGetOcclusionQueryuivNV (GLuint id, GLenum pname, GLuint *params);
01161 #endif /* GL_GLEXT_PROTOTYPES */
01162 typedef void (GLAPI * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
01163 typedef void (GLAPI * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
01164 typedef GLboolean (GLAPI * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
01165 typedef void (GLAPI * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
01166 typedef void (GLAPI * PFNGLENDOCCLUSIONQUERYNVPROC) (void);
01167 typedef void (GLAPI * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
01168 typedef void (GLAPI * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
01169 #endif
01170
01171
01172 #ifdef GL_NV_point_sprite
01173 #ifdef GL_GLEXT_PROTOTYPES
01174 void GLAPI glPointParameteriNV (GLenum pname, GLint param);
01175 void GLAPI glPointParameterivNV (GLenum pname, const GLint *params);
01176 #endif /* GL_GLEXT_PROTOTYPES */
01177 typedef void (GLAPI * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
01178 typedef void (GLAPI * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
01179 #endif
01180
01181
01182 #ifdef GL_EXT_multi_draw_arrays
01183 #ifdef GL_GLEXT_PROTOTYPES
01184 void GLAPI glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
01185 void GLAPI glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
01186 #endif /* GL_GLEXT_PROTOTYPES */
01187 typedef void (GLAPI * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
01188 typedef void (GLAPI * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
01189 #endif
01190
01191
01192 #ifdef GL_NV_half_float
01193 #ifdef GL_GLEXT_PROTOTYPES
01194 void GLAPI glVertex2hNV (GLhalf x, GLhalf y);
01195 void GLAPI glVertex2hvNV (const GLhalf *v);
01196 void GLAPI glVertex3hNV (GLhalf x, GLhalf y, GLhalf z);
01197 void GLAPI glVertex3hvNV (const GLhalf *v);
01198 void GLAPI glVertex4hNV (GLhalf x, GLhalf y, GLhalf z, GLhalf w);
01199 void GLAPI glVertex4hvNV (const GLhalf *v);
01200 void GLAPI glNormal3hNV (GLhalf nx, GLhalf ny, GLhalf nz);
01201 void GLAPI glNormal3hvNV (const GLhalf *v);
01202 void GLAPI glColor3hNV (GLhalf red, GLhalf green, GLhalf blue);
01203 void GLAPI glColor3hvNV (const GLhalf *v);
01204 void GLAPI glColor4hNV (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha);
01205 void GLAPI glColor4hvNV (const GLhalf *v);
01206 void GLAPI glTexCoord1hNV (GLhalf s);
01207 void GLAPI glTexCoord1hvNV (const GLhalf *v);
01208 void GLAPI glTexCoord2hNV (GLhalf s, GLhalf t);
01209 void GLAPI glTexCoord2hvNV (const GLhalf *v);
01210 void GLAPI glTexCoord3hNV (GLhalf s, GLhalf t, GLhalf r);
01211 void GLAPI glTexCoord3hvNV (const GLhalf *v);
01212 void GLAPI glTexCoord4hNV (GLhalf s, GLhalf t, GLhalf r, GLhalf q);
01213 void GLAPI glTexCoord4hvNV (const GLhalf *v);
01214 void GLAPI glMultiTexCoord1hNV (GLenum target, GLhalf s);
01215 void GLAPI glMultiTexCoord1hvNV (GLenum target, const GLhalf *v);
01216 void GLAPI glMultiTexCoord2hNV (GLenum target, GLhalf s, GLhalf t);
01217 void GLAPI glMultiTexCoord2hvNV (GLenum target, const GLhalf *v);
01218 void GLAPI glMultiTexCoord3hNV (GLenum target, GLhalf s, GLhalf t, GLhalf r);
01219 void GLAPI glMultiTexCoord3hvNV (GLenum target, const GLhalf *v);
01220 void GLAPI glMultiTexCoord4hNV (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q);
01221 void GLAPI glMultiTexCoord4hvNV (GLenum target, const GLhalf *v);
01222 void GLAPI glFogCoordhNV (GLhalf fog);
01223 void GLAPI glFogCoordhvNV (const GLhalf *fog);
01224 void GLAPI glSecondaryColor3hNV (GLhalf red, GLhalf green, GLhalf blue);
01225 void GLAPI glSecondaryColor3hvNV (const GLhalf *v);
01226 void GLAPI glVertexAttrib1hNV (GLuint index, GLhalf x);
01227 void GLAPI glVertexAttrib1hvNV (GLuint index, const GLhalf *v);
01228 void GLAPI glVertexAttrib2hNV (GLuint index, GLhalf x, GLhalf y);
01229 void GLAPI glVertexAttrib2hvNV (GLuint index, const GLhalf *v);
01230 void GLAPI glVertexAttrib3hNV (GLuint index, GLhalf x, GLhalf y, GLhalf z);
01231 void GLAPI glVertexAttrib3hvNV (GLuint index, const GLhalf *v);
01232 void GLAPI glVertexAttrib4hNV (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w);
01233 void GLAPI glVertexAttrib4hvNV (GLuint index, const GLhalf *v);
01234 void GLAPI glVertexAttribs1hvNV (GLuint index, GLsizei count, const GLhalf *v);
01235 void GLAPI glVertexAttribs2hvNV (GLuint index, GLsizei count, const GLhalf *v);
01236 void GLAPI glVertexAttribs3hvNV (GLuint index, GLsizei count, const GLhalf *v);
01237 void GLAPI glVertexAttribs4hvNV (GLuint index, GLsizei count, const GLhalf *v);
01238 #endif /* GL_GLEXT_PROTOTYPES */
01239 typedef void (GLAPI * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y);
01240 typedef void (GLAPI * PFNGLVERTEX2HVNVPROC) (const GLhalf *v);
01241 typedef void (GLAPI * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z);
01242 typedef void (GLAPI * PFNGLVERTEX3HVNVPROC) (const GLhalf *v);
01243 typedef void (GLAPI * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w);
01244 typedef void (GLAPI * PFNGLVERTEX4HVNVPROC) (const GLhalf *v);
01245 typedef void (GLAPI * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz);
01246 typedef void (GLAPI * PFNGLNORMAL3HVNVPROC) (const GLhalf *v);
01247 typedef void (GLAPI * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue);
01248 typedef void (GLAPI * PFNGLCOLOR3HVNVPROC) (const GLhalf *v);
01249 typedef void (GLAPI * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha);
01250 typedef void (GLAPI * PFNGLCOLOR4HVNVPROC) (const GLhalf *v);
01251 typedef void (GLAPI * PFNGLTEXCOORD1HNVPROC) (GLhalf s);
01252 typedef void (GLAPI * PFNGLTEXCOORD1HVNVPROC) (const GLhalf *v);
01253 typedef void (GLAPI * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t);
01254 typedef void (GLAPI * PFNGLTEXCOORD2HVNVPROC) (const GLhalf *v);
01255 typedef void (GLAPI * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r);
01256 typedef void (GLAPI * PFNGLTEXCOORD3HVNVPROC) (const GLhalf *v);
01257 typedef void (GLAPI * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q);
01258 typedef void (GLAPI * PFNGLTEXCOORD4HVNVPROC) (const GLhalf *v);
01259 typedef void (GLAPI * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s);
01260 typedef void (GLAPI * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf *v);
01261 typedef void (GLAPI * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t);
01262 typedef void (GLAPI * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf *v);
01263 typedef void (GLAPI * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r);
01264 typedef void (GLAPI * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf *v);
01265 typedef void (GLAPI * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q);
01266 typedef void (GLAPI * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf *v);
01267 typedef void (GLAPI * PFNGLFOGCOORDHNVPROC) (GLhalf fog);
01268 typedef void (GLAPI * PFNGLFOGCOORDHVNVPROC) (const GLhalf *fog);
01269 typedef void (GLAPI * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue);
01270 typedef void (GLAPI * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf *v);
01271 typedef void (GLAPI * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x);
01272 typedef void (GLAPI * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf *v);
01273 typedef void (GLAPI * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y);
01274 typedef void (GLAPI * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf *v);
01275 typedef void (GLAPI * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z);
01276 typedef void (GLAPI * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf *v);
01277 typedef void (GLAPI * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w);
01278 typedef void (GLAPI * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf *v);
01279 typedef void (GLAPI * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei count, const GLhalf *v);
01280 typedef void (GLAPI * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei count, const GLhalf *v);
01281 typedef void (GLAPI * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei count, const GLhalf *v);
01282 typedef void (GLAPI * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei count, const GLhalf *v);
01283 #endif
01284
01285
01286 #ifdef GL_EXT_stencil_two_side
01287 #ifdef GL_GLEXT_PROTOTYPES
01288 void GLAPI glActiveStencilFaceEXT (GLenum face);
01289 #endif /* GL_GLEXT_PROTOTYPES */
01290 typedef void (GLAPI * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
01291 #endif
01292
01293
01294 #ifdef GL_EXT_blend_func_separate
01295 #ifdef GL_GLEXT_PROTOTYPES
01296 void GLAPI glBlendFuncSeparateEXT (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
01297 #endif /* GL_GLEXT_PROTOTYPES */
01298 typedef void (GLAPI * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
01299 #endif
01300
01301
01302 #ifdef GL_ARB_point_parameters
01303 #ifdef GL_GLEXT_PROTOTYPES
01304 void GLAPI glPointParameterfARB (GLenum pname, GLfloat param);
01305 void GLAPI glPointParameterfvARB (GLenum pname, const GLfloat *params);
01306 #endif /* GL_GLEXT_PROTOTYPES */
01307 typedef void (GLAPI * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
01308 typedef void (GLAPI * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
01309 #endif
01310
01311
01312 #ifdef GL_EXT_depth_bounds_test
01313 #ifdef GL_GLEXT_PROTOTYPES
01314 void GLAPI glDepthBoundsEXT (GLclampd zmin, GLclampd zmax);
01315 #endif /* GL_GLEXT_PROTOTYPES */
01316 typedef void (GLAPI * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
01317 #endif
01318
01319
01320 #ifdef GL_ARB_vertex_program
01321 #ifdef GL_GLEXT_PROTOTYPES
01322 void GLAPI glVertexAttrib1dARB (GLuint index, GLdouble x);
01323 void GLAPI glVertexAttrib1dvARB (GLuint index, const GLdouble *v);
01324 void GLAPI glVertexAttrib1fARB (GLuint index, GLfloat x);
01325 void GLAPI glVertexAttrib1fvARB (GLuint index, const GLfloat *v);
01326 void GLAPI glVertexAttrib1sARB (GLuint index, GLshort x);
01327 void GLAPI glVertexAttrib1svARB (GLuint index, const GLshort *v);
01328 void GLAPI glVertexAttrib2dARB (GLuint index, GLdouble x, GLdouble y);
01329 void GLAPI glVertexAttrib2dvARB (GLuint index, const GLdouble *v);
01330 void GLAPI glVertexAttrib2fARB (GLuint index, GLfloat x, GLfloat y);
01331 void GLAPI glVertexAttrib2fvARB (GLuint index, const GLfloat *v);
01332 void GLAPI glVertexAttrib2sARB (GLuint index, GLshort x, GLshort y);
01333 void GLAPI glVertexAttrib2svARB (GLuint index, const GLshort *v);
01334 void GLAPI glVertexAttrib3dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z);
01335 void GLAPI glVertexAttrib3dvARB (GLuint index, const GLdouble *v);
01336 void GLAPI glVertexAttrib3fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z);
01337 void GLAPI glVertexAttrib3fvARB (GLuint index, const GLfloat *v);
01338 void GLAPI glVertexAttrib3sARB (GLuint index, GLshort x, GLshort y, GLshort z);
01339 void GLAPI glVertexAttrib3svARB (GLuint index, const GLshort *v);
01340 void GLAPI glVertexAttrib4NbvARB (GLuint index, const GLbyte *v);
01341 void GLAPI glVertexAttrib4NivARB (GLuint index, const GLint *v);
01342 void GLAPI glVertexAttrib4NsvARB (GLuint index, const GLshort *v);
01343 void GLAPI glVertexAttrib4NubARB (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
01344 void GLAPI glVertexAttrib4NubvARB (GLuint index, const GLubyte *v);
01345 void GLAPI glVertexAttrib4NuivARB (GLuint index, const GLuint *v);
01346 void GLAPI glVertexAttrib4NusvARB (GLuint index, const GLushort *v);
01347 void GLAPI glVertexAttrib4bvARB (GLuint index, const GLbyte *v);
01348 void GLAPI glVertexAttrib4dARB (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01349 void GLAPI glVertexAttrib4dvARB (GLuint index, const GLdouble *v);
01350 void GLAPI glVertexAttrib4fARB (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01351 void GLAPI glVertexAttrib4fvARB (GLuint index, const GLfloat *v);
01352 void GLAPI glVertexAttrib4ivARB (GLuint index, const GLint *v);
01353 void GLAPI glVertexAttrib4sARB (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
01354 void GLAPI glVertexAttrib4svARB (GLuint index, const GLshort *v);
01355 void GLAPI glVertexAttrib4ubvARB (GLuint index, const GLubyte *v);
01356 void GLAPI glVertexAttrib4uivARB (GLuint index, const GLuint *v);
01357 void GLAPI glVertexAttrib4usvARB (GLuint index, const GLushort *v);
01358 void GLAPI glVertexAttribPointerARB (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
01359 void GLAPI glEnableVertexAttribArrayARB (GLuint index);
01360 void GLAPI glDisableVertexAttribArrayARB (GLuint index);
01361 void GLAPI glProgramStringARB (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
01362 void GLAPI glBindProgramARB (GLenum target, GLuint program);
01363 void GLAPI glDeleteProgramsARB (GLsizei n, const GLuint *programs);
01364 void GLAPI glGenProgramsARB (GLsizei n, GLuint *programs);
01365 void GLAPI glProgramEnvParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01366 void GLAPI glProgramEnvParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);
01367 void GLAPI glProgramEnvParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01368 void GLAPI glProgramEnvParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);
01369 void GLAPI glProgramLocalParameter4dARB (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01370 void GLAPI glProgramLocalParameter4dvARB (GLenum target, GLuint index, const GLdouble *params);
01371 void GLAPI glProgramLocalParameter4fARB (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01372 void GLAPI glProgramLocalParameter4fvARB (GLenum target, GLuint index, const GLfloat *params);
01373 void GLAPI glGetProgramEnvParameterdvARB (GLenum target, GLuint index, GLdouble *params);
01374 void GLAPI glGetProgramEnvParameterfvARB (GLenum target, GLuint index, GLfloat *params);
01375 void GLAPI glGetProgramLocalParameterdvARB (GLenum target, GLuint index, GLdouble *params);
01376 void GLAPI glGetProgramLocalParameterfvARB (GLenum target, GLuint index, GLfloat *params);
01377 void GLAPI glGetProgramivARB (GLenum target, GLenum pname, GLint *params);
01378 void GLAPI glGetProgramStringARB (GLenum target, GLenum pname, GLvoid *string);
01379 void GLAPI glGetVertexAttribdvARB (GLuint index, GLenum pname, GLdouble *params);
01380 void GLAPI glGetVertexAttribfvARB (GLuint index, GLenum pname, GLfloat *params);
01381 void GLAPI glGetVertexAttribivARB (GLuint index, GLenum pname, GLint *params);
01382 void GLAPI glGetVertexAttribPointervARB (GLuint index, GLenum pname, GLvoid* *pointer);
01383 GLboolean GLAPI glIsProgramARB (GLuint program);
01384 #endif /* GL_GLEXT_PROTOTYPES */
01385 typedef void (GLAPI * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
01386 typedef void (GLAPI * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
01387 typedef void (GLAPI * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
01388 typedef void (GLAPI * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
01389 typedef void (GLAPI * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
01390 typedef void (GLAPI * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
01391 typedef void (GLAPI * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
01392 typedef void (GLAPI * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
01393 typedef void (GLAPI * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
01394 typedef void (GLAPI * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
01395 typedef void (GLAPI * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
01396 typedef void (GLAPI * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
01397 typedef void (GLAPI * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
01398 typedef void (GLAPI * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
01399 typedef void (GLAPI * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
01400 typedef void (GLAPI * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
01401 typedef void (GLAPI * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
01402 typedef void (GLAPI * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
01403 typedef void (GLAPI * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
01404 typedef void (GLAPI * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
01405 typedef void (GLAPI * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
01406 typedef void (GLAPI * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
01407 typedef void (GLAPI * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
01408 typedef void (GLAPI * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
01409 typedef void (GLAPI * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
01410 typedef void (GLAPI * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
01411 typedef void (GLAPI * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01412 typedef void (GLAPI * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
01413 typedef void (GLAPI * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01414 typedef void (GLAPI * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
01415 typedef void (GLAPI * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
01416 typedef void (GLAPI * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
01417 typedef void (GLAPI * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
01418 typedef void (GLAPI * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
01419 typedef void (GLAPI * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
01420 typedef void (GLAPI * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
01421 typedef void (GLAPI * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
01422 typedef void (GLAPI * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
01423 typedef void (GLAPI * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
01424 typedef void (GLAPI * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
01425 typedef void (GLAPI * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
01426 typedef void (GLAPI * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
01427 typedef void (GLAPI * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
01428 typedef void (GLAPI * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01429 typedef void (GLAPI * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
01430 typedef void (GLAPI * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01431 typedef void (GLAPI * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
01432 typedef void (GLAPI * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01433 typedef void (GLAPI * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
01434 typedef void (GLAPI * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01435 typedef void (GLAPI * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
01436 typedef void (GLAPI * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
01437 typedef void (GLAPI * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
01438 typedef void (GLAPI * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
01439 typedef void (GLAPI * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
01440 typedef void (GLAPI * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
01441 typedef void (GLAPI * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
01442 typedef void (GLAPI * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
01443 typedef void (GLAPI * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
01444 typedef void (GLAPI * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
01445 typedef void (GLAPI * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
01446 typedef GLboolean (GLAPI * PFNGLISPROGRAMARBPROC) (GLuint program);
01447 #endif
01448
01449
01450 #ifdef GL_NV_primitive_restart
01451 #ifdef GL_GLEXT_PROTOTYPES
01452 void GLAPI glPrimitiveRestartNV (void);
01453 void GLAPI glPrimitiveRestartIndexNV (GLuint index);
01454 #endif /* GL_GLEXT_PROTOTYPES */
01455 typedef void (GLAPI * PFNGLPRIMITIVERESTARTNVPROC) (void);
01456 typedef void (GLAPI * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
01457 #endif
01458
01459
01460 #ifdef GL_ARB_vertex_buffer_object
01461 #ifdef GL_GLEXT_PROTOTYPES
01462 void GLAPI glBindBufferARB (GLenum target, GLuint buffer);
01463 void GLAPI glBufferDataARB (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
01464 void GLAPI glBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
01465 void GLAPI glDeleteBuffersARB (GLsizei n, const GLuint *buffers);
01466 void GLAPI glGenBuffersARB (GLsizei n, GLuint *buffers);
01467 void GLAPI glGetBufferParameterivARB (GLenum target, GLenum pname, GLint *params);
01468 void GLAPI glGetBufferPointervARB (GLenum target, GLenum pname, GLvoid* *params);
01469 void GLAPI glGetBufferSubDataARB (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
01470 GLboolean GLAPI glIsBufferARB (GLuint buffer);
01471 GLvoid* GLAPI glMapBufferARB (GLenum target, GLenum access);
01472 GLboolean GLAPI glUnmapBufferARB (GLenum target);
01473 #endif /* GL_GLEXT_PROTOTYPES */
01474 typedef void (GLAPI * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
01475 typedef void (GLAPI * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
01476 typedef void (GLAPI * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
01477 typedef void (GLAPI * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
01478 typedef void (GLAPI * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
01479 typedef void (GLAPI * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
01480 typedef void (GLAPI * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
01481 typedef void (GLAPI * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
01482 typedef GLboolean (GLAPI * PFNGLISBUFFERARBPROC) (GLuint buffer);
01483 typedef GLvoid* (GLAPI * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
01484 typedef GLboolean (GLAPI * PFNGLUNMAPBUFFERARBPROC) (GLenum target);
01485 #endif
01486
01487 #ifdef GL_ARB_vertex_array_set_object
01488 #ifdef GL_GLEXT_PROTOTYPES
01489 void GLAPI glBindArraySetARB (GLuint buffer);
01490 void GLAPI glDeleteArraySetsARB (GLsizei n, const GLuint *buffers);
01491 void GLAPI glGenArraySetsARB (GLsizei n, GLuint *buffers);
01492 GLboolean GLAPI glIsArraySetARB (GLuint buffer);
01493 #endif /* GL_GLEXT_PROTOTYPES */
01494 typedef void (GLAPI * PFNGLBINDARRAYSETARBPROC) (GLuint buffer);
01495 typedef void (GLAPI * PFNGLDELETEARRAYSETSARBPROC) (GLsizei n, const GLuint *buffers);
01496 typedef void (GLAPI * PFNGLGENARRAYSETSARBPROC) (GLsizei n, GLuint *buffers);
01497 typedef GLboolean (GLAPI * PFNGLISARRAYSETARBPROC) (GLuint buffer);
01498 #endif
01499
01500 #ifdef GL_ARB_occlusion_query
01501 #ifdef GL_GLEXT_PROTOTYPES
01502 void GLAPI glGenQueriesARB (GLsizei n, GLuint *ids);
01503 void GLAPI glDeleteQueriesARB (GLsizei n, const GLuint *ids);
01504 GLboolean GLAPI glIsQueryARB (GLuint id);
01505 void GLAPI glBeginQueryARB (GLenum target, GLuint id);
01506 void GLAPI glEndQueryARB (GLenum target);
01507 void GLAPI glGetQueryObjectivARB (GLuint id, GLenum pname, GLint *params);
01508 void GLAPI glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *params);
01509 void GLAPI glGetQueryivARB (GLenum target, GLenum pname, GLint *params);
01510 #endif /* GL_GLEXT_PROTOTYPES */
01511 typedef void (GLAPI * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);
01512 typedef void (GLAPI * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);
01513 typedef GLboolean (GLAPI * PFNGLISQUERYARBPROC) (GLuint id);
01514 typedef void (GLAPI * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
01515 typedef void (GLAPI * PFNGLENDQUERYARBPROC) (GLenum target);
01516 typedef void (GLAPI * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);
01517 typedef void (GLAPI * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);
01518 typedef void (GLAPI * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);
01519 #endif
01520
01521 #ifdef GL_ATI_draw_buffers
01522 #ifdef GL_GLEXT_PROTOTYPES
01523 void GLAPI glDrawBuffersATI (GLsizei n, const GLenum *bufs);
01524 #endif /* GL_GLEXT_PROTOTYPES */
01525 typedef void (GLAPI * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);
01526 #endif
01527
01528 #ifdef GL_EXT_blend_equation_separate
01529 #ifdef GL_GLEXT_PROTOTYPES
01530 void GLAPI glBlendEquationSeparateEXT (GLenum mode, GLenum modeAlpha);
01531 #endif /* GL_GLEXT_PROTOTYPES */
01532 typedef void (GLAPI * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum mode, GLenum modeAlpha);
01533 #endif
01534
01535 #ifdef GL_ARB_shader_objects
01536 #ifdef GL_GLEXT_PROTOTYPES
01537 void GLAPI glDeleteObjectARB (GLhandleARB obj);
01538 GLhandleARB GLAPI glGetHandleARB (GLenum pname);
01539 void GLAPI glDetachObjectARB (GLhandleARB containerObj, GLhandleARB attachedObj);
01540 GLhandleARB GLAPI glCreateShaderObjectARB (GLenum shaderType);
01541 void GLAPI glShaderSourceARB (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
01542 void GLAPI glCompileShaderARB (GLhandleARB shaderObj);
01543 GLhandleARB GLAPI glCreateProgramObjectARB (void);
01544 void GLAPI glAttachObjectARB (GLhandleARB containerObj, GLhandleARB attachedObj);
01545 void GLAPI glLinkProgramARB (GLhandleARB programObj);
01546 void GLAPI glUseProgramObjectARB (GLhandleARB programObj);
01547 void GLAPI glValidateProgramARB (GLhandleARB programObj);
01548 void GLAPI glUniform1fARB (GLint location, GLfloat v0);
01549 void GLAPI glUniform2fARB (GLint location, GLfloat v0, GLfloat v1);
01550 void GLAPI glUniform3fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
01551 void GLAPI glUniform4fARB (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
01552 void GLAPI glUniform1iARB (GLint location, GLint v0);
01553 void GLAPI glUniform2iARB (GLint location, GLint v0, GLint v1);
01554 void GLAPI glUniform3iARB (GLint location, GLint v0, GLint v1, GLint v2);
01555 void GLAPI glUniform4iARB (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
01556 void GLAPI glUniform1fvARB (GLint location, GLsizei count, const GLfloat *value);
01557 void GLAPI glUniform2fvARB (GLint location, GLsizei count, const GLfloat *value);
01558 void GLAPI glUniform3fvARB (GLint location, GLsizei count, const GLfloat *value);
01559 void GLAPI glUniform4fvARB (GLint location, GLsizei count, const GLfloat *value);
01560 void GLAPI glUniform1ivARB (GLint location, GLsizei count, const GLint *value);
01561 void GLAPI glUniform2ivARB (GLint location, GLsizei count, const GLint *value);
01562 void GLAPI glUniform3ivARB (GLint location, GLsizei count, const GLint *value);
01563 void GLAPI glUniform4ivARB (GLint location, GLsizei count, const GLint *value);
01564 void GLAPI glUniformMatrix2fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01565 void GLAPI glUniformMatrix3fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01566 void GLAPI glUniformMatrix4fvARB (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01567 void GLAPI glGetObjectParameterfvARB (GLhandleARB obj, GLenum pname, GLfloat *params);
01568 void GLAPI glGetObjectParameterivARB (GLhandleARB obj, GLenum pname, GLint *params);
01569 void GLAPI glGetInfoLogARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
01570 void GLAPI glGetAttachedObjectsARB (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
01571 GLint GLAPI glGetUniformLocationARB (GLhandleARB programObj, const GLcharARB *name);
01572 void GLAPI glGetActiveUniformARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name);
01573 void GLAPI glGetUniformfvARB (GLhandleARB programObj, GLint location, GLfloat *params);
01574 void GLAPI glGetUniformivARB (GLhandleARB programObj, GLint location, GLint *params);
01575 void GLAPI glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
01576 #endif /* GL_GLEXT_PROTOTYPES */
01577 typedef void (GLAPI * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
01578 typedef GLhandleARB (GLAPI * PFNGLGETHANDLEARBPROC) (GLenum pname);
01579 typedef void (GLAPI * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
01580 typedef GLhandleARB (GLAPI * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
01581 typedef void (GLAPI * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
01582 typedef void (GLAPI * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
01583 typedef GLhandleARB (GLAPI * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
01584 typedef void (GLAPI * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
01585 typedef void (GLAPI * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
01586 typedef void (GLAPI * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
01587 typedef void (GLAPI * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
01588 typedef void (GLAPI * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
01589 typedef void (GLAPI * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
01590 typedef void (GLAPI * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
01591 typedef void (GLAPI * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
01592 typedef void (GLAPI * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
01593 typedef void (GLAPI * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
01594 typedef void (GLAPI * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
01595 typedef void (GLAPI * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
01596 typedef void (GLAPI * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01597 typedef void (GLAPI * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01598 typedef void (GLAPI * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01599 typedef void (GLAPI * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
01600 typedef void (GLAPI * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01601 typedef void (GLAPI * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01602 typedef void (GLAPI * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01603 typedef void (GLAPI * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
01604 typedef void (GLAPI * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01605 typedef void (GLAPI * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01606 typedef void (GLAPI * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01607 typedef void (GLAPI * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
01608 typedef void (GLAPI * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
01609 typedef void (GLAPI * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
01610 typedef void (GLAPI * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
01611 typedef GLint (GLAPI * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
01612 typedef void (GLAPI * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name);
01613 typedef void (GLAPI * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
01614 typedef void (GLAPI * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
01615 typedef void (GLAPI * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
01616 #endif
01617
01618
01619 #ifdef GL_ARB_vertex_shader
01620 #ifdef GL_GLEXT_PROTOTYPES
01621 void GLAPI glBindAttribLocationARB (GLhandleARB programObj, GLuint index, const GLcharARB *name);
01622 void GLAPI glGetActiveAttribARB (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name);
01623 GLint GLAPI glGetAttribLocationARB (GLhandleARB programObj, const GLcharARB *name);
01624 #endif /* GL_GLEXT_PROTOTYPES */
01625 typedef void (GLAPI * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
01626 typedef void (GLAPI * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name);
01627 typedef GLint (GLAPI * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
01628 #endif
01629
01630 #ifdef GL_VERSION_1_5
01631 #ifdef GL_GLEXT_PROTOTYPES
01632 void GLAPI glBindBuffer (GLenum target, GLuint buffer);
01633 void GLAPI glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
01634 void GLAPI glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
01635 void GLAPI glDeleteBuffers (GLsizei n, const GLuint *buffers);
01636 void GLAPI glGenBuffers (GLsizei n, GLuint *buffers);
01637 void GLAPI glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
01638 void GLAPI glGetBufferPointerv (GLenum target, GLenum pname, GLvoid* *params);
01639 void GLAPI glGetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
01640 GLboolean GLAPI glIsBuffer (GLuint buffer);
01641 GLvoid* GLAPI glMapBuffer (GLenum target, GLenum access);
01642 GLboolean GLAPI glUnmapBuffer (GLenum target);
01643 void GLAPI glGenQueries (GLsizei n, GLuint *ids);
01644 void GLAPI glDeleteQueries (GLsizei n, const GLuint *ids);
01645 GLboolean GLAPI glIsQuery (GLuint id);
01646 void GLAPI glBeginQuery (GLenum target, GLuint id);
01647 void GLAPI glEndQuery (GLenum target);
01648 void GLAPI glGetQueryObjectiv (GLuint id, GLenum pname, GLint *params);
01649 void GLAPI glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
01650 void GLAPI glGetQueryiv (GLenum target, GLenum pname, GLint *params);
01651 #endif /* GL_GLEXT_PROTOTYPES */
01652 typedef void (GLAPI * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
01653 typedef void (GLAPI * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
01654 typedef void (GLAPI * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
01655 typedef void (GLAPI * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
01656 typedef void (GLAPI * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
01657 typedef void (GLAPI * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
01658 typedef void (GLAPI * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
01659 typedef void (GLAPI * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
01660 typedef GLboolean (GLAPI * PFNGLISBUFFERPROC) (GLuint buffer);
01661 typedef GLvoid* (GLAPI * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
01662 typedef GLboolean (GLAPI * PFNGLUNMAPBUFFERPROC) (GLenum target);
01663 typedef void (GLAPI * PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
01664 typedef void (GLAPI * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
01665 typedef GLboolean (GLAPI * PFNGLISQUERYPROC) (GLuint id);
01666 typedef void (GLAPI * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
01667 typedef void (GLAPI * PFNGLENDQUERYPROC) (GLenum target);
01668 typedef void (GLAPI * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
01669 typedef void (GLAPI * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
01670 typedef void (GLAPI * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
01671 #endif
01672
01673 #ifdef GL_NVX_conditional_render
01674 #ifdef GL_GLEXT_PROTOTYPES
01675 void GLAPI glBeginConditionalRenderNVX (GLuint id);
01676 void GLAPI glEndConditionalRenderNVX (void);
01677 #endif /* GL_GLEXT_PROTOTYPES */
01678 typedef void (GLAPI * PFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id);
01679 typedef void (GLAPI * PFNGLENDCONDITIONALRENDERNVXPROC) (void);
01680 #endif
01681
01682 #ifdef GL_EXT_framebuffer_object
01683 #ifdef GL_GLEXT_PROTOTYPES
01684 void GLAPI glBindFramebufferEXT (GLenum target, GLuint id);
01685 void GLAPI glDeleteFramebuffersEXT (GLsizei n, const GLuint *ids);
01686 void GLAPI glGenFramebuffersEXT (GLsizei n, GLuint *ids);
01687 void GLAPI glFramebufferTextureEXT (GLenum target, GLenum buffer, GLuint id, GLuint level, GLenum face, GLuint image);
01688 void GLAPI glFramebufferStorageEXT (GLenum target, GLenum buffer, GLenum internalFormat, GLint width, GLint height);
01689 void GLAPI glGetFramebufferBufferParameterivEXT (GLenum target, GLenum buffer, GLenum value, GLint *T);
01690 void GLAPI glGetFramebufferBufferParameterfvEXT (GLenum target, GLenum buffer, GLenum value, GLfloat *T);
01691 GLboolean GLAPI glValidateFramebufferEXT (GLenum target);
01692 void GLAPI glGenerateMipmapEXT (GLenum target);
01693 #endif /* GL_GLEXT_PROTOTYPES */
01694 typedef void (GLAPI * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint id);
01695 typedef void (GLAPI * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *ids);
01696 typedef void (GLAPI * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *ids);
01697 typedef void (GLAPI * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum buffer, GLuint id, GLuint level, GLenum face, GLuint image);
01698 typedef void (GLAPI * PFNGLFRAMEBUFFERSTORAGEEXTPROC) (GLenum target, GLenum buffer, GLenum internalFormat, GLint width, GLint height);
01699 typedef void (GLAPI * PFNGLGETFRAMEBUFFERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum buffer, GLenum value, GLint *T);
01700 typedef void (GLAPI * PFNGLGETFRAMEBUFFERBUFFERPARAMETERFVEXTPROC) (GLenum target, GLenum buffer, GLenum value, GLfloat *T);
01701 typedef GLboolean (GLAPI * PFNGLVALIDATEFRAMEBUFFEREXTPROC) (GLenum target);
01702 typedef void (GLAPI * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
01703 #endif
01704
01705 /*************************************************************/
01706
01707
01708 /* PixelFormat */
01709 /*      GL_BGR_EXT */
01710 /*      GL_BGRA_EXT */
01711
01712 /* GetPName */
01713 /*      GL_ARRAY_ELEMENT_LOCK_COUNT_EXT */
01714 /*      GL_ARRAY_ELEMENT_LOCK_FIRST_EXT */
01715
01716 /* GetColorTableParameterPNameEXT */
01717 /*      GL_COLOR_TABLE_FORMAT_EXT */
01718 /*      GL_COLOR_TABLE_WIDTH_EXT */
01719 /*      GL_COLOR_TABLE_RED_SIZE_EXT */
01720 /*      GL_COLOR_TABLE_GREEN_SIZE_EXT */
01721 /*      GL_COLOR_TABLE_BLUE_SIZE_EXT */
01722 /*      GL_COLOR_TABLE_ALPHA_SIZE_EXT */
01723 /*      GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */
01724 /*      GL_COLOR_TABLE_INTENSITY_SIZE_EXT */
01725
01726 /* PixelInternalFormat */
01727 /*      GL_COLOR_INDEX1_EXT */
01728 /*      GL_COLOR_INDEX2_EXT */
01729 /*      GL_COLOR_INDEX4_EXT */
01730 /*      GL_COLOR_INDEX8_EXT */
01731 /*      GL_COLOR_INDEX12_EXT */
01732 /*      GL_COLOR_INDEX16_EXT */
01733
01734 /* OpenGL12 */
01735 #define GL_PACK_SKIP_IMAGES               0x806B
01736 #define GL_PACK_IMAGE_HEIGHT              0x806C
01737 #define GL_UNPACK_SKIP_IMAGES             0x806D
01738 #define GL_UNPACK_IMAGE_HEIGHT            0x806E
01739 #define GL_TEXTURE_3D                     0x806F
01740 #define GL_PROXY_TEXTURE_3D               0x8070
01741 #define GL_TEXTURE_DEPTH                  0x8071
01742 #define GL_TEXTURE_WRAP_R                 0x8072
01743 #define GL_MAX_3D_TEXTURE_SIZE            0x8073
01744 #define GL_BGR                            0x80E0
01745 #define GL_BGRA                           0x80E1
01746 #define GL_UNSIGNED_BYTE_3_3_2            0x8032
01747 #define GL_UNSIGNED_BYTE_2_3_3_REV        0x8362
01748 #define GL_UNSIGNED_SHORT_5_6_5           0x8363
01749 #define GL_UNSIGNED_SHORT_5_6_5_REV       0x8364
01750 #define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
01751 #define GL_UNSIGNED_SHORT_4_4_4_4_REV     0x8365
01752 #define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
01753 #define GL_UNSIGNED_SHORT_1_5_5_5_REV     0x8366
01754 #define GL_UNSIGNED_INT_8_8_8_8           0x8035
01755 #define GL_UNSIGNED_INT_8_8_8_8_REV       0x8367
01756 #define GL_UNSIGNED_INT_10_10_10_2        0x8036
01757 #define GL_UNSIGNED_INT_2_10_10_10_REV    0x8368
01758 #define GL_RESCALE_NORMAL                 0x803A
01759 #define GL_LIGHT_MODEL_COLOR_CONTROL      0x81F8
01760 #define GL_SINGLE_COLOR                   0x81F9
01761 #define GL_SEPARATE_SPECULAR_COLOR        0x81FA
01762 #define GL_CLAMP_TO_EDGE                  0x812F
01763 #define GL_TEXTURE_MIN_LOD                0x813A
01764 #define GL_TEXTURE_MAX_LOD                0x813B
01765 #define GL_TEXTURE_BASE_LEVEL             0x813C
01766 #define GL_TEXTURE_MAX_LEVEL              0x813D
01767 #define GL_MAX_ELEMENTS_VERTICES          0x80E8
01768 #define GL_MAX_ELEMENTS_INDICES           0x80E9
01769 #define GL_ALIASED_POINT_SIZE_RANGE       0x846D
01770 #define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
01771
01772 /* OpenGL13 */
01773 #define GL_ACTIVE_TEXTURE                 0x84E0
01774 #define GL_CLIENT_ACTIVE_TEXTURE          0x84E1
01775 #define GL_MAX_TEXTURE_UNITS              0x84E2
01776 #define GL_TEXTURE0                       0x84C0
01777 #define GL_TEXTURE1                       0x84C1
01778 #define GL_TEXTURE2                       0x84C2
01779 #define GL_TEXTURE3                       0x84C3
01780 #define GL_TEXTURE4                       0x84C4
01781 #define GL_TEXTURE5                       0x84C5
01782 #define GL_TEXTURE6                       0x84C6
01783 #define GL_TEXTURE7                       0x84C7
01784 #define GL_TEXTURE8                       0x84C8
01785 #define GL_TEXTURE9                       0x84C9
01786 #define GL_TEXTURE10                      0x84CA
01787 #define GL_TEXTURE11                      0x84CB
01788 #define GL_TEXTURE12                      0x84CC
01789 #define GL_TEXTURE13                      0x84CD
01790 #define GL_TEXTURE14                      0x84CE
01791 #define GL_TEXTURE15                      0x84CF
01792 #define GL_TEXTURE16                      0x84D0
01793 #define GL_TEXTURE17                      0x84D1
01794 #define GL_TEXTURE18                      0x84D2
01795 #define GL_TEXTURE19                      0x84D3
01796 #define GL_TEXTURE20                      0x84D4
01797 #define GL_TEXTURE21                      0x84D5
01798 #define GL_TEXTURE22                      0x84D6
01799 #define GL_TEXTURE23                      0x84D7
01800 #define GL_TEXTURE24                      0x84D8
01801 #define GL_TEXTURE25                      0x84D9
01802 #define GL_TEXTURE26                      0x84DA
01803 #define GL_TEXTURE27                      0x84DB
01804 #define GL_TEXTURE28                      0x84DC
01805 #define GL_TEXTURE29                      0x84DD
01806 #define GL_TEXTURE30                      0x84DE
01807 #define GL_TEXTURE31                      0x84DF
01808 #define GL_NORMAL_MAP                     0x8511
01809 #define GL_REFLECTION_MAP                 0x8512
01810 #define GL_TEXTURE_CUBE_MAP               0x8513
01811 #define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
01812 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
01813 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
01814 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
01815 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
01816 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
01817 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
01818 #define GL_PROXY_TEXTURE_CUBE_MAP         0x851B
01819 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
01820 #define GL_COMBINE                        0x8570
01821 #define GL_COMBINE_RGB                    0x8571
01822 #define GL_COMBINE_ALPHA                  0x8572
01823 #define GL_RGB_SCALE                      0x8573
01824 #define GL_ADD_SIGNED                     0x8574
01825 #define GL_INTERPOLATE                    0x8575
01826 #define GL_CONSTANT                       0x8576
01827 #define GL_PRIMARY_COLOR                  0x8577
01828 #define GL_PREVIOUS                       0x8578
01829 #define GL_SOURCE0_RGB                    0x8580
01830 #define GL_SOURCE1_RGB                    0x8581
01831 #define GL_SOURCE2_RGB                    0x8582
01832 #define GL_SOURCE0_ALPHA                  0x8588
01833 #define GL_SOURCE1_ALPHA                  0x8589
01834 #define GL_SOURCE2_ALPHA                  0x858A
01835 #define GL_OPERAND0_RGB                   0x8590
01836 #define GL_OPERAND1_RGB                   0x8591
01837 #define GL_OPERAND2_RGB                   0x8592
01838 #define GL_OPERAND0_ALPHA                 0x8598
01839 #define GL_OPERAND1_ALPHA                 0x8599
01840 #define GL_OPERAND2_ALPHA                 0x859A
01841 #define GL_SUBTRACT                       0x84E7
01842 #define GL_TRANSPOSE_MODELVIEW_MATRIX     0x84E3
01843 #define GL_TRANSPOSE_PROJECTION_MATRIX    0x84E4
01844 #define GL_TRANSPOSE_TEXTURE_MATRIX       0x84E5
01845 #define GL_TRANSPOSE_COLOR_MATRIX         0x84E6
01846 #define GL_COMPRESSED_ALPHA               0x84E9
01847 #define GL_COMPRESSED_LUMINANCE           0x84EA
01848 #define GL_COMPRESSED_LUMINANCE_ALPHA     0x84EB
01849 #define GL_COMPRESSED_INTENSITY           0x84EC
01850 #define GL_COMPRESSED_RGB                 0x84ED
01851 #define GL_COMPRESSED_RGBA                0x84EE
01852 #define GL_TEXTURE_COMPRESSION_HINT       0x84EF
01853 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86A0
01854 #define GL_TEXTURE_COMPRESSED             0x86A1
01855 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
01856 #define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
01857 #define GL_DOT3_RGB                       0x86AE
01858 #define GL_DOT3_RGBA                      0x86AF
01859 #define GL_CLAMP_TO_BORDER                0x812D
01860 #define GL_MULTISAMPLE                    0x809D
01861 #define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
01862 #define GL_SAMPLE_ALPHA_TO_ONE            0x809F
01863 #define GL_SAMPLE_COVERAGE                0x80A0
01864 #define GL_SAMPLE_BUFFERS                 0x80A8
01865 #define GL_SAMPLES                        0x80A9
01866 #define GL_SAMPLE_COVERAGE_VALUE          0x80AA
01867 #define GL_SAMPLE_COVERAGE_INVERT         0x80AB
01868 #define GL_MULTISAMPLE_BIT                0x20000000
01869
01870 /* EXT_bgra */
01871 #define GL_BGR_EXT                        0x80E0
01872 #define GL_BGRA_EXT                       0x80E1
01873
01874 /* EXT_blend_color */
01875 #define GL_CONSTANT_COLOR_EXT             0x8001
01876 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT   0x8002
01877 #define GL_CONSTANT_ALPHA_EXT             0x8003
01878 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT   0x8004
01879 #define GL_BLEND_COLOR_EXT                0x8005
01880
01881 /* EXT_blend_minmax */
01882 #define GL_FUNC_ADD_EXT                   0x8006
01883 #define GL_MIN_EXT                        0x8007
01884 #define GL_MAX_EXT                        0x8008
01885 #define GL_BLEND_EQUATION_EXT             0x8009
01886
01887 /* EXT_color_table */
01888 #define GL_TABLE_TOO_LARGE_EXT            0x8031
01889 #define GL_COLOR_TABLE_FORMAT_EXT         0x80D8
01890 #define GL_COLOR_TABLE_WIDTH_EXT          0x80D9
01891 #define GL_COLOR_TABLE_RED_SIZE_EXT       0x80DA
01892 #define GL_COLOR_TABLE_GREEN_SIZE_EXT     0x80DB
01893 #define GL_COLOR_TABLE_BLUE_SIZE_EXT      0x80DC
01894 #define GL_COLOR_TABLE_ALPHA_SIZE_EXT     0x80DD
01895 #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
01896 #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
01897
01898 /* EXT_paletted_texture */
01899 #define GL_COLOR_INDEX1_EXT               0x80E2
01900 #define GL_COLOR_INDEX2_EXT               0x80E3
01901 #define GL_COLOR_INDEX4_EXT               0x80E4
01902 #define GL_COLOR_INDEX8_EXT               0x80E5
01903 #define GL_COLOR_INDEX12_EXT              0x80E6
01904 #define GL_COLOR_INDEX16_EXT              0x80E7
01905 #define GL_TEXTURE_INDEX_SIZE_EXT         0x80ED
01906
01907 /* EXT_texture3D */
01908 #define GL_PACK_SKIP_IMAGES               0x806B
01909 #define GL_PACK_SKIP_IMAGES_EXT           0x806B
01910 #define GL_PACK_IMAGE_HEIGHT              0x806C
01911 #define GL_PACK_IMAGE_HEIGHT_EXT          0x806C
01912 #define GL_UNPACK_SKIP_IMAGES             0x806D
01913 #define GL_UNPACK_SKIP_IMAGES_EXT         0x806D
01914 #define GL_UNPACK_IMAGE_HEIGHT            0x806E
01915 #define GL_UNPACK_IMAGE_HEIGHT_EXT        0x806E
01916 #define GL_TEXTURE_3D                     0x806F
01917 #define GL_TEXTURE_3D_EXT                 0x806F
01918 #define GL_PROXY_TEXTURE_3D               0x8070
01919 #define GL_PROXY_TEXTURE_3D_EXT           0x8070
01920 #define GL_TEXTURE_DEPTH                  0x8071
01921 #define GL_TEXTURE_DEPTH_EXT              0x8071
01922 #define GL_TEXTURE_WRAP_R                 0x8072
01923 #define GL_TEXTURE_WRAP_R_EXT             0x8072
01924 #define GL_MAX_3D_TEXTURE_SIZE            0x8073
01925 #define GL_MAX_3D_TEXTURE_SIZE_EXT        0x8073
01926
01927 /* EXT_vertex_array */
01928 #define GL_VERTEX_ARRAY_EXT               0x8074
01929 #define GL_NORMAL_ARRAY_EXT               0x8075
01930 #define GL_COLOR_ARRAY_EXT                0x8076
01931 #define GL_INDEX_ARRAY_EXT                0x8077
01932 #define GL_TEXTURE_COORD_ARRAY_EXT        0x8078
01933 #define GL_EDGE_FLAG_ARRAY_EXT            0x8079
01934 #define GL_VERTEX_ARRAY_SIZE_EXT          0x807A
01935 #define GL_VERTEX_ARRAY_TYPE_EXT          0x807B
01936 #define GL_VERTEX_ARRAY_STRIDE_EXT        0x807C
01937 #define GL_VERTEX_ARRAY_COUNT_EXT         0x807D
01938 #define GL_NORMAL_ARRAY_TYPE_EXT          0x807E
01939 #define GL_NORMAL_ARRAY_STRIDE_EXT        0x807F
01940 #define GL_NORMAL_ARRAY_COUNT_EXT         0x8080
01941 #define GL_COLOR_ARRAY_SIZE_EXT           0x8081
01942 #define GL_COLOR_ARRAY_TYPE_EXT           0x8082
01943 #define GL_COLOR_ARRAY_STRIDE_EXT         0x8083
01944 #define GL_COLOR_ARRAY_COUNT_EXT          0x8084
01945 #define GL_INDEX_ARRAY_TYPE_EXT           0x8085
01946 #define GL_INDEX_ARRAY_STRIDE_EXT         0x8086
01947 #define GL_INDEX_ARRAY_COUNT_EXT          0x8087
01948 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT   0x8088
01949 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT   0x8089
01950 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
01951 #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT  0x808B
01952 #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT     0x808C
01953 #define GL_EDGE_FLAG_ARRAY_COUNT_EXT      0x808D
01954 #define GL_VERTEX_ARRAY_POINTER_EXT       0x808E
01955 #define GL_NORMAL_ARRAY_POINTER_EXT       0x808F
01956 #define GL_COLOR_ARRAY_POINTER_EXT        0x8090
01957 #define GL_INDEX_ARRAY_POINTER_EXT        0x8091
01958 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
01959 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT    0x8093
01960
01961 /* ARB_imaging */
01962 #define GL_CONSTANT_COLOR                 0x8001
01963 #define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
01964 #define GL_CONSTANT_ALPHA                 0x8003
01965 #define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
01966 #define GL_BLEND_COLOR                    0x8005
01967 #define GL_FUNC_ADD                       0x8006
01968 #define GL_MIN                            0x8007
01969 #define GL_MAX                            0x8008
01970 #define GL_BLEND_EQUATION                 0x8009
01971 #define GL_FUNC_SUBTRACT                  0x800A
01972 #define GL_FUNC_REVERSE_SUBTRACT          0x800B
01973 #define GL_COLOR_MATRIX                   0x80B1
01974 #define GL_COLOR_MATRIX_STACK_DEPTH       0x80B2
01975 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH   0x80B3
01976 #define GL_POST_COLOR_MATRIX_RED_SCALE    0x80B4
01977 #define GL_POST_COLOR_MATRIX_GREEN_SCALE  0x80B5
01978 #define GL_POST_COLOR_MATRIX_BLUE_SCALE   0x80B6
01979 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE  0x80B7
01980 #define GL_POST_COLOR_MATRIX_RED_BIAS     0x80B8
01981 #define GL_POST_COLOR_MATRIX_GREEN_BIAS   0x80B9
01982 #define GL_POST_COLOR_MATRIX_BLUE_BIAS    0x80BA
01983 #define GL_POST_COLOR_MATRIX_ALPHA_BIAS   0x80BB
01984 #define GL_COLOR_TABLE                    0x80D0
01985 #define GL_POST_CONVOLUTION_COLOR_TABLE   0x80D1
01986 #define GL_POST_COLOR_MATRIX_COLOR_TABLE  0x80D2
01987 #define GL_PROXY_COLOR_TABLE              0x80D3
01988 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
01989 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
01990 #define GL_COLOR_TABLE_SCALE              0x80D6
01991 #define GL_COLOR_TABLE_BIAS               0x80D7
01992 #define GL_COLOR_TABLE_FORMAT             0x80D8
01993 #define GL_COLOR_TABLE_WIDTH              0x80D9
01994 #define GL_COLOR_TABLE_RED_SIZE           0x80DA
01995 #define GL_COLOR_TABLE_GREEN_SIZE         0x80DB
01996 #define GL_COLOR_TABLE_BLUE_SIZE          0x80DC
01997 #define GL_COLOR_TABLE_ALPHA_SIZE         0x80DD
01998 #define GL_COLOR_TABLE_LUMINANCE_SIZE     0x80DE
01999 #define GL_COLOR_TABLE_INTENSITY_SIZE     0x80DF
02000 #define GL_CONVOLUTION_1D                 0x8010
02001 #define GL_CONVOLUTION_2D                 0x8011
02002 #define GL_SEPARABLE_2D                   0x8012
02003 #define GL_CONVOLUTION_BORDER_MODE        0x8013
02004 #define GL_CONVOLUTION_FILTER_SCALE       0x8014
02005 #define GL_CONVOLUTION_FILTER_BIAS        0x8015
02006 #define GL_REDUCE                         0x8016
02007 #define GL_CONVOLUTION_FORMAT             0x8017
02008 #define GL_CONVOLUTION_WIDTH              0x8018
02009 #define GL_CONVOLUTION_HEIGHT             0x8019
02010 #define GL_MAX_CONVOLUTION_WIDTH          0x801A
02011 #define GL_MAX_CONVOLUTION_HEIGHT         0x801B
02012 #define GL_POST_CONVOLUTION_RED_SCALE     0x801C
02013 #define GL_POST_CONVOLUTION_GREEN_SCALE   0x801D
02014 #define GL_POST_CONVOLUTION_BLUE_SCALE    0x801E
02015 #define GL_POST_CONVOLUTION_ALPHA_SCALE   0x801F
02016 #define GL_POST_CONVOLUTION_RED_BIAS      0x8020
02017 #define GL_POST_CONVOLUTION_GREEN_BIAS    0x8021
02018 #define GL_POST_CONVOLUTION_BLUE_BIAS     0x8022
02019 #define GL_POST_CONVOLUTION_ALPHA_BIAS    0x8023
02020 #define GL_IGNORE_BORDER                  0x8150
02021 #define GL_CONSTANT_BORDER                0x8151
02022 #define GL_REPLICATE_BORDER               0x8153
02023 #define GL_CONVOLUTION_BORDER_COLOR       0x8154
02024 #define GL_HISTOGRAM                      0x8024
02025 #define GL_PROXY_HISTOGRAM                0x8025
02026 #define GL_HISTOGRAM_WIDTH                0x8026
02027 #define GL_HISTOGRAM_FORMAT               0x8027
02028 #define GL_HISTOGRAM_RED_SIZE             0x8028
02029 #define GL_HISTOGRAM_GREEN_SIZE           0x8029
02030 #define GL_HISTOGRAM_BLUE_SIZE            0x802A
02031 #define GL_HISTOGRAM_ALPHA_SIZE           0x802B
02032 #define GL_HISTOGRAM_LUMINANCE_SIZE       0x802C
02033 #define GL_HISTOGRAM_SINK                 0x802D
02034 #define GL_MINMAX                         0x802E
02035 #define GL_MINMAX_FORMAT                  0x802F
02036 #define GL_MINMAX_SINK                    0x8030
02037
02038 /* EXT_clip_volume_hint */
02039 #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT  0x80F0
02040
02041 /* EXT_point_parameters */
02042 #define GL_POINT_SIZE_MIN_EXT             0x8126
02043 #define GL_POINT_SIZE_MAX_EXT             0x8127
02044 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT  0x8128
02045 #define GL_DISTANCE_ATTENUATION_EXT       0x8129
02046
02047 /* EXT_compiled_vertex_array */
02048 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT   0x81A8
02049 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT   0x81A9
02050
02051 /* SGIS_multitexture */
02052 #define GL_SELECTED_TEXTURE_SGIS          0x835C
02053 #define GL_MAX_TEXTURES_SGIS              0x835D
02054 #define GL_TEXTURE0_SGIS                  0x835E
02055 #define GL_TEXTURE1_SGIS                  0x835F
02056 #define GL_TEXTURE2_SGIS                  0x8360
02057 #define GL_TEXTURE3_SGIS                  0x8361
02058
02059 /* ARB_multitexture */
02060 #define GL_ACTIVE_TEXTURE_ARB             0x84E0
02061 #define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1
02062 #define GL_MAX_TEXTURE_UNITS_ARB          0x84E2
02063 #define GL_TEXTURE0_ARB                   0x84C0
02064 #define GL_TEXTURE1_ARB                   0x84C1
02065 #define GL_TEXTURE2_ARB                   0x84C2
02066 #define GL_TEXTURE3_ARB                   0x84C3
02067 #define GL_TEXTURE4_ARB                   0x84C4
02068 #define GL_TEXTURE5_ARB                   0x84C5
02069 #define GL_TEXTURE6_ARB                   0x84C6
02070 #define GL_TEXTURE7_ARB                   0x84C7
02071 #define GL_TEXTURE8_ARB                   0x84C8
02072 #define GL_TEXTURE9_ARB                   0x84C9
02073 #define GL_TEXTURE10_ARB                  0x84CA
02074 #define GL_TEXTURE11_ARB                  0x84CB
02075 #define GL_TEXTURE12_ARB                  0x84CC
02076 #define GL_TEXTURE13_ARB                  0x84CD
02077 #define GL_TEXTURE14_ARB                  0x84CE
02078 #define GL_TEXTURE15_ARB                  0x84CF
02079 #define GL_TEXTURE16_ARB                  0x84D0
02080 #define GL_TEXTURE17_ARB                  0x84D1
02081 #define GL_TEXTURE18_ARB                  0x84D2
02082 #define GL_TEXTURE19_ARB                  0x84D3
02083 #define GL_TEXTURE20_ARB                  0x84D4
02084 #define GL_TEXTURE21_ARB                  0x84D5
02085 #define GL_TEXTURE22_ARB                  0x84D6
02086 #define GL_TEXTURE23_ARB                  0x84D7
02087 #define GL_TEXTURE24_ARB                  0x84D8
02088 #define GL_TEXTURE25_ARB                  0x84D9
02089 #define GL_TEXTURE26_ARB                  0x84DA
02090 #define GL_TEXTURE27_ARB                  0x84DB
02091 #define GL_TEXTURE28_ARB                  0x84DC
02092 #define GL_TEXTURE29_ARB                  0x84DD
02093 #define GL_TEXTURE30_ARB                  0x84DE
02094 #define GL_TEXTURE31_ARB                  0x84DF
02095
02096 /* EXT_fog_coord */
02097 #define GL_FOG_COORDINATE_SOURCE_EXT      0x8450
02098 #define GL_FOG_COORDINATE_EXT             0x8451
02099 #define GL_FRAGMENT_DEPTH_EXT             0x8452
02100 #define GL_CURRENT_FOG_COORDINATE_EXT     0x8453
02101 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT  0x8454
02102 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
02103 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
02104 #define GL_FOG_COORDINATE_ARRAY_EXT       0x8457
02105
02106 /* EXT_secondary_color */
02107 #define GL_COLOR_SUM_EXT                  0x8458
02108 #define GL_CURRENT_SECONDARY_COLOR_EXT    0x8459
02109 #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
02110 #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
02111 #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
02112 #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
02113 #define GL_SECONDARY_COLOR_ARRAY_EXT      0x845E
02114
02115 /* EXT_separate_specular_color */
02116 #define GL_SINGLE_COLOR_EXT               0x81F9
02117 #define GL_SEPARATE_SPECULAR_COLOR_EXT    0x81FA
02118 #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT  0x81F8
02119
02120 /* EXT_stencil_wrap */
02121 #define GL_INCR_WRAP_EXT                  0x8507
02122 #define GL_DECR_WRAP_EXT                  0x8508
02123
02124 /* NV_texgen_reflection */
02125 #define GL_NORMAL_MAP_NV                  0x8511
02126 #define GL_REFLECTION_MAP_NV              0x8512
02127
02128 /* EXT_texture_cube_map */
02129 #define GL_NORMAL_MAP_EXT                 0x8511
02130 #define GL_REFLECTION_MAP_EXT             0x8512
02131 #define GL_TEXTURE_CUBE_MAP_EXT           0x8513
02132 #define GL_TEXTURE_BINDING_CUBE_MAP_EXT   0x8514
02133 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
02134 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
02135 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
02136 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
02137 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
02138 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
02139 #define GL_PROXY_TEXTURE_CUBE_MAP_EXT     0x851B
02140 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT  0x851C
02141
02142 /* ARB_texture_cube_map */
02143 #define GL_NORMAL_MAP_ARB                 0x8511
02144 #define GL_REFLECTION_MAP_ARB             0x8512
02145 #define GL_TEXTURE_CUBE_MAP_ARB           0x8513
02146 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB   0x8514
02147 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
02148 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
02149 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
02150 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
02151 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
02152 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
02153 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB     0x851B
02154 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB  0x851C
02155
02156 /* NV_vertex_array_range */
02157 #define GL_VERTEX_ARRAY_RANGE_NV          0x851D
02158 #define GL_VERTEX_ARRAY_RANGE_LENGTH_NV   0x851E
02159 #define GL_VERTEX_ARRAY_RANGE_VALID_NV    0x851F
02160 #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
02161 #define GL_VERTEX_ARRAY_RANGE_POINTER_NV  0x8521
02162
02163 /* NV_vertex_array_range2 */
02164 #define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
02165
02166 /* NV_register_combiners */
02167 #define GL_REGISTER_COMBINERS_NV          0x8522
02168 #define GL_COMBINER0_NV                   0x8550
02169 #define GL_COMBINER1_NV                   0x8551
02170 #define GL_COMBINER2_NV                   0x8552
02171 #define GL_COMBINER3_NV                   0x8553
02172 #define GL_COMBINER4_NV                   0x8554
02173 #define GL_COMBINER5_NV                   0x8555
02174 #define GL_COMBINER6_NV                   0x8556
02175 #define GL_COMBINER7_NV                   0x8557
02176 #define GL_VARIABLE_A_NV                  0x8523
02177 #define GL_VARIABLE_B_NV                  0x8524
02178 #define GL_VARIABLE_C_NV                  0x8525
02179 #define GL_VARIABLE_D_NV                  0x8526
02180 #define GL_VARIABLE_E_NV                  0x8527
02181 #define GL_VARIABLE_F_NV                  0x8528
02182 #define GL_VARIABLE_G_NV                  0x8529
02183 #define GL_CONSTANT_COLOR0_NV             0x852A
02184 #define GL_CONSTANT_COLOR1_NV             0x852B
02185 #define GL_PRIMARY_COLOR_NV               0x852C
02186 #define GL_SECONDARY_COLOR_NV             0x852D
02187 #define GL_SPARE0_NV                      0x852E
02188 #define GL_SPARE1_NV                      0x852F
02189 /*      GL_TEXTURE0_ARB */
02190 /*      GL_TEXTURE1_ARB */
02191 #define GL_UNSIGNED_IDENTITY_NV           0x8536
02192 #define GL_UNSIGNED_INVERT_NV             0x8537
02193 #define GL_EXPAND_NORMAL_NV               0x8538
02194 #define GL_EXPAND_NEGATE_NV               0x8539
02195 #define GL_HALF_BIAS_NORMAL_NV            0x853A
02196 #define GL_HALF_BIAS_NEGATE_NV            0x853B
02197 #define GL_SIGNED_IDENTITY_NV             0x853C
02198 #define GL_SIGNED_NEGATE_NV               0x853D
02199 #define GL_E_TIMES_F_NV                   0x8531
02200 #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
02201 #define GL_SCALE_BY_TWO_NV                0x853E
02202 #define GL_SCALE_BY_FOUR_NV               0x853F
02203 #define GL_SCALE_BY_ONE_HALF_NV           0x8540
02204 #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x8541
02205 #define GL_DISCARD_NV                     0x8530
02206 #define GL_COMBINER_INPUT_NV              0x8542
02207 #define GL_COMBINER_MAPPING_NV            0x8543
02208 #define GL_COMBINER_COMPONENT_USAGE_NV    0x8544
02209 #define GL_COMBINER_AB_DOT_PRODUCT_NV     0x8545
02210 #define GL_COMBINER_CD_DOT_PRODUCT_NV     0x8546
02211 #define GL_COMBINER_MUX_SUM_NV            0x8547
02212 #define GL_COMBINER_SCALE_NV              0x8548
02213 #define GL_COMBINER_BIAS_NV               0x8549
02214 #define GL_COMBINER_AB_OUTPUT_NV          0x854A
02215 #define GL_COMBINER_CD_OUTPUT_NV          0x854B
02216 #define GL_COMBINER_SUM_OUTPUT_NV         0x854C
02217 #define GL_MAX_GENERAL_COMBINERS_NV       0x854D
02218 #define GL_NUM_GENERAL_COMBINERS_NV       0x854E
02219 #define GL_COLOR_SUM_CLAMP_NV             0x854F
02220
02221 /* NV_fog_distance */
02222 #define GL_FOG_DISTANCE_MODE_NV           0x855A
02223 #define GL_EYE_RADIAL_NV                  0x855B
02224 #define GL_EYE_PLANE_ABSOLUTE_NV          0x855C
02225
02226 /* NV_fragment_program */
02227 #define GL_FRAGMENT_PROGRAM_NV            0x8870
02228 #define GL_MAX_TEXTURE_COORDS_NV          0x8871
02229 #define GL_MAX_TEXTURE_IMAGE_UNITS_NV     0x8872
02230 #define GL_FRAGMENT_PROGRAM_BINDING_NV    0x8873
02231 #define GL_PROGRAM_ERROR_STRING_NV        0x8874
02232 #define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
02233
02234 /* NV_light_max_exponent */
02235 #define GL_MAX_SHININESS_NV               0x8504
02236 #define GL_MAX_SPOT_EXPONENT_NV           0x8505
02237
02238 /* ARB_texture_env_combine */
02239 #define GL_COMBINE_ARB                    0x8570
02240 #define GL_COMBINE_RGB_ARB                0x8571
02241 #define GL_COMBINE_ALPHA_ARB              0x8572
02242 #define GL_RGB_SCALE_ARB                  0x8573
02243 #define GL_ADD_SIGNED_ARB                 0x8574
02244 #define GL_INTERPOLATE_ARB                0x8575
02245 #define GL_CONSTANT_ARB                   0x8576
02246 #define GL_PRIMARY_COLOR_ARB              0x8577
02247 #define GL_PREVIOUS_ARB                   0x8578
02248 #define GL_SOURCE0_RGB_ARB                0x8580
02249 #define GL_SOURCE1_RGB_ARB                0x8581
02250 #define GL_SOURCE2_RGB_ARB                0x8582
02251 #define GL_SOURCE0_ALPHA_ARB              0x8588
02252 #define GL_SOURCE1_ALPHA_ARB              0x8589
02253 #define GL_SOURCE2_ALPHA_ARB              0x858A
02254 #define GL_OPERAND0_RGB_ARB               0x8590
02255 #define GL_OPERAND1_RGB_ARB               0x8591
02256 #define GL_OPERAND2_RGB_ARB               0x8592
02257 #define GL_OPERAND0_ALPHA_ARB             0x8598
02258 #define GL_OPERAND1_ALPHA_ARB             0x8599
02259 #define GL_OPERAND2_ALPHA_ARB             0x859A
02260 #define GL_SUBTRACT_ARB                   0x84E7
02261
02262 /* EXT_texture_env_combine */
02263 #define GL_COMBINE_EXT                    0x8570
02264 #define GL_COMBINE_RGB_EXT                0x8571
02265 #define GL_COMBINE_ALPHA_EXT              0x8572
02266 #define GL_RGB_SCALE_EXT                  0x8573
02267 #define GL_ADD_SIGNED_EXT                 0x8574
02268 #define GL_INTERPOLATE_EXT                0x8575
02269 #define GL_CONSTANT_EXT                   0x8576
02270 #define GL_PRIMARY_COLOR_EXT              0x8577
02271 #define GL_PREVIOUS_EXT                   0x8578
02272 #define GL_SOURCE0_RGB_EXT                0x8580
02273 #define GL_SOURCE1_RGB_EXT                0x8581
02274 #define GL_SOURCE2_RGB_EXT                0x8582
02275 #define GL_SOURCE0_ALPHA_EXT              0x8588
02276 #define GL_SOURCE1_ALPHA_EXT              0x8589
02277 #define GL_SOURCE2_ALPHA_EXT              0x858A
02278 #define GL_OPERAND0_RGB_EXT               0x8590
02279 #define GL_OPERAND1_RGB_EXT               0x8591
02280 #define GL_OPERAND2_RGB_EXT               0x8592
02281 #define GL_OPERAND0_ALPHA_EXT             0x8598
02282 #define GL_OPERAND1_ALPHA_EXT             0x8599
02283 #define GL_OPERAND2_ALPHA_EXT             0x859A
02284
02285 /* NV_texture_env_combine4 */
02286 #define GL_COMBINE4_NV                    0x8503
02287 #define GL_SOURCE3_RGB_NV                 0x8583
02288 #define GL_SOURCE3_ALPHA_NV               0x858B
02289 #define GL_OPERAND3_RGB_NV                0x8593
02290 #define GL_OPERAND3_ALPHA_NV              0x859B
02291
02292 /* SUN_slice_accum */
02293 #define GL_SLICE_ACCUM_SUN                0x85CC
02294
02295 /* EXT_texture_filter_anisotropic */
02296 #define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE
02297 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
02298
02299 /* EXT_texture_lod_bias */
02300 #define GL_MAX_TEXTURE_LOD_BIAS_EXT       0x84FD
02301 #define GL_TEXTURE_FILTER_CONTROL_EXT     0x8500
02302 #define GL_TEXTURE_LOD_BIAS_EXT           0x8501
02303
02304 /* EXT_texture_edge_clamp */
02305 #define GL_CLAMP_TO_EDGE_EXT              0x812F
02306
02307 /* S3_s3tc */
02308 #define GL_RGB_S3TC                       0x83A0
02309 #define GL_RGB4_S3TC                      0x83A1
02310 #define GL_RGBA_S3TC                      0x83A2
02311 #define GL_RGBA4_S3TC                     0x83A3
02312 #define GL_RGBA_DXT5_S3TC                 0x83A4
02313 #define GL_RGBA4_DXT5_S3TC                0x83A5
02314
02315 /* ARB_transpose_matrix */
02316 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
02317 #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
02318 #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB   0x84E5
02319 #define GL_TRANSPOSE_COLOR_MATRIX_ARB     0x84E6
02320
02321 /* ARB_texture_compression */
02322 #define GL_COMPRESSED_ALPHA_ARB           0x84E9
02323 #define GL_COMPRESSED_LUMINANCE_ARB       0x84EA
02324 #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
02325 #define GL_COMPRESSED_INTENSITY_ARB       0x84EC
02326 #define GL_COMPRESSED_RGB_ARB             0x84ED
02327 #define GL_COMPRESSED_RGBA_ARB            0x84EE
02328 #define GL_TEXTURE_COMPRESSION_HINT_ARB   0x84EF
02329 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
02330 #define GL_TEXTURE_COMPRESSED_ARB         0x86A1
02331 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
02332 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
02333
02334 /* EXT_texture_compression_s3tc */
02335 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT   0x83F0
02336 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1
02337 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2
02338 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3
02339
02340 /* NV_fence */
02341 #define GL_ALL_COMPLETED_NV               0x84F2
02342 #define GL_FENCE_STATUS_NV                0x84F3
02343 #define GL_FENCE_CONDITION_NV             0x84F4
02344
02345 /* NV_mac_get_proc_address */
02346 #define GL_ALL_EXTENSIONS_NV              0x84FB
02347 #define GL_MAC_GET_PROC_ADDRESS_NV        0x84FC
02348
02349 /* NV_vertex_program */
02350 #define GL_VERTEX_PROGRAM_NV              0x8620
02351 #define GL_VERTEX_STATE_PROGRAM_NV        0x8621
02352 #define GL_ATTRIB_ARRAY_SIZE_NV           0x8623
02353 #define GL_ATTRIB_ARRAY_STRIDE_NV         0x8624
02354 #define GL_ATTRIB_ARRAY_TYPE_NV           0x8625
02355 #define GL_CURRENT_ATTRIB_NV              0x8626
02356 #define GL_PROGRAM_LENGTH_NV              0x8627
02357 #define GL_PROGRAM_STRING_NV              0x8628
02358 #define GL_MODELVIEW_PROJECTION_NV        0x8629
02359 #define GL_IDENTITY_NV                    0x862A
02360 #define GL_INVERSE_NV                     0x862B
02361 #define GL_TRANSPOSE_NV                   0x862C
02362 #define GL_INVERSE_TRANSPOSE_NV           0x862D
02363 #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
02364 #define GL_MAX_TRACK_MATRICES_NV          0x862F
02365 #define GL_MATRIX0_NV                     0x8630
02366 #define GL_MATRIX1_NV                     0x8631
02367 #define GL_MATRIX2_NV                     0x8632
02368 #define GL_MATRIX3_NV                     0x8633
02369 #define GL_MATRIX4_NV                     0x8634
02370 #define GL_MATRIX5_NV                     0x8635
02371 #define GL_MATRIX6_NV                     0x8636
02372 #define GL_MATRIX7_NV                     0x8637
02373 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV  0x8640
02374 #define GL_CURRENT_MATRIX_NV              0x8641
02375 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV   0x8642
02376 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV     0x8643
02377 #define GL_PROGRAM_PARAMETER_NV           0x8644
02378 #define GL_ATTRIB_ARRAY_POINTER_NV        0x8645
02379 #define GL_PROGRAM_TARGET_NV              0x8646
02380 #define GL_PROGRAM_RESIDENT_NV            0x8647
02381 #define GL_TRACK_MATRIX_NV                0x8648
02382 #define GL_TRACK_MATRIX_TRANSFORM_NV      0x8649
02383 #define GL_VERTEX_PROGRAM_BINDING_NV      0x864A
02384 #define GL_PROGRAM_ERROR_POSITION_NV      0x864B
02385 #define GL_VERTEX_ATTRIB_ARRAY0_NV        0x8650
02386 #define GL_VERTEX_ATTRIB_ARRAY1_NV        0x8651
02387 #define GL_VERTEX_ATTRIB_ARRAY2_NV        0x8652
02388 #define GL_VERTEX_ATTRIB_ARRAY3_NV        0x8653
02389 #define GL_VERTEX_ATTRIB_ARRAY4_NV        0x8654
02390 #define GL_VERTEX_ATTRIB_ARRAY5_NV        0x8655
02391 #define GL_VERTEX_ATTRIB_ARRAY6_NV        0x8656
02392 #define GL_VERTEX_ATTRIB_ARRAY7_NV        0x8657
02393 #define GL_VERTEX_ATTRIB_ARRAY8_NV        0x8658
02394 #define GL_VERTEX_ATTRIB_ARRAY9_NV        0x8659
02395 #define GL_VERTEX_ATTRIB_ARRAY10_NV       0x865A
02396 #define GL_VERTEX_ATTRIB_ARRAY11_NV       0x865B
02397 #define GL_VERTEX_ATTRIB_ARRAY12_NV       0x865C
02398 #define GL_VERTEX_ATTRIB_ARRAY13_NV       0x865D
02399 #define GL_VERTEX_ATTRIB_ARRAY14_NV       0x865E
02400 #define GL_VERTEX_ATTRIB_ARRAY15_NV       0x865F
02401 #define GL_MAP1_VERTEX_ATTRIB0_4_NV       0x8660
02402 #define GL_MAP1_VERTEX_ATTRIB1_4_NV       0x8661
02403 #define GL_MAP1_VERTEX_ATTRIB2_4_NV       0x8662
02404 #define GL_MAP1_VERTEX_ATTRIB3_4_NV       0x8663
02405 #define GL_MAP1_VERTEX_ATTRIB4_4_NV       0x8664
02406 #define GL_MAP1_VERTEX_ATTRIB5_4_NV       0x8665
02407 #define GL_MAP1_VERTEX_ATTRIB6_4_NV       0x8666
02408 #define GL_MAP1_VERTEX_ATTRIB7_4_NV       0x8667
02409 #define GL_MAP1_VERTEX_ATTRIB8_4_NV       0x8668
02410 #define GL_MAP1_VERTEX_ATTRIB9_4_NV       0x8669
02411 #define GL_MAP1_VERTEX_ATTRIB10_4_NV      0x866A
02412 #define GL_MAP1_VERTEX_ATTRIB11_4_NV      0x866B
02413 #define GL_MAP1_VERTEX_ATTRIB12_4_NV      0x866C
02414 #define GL_MAP1_VERTEX_ATTRIB13_4_NV      0x866D
02415 #define GL_MAP1_VERTEX_ATTRIB14_4_NV      0x866E
02416 #define GL_MAP1_VERTEX_ATTRIB15_4_NV      0x866F
02417 #define GL_MAP2_VERTEX_ATTRIB0_4_NV       0x8670
02418 #define GL_MAP2_VERTEX_ATTRIB1_4_NV       0x8671
02419 #define GL_MAP2_VERTEX_ATTRIB2_4_NV       0x8672
02420 #define GL_MAP2_VERTEX_ATTRIB3_4_NV       0x8673
02421 #define GL_MAP2_VERTEX_ATTRIB4_4_NV       0x8674
02422 #define GL_MAP2_VERTEX_ATTRIB5_4_NV       0x8675
02423 #define GL_MAP2_VERTEX_ATTRIB6_4_NV       0x8676
02424 #define GL_MAP2_VERTEX_ATTRIB7_4_NV       0x8677
02425 #define GL_MAP2_VERTEX_ATTRIB8_4_NV       0x8678
02426 #define GL_MAP2_VERTEX_ATTRIB9_4_NV       0x8679
02427 #define GL_MAP2_VERTEX_ATTRIB10_4_NV      0x867A
02428 #define GL_MAP2_VERTEX_ATTRIB11_4_NV      0x867B
02429 #define GL_MAP2_VERTEX_ATTRIB12_4_NV      0x867C
02430 #define GL_MAP2_VERTEX_ATTRIB13_4_NV      0x867D
02431 #define GL_MAP2_VERTEX_ATTRIB14_4_NV      0x867E
02432 #define GL_MAP2_VERTEX_ATTRIB15_4_NV      0x867F
02433
02434 /* NV_texture_shader */
02435 #define GL_OFFSET_TEXTURE_RECTANGLE_NV    0x864C
02436 #define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
02437 #define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
02438 #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
02439 #define GL_UNSIGNED_INT_S8_S8_8_8_NV      0x86DA
02440 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  0x86DB
02441 #define GL_DSDT_MAG_INTENSITY_NV          0x86DC
02442 #define GL_SHADER_CONSISTENT_NV           0x86DD
02443 #define GL_TEXTURE_SHADER_NV              0x86DE
02444 #define GL_SHADER_OPERATION_NV            0x86DF
02445 #define GL_CULL_MODES_NV                  0x86E0
02446 #define GL_OFFSET_TEXTURE_MATRIX_NV       0x86E1
02447 #define GL_OFFSET_TEXTURE_SCALE_NV        0x86E2
02448 #define GL_OFFSET_TEXTURE_BIAS_NV         0x86E3
02449 #define GL_OFFSET_TEXTURE_2D_MATRIX_NV    GL_OFFSET_TEXTURE_MATRIX_NV
02450 #define GL_OFFSET_TEXTURE_2D_SCALE_NV     GL_OFFSET_TEXTURE_SCALE_NV
02451 #define GL_OFFSET_TEXTURE_2D_BIAS_NV      GL_OFFSET_TEXTURE_BIAS_NV
02452 #define GL_PREVIOUS_TEXTURE_INPUT_NV      0x86E4
02453 #define GL_CONST_EYE_NV                   0x86E5
02454 #define GL_PASS_THROUGH_NV                0x86E6
02455 #define GL_CULL_FRAGMENT_NV               0x86E7
02456 #define GL_OFFSET_TEXTURE_2D_NV           0x86E8
02457 #define GL_DEPENDENT_AR_TEXTURE_2D_NV     0x86E9
02458 #define GL_DEPENDENT_GB_TEXTURE_2D_NV     0x86EA
02459 #define GL_DOT_PRODUCT_NV                 0x86EC
02460 #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV   0x86ED
02461 #define GL_DOT_PRODUCT_TEXTURE_2D_NV      0x86EE
02462 #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
02463 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
02464 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
02465 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
02466 #define GL_HILO_NV                        0x86F4
02467 #define GL_DSDT_NV                        0x86F5
02468 #define GL_DSDT_MAG_NV                    0x86F6
02469 #define GL_DSDT_MAG_VIB_NV                0x86F7
02470 #define GL_HILO16_NV                      0x86F8
02471 #define GL_SIGNED_HILO_NV                 0x86F9
02472 #define GL_SIGNED_HILO16_NV               0x86FA
02473 #define GL_SIGNED_RGBA_NV                 0x86FB
02474 #define GL_SIGNED_RGBA8_NV                0x86FC
02475 #define GL_SIGNED_RGB_NV                  0x86FE
02476 #define GL_SIGNED_RGB8_NV                 0x86FF
02477 #define GL_SIGNED_LUMINANCE_NV            0x8701
02478 #define GL_SIGNED_LUMINANCE8_NV           0x8702
02479 #define GL_SIGNED_LUMINANCE_ALPHA_NV      0x8703
02480 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV    0x8704
02481 #define GL_SIGNED_ALPHA_NV                0x8705
02482 #define GL_SIGNED_ALPHA8_NV               0x8706
02483 #define GL_SIGNED_INTENSITY_NV            0x8707
02484 #define GL_SIGNED_INTENSITY8_NV           0x8708
02485 #define GL_DSDT8_NV                       0x8709
02486 #define GL_DSDT8_MAG8_NV                  0x870A
02487 #define GL_DSDT8_MAG8_INTENSITY8_NV       0x870B
02488 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV   0x870C
02489 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
02490 #define GL_HI_SCALE_NV                    0x870E
02491 #define GL_LO_SCALE_NV                    0x870F
02492 #define GL_DS_SCALE_NV                    0x8710
02493 #define GL_DT_SCALE_NV                    0x8711
02494 #define GL_MAGNITUDE_SCALE_NV             0x8712
02495 #define GL_VIBRANCE_SCALE_NV              0x8713
02496 #define GL_HI_BIAS_NV                     0x8714
02497 #define GL_LO_BIAS_NV                     0x8715
02498 #define GL_DS_BIAS_NV                     0x8716
02499 #define GL_DT_BIAS_NV                     0x8717
02500 #define GL_MAGNITUDE_BIAS_NV              0x8718
02501 #define GL_VIBRANCE_BIAS_NV               0x8719
02502 #define GL_TEXTURE_BORDER_VALUES_NV       0x871A
02503 #define GL_TEXTURE_HI_SIZE_NV             0x871B
02504 #define GL_TEXTURE_LO_SIZE_NV             0x871C
02505 #define GL_TEXTURE_DS_SIZE_NV             0x871D
02506 #define GL_TEXTURE_DT_SIZE_NV             0x871E
02507 #define GL_TEXTURE_MAG_SIZE_NV            0x871F
02508
02509 /* NV_texture_shader2 */
02510 #define GL_DOT_PRODUCT_TEXTURE_3D_NV      0x86EF
02511
02512 /* NV_texture_shader3 */
02513 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
02514 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
02515 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
02516 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
02517 #define GL_OFFSET_HILO_TEXTURE_2D_NV      0x8854
02518 #define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
02519 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
02520 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
02521 #define GL_DEPENDENT_HILO_TEXTURE_2D_NV   0x8858
02522 #define GL_DEPENDENT_RGB_TEXTURE_3D_NV    0x8859
02523 #define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
02524 #define GL_DOT_PRODUCT_PASS_THROUGH_NV    0x885B
02525 #define GL_DOT_PRODUCT_TEXTURE_1D_NV      0x885C
02526 #define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
02527 #define GL_HILO8_NV                       0x885E
02528 #define GL_SIGNED_HILO8_NV                0x885F
02529 #define GL_FORCE_BLUE_TO_ONE_NV           0x8860
02530
02531 /* NV_register_combiners2 */
02532 #define GL_PER_STAGE_CONSTANTS_NV         0x8535
02533
02534 /* IBM_texture_mirrored_repeat */
02535 #define GL_MIRRORED_REPEAT_IBM            0x8370
02536
02537 /* ARB_texture_env_dot3 */
02538 #define GL_DOT3_RGB_ARB                   0x86AE
02539 #define GL_DOT3_RGBA_ARB                  0x86AF
02540
02541 /* EXT_texture_env_dot3 */
02542 #define GL_DOT3_RGB_EXT                   0x8740
02543 #define GL_DOT3_RGBA_EXT                  0x8741
02544
02545 /* APPLE_transform_hint */
02546 #define GL_TRANSFORM_HINT_APPLE           0x85B1
02547
02548 /* ARB_texture_border_clamp */
02549 #define GL_CLAMP_TO_BORDER_ARB            0x812D
02550
02551 /* NV_texture_rectangle */
02552 #define GL_TEXTURE_RECTANGLE_NV           0x84F5
02553 #define GL_TEXTURE_BINDING_RECTANGLE_NV   0x84F6
02554 #define GL_PROXY_TEXTURE_RECTANGLE_NV     0x84F7
02555 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV  0x84F8
02556
02557 /* ARB_texture_rectangle */
02558 #define GL_TEXTURE_RECTANGLE_ARB          0x84F5
02559 #define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84F6
02560 #define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84F7
02561 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
02562
02563 /* ARB_multisample */
02564 #define GL_MULTISAMPLE_ARB                0x809D
02565 #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB   0x809E
02566 #define GL_SAMPLE_ALPHA_TO_ONE_ARB        0x809F
02567 #define GL_SAMPLE_COVERAGE_ARB            0x80A0
02568 #define GL_SAMPLE_BUFFERS_ARB             0x80A8
02569 #define GL_SAMPLES_ARB                    0x80A9
02570 #define GL_SAMPLE_COVERAGE_VALUE_ARB      0x80AA
02571 #define GL_SAMPLE_COVERAGE_INVERT_ARB     0x80AB
02572 #define GL_MULTISAMPLE_BIT_ARB            0x20000000
02573
02574 /* NV_multisample_filter_hint */
02575 #define GL_MULTISAMPLE_FILTER_HINT_NV     0x8534
02576
02577 /* NV_packed_depth_stencil */
02578 #define GL_DEPTH_STENCIL_NV               0x84F9
02579 #define GL_UNSIGNED_INT_24_8_NV           0x84FA
02580
02581 /* EXT_draw_range_elements */
02582 #define GL_MAX_ELEMENTS_VERTICES_EXT      0x80E8
02583 #define GL_MAX_ELEMENTS_INDICES_EXT       0x80E9
02584
02585 /* NV_pixel_data_range */
02586 #define GL_WRITE_PIXEL_DATA_RANGE_NV      0x8878
02587 #define GL_READ_PIXEL_DATA_RANGE_NV       0x8879
02588 #define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
02589 #define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
02590 #define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
02591 #define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
02592
02593 /* NV_packed_normal */
02594 #define GL_UNSIGNED_INT_S10_S11_S11_REV_NV 0x886B
02595
02596 /* NV_half_float */
02597 #define GL_HALF_FLOAT_NV                  0x140B
02598
02599 /* NV_copy_depth_to_color */
02600 #define GL_DEPTH_STENCIL_TO_RGBA_NV       0x886E
02601 #define GL_DEPTH_STENCIL_TO_BGRA_NV       0x886F
02602
02603 /* HP_occlusion_test */
02604 #define GL_OCCLUSION_TEST_HP              0x8165
02605 #define GL_OCCLUSION_TEST_RESULT_HP       0x8166
02606
02607 /* NV_occlusion_query */
02608 #define GL_PIXEL_COUNTER_BITS_NV          0x8864
02609 #define GL_CURRENT_OCCLUSION_QUERY_ID_NV  0x8865
02610 #define GL_PIXEL_COUNT_NV                 0x8866
02611 #define GL_PIXEL_COUNT_AVAILABLE_NV       0x8867
02612
02613 /* ARB_occlusion_query */
02614 #define GL_QUERY_COUNTER_BITS_ARB         0x8864
02615 #define GL_CURRENT_QUERY_ARB              0x8865
02616 #define GL_QUERY_RESULT_ARB               0x8866
02617 #define GL_QUERY_RESULT_AVAILABLE_ARB     0x8867
02618 #define GL_SAMPLES_PASSED_ARB             0x8914
02619
02620 /* ARB_point_sprite */
02621 #define GL_POINT_SPRITE_ARB               0x8861
02622 #define GL_COORD_REPLACE_ARB              0x8862
02623
02624 /* NV_point_sprite */
02625 #define GL_POINT_SPRITE_NV                0x8861
02626 #define GL_COORD_REPLACE_NV               0x8862
02627 #define GL_POINT_SPRITE_R_MODE_NV         0x8863
02628
02629 /* 3DFX_tbuffer */
02630 #define GL_TBUFFER_WRITE_MASK_3DFX        0x86D8
02631
02632 /* NV_depth_clamp */
02633 #define GL_DEPTH_CLAMP_NV                 0x864F
02634
02635 /* NV_float_buffer */
02636 #define GL_FLOAT_R_NV                     0x8880
02637 #define GL_FLOAT_RG_NV                    0x8881
02638 #define GL_FLOAT_RGB_NV                   0x8882
02639 #define GL_FLOAT_RGBA_NV                  0x8883
02640 #define GL_FLOAT_R16_NV                   0x8884
02641 #define GL_FLOAT_R32_NV                   0x8885
02642 #define GL_FLOAT_RG16_NV                  0x8886
02643 #define GL_FLOAT_RG32_NV                  0x8887
02644 #define GL_FLOAT_RGB16_NV                 0x8888
02645 #define GL_FLOAT_RGB32_NV                 0x8889
02646 #define GL_FLOAT_RGBA16_NV                0x888A
02647 #define GL_FLOAT_RGBA32_NV                0x888B
02648 #define GL_TEXTURE_FLOAT_COMPONENTS_NV    0x888C
02649 #define GL_FLOAT_CLEAR_COLOR_VALUE_NV     0x888D
02650 #define GL_FLOAT_RGBA_MODE_NV             0x888E
02651
02652 /* EXT_stencil_two_side */
02653 #define GL_STENCIL_TEST_TWO_SIDE_EXT      0x8910
02654 #define GL_ACTIVE_STENCIL_FACE_EXT        0x8911
02655
02656 /* EXT_blend_func_separate */
02657 #define GL_BLEND_DST_RGB_EXT              0x80C8
02658 #define GL_BLEND_SRC_RGB_EXT              0x80C9
02659 #define GL_BLEND_DST_ALPHA_EXT            0x80CA
02660 #define GL_BLEND_SRC_ALPHA_EXT            0x80CB
02661
02662 /* ARB_texture_mirrored_repeat */
02663 #define GL_MIRRORED_REPEAT_ARB            0x8370
02664
02665 /* ARB_depth_texture */
02666 #define GL_DEPTH_COMPONENT16_ARB          0x81A5
02667 #define GL_DEPTH_COMPONENT24_ARB          0x81A6
02668 #define GL_DEPTH_COMPONENT32_ARB          0x81A7
02669 #define GL_TEXTURE_DEPTH_SIZE_ARB         0x884A
02670 #define GL_DEPTH_TEXTURE_MODE_ARB         0x884B
02671
02672 /* ARB_shadow */
02673 #define GL_TEXTURE_COMPARE_MODE_ARB       0x884C
02674 #define GL_TEXTURE_COMPARE_FUNC_ARB       0x884D
02675 #define GL_COMPARE_R_TO_TEXTURE_ARB       0x884E
02676
02677 /* ARB_shadow_ambient */
02678 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
02679
02680 /* NV_force_software */
02681 #define GL_FORCE_SOFTWARE_NV              0x6007
02682
02683 /* ARB_point_parameters */
02684 #define GL_POINT_SIZE_MIN_ARB             0x8126
02685 #define GL_POINT_SIZE_MAX_ARB             0x8127
02686 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB  0x8128
02687 #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
02688
02689 /* EXT_depth_bounds_test */
02690 #define GL_DEPTH_BOUNDS_TEST_EXT          0x8890
02691 #define GL_DEPTH_BOUNDS_EXT               0x8891
02692
02693 /* ARB_vertex_program */
02694 #define GL_VERTEX_PROGRAM_ARB             0x8620
02695 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB  0x8642
02696 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB    0x8643
02697 #define GL_COLOR_SUM_ARB                  0x8458
02698 #define GL_PROGRAM_FORMAT_ASCII_ARB       0x8875
02699 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
02700 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB   0x8623
02701 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
02702 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB   0x8625
02703 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
02704 #define GL_CURRENT_VERTEX_ATTRIB_ARB      0x8626
02705 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
02706 #define GL_PROGRAM_LENGTH_ARB             0x8627
02707 #define GL_PROGRAM_FORMAT_ARB             0x8876
02708 #define GL_PROGRAM_BINDING_ARB            0x8677
02709 #define GL_PROGRAM_INSTRUCTIONS_ARB       0x88A0
02710 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB   0x88A1
02711 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
02712 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
02713 #define GL_PROGRAM_TEMPORARIES_ARB        0x88A4
02714 #define GL_MAX_PROGRAM_TEMPORARIES_ARB    0x88A5
02715 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
02716 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
02717 #define GL_PROGRAM_PARAMETERS_ARB         0x88A8
02718 #define GL_MAX_PROGRAM_PARAMETERS_ARB     0x88A9
02719 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB  0x88AA
02720 #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
02721 #define GL_PROGRAM_ATTRIBS_ARB            0x88AC
02722 #define GL_MAX_PROGRAM_ATTRIBS_ARB        0x88AD
02723 #define GL_PROGRAM_NATIVE_ATTRIBS_ARB     0x88AE
02724 #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
02725 #define GL_PROGRAM_ADDRESS_REGISTERS_ARB  0x88B0
02726 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
02727 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
02728 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
02729 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
02730 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
02731 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
02732 #define GL_PROGRAM_STRING_ARB             0x8628
02733 #define GL_PROGRAM_ERROR_POSITION_ARB     0x864B
02734 #define GL_CURRENT_MATRIX_ARB             0x8641
02735 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB   0x88B7
02736 #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
02737 #define GL_MAX_VERTEX_ATTRIBS_ARB         0x8869
02738 #define GL_MAX_PROGRAM_MATRICES_ARB       0x862F
02739 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
02740 #define GL_PROGRAM_ERROR_STRING_ARB       0x8874
02741 #define GL_MATRIX0_ARB                    0x88C0
02742 #define GL_MATRIX1_ARB                    0x88C1
02743 #define GL_MATRIX2_ARB                    0x88C2
02744 #define GL_MATRIX3_ARB                    0x88C3
02745 #define GL_MATRIX4_ARB                    0x88C4
02746 #define GL_MATRIX5_ARB                    0x88C5
02747 #define GL_MATRIX6_ARB                    0x88C6
02748 #define GL_MATRIX7_ARB                    0x88C7
02749 #define GL_MATRIX8_ARB                    0x88C8
02750 #define GL_MATRIX9_ARB                    0x88C9
02751 #define GL_MATRIX10_ARB                   0x88CA
02752 #define GL_MATRIX11_ARB                   0x88CB
02753 #define GL_MATRIX12_ARB                   0x88CC
02754 #define GL_MATRIX13_ARB                   0x88CD
02755 #define GL_MATRIX14_ARB                   0x88CE
02756 #define GL_MATRIX15_ARB                   0x88CF
02757 #define GL_MATRIX16_ARB                   0x88D0
02758 #define GL_MATRIX17_ARB                   0x88D1
02759 #define GL_MATRIX18_ARB                   0x88D2
02760 #define GL_MATRIX19_ARB                   0x88D3
02761 #define GL_MATRIX20_ARB                   0x88D4
02762 #define GL_MATRIX21_ARB                   0x88D5
02763 #define GL_MATRIX22_ARB                   0x88D6
02764 #define GL_MATRIX23_ARB                   0x88D7
02765 #define GL_MATRIX24_ARB                   0x88D8
02766 #define GL_MATRIX25_ARB                   0x88D9
02767 #define GL_MATRIX26_ARB                   0x88DA
02768 #define GL_MATRIX27_ARB                   0x88DB
02769 #define GL_MATRIX28_ARB                   0x88DC
02770 #define GL_MATRIX29_ARB                   0x88DD
02771 #define GL_MATRIX30_ARB                   0x88DE
02772 #define GL_MATRIX31_ARB                   0x88DF
02773
02774 /* OpenGL14 */
02775 #define GL_POINT_SIZE_MIN                 0x8126
02776 #define GL_POINT_SIZE_MAX                 0x8127
02777 #define GL_POINT_FADE_THRESHOLD_SIZE      0x8128
02778 #define GL_POINT_DISTANCE_ATTENUATION     0x8129
02779 #define GL_FOG_COORDINATE_SOURCE          0x8450
02780 #define GL_FOG_COORDINATE                 0x8451
02781 #define GL_FRAGMENT_DEPTH                 0x8452
02782 #define GL_CURRENT_FOG_COORDINATE         0x8453
02783 #define GL_FOG_COORDINATE_ARRAY_TYPE      0x8454
02784 #define GL_FOG_COORDINATE_ARRAY_STRIDE    0x8455
02785 #define GL_FOG_COORDINATE_ARRAY_POINTER   0x8456
02786 #define GL_FOG_COORDINATE_ARRAY           0x8457
02787 #define GL_COLOR_SUM                      0x8458
02788 #define GL_CURRENT_SECONDARY_COLOR        0x8459
02789 #define GL_SECONDARY_COLOR_ARRAY_SIZE     0x845A
02790 #define GL_SECONDARY_COLOR_ARRAY_TYPE     0x845B
02791 #define GL_SECONDARY_COLOR_ARRAY_STRIDE   0x845C
02792 #define GL_SECONDARY_COLOR_ARRAY_POINTER  0x845D
02793 #define GL_SECONDARY_COLOR_ARRAY          0x845E
02794 #define GL_INCR_WRAP                      0x8507
02795 #define GL_DECR_WRAP                      0x8508
02796 #define GL_MAX_TEXTURE_LOD_BIAS           0x84FD
02797 #define GL_TEXTURE_FILTER_CONTROL         0x8500
02798 #define GL_TEXTURE_LOD_BIAS               0x8501
02799 #define GL_GENERATE_MIPMAP_SGIS           0x8191
02800 #define GL_GENERATE_MIPMAP_HINT_SGIS      0x8192
02801 #define GL_BLEND_DST_RGB                  0x80C8
02802 #define GL_BLEND_SRC_RGB                  0x80C9
02803 #define GL_BLEND_DST_ALPHA                0x80CA
02804 #define GL_BLEND_SRC_ALPHA                0x80CB
02805 #define GL_MIRRORED_REPEAT                0x8370
02806 #define GL_DEPTH_COMPONENT16              0x81A5
02807 #define GL_DEPTH_COMPONENT24              0x81A6
02808 #define GL_DEPTH_COMPONENT32              0x81A7
02809 #define GL_TEXTURE_DEPTH_SIZE             0x884A
02810 #define GL_DEPTH_TEXTURE_MODE             0x884B
02811 #define GL_TEXTURE_COMPARE_MODE           0x884C
02812 #define GL_TEXTURE_COMPARE_FUNC           0x884D
02813 #define GL_COMPARE_R_TO_TEXTURE           0x884E
02814
02815 /* NV_primitive_restart */
02816 #define GL_PRIMITIVE_RESTART_NV           0x8558
02817 #define GL_PRIMITIVE_RESTART_INDEX_NV     0x8559
02818
02819 /* SGIS_texture_color_mask */
02820 #define GL_TEXTURE_COLOR_WRITEMASK_SGIS   0x81EF
02821
02822 /* NVX_ycrcb */
02823 #define GL_CRYCBY_422_NVX                 0x600A
02824 #define GL_YCRYCB_422_NVX                 0x600B
02825
02826 /* NV_texture_expand_normal */
02827 #define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
02828
02829 /* ARB_fragment_program */
02830 #define GL_FRAGMENT_PROGRAM_ARB           0x8804
02831 /*      GL_PROGRAM_FORMAT_ASCII_ARB */
02832 /*      GL_PROGRAM_LENGTH_ARB */
02833 /*      GL_PROGRAM_FORMAT_ARB */
02834 /*      GL_PROGRAM_BINDING_ARB */
02835 /*      GL_PROGRAM_INSTRUCTIONS_ARB */
02836 /*      GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
02837 /*      GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
02838 /*      GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
02839 /*      GL_PROGRAM_TEMPORARIES_ARB */
02840 /*      GL_MAX_PROGRAM_TEMPORARIES_ARB */
02841 /*      GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
02842 /*      GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
02843 /*      GL_PROGRAM_PARAMETERS_ARB */
02844 /*      GL_MAX_PROGRAM_PARAMETERS_ARB */
02845 /*      GL_PROGRAM_NATIVE_PARAMETERS_ARB */
02846 /*      GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
02847 /*      GL_PROGRAM_ATTRIBS_ARB */
02848 /*      GL_MAX_PROGRAM_ATTRIBS_ARB */
02849 /*      GL_PROGRAM_NATIVE_ATTRIBS_ARB */
02850 /*      GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
02851 /*      GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
02852 /*      GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
02853 /*      GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
02854 #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB   0x8805
02855 #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB   0x8806
02856 #define GL_PROGRAM_TEX_INDIRECTIONS_ARB   0x8807
02857 #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
02858 #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
02859 #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
02860 #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
02861 #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
02862 #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
02863 #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
02864 #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
02865 #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
02866 /*      GL_PROGRAM_STRING_ARB */
02867 /*      GL_PROGRAM_ERROR_POSITION_ARB */
02868 /*      GL_CURRENT_MATRIX_ARB */
02869 /*      GL_TRANSPOSE_CURRENT_MATRIX_ARB */
02870 /*      GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
02871 /*      GL_MAX_PROGRAM_MATRICES_ARB */
02872 /*      GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
02873 #define GL_MAX_TEXTURE_COORDS_ARB         0x8871
02874 #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB    0x8872
02875 /*      GL_PROGRAM_ERROR_STRING_ARB */
02876 /*      GL_MATRIX0_ARB */
02877 /*      GL_MATRIX1_ARB */
02878 /*      GL_MATRIX2_ARB */
02879 /*      GL_MATRIX3_ARB */
02880 /*      GL_MATRIX4_ARB */
02881 /*      GL_MATRIX5_ARB */
02882 /*      GL_MATRIX6_ARB */
02883 /*      GL_MATRIX7_ARB */
02884 /*      GL_MATRIX8_ARB */
02885 /*      GL_MATRIX9_ARB */
02886 /*      GL_MATRIX10_ARB */
02887 /*      GL_MATRIX11_ARB */
02888 /*      GL_MATRIX12_ARB */
02889 /*      GL_MATRIX13_ARB */
02890 /*      GL_MATRIX14_ARB */
02891 /*      GL_MATRIX15_ARB */
02892 /*      GL_MATRIX16_ARB */
02893 /*      GL_MATRIX17_ARB */
02894 /*      GL_MATRIX18_ARB */
02895 /*      GL_MATRIX19_ARB */
02896 /*      GL_MATRIX20_ARB */
02897 /*      GL_MATRIX21_ARB */
02898 /*      GL_MATRIX22_ARB */
02899 /*      GL_MATRIX23_ARB */
02900 /*      GL_MATRIX24_ARB */
02901 /*      GL_MATRIX25_ARB */
02902 /*      GL_MATRIX26_ARB */
02903 /*      GL_MATRIX27_ARB */
02904 /*      GL_MATRIX28_ARB */
02905 /*      GL_MATRIX29_ARB */
02906 /*      GL_MATRIX30_ARB */
02907 /*      GL_MATRIX31_ARB */
02908 /*      GL_PROGRAM_ERROR_STRING_ARB */
02909 /*      GL_MATRIX0_ARB */
02910 /*      GL_MATRIX1_ARB */
02911 /*      GL_MATRIX2_ARB */
02912 /*      GL_MATRIX3_ARB */
02913 /*      GL_MATRIX4_ARB */
02914 /*      GL_MATRIX5_ARB */
02915 /*      GL_MATRIX6_ARB */
02916 /*      GL_MATRIX7_ARB */
02917 /*      GL_MATRIX8_ARB */
02918 /*      GL_MATRIX9_ARB */
02919 /*      GL_MATRIX10_ARB */
02920 /*      GL_MATRIX11_ARB */
02921 /*      GL_MATRIX12_ARB */
02922 /*      GL_MATRIX13_ARB */
02923 /*      GL_MATRIX14_ARB */
02924 /*      GL_MATRIX15_ARB */
02925 /*      GL_MATRIX16_ARB */
02926 /*      GL_MATRIX17_ARB */
02927 /*      GL_MATRIX18_ARB */
02928 /*      GL_MATRIX19_ARB */
02929 /*      GL_MATRIX20_ARB */
02930 /*      GL_MATRIX21_ARB */
02931 /*      GL_MATRIX22_ARB */
02932 /*      GL_MATRIX23_ARB */
02933 /*      GL_MATRIX24_ARB */
02934 /*      GL_MATRIX25_ARB */
02935 /*      GL_MATRIX26_ARB */
02936 /*      GL_MATRIX27_ARB */
02937 /*      GL_MATRIX28_ARB */
02938 /*      GL_MATRIX29_ARB */
02939 /*      GL_MATRIX30_ARB */
02940 /*      GL_MATRIX31_ARB */
02941
02942 /* ARB_vertex_buffer_object */
02943 #define GL_ARRAY_BUFFER_ARB               0x8892
02944 #define GL_ELEMENT_ARRAY_BUFFER_ARB       0x8893
02945 #define GL_ARRAY_BUFFER_BINDING_ARB       0x8894
02946 #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
02947 #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
02948 #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
02949 #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
02950 #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
02951 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
02952 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
02953 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
02954 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
02955 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
02956 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
02957 #define GL_STREAM_DRAW_ARB                0x88E0
02958 #define GL_STREAM_READ_ARB                0x88E1
02959 #define GL_STREAM_COPY_ARB                0x88E2
02960 #define GL_STATIC_DRAW_ARB                0x88E4
02961 #define GL_STATIC_READ_ARB                0x88E5
02962 #define GL_STATIC_COPY_ARB                0x88E6
02963 #define GL_DYNAMIC_DRAW_ARB               0x88E8
02964 #define GL_DYNAMIC_READ_ARB               0x88E9
02965 #define GL_DYNAMIC_COPY_ARB               0x88EA
02966 #define GL_READ_ONLY_ARB                  0x88B8
02967 #define GL_WRITE_ONLY_ARB                 0x88B9
02968 #define GL_READ_WRITE_ARB                 0x88BA
02969 #define GL_BUFFER_SIZE_ARB                0x8764
02970 #define GL_BUFFER_USAGE_ARB               0x8765
02971 #define GL_BUFFER_ACCESS_ARB              0x88BB
02972 #define GL_BUFFER_MAPPED_ARB              0x88BC
02973 #define GL_BUFFER_MAP_POINTER_ARB         0x88BD
02974
02975 /* EXT_pixel_buffer_object */
02976 #define GL_PIXEL_PACK_BUFFER_EXT          0x88EB
02977 #define GL_PIXEL_UNPACK_BUFFER_EXT        0x88EC
02978 #define GL_PIXEL_PACK_BUFFER_BINDING_EXT  0x88ED
02979 #define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
02980
02981 /* NVX_hrsd_pixels */
02982 #define GL_HRSD_PIXELS_NVX                0x6400
02983 #define GL_HRSD_SCALE_NVX                 0x6401
02984
02985 /* IBM_rasterpos_clip */
02986 #define GL_RASTER_POSITION_UNCLIPPED_IBM  0x19262
02987
02988 /* ATI_texture_mirror_once */
02989 #define GL_MIRROR_CLAMP_ATI               0x8742
02990 #define GL_MIRROR_CLAMP_TO_EDGE_ATI       0x8743
02991
02992 /* ATI_texture_float */
02993 #define GL_RGBA_FLOAT32_ATI               0x8814
02994 #define GL_RGB_FLOAT32_ATI                0x8815
02995 #define GL_ALPHA_FLOAT32_ATI              0x8816
02996 #define GL_INTENSITY_FLOAT32_ATI          0x8817
02997 #define GL_LUMINANCE_FLOAT32_ATI          0x8818
02998 #define GL_LUMINANCE_ALPHA_FLOAT32_ATI    0x8819
02999 #define GL_RGBA_FLOAT16_ATI               0x881A
03000 #define GL_RGB_FLOAT16_ATI                0x881B
03001 #define GL_ALPHA_FLOAT16_ATI              0x881C
03002 #define GL_INTENSITY_FLOAT16_ATI          0x881D
03003 #define GL_LUMINANCE_FLOAT16_ATI          0x881E
03004 #define GL_LUMINANCE_ALPHA_FLOAT16_ATI    0x881F
03005
03006 /* ATI_pixel_format_float */
03007 #define GL_RGBA_FLOAT_MODE_ATI            0x8820
03008 #define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
03009
03010 /* ATI_draw_buffers */
03011 #define GL_MAX_DRAW_BUFFERS_ATI           0x8824
03012 #define GL_DRAW_BUFFER0_ATI               0x8825
03013 #define GL_DRAW_BUFFER1_ATI               0x8826
03014 #define GL_DRAW_BUFFER2_ATI               0x8827
03015 #define GL_DRAW_BUFFER3_ATI               0x8828
03016 #define GL_DRAW_BUFFER4_ATI               0x8829
03017 #define GL_DRAW_BUFFER5_ATI               0x882A
03018 #define GL_DRAW_BUFFER6_ATI               0x882B
03019 #define GL_DRAW_BUFFER7_ATI               0x882C
03020 #define GL_DRAW_BUFFER8_ATI               0x882D
03021 #define GL_DRAW_BUFFER9_ATI               0x882E
03022 #define GL_DRAW_BUFFER10_ATI              0x882F
03023 #define GL_DRAW_BUFFER11_ATI              0x8830
03024 #define GL_DRAW_BUFFER12_ATI              0x8831
03025 #define GL_DRAW_BUFFER13_ATI              0x8832
03026 #define GL_DRAW_BUFFER14_ATI              0x8833
03027 #define GL_DRAW_BUFFER15_ATI              0x8834
03028
03029 /* EXT_texture_mirror_clamp */
03030 #define GL_MIRROR_CLAMP_EXT               0x8742
03031 #define GL_MIRROR_CLAMP_TO_EDGE_EXT       0x8743
03032 #define GL_MIRROR_CLAMP_TO_BORDER_EXT     0x8912
03033
03034 /* EXT_blend_equation_separate */
03035 #define GL_BLEND_EQUATION_RGB_EXT         0x8009
03036 #define GL_BLEND_EQUATION_ALPHA_EXT       0x883D
03037
03038 /* NV_centroid_sample */
03039 #define GL_TEXTURE_COORD_CONTROL_NV       0x891A
03040 #define GL_CENTROID_SAMPLE_NV             0x891B
03041
03042 /* ARB_shader_objects */
03043 #define GL_PROGRAM_OBJECT_ARB             0x8B40
03044 #define GL_SHADER_OBJECT_ARB              0x8B48
03045 #define GL_OBJECT_TYPE_ARB                0x8B4E
03046 #define GL_OBJECT_SUBTYPE_ARB             0x8B4F
03047 #define GL_OBJECT_DELETE_STATUS_ARB       0x8B80
03048 #define GL_OBJECT_COMPILE_STATUS_ARB      0x8B81
03049 #define GL_OBJECT_LINK_STATUS_ARB         0x8B82
03050 #define GL_OBJECT_VALIDATE_STATUS_ARB     0x8B83
03051 #define GL_OBJECT_INFO_LOG_LENGTH_ARB     0x8B84
03052 #define GL_OBJECT_ATTACHED_OBJECTS_ARB    0x8B85
03053 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB     0x8B86
03054 #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
03055 #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
03056 #define GL_FLOAT_VEC2_ARB                 0x8B50
03057 #define GL_FLOAT_VEC3_ARB                 0x8B51
03058 #define GL_FLOAT_VEC4_ARB                 0x8B52
03059 #define GL_INT_VEC2_ARB                   0x8B53
03060 #define GL_INT_VEC3_ARB                   0x8B54
03061 #define GL_INT_VEC4_ARB                   0x8B55
03062 #define GL_BOOL_ARB                       0x8B56
03063 #define GL_BOOL_VEC2_ARB                  0x8B57
03064 #define GL_BOOL_VEC3_ARB                  0x8B58
03065 #define GL_BOOL_VEC4_ARB                  0x8B59
03066 #define GL_FLOAT_MAT2_ARB                 0x8B5A
03067 #define GL_FLOAT_MAT3_ARB                 0x8B5B
03068 #define GL_FLOAT_MAT4_ARB                 0x8B5C
03069 #define GL_SAMPLER_1D_ARB                 0x8B5D
03070 #define GL_SAMPLER_2D_ARB                 0x8B5E
03071 #define GL_SAMPLER_3D_ARB                 0x8B5F
03072 #define GL_SAMPLER_CUBE_ARB               0x8B60
03073 #define GL_SAMPLER_1D_SHADOW_ARB          0x8B61
03074 #define GL_SAMPLER_2D_SHADOW_ARB          0x8B62
03075
03076 /* ARB_vertex_shader */
03077 #define GL_VERTEX_SHADER_ARB              0x8B31
03078 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
03079 #define GL_MAX_VARYING_FLOATS_ARB         0x8B4B
03080 #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
03081 #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
03082 #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB   0x8B89
03083 #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
03084
03085 /* ARB_fragment_shader */
03086 #define GL_FRAGMENT_SHADER_ARB            0x8B30
03087 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
03088
03089 /* EXT_Cg_shader */
03090 #define GL_CG_VERTEX_SHADER_EXT           0x890E
03091 #define GL_CG_FRAGMENT_SHADER_EXT         0x890F
03092
03093 /* OpenGL15 */
03094 #define GL_FOG_COORD_SRC                  0x8450
03095 #define GL_FOG_COORD                      0x8451
03096 #define GL_CURRENT_FOG_COORD              0x8453
03097 #define GL_FOG_COORD_ARRAY_TYPE           0x8454
03098 #define GL_FOG_COORD_ARRAY_STRIDE         0x8455
03099 #define GL_FOG_COORD_ARRAY_POINTER        0x8456
03100 #define GL_FOG_COORD_ARRAY                0x8457
03101 #define GL_SRC0_RGB                       0x8580
03102 #define GL_SRC1_RGB                       0x8581
03103 #define GL_SRC2_RGB                       0x8582
03104 #define GL_SRC0_ALPHA                     0x8588
03105 #define GL_SRC1_ALPHA                     0x8589
03106 #define GL_SRC2_ALPHA                     0x858A
03107 #define GL_QUERY_COUNTER_BITS             0x8864
03108 #define GL_CURRENT_QUERY                  0x8865
03109 #define GL_QUERY_RESULT                   0x8866
03110 #define GL_QUERY_RESULT_AVAILABLE         0x8867
03111 #define GL_SAMPLES_PASSED                 0x8914
03112 #define GL_ARRAY_BUFFER                   0x8892
03113 #define GL_ELEMENT_ARRAY_BUFFER           0x8893
03114 #define GL_ARRAY_BUFFER_BINDING           0x8894
03115 #define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895
03116 #define GL_VERTEX_ARRAY_BUFFER_BINDING    0x8896
03117 #define GL_NORMAL_ARRAY_BUFFER_BINDING    0x8897
03118 #define GL_COLOR_ARRAY_BUFFER_BINDING     0x8898
03119 #define GL_INDEX_ARRAY_BUFFER_BINDING     0x8899
03120 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
03121 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
03122 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
03123 #define GL_FOG_COORD_ARRAY_BUFFER_BINDING 0x889D
03124 #define GL_STREAM_DRAW                    0x88E0
03125 #define GL_STREAM_READ                    0x88E1
03126 #define GL_STREAM_COPY                    0x88E2
03127 #define GL_STATIC_DRAW                    0x88E4
03128 #define GL_STATIC_READ                    0x88E5
03129 #define GL_STATIC_COPY                    0x88E6
03130 #define GL_DYNAMIC_DRAW                   0x88E8
03131 #define GL_DYNAMIC_READ                   0x88E9
03132 #define GL_DYNAMIC_COPY                   0x88EA
03133 #define GL_READ_ONLY                      0x88B8
03134 #define GL_WRITE_ONLY                     0x88B9
03135 #define GL_READ_WRITE                     0x88BA
03136 #define GL_BUFFER_SIZE                    0x8764
03137 #define GL_BUFFER_USAGE                   0x8765
03138 #define GL_BUFFER_ACCESS                  0x88BB
03139 #define GL_BUFFER_MAPPED                  0x88BC
03140 #define GL_BUFFER_MAP_POINTER             0x88BD
03141
03142 /* NV_vertex_program2_option */
03143 #define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
03144 #define GL_MAX_PROGRAM_CALL_DEPTH_NV      0x88F5
03145
03146 /* NV_fragment_program2 */
03147 /*      GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
03148 /*      GL_MAX_PROGRAM_CALL_DEPTH_NV */
03149 #define GL_MAX_PROGRAM_IF_DEPTH_NV        0x88F6
03150 #define GL_MAX_PROGRAM_LOOP_DEPTH_NV      0x88F7
03151 #define GL_MAX_PROGRAM_LOOP_COUNT_NV      0x88F8
03152
03153 /* EXT_framebuffer_object */
03154 #define GL_FRAMEBUFFER_EXT                0X6000
03155 #define GL_TEXTURE_FACE_EXT               0x6001
03156 #define GL_TEXTURE_IMAGE_EXT              0x6002
03157 #define GL_TEXTURE_LEVEL_EXT              0x6003
03158 #define GL_BUFFER_TYPE_EXT                0x6006
03159 #define GL_BUFFER_NAME_EXT                0x6007
03160 #define GL_TEXTURE_BUFFER_TYPE            0x6008
03161 #define GL_INTRINSIC_BUFFER_TYPE          0x6009
03162 #define GL_INTRINSIC_WIDTH_EXT            0x600A
03163 #define GL_INTRINSIC_HEIGHT_EXT           0x600B
03164
03165 /*************************************************************/
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


GLFunctions.h Source File

GLFunctions.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  <set>
00018 #include  <string>
00019
00020 namespace nvgl
00021 {
00022
00024
00029   class GLFunctions
00030   {
00031     public:
00033 #if defined(_WIN32)
00034       GLFunctions( void );
00035 #elif defined(LINUX)
00036       GLFunctions( Display* dpy );
00037 #endif
00038
00040       ~GLFunctions( void );
00041
00043
00045       bool  isAvailable( const std::string& extension ) const;
00046
00048
00050       bool  isExported( const std::string& extension )  const;
00051
00052     public:
00053 //  Don't need to document all these wrapper functions !!!
00054 #if ! defined( DOXYGEN_IGNORE )
00055       //  version 1.2 functions
00056       PFNGLBLENDCOLORPROC                         glBlendColor;
00057       PFNGLBLENDEQUATIONPROC                      glBlendEquation;
00058       PFNGLCOLORTABLEPROC                         glColorTable;
00059       PFNGLCOLORTABLEPARAMETERFVPROC              glColorTableParameterfv;
00060       PFNGLCOLORTABLEPARAMETERIVPROC              glColorTableParameteriv;
00061       PFNGLCOPYCOLORTABLEPROC                     glCopyColorTable;
00062       PFNGLCOPYTEXSUBIMAGE3DPROC                  glCopyTexSubImage3D;
00063       PFNGLDRAWRANGEELEMENTSPROC                  glDrawRangeElements;
00064       PFNGLGETCOLORTABLEPROC                      glGetColorTable;
00065       PFNGLGETCOLORTABLEPARAMETERFVPROC           glGetColorTableParameterfv;
00066       PFNGLGETCOLORTABLEPARAMETERIVPROC           glGetColorTableParameteriv;
00067       PFNGLTEXIMAGE3DPROC                         glTexImage3D;
00068       PFNGLTEXSUBIMAGE3DPROC                      glTexSubImage3D;
00069
00070       //  version 1.3 functions
00071       PFNGLACTIVETEXTUREPROC                      glActiveTexture;
00072       PFNGLCLIENTACTIVETEXTUREPROC                glClientActiveTexture;
00073       PFNGLCOMPRESSEDTEXIMAGE3DPROC               glCompressedTexImage3D;
00074       PFNGLCOMPRESSEDTEXIMAGE2DPROC               glCompressedTexImage2D;
00075       PFNGLCOMPRESSEDTEXIMAGE1DPROC               glCompressedTexImage1D;
00076       PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC            glCompressedTexSubImage3D;
00077       PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC            glCompressedTexSubImage2D;
00078       PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC            glCompressedTexSubImage1D;
00079       PFNGLGETCOMPRESSEDTEXIMAGEPROC              glGetCompressedTexImage;
00080       PFNGLLOADTRANSPOSEMATRIXFPROC               glLoadTransposeMatrixf;
00081       PFNGLLOADTRANSPOSEMATRIXDPROC               glLoadTransposeMatrixd;
00082       PFNGLMULTITEXCOORD1DPROC                    glMultiTexCoord1d;
00083       PFNGLMULTITEXCOORD1DVPROC                   glMultiTexCoord1dv;
00084       PFNGLMULTITEXCOORD1FPROC                    glMultiTexCoord1f;
00085       PFNGLMULTITEXCOORD1FVPROC                   glMultiTexCoord1fv;
00086       PFNGLMULTITEXCOORD1IPROC                    glMultiTexCoord1i;
00087       PFNGLMULTITEXCOORD1IVPROC                   glMultiTexCoord1iv;
00088       PFNGLMULTITEXCOORD1SPROC                    glMultiTexCoord1s;
00089       PFNGLMULTITEXCOORD1SVPROC                   glMultiTexCoord1sv;
00090       PFNGLMULTITEXCOORD2DPROC                    glMultiTexCoord2d;
00091       PFNGLMULTITEXCOORD2DVPROC                   glMultiTexCoord2dv;
00092       PFNGLMULTITEXCOORD2FPROC                    glMultiTexCoord2f;
00093       PFNGLMULTITEXCOORD2FVPROC                   glMultiTexCoord2fv;
00094       PFNGLMULTITEXCOORD2IPROC                    glMultiTexCoord2i;
00095       PFNGLMULTITEXCOORD2IVPROC                   glMultiTexCoord2iv;
00096       PFNGLMULTITEXCOORD2SPROC                    glMultiTexCoord2s;
00097       PFNGLMULTITEXCOORD2SVPROC                   glMultiTexCoord2sv;
00098       PFNGLMULTITEXCOORD3DPROC                    glMultiTexCoord3d;
00099       PFNGLMULTITEXCOORD3DVPROC                   glMultiTexCoord3dv;
00100       PFNGLMULTITEXCOORD3FPROC                    glMultiTexCoord3f;
00101       PFNGLMULTITEXCOORD3FVPROC                   glMultiTexCoord3fv;
00102       PFNGLMULTITEXCOORD3IPROC                    glMultiTexCoord3i;
00103       PFNGLMULTITEXCOORD3IVPROC                   glMultiTexCoord3iv;
00104       PFNGLMULTITEXCOORD3SPROC                    glMultiTexCoord3s;
00105       PFNGLMULTITEXCOORD3SVPROC                   glMultiTexCoord3sv;
00106       PFNGLMULTITEXCOORD4DPROC                    glMultiTexCoord4d;
00107       PFNGLMULTITEXCOORD4DVPROC                   glMultiTexCoord4dv;
00108       PFNGLMULTITEXCOORD4FPROC                    glMultiTexCoord4f;
00109       PFNGLMULTITEXCOORD4FVPROC                   glMultiTexCoord4fv;
00110       PFNGLMULTITEXCOORD4IPROC                    glMultiTexCoord4i;
00111       PFNGLMULTITEXCOORD4IVPROC                   glMultiTexCoord4iv;
00112       PFNGLMULTITEXCOORD4SPROC                    glMultiTexCoord4s;
00113       PFNGLMULTITEXCOORD4SVPROC                   glMultiTexCoord4sv;
00114       PFNGLMULTTRANSPOSEMATRIXFPROC               glMultTransposeMatrixf;
00115       PFNGLMULTTRANSPOSEMATRIXDPROC               glMultTransposeMatrixd;
00116       PFNGLSAMPLECOVERAGEPROC                     glSampleCoverage;
00117
00118       //  version 1.4 functions
00119       PFNGLBLENDFUNCSEPARATEPROC                  glBlendFuncSeparate;
00120       PFNGLFOGCOORDDPROC                          glFogCoordd;
00121       PFNGLFOGCOORDDVPROC                         glFogCoorddv;
00122       PFNGLFOGCOORDFPROC                          glFogCoordf;
00123       PFNGLFOGCOORDFVPROC                         glFogCoordfv;
00124       PFNGLFOGCOORDPOINTERPROC                    glFogCoordPointer;
00125       PFNGLMULTIDRAWARRAYSPROC                    glMultiDrawArrays;
00126       PFNGLMULTIDRAWELEMENTSPROC                  glMultiDrawElements;
00127       PFNGLPOINTPARAMETERFPROC                    glPointParameterf;
00128       PFNGLPOINTPARAMETERFVPROC                   glPointParameterfv;
00129       PFNGLPOINTPARAMETERIPROC                    glPointParameteri;
00130       PFNGLPOINTPARAMETERIVPROC                   glPointParameteriv;
00131       PFNGLSECONDARYCOLOR3BPROC                   glSecondaryColor3b;
00132       PFNGLSECONDARYCOLOR3BVPROC                  glSecondaryColor3bv;
00133       PFNGLSECONDARYCOLOR3DPROC                   glSecondaryColor3d;
00134       PFNGLSECONDARYCOLOR3DVPROC                  glSecondaryColor3dv;
00135       PFNGLSECONDARYCOLOR3FPROC                   glSecondaryColor3f;
00136       PFNGLSECONDARYCOLOR3FVPROC                  glSecondaryColor3fv;
00137       PFNGLSECONDARYCOLOR3IPROC                   glSecondaryColor3i;
00138       PFNGLSECONDARYCOLOR3IVPROC                  glSecondaryColor3iv;
00139       PFNGLSECONDARYCOLOR3SPROC                   glSecondaryColor3s;
00140       PFNGLSECONDARYCOLOR3SVPROC                  glSecondaryColor3sv;
00141       PFNGLSECONDARYCOLOR3UBPROC                  glSecondaryColor3ub;
00142       PFNGLSECONDARYCOLOR3UBVPROC                 glSecondaryColor3ubv;
00143       PFNGLSECONDARYCOLOR3UIPROC                  glSecondaryColor3ui;
00144       PFNGLSECONDARYCOLOR3UIVPROC                 glSecondaryColor3uiv;
00145       PFNGLSECONDARYCOLOR3USPROC                  glSecondaryColor3us;
00146       PFNGLSECONDARYCOLOR3USVPROC                 glSecondaryColor3usv;
00147       PFNGLSECONDARYCOLORPOINTERPROC              glSecondaryColorPointer;
00148       PFNGLWINDOWPOS2DPROC                        glWindowPos2d;
00149       PFNGLWINDOWPOS2FPROC                        glWindowPos2f;
00150       PFNGLWINDOWPOS2IPROC                        glWindowPos2i;
00151       PFNGLWINDOWPOS2SPROC                        glWindowPos2s;
00152       PFNGLWINDOWPOS2DVPROC                       glWindowPos2dv;
00153       PFNGLWINDOWPOS2FVPROC                       glWindowPos2fv;
00154       PFNGLWINDOWPOS2IVPROC                       glWindowPos2iv;
00155       PFNGLWINDOWPOS2SVPROC                       glWindowPos2sv;
00156       PFNGLWINDOWPOS3DPROC                        glWindowPos3d;
00157       PFNGLWINDOWPOS3FPROC                        glWindowPos3f;
00158       PFNGLWINDOWPOS3IPROC                        glWindowPos3i;
00159       PFNGLWINDOWPOS3SPROC                        glWindowPos3s;
00160       PFNGLWINDOWPOS3DVPROC                       glWindowPos3dv;
00161       PFNGLWINDOWPOS3FVPROC                       glWindowPos3fv;
00162       PFNGLWINDOWPOS3IVPROC                       glWindowPos3iv;
00163       PFNGLWINDOWPOS3SVPROC                       glWindowPos3sv;
00164
00165       //  GL_ARB_fragment_program functions see GL_ARB_vertex_program
00166
00167       //  GL_ARB_imaging functions
00168       PFNGLCOLORSUBTABLEPROC                      glColorSubTable;
00169       PFNGLCOPYCOLORSUBTABLEPROC                  glCopyColorSubTable;
00170       PFNGLCONVOLUTIONFILTER1DPROC                glConvolutionFilter1D;
00171       PFNGLCONVOLUTIONFILTER2DPROC                glConvolutionFilter2D;
00172       PFNGLCONVOLUTIONPARAMETERFPROC              glConvolutionParameterf;
00173       PFNGLCONVOLUTIONPARAMETERFVPROC             glConvolutionParameterfv;
00174       PFNGLCONVOLUTIONPARAMETERIPROC              glConvolutionParameteri;
00175       PFNGLCONVOLUTIONPARAMETERIVPROC             glConvolutionParameteriv;
00176       PFNGLCOPYCONVOLUTIONFILTER1DPROC            glCopyConvolutionFilter1D;
00177       PFNGLCOPYCONVOLUTIONFILTER2DPROC            glCopyConvolutionFilter2D;
00178       PFNGLGETCONVOLUTIONFILTERPROC               glGetConvolutionFilter;
00179       PFNGLGETCONVOLUTIONPARAMETERFVPROC          glGetConvolutionParameterfv;
00180       PFNGLGETCONVOLUTIONPARAMETERIVPROC          glGetConvolutionParameteriv;
00181       PFNGLGETSEPARABLEFILTERPROC                 glGetSeparableFilter;
00182       PFNGLSEPARABLEFILTER2DPROC                  glSeparableFilter2D;
00183       PFNGLGETHISTOGRAMPROC                       glGetHistogram;
00184       PFNGLGETHISTOGRAMPARAMETERFVPROC            glGetHistogramParameterfv;
00185       PFNGLGETHISTOGRAMPARAMETERIVPROC            glGetHistogramParameteriv;
00186       PFNGLGETMINMAXPROC                          glGetMinmax;
00187       PFNGLGETMINMAXPARAMETERFVPROC               glGetMinmaxParameterfv;
00188       PFNGLGETMINMAXPARAMETERIVPROC               glGetMinmaxParameteriv;
00189       PFNGLHISTOGRAMPROC                          glHistogram;
00190       PFNGLMINMAXPROC                             glMinmax;
00191       PFNGLRESETHISTOGRAMPROC                     glResetHistogram;
00192       PFNGLRESETMINMAXPROC                        glResetMinmax;
00193
00194       //  GL_ARB_occlusion_query
00195       PFNGLGENQUERIESARBPROC                      glGenQueriesARB;
00196       PFNGLDELETEQUERIESARBPROC                   glDeleteQueriesARB;
00197       PFNGLISQUERYARBPROC                         glIsQueryARB;
00198       PFNGLBEGINQUERYARBPROC                      glBeginQueryARB;
00199       PFNGLENDQUERYARBPROC                        glEndQueryARB;
00200       PFNGLGETQUERYOBJECTIVARBPROC                glGetQueryObjectivARB;
00201       PFNGLGETQUERYOBJECTUIVARBPROC               glGetQueryObjectuivARB;
00202       PFNGLGETQUERYIVARBPROC                      glGetQueryivARB;
00203
00204       //  GL_ARB_point_parameters
00205       PFNGLPOINTPARAMETERFARBPROC                 glPointParameterfARB;
00206       PFNGLPOINTPARAMETERFVARBPROC                glPointParameterfvARB;
00207
00208       //  GL_ARB_vertex_buffer_object functions
00209       PFNGLBINDBUFFERARBPROC                      glBindBufferARB;
00210       PFNGLBUFFERDATAARBPROC                      glBufferDataARB;
00211       PFNGLBUFFERSUBDATAARBPROC                   glBufferSubDataARB;
00212       PFNGLDELETEBUFFERSARBPROC                   glDeleteBuffersARB;
00213       PFNGLGENBUFFERSARBPROC                      glGenBuffersARB;
00214       PFNGLGETBUFFERPARAMETERIVARBPROC            glGetBufferParameterivARB;
00215       PFNGLGETBUFFERPOINTERVARBPROC               glGetBufferPointervARB;
00216       PFNGLGETBUFFERSUBDATAARBPROC                glGetBufferSubDataARB;
00217       PFNGLISBUFFERARBPROC                        glIsBufferARB;
00218       PFNGLMAPBUFFERARBPROC                       glMapBufferARB;
00219       PFNGLUNMAPBUFFERARBPROC                     glUnmapBufferARB;
00220
00221       //  GL_ARB_vertex_program functions
00222       PFNGLBINDPROGRAMARBPROC                     glBindProgramARB;
00223       PFNGLENABLEVERTEXATTRIBARRAYARBPROC         glEnableVertexAttribArrayARB;
00224       PFNGLDELETEPROGRAMSARBPROC                  glDeleteProgramsARB;
00225       PFNGLDISABLEVERTEXATTRIBARRAYARBPROC        glDisableVertexAttribArrayARB;
00226       PFNGLGENPROGRAMSARBPROC                     glGenProgramsARB;
00227       PFNGLGETPROGRAMENVPARAMETERDVARBPROC        glGetProgramEnvParameterdvARB;
00228       PFNGLGETPROGRAMENVPARAMETERFVARBPROC        glGetProgramEnvParameterfvARB;
00229       PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC      glGetProgramLocalParameterdvARB;
00230       PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC      glGetProgramLocalParameterfvARB;
00231       PFNGLGETPROGRAMSTRINGARBPROC                glGetProgramStringARB;
00232       PFNGLGETPROGRAMIVARBPROC                    glGetProgramivARB;
00233       PFNGLGETVERTEXATTRIBDVARBPROC               glGetVertexAttribdvARB;
00234       PFNGLGETVERTEXATTRIBFVARBPROC               glGetVertexAttribfvARB;
00235       PFNGLGETVERTEXATTRIBIVARBPROC               glGetVertexAttribivARB;
00236       PFNGLGETVERTEXATTRIBPOINTERVARBPROC         glGetVertexAttribPointervARB;
00237       PFNGLISPROGRAMARBPROC                       glIsProgramARB;
00238       PFNGLPROGRAMENVPARAMETER4DARBPROC           glProgramEnvParameter4dARB;
00239       PFNGLPROGRAMENVPARAMETER4DVARBPROC          glProgramEnvParameter4dvARB;
00240       PFNGLPROGRAMENVPARAMETER4FARBPROC           glProgramEnvParameter4fARB;
00241       PFNGLPROGRAMENVPARAMETER4FVARBPROC          glProgramEnvParameter4fvARB;
00242       PFNGLPROGRAMLOCALPARAMETER4DARBPROC         glProgramLocalParameter4dARB;
00243       PFNGLPROGRAMLOCALPARAMETER4DVARBPROC        glProgramLocalParameter4dvARB;
00244       PFNGLPROGRAMLOCALPARAMETER4FARBPROC         glProgramLocalParameter4fARB;
00245       PFNGLPROGRAMLOCALPARAMETER4FVARBPROC        glProgramLocalParameter4fvARB;
00246       PFNGLPROGRAMSTRINGARBPROC                   glProgramStringARB;
00247       PFNGLVERTEXATTRIB1DARBPROC                  glVertexAttrib1dARB;
00248       PFNGLVERTEXATTRIB1DVARBPROC                 glVertexAttrib1dvARB;
00249       PFNGLVERTEXATTRIB1FARBPROC                  glVertexAttrib1fARB;
00250       PFNGLVERTEXATTRIB1FVARBPROC                 glVertexAttrib1fvARB;
00251       PFNGLVERTEXATTRIB1SARBPROC                  glVertexAttrib1sARB;
00252       PFNGLVERTEXATTRIB1SVARBPROC                 glVertexAttrib1svARB;
00253       PFNGLVERTEXATTRIB2DARBPROC                  glVertexAttrib2dARB;
00254       PFNGLVERTEXATTRIB2DVARBPROC                 glVertexAttrib2dvARB;
00255       PFNGLVERTEXATTRIB2FARBPROC                  glVertexAttrib2fARB;
00256       PFNGLVERTEXATTRIB2FVARBPROC                 glVertexAttrib2fvARB;
00257       PFNGLVERTEXATTRIB2SARBPROC                  glVertexAttrib2sARB;
00258       PFNGLVERTEXATTRIB2SVARBPROC                 glVertexAttrib2svARB;
00259       PFNGLVERTEXATTRIB3DARBPROC                  glVertexAttrib3dARB;
00260       PFNGLVERTEXATTRIB3DVARBPROC                 glVertexAttrib3dvARB;
00261       PFNGLVERTEXATTRIB3FARBPROC                  glVertexAttrib3fARB;
00262       PFNGLVERTEXATTRIB3FVARBPROC                 glVertexAttrib3fvARB;
00263       PFNGLVERTEXATTRIB3SARBPROC                  glVertexAttrib3sARB;
00264       PFNGLVERTEXATTRIB3SVARBPROC                 glVertexAttrib3svARB;
00265       PFNGLVERTEXATTRIB4NBVARBPROC                glVertexAttrib4NbvARB;
00266       PFNGLVERTEXATTRIB4NIVARBPROC                glVertexAttrib4NivARB;
00267       PFNGLVERTEXATTRIB4NSVARBPROC                glVertexAttrib4NsvARB;
00268       PFNGLVERTEXATTRIB4NUBARBPROC                glVertexAttrib4NubARB;
00269       PFNGLVERTEXATTRIB4NUBVARBPROC               glVertexAttrib4NubvARB;
00270       PFNGLVERTEXATTRIB4NUIVARBPROC               glVertexAttrib4NuivARB;
00271       PFNGLVERTEXATTRIB4NUSVARBPROC               glVertexAttrib4NusvARB;
00272       PFNGLVERTEXATTRIB4BVARBPROC                 glVertexAttrib4bvARB;
00273       PFNGLVERTEXATTRIB4DARBPROC                  glVertexAttrib4dARB;
00274       PFNGLVERTEXATTRIB4DVARBPROC                 glVertexAttrib4dvARB;
00275       PFNGLVERTEXATTRIB4FARBPROC                  glVertexAttrib4fARB;
00276       PFNGLVERTEXATTRIB4FVARBPROC                 glVertexAttrib4fvARB;
00277       PFNGLVERTEXATTRIB4IVARBPROC                 glVertexAttrib4ivARB;
00278       PFNGLVERTEXATTRIB4SARBPROC                  glVertexAttrib4sARB;
00279       PFNGLVERTEXATTRIB4SVARBPROC                 glVertexAttrib4svARB;
00280       PFNGLVERTEXATTRIB4UBVARBPROC                glVertexAttrib4ubvARB;
00281       PFNGLVERTEXATTRIB4UIVARBPROC                glVertexAttrib4uivARB;
00282       PFNGLVERTEXATTRIB4USVARBPROC                glVertexAttrib4usvARB;
00283       PFNGLVERTEXATTRIBPOINTERARBPROC             glVertexAttribPointerARB;
00284
00285       //  GL_ARB_window_pos functions
00286       PFNGLWINDOWPOS2DARBPROC                     glWindowPos2dARB;
00287       PFNGLWINDOWPOS2FARBPROC                     glWindowPos2fARB;
00288       PFNGLWINDOWPOS2IARBPROC                     glWindowPos2iARB;
00289       PFNGLWINDOWPOS2SARBPROC                     glWindowPos2sARB;
00290       PFNGLWINDOWPOS2DVARBPROC                    glWindowPos2dvARB;
00291       PFNGLWINDOWPOS2FVARBPROC                    glWindowPos2fvARB;
00292       PFNGLWINDOWPOS2IVARBPROC                    glWindowPos2ivARB;
00293       PFNGLWINDOWPOS2SVARBPROC                    glWindowPos2svARB;
00294       PFNGLWINDOWPOS3DARBPROC                     glWindowPos3dARB;
00295       PFNGLWINDOWPOS3FARBPROC                     glWindowPos3fARB;
00296       PFNGLWINDOWPOS3IARBPROC                     glWindowPos3iARB;
00297       PFNGLWINDOWPOS3SARBPROC                     glWindowPos3sARB;
00298       PFNGLWINDOWPOS3DVARBPROC                    glWindowPos3dvARB;
00299       PFNGLWINDOWPOS3FVARBPROC                    glWindowPos3fvARB;
00300       PFNGLWINDOWPOS3IVARBPROC                    glWindowPos3ivARB;
00301       PFNGLWINDOWPOS3SVARBPROC                    glWindowPos3svARB;
00302
00303       //  GL_Autodesk_valid_back_buffer_hint functions
00304       PFNGLWINDOWBACKBUFFERHINTAUTODESKPROC       glWindowBackBufferHintAutodesk;
00305       PFNGLVALIDBACKBUFFERHINTAUTODESKPROC        glValidBackBufferHintAutodesk;
00306
00307       //  GL_EXT_blend_func_separate functions
00308       PFNGLBLENDFUNCSEPARATEEXTPROC               glBlendFuncSeparateEXT;
00309
00310       //  GL_EXT_compiled_vertex_array functions
00311       PFNGLLOCKARRAYSEXTPROC                      glLockArraysEXT;
00312       PFNGLUNLOCKARRAYSEXTPROC                    glUnlockArraysEXT;
00313
00314       //  GL_EXT_depth_bounds_test functions
00315       PFNGLDEPTHBOUNDSEXTPROC                     glDepthBoundsEXT;
00316
00317       //  GL_EXT_point_parameters functions
00318       PFNGLPOINTPARAMETERFEXTPROC                 glPointParameterfEXT;
00319       PFNGLPOINTPARAMETERFVEXTPROC                glPointParameterfvEXT;
00320
00321       //  GL_EXT_stencil_two_side functions
00322       PFNGLACTIVESTENCILFACEEXTPROC               glActiveStencilFaceEXT;
00323
00324       //  GL_NV_fence functions
00325       PFNGLDELETEFENCESNVPROC                     glDeleteFencesNV;
00326       PFNGLFINISHFENCENVPROC                      glFinishFenceNV;
00327       PFNGLGENFENCESNVPROC                        glGenFencesNV;
00328       PFNGLGETFENCEIVNVPROC                       glGetFenceivNV;
00329       PFNGLISFENCENVPROC                          glIsFenceNV;
00330       PFNGLSETFENCENVPROC                         glSetFenceNV;
00331       PFNGLTESTFENCENVPROC                        glTestFenceNV;
00332
00333       //  GL_NV_fragment_program functions
00334       PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC       glGetProgramNamedParameterdvNV;
00335       PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC       glGetProgramNamedParameterfvNV;
00336       PFNGLPROGRAMNAMEDPARAMETER4DNVPROC          glProgramNamedParameter4dNV;
00337       PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC         glProgramNamedParameter4dvNV;
00338       PFNGLPROGRAMNAMEDPARAMETER4FNVPROC          glProgramNamedParameter4fNV;
00339       PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC         glProgramNamedParameter4fvNV;
00340
00341       //  GL_NV_half_float functions
00342       PFNGLCOLOR3HNVPROC                          glColor3hNV;
00343       PFNGLCOLOR3HVNVPROC                         glColor3hvNV;
00344       PFNGLCOLOR4HNVPROC                          glColor4hNV;
00345       PFNGLCOLOR4HVNVPROC                         glColor4hvNV;
00346       PFNGLFOGCOORDHNVPROC                        glFogCoordhNV;
00347       PFNGLFOGCOORDHVNVPROC                       glFogCoordhvNV;
00348       PFNGLMULTITEXCOORD1HNVPROC                  glMultiTexCoord1hNV;
00349       PFNGLMULTITEXCOORD1HVNVPROC                 glMultiTexCoord1hvNV;
00350       PFNGLMULTITEXCOORD2HNVPROC                  glMultiTexCoord2hNV;
00351       PFNGLMULTITEXCOORD2HVNVPROC                 glMultiTexCoord2hvNV;
00352       PFNGLMULTITEXCOORD3HNVPROC                  glMultiTexCoord3hNV;
00353       PFNGLMULTITEXCOORD3HVNVPROC                 glMultiTexCoord3hvNV;
00354       PFNGLMULTITEXCOORD4HNVPROC                  glMultiTexCoord4hNV;
00355       PFNGLMULTITEXCOORD4HVNVPROC                 glMultiTexCoord4hvNV;
00356       PFNGLNORMAL3HNVPROC                         glNormal3hNV;
00357       PFNGLNORMAL3HVNVPROC                        glNormal3hvNV;
00358       PFNGLSECONDARYCOLOR3HNVPROC                 glSecondaryColor3hNV;
00359       PFNGLSECONDARYCOLOR3HVNVPROC                glSecondaryColor3hvNV;
00360       PFNGLTEXCOORD1HNVPROC                       glTexCoord1hNV;
00361       PFNGLTEXCOORD1HVNVPROC                      glTexCoord1hvNV;
00362       PFNGLTEXCOORD2HNVPROC                       glTexCoord2hNV;
00363       PFNGLTEXCOORD2HVNVPROC                      glTexCoord2hvNV;
00364       PFNGLTEXCOORD3HNVPROC                       glTexCoord3hNV;
00365       PFNGLTEXCOORD3HVNVPROC                      glTexCoord3hvNV;
00366       PFNGLTEXCOORD4HNVPROC                       glTexCoord4hNV;
00367       PFNGLTEXCOORD4HVNVPROC                      glTexCoord4hvNV;
00368       PFNGLVERTEX2HNVPROC                         glVertex2hNV;
00369       PFNGLVERTEX2HVNVPROC                        glVertex2hvNV;
00370       PFNGLVERTEX3HNVPROC                         glVertex3hNV;
00371       PFNGLVERTEX3HVNVPROC                        glVertex3hvNV;
00372       PFNGLVERTEX4HNVPROC                         glVertex4hNV;
00373       PFNGLVERTEX4HVNVPROC                        glVertex4hvNV;
00374       PFNGLVERTEXATTRIB1HNVPROC                   glVertexAttrib1hNV;
00375       PFNGLVERTEXATTRIB1HVNVPROC                  glVertexAttrib1hvNV;
00376       PFNGLVERTEXATTRIB2HNVPROC                   glVertexAttrib2hNV;
00377       PFNGLVERTEXATTRIB2HVNVPROC                  glVertexAttrib2hvNV;
00378       PFNGLVERTEXATTRIB3HNVPROC                   glVertexAttrib3hNV;
00379       PFNGLVERTEXATTRIB3HVNVPROC                  glVertexAttrib3hvNV;
00380       PFNGLVERTEXATTRIB4HNVPROC                   glVertexAttrib4hNV;
00381       PFNGLVERTEXATTRIB4HVNVPROC                  glVertexAttrib4hvNV;
00382       PFNGLVERTEXATTRIBS1HVNVPROC                 glVertexAttribs1hvNV;
00383       PFNGLVERTEXATTRIBS2HVNVPROC                 glVertexAttribs2hvNV;
00384       PFNGLVERTEXATTRIBS3HVNVPROC                 glVertexAttribs3hvNV;
00385       PFNGLVERTEXATTRIBS4HVNVPROC                 glVertexAttribs4hvNV;
00386
00387       //  GL_NV_occlusion_query functions
00388       PFNGLBEGINOCCLUSIONQUERYNVPROC              glBeginOcclusionQueryNV;
00389       PFNGLDELETEOCCLUSIONQUERIESNVPROC           glDeleteOcclusionQueriesNV;
00390       PFNGLENDOCCLUSIONQUERYNVPROC                glEndOcclusionQueryNV;
00391       PFNGLGENOCCLUSIONQUERIESNVPROC              glGenOcclusionQueriesNV;
00392       PFNGLGETOCCLUSIONQUERYIVNVPROC              glGetOcclusionQueryivNV;
00393       PFNGLGETOCCLUSIONQUERYUIVNVPROC             glGetOcclusionQueryuivNV;
00394       PFNGLISOCCLUSIONQUERYNVPROC                 glIsOcclusionQueryNV;
00395
00396       //  GL_NV_pixel_data_range functions
00397       PFNGLFLUSHPIXELDATARANGENVPROC              glFlushPixelDataRangeNV;
00398       PFNGLPIXELDATARANGENVPROC                   glPixelDataRangeNV;
00399
00400       //  GL_NV_primitive_restart functions
00401       PFNGLPRIMITIVERESTARTNVPROC                 glPrimitiveRestartNV;
00402       PFNGLPRIMITIVERESTARTINDEXNVPROC            glPrimitiveRestartIndexNV;
00403
00404       //  GL_NV_register_combiners functions
00405       PFNGLCOMBINERPARAMETERFVNVPROC              glCombinerParameterfvNV;
00406       PFNGLCOMBINERPARAMETERFNVPROC               glCombinerParameterfNV;
00407       PFNGLCOMBINERPARAMETERIVNVPROC              glCombinerParameterivNV;
00408       PFNGLCOMBINERPARAMETERINVPROC               glCombinerParameteriNV;
00409       PFNGLCOMBINERINPUTNVPROC                    glCombinerInputNV;
00410       PFNGLCOMBINEROUTPUTNVPROC                   glCombinerOutputNV;
00411       PFNGLFINALCOMBINERINPUTNVPROC               glFinalCombinerInputNV;
00412       PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC      glGetCombinerInputParameterfvNV;
00413       PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC      glGetCombinerInputParameterivNV;
00414       PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC     glGetCombinerOutputParameterfvNV;
00415       PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC     glGetCombinerOutputParameterivNV;
00416       PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
00417       PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
00418
00419       //  GL_NV_register_combiners2 functions
00420       PFNGLCOMBINERSTAGEPARAMETERFVNVPROC         glCombinerStageParameterfvNV;
00421       PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC      glGetCombinerStageParameterfvNV;
00422
00423       //  GL_NV_set_window_stereomode functions
00424       PFNGLSETWINDOWSTEREOMODENVPROC              glSetWindowStereoModeNV;
00425
00426       //  GL_NV_vertex_array_range functions
00427       PFNGLFLUSHVERTEXARRAYRANGENVPROC            glFlushVertexArrayRangeNV;
00428       PFNGLVERTEXARRAYRANGENVPROC                 glVertexArrayRangeNV;
00429
00430       //  GL_NV_vertex_program functions
00431       PFNGLAREPROGRAMSRESIDENTNVPROC              glAreProgramsResidentNV;
00432       PFNGLBINDPROGRAMNVPROC                      glBindProgramNV;
00433       PFNGLDELETEPROGRAMSNVPROC                   glDeleteProgramsNV;
00434       PFNGLEXECUTEPROGRAMNVPROC                   glExecuteProgramNV;
00435       PFNGLGENPROGRAMSNVPROC                      glGenProgramsNV;
00436       PFNGLGETPROGRAMPARAMETERDVNVPROC            glGetProgramParameterdvNV;
00437       PFNGLGETPROGRAMPARAMETERFVNVPROC            glGetProgramParameterfvNV;
00438       PFNGLGETPROGRAMIVNVPROC                     glGetProgramivNV;
00439       PFNGLGETPROGRAMSTRINGNVPROC                 glGetProgramStringNV;
00440       PFNGLGETTRACKMATRIXIVNVPROC                 glGetTrackMatrixivNV;
00441       PFNGLGETVERTEXATTRIBDVNVPROC                glGetVertexAttribdvNV;
00442       PFNGLGETVERTEXATTRIBFVNVPROC                glGetVertexAttribfvNV;
00443       PFNGLGETVERTEXATTRIBIVNVPROC                glGetVertexAttribivNV;
00444       PFNGLGETVERTEXATTRIBPOINTERVNVPROC          glGetVertexAttribPointervNV;
00445       PFNGLISPROGRAMNVPROC                        glIsProgramNV;
00446       PFNGLLOADPROGRAMNVPROC                      glLoadProgramNV;
00447       PFNGLPROGRAMPARAMETER4DNVPROC               glProgramParameter4dNV;
00448       PFNGLPROGRAMPARAMETER4DVNVPROC              glProgramParameter4dvNV;
00449       PFNGLPROGRAMPARAMETER4FNVPROC               glProgramParameter4fNV;
00450       PFNGLPROGRAMPARAMETER4FVNVPROC              glProgramParameter4fvNV;
00451       PFNGLPROGRAMPARAMETERS4DVNVPROC             glProgramParameters4dvNV;
00452       PFNGLPROGRAMPARAMETERS4FVNVPROC             glProgramParameters4fvNV;
00453       PFNGLREQUESTRESIDENTPROGRAMSNVPROC          glRequestResidentProgramsNV;
00454       PFNGLTRACKMATRIXNVPROC                      glTrackMatrixNV;
00455       PFNGLVERTEXATTRIBPOINTERNVPROC              glVertexAttribPointerNV;
00456       PFNGLVERTEXATTRIB1DNVPROC                   glVertexAttrib1dNV;
00457       PFNGLVERTEXATTRIB1DVNVPROC                  glVertexAttrib1dvNV;
00458       PFNGLVERTEXATTRIB1FNVPROC                   glVertexAttrib1fNV;
00459       PFNGLVERTEXATTRIB1FVNVPROC                  glVertexAttrib1fvNV;
00460       PFNGLVERTEXATTRIB1SNVPROC                   glVertexAttrib1sNV;
00461       PFNGLVERTEXATTRIB1SVNVPROC                  glVertexAttrib1svNV;
00462       PFNGLVERTEXATTRIB2DNVPROC                   glVertexAttrib2dNV;
00463       PFNGLVERTEXATTRIB2DVNVPROC                  glVertexAttrib2dvNV;
00464       PFNGLVERTEXATTRIB2FNVPROC                   glVertexAttrib2fNV;
00465       PFNGLVERTEXATTRIB2FVNVPROC                  glVertexAttrib2fvNV;
00466       PFNGLVERTEXATTRIB2SNVPROC                   glVertexAttrib2sNV;
00467       PFNGLVERTEXATTRIB2SVNVPROC                  glVertexAttrib2svNV;
00468       PFNGLVERTEXATTRIB3DNVPROC                   glVertexAttrib3dNV;
00469       PFNGLVERTEXATTRIB3DVNVPROC                  glVertexAttrib3dvNV;
00470       PFNGLVERTEXATTRIB3FNVPROC                   glVertexAttrib3fNV;
00471       PFNGLVERTEXATTRIB3FVNVPROC                  glVertexAttrib3fvNV;
00472       PFNGLVERTEXATTRIB3SNVPROC                   glVertexAttrib3sNV;
00473       PFNGLVERTEXATTRIB3SVNVPROC                  glVertexAttrib3svNV;
00474       PFNGLVERTEXATTRIB4DNVPROC                   glVertexAttrib4dNV;
00475       PFNGLVERTEXATTRIB4DVNVPROC                  glVertexAttrib4dvNV;
00476       PFNGLVERTEXATTRIB4FNVPROC                   glVertexAttrib4fNV;
00477       PFNGLVERTEXATTRIB4FVNVPROC                  glVertexAttrib4fvNV;
00478       PFNGLVERTEXATTRIB4SNVPROC                   glVertexAttrib4sNV;
00479       PFNGLVERTEXATTRIB4SVNVPROC                  glVertexAttrib4svNV;
00480       PFNGLVERTEXATTRIB4UBNVPROC                  glVertexAttrib4ubNV;
00481       PFNGLVERTEXATTRIB4UBVNVPROC                 glVertexAttrib4ubvNV;
00482       PFNGLVERTEXATTRIBS1DVNVPROC                 glVertexAttribs1dvNV;
00483       PFNGLVERTEXATTRIBS1FVNVPROC                 glVertexAttribs1fvNV;
00484       PFNGLVERTEXATTRIBS1SVNVPROC                 glVertexAttribs1svNV;
00485       PFNGLVERTEXATTRIBS2DVNVPROC                 glVertexAttribs2dvNV;
00486       PFNGLVERTEXATTRIBS2FVNVPROC                 glVertexAttribs2fvNV;
00487       PFNGLVERTEXATTRIBS2SVNVPROC                 glVertexAttribs2svNV;
00488       PFNGLVERTEXATTRIBS3DVNVPROC                 glVertexAttribs3dvNV;
00489       PFNGLVERTEXATTRIBS3FVNVPROC                 glVertexAttribs3fvNV;
00490       PFNGLVERTEXATTRIBS3SVNVPROC                 glVertexAttribs3svNV;
00491       PFNGLVERTEXATTRIBS4DVNVPROC                 glVertexAttribs4dvNV;
00492       PFNGLVERTEXATTRIBS4FVNVPROC                 glVertexAttribs4fvNV;
00493       PFNGLVERTEXATTRIBS4SVNVPROC                 glVertexAttribs4svNV;
00494       PFNGLVERTEXATTRIBS4UBVNVPROC                glVertexAttribs4ubvNV;
00495
00496       //  GL_WIN_swap_hint functions
00497       PFNGLADDSWAPHINTRECTWINPROC                 glAddSwapHintRectWIN;
00498
00499 #if defined(_WIN32)
00500       //  WGL_ARB_buffer_region functions
00501       PFNWGLCREATEBUFFERREGIONARBPROC             wglCreateBufferRegionARB;
00502       PFNWGLDELETEBUFFERREGIONARBPROC             wglDeleteBufferRegionARB;
00503       PFNWGLRESTOREBUFFERREGIONARBPROC            wglRestoreBufferRegionARB;
00504       PFNWGLSAVEBUFFERREGIONARBPROC               wglSaveBufferRegionARB;
00505
00506       //  WGL_ARB_extensions_string functions
00507       PFNWGLGETEXTENSIONSSTRINGARBPROC            wglGetExtensionsStringARB;
00508
00509       //  WGL_ARB_make_current_read functions
00510       PFNWGLMAKECONTEXTCURRENTARBPROC             wglMakeContextCurrentARB;
00511       PFNWGLGETCURRENTREADDCARBPROC               wglGetCurrentReadDCARB;
00512
00513       //  WGL_ARB_pbuffer functions
00514       PFNWGLCREATEPBUFFERARBPROC                  wglCreatePbufferARB;
00515       PFNWGLDESTROYPBUFFERARBPROC                 wglDestroyPbufferARB;
00516       PFNWGLGETPBUFFERDCARBPROC                   wglGetPbufferDCARB;
00517       PFNWGLQUERYPBUFFERARBPROC                   wglQueryPbufferARB;
00518       PFNWGLRELEASEPBUFFERDCARBPROC               wglReleasePbufferDCARB;
00519
00520       //  WGL_ARB_pixel_format functions
00521       PFNWGLCHOOSEPIXELFORMATARBPROC              wglChoosePixelFormatARB;
00522       PFNWGLGETPIXELFORMATATTRIBIVARBPROC         wglGetPixelFormatAttribivARB;
00523       PFNWGLGETPIXELFORMATATTRIBFVARBPROC         wglGetPixelFormatAttribfvARB;
00524
00525       //  WGL_ARB_render_texture functions
00526       PFNWGLBINDTEXIMAGEARBPROC                   wglBindTexImageARB;
00527       PFNWGLRELEASETEXIMAGEARBPROC                wglReleaseTexImageARB;
00528       PFNWGLSETPBUFFERATTRIBARBPROC               wglSetPbufferAttribARB;
00529
00530       //  WGL_EXT_extensions_string functions
00531       PFNWGLGETEXTENSIONSSTRINGEXTPROC            wglGetExtensionsStringEXT;
00532
00533       //  WGL_EXT_genlock functions
00534       PFNWGLENABLEGENLOCKEXTPROC                  wglEnableGenlockEXT;
00535       PFNWGLDISABLEGENLOCKEXTPROC                 wglDisableGenlockEXT;
00536       PFNWGLGENLOCKSOURCEEXTPROC                  wglGenlockSourceEXT;
00537       PFNWGLGENLOCKSAMPLERATEEXTPROC              wglGenlockSampleRateEXT;
00538       PFNWGLGENLOCKSOURCEDELAYEXTPROC             wglGenlockSourceDelayEXT;
00539       PFNWGLGENLOCKSOURCEEDGEEXTPROC              wglGenlockSourceEdgeEXT;
00540       PFNWGLGETGENLOCKSOURCEEXTPROC               wglGetGenlockSourceEXT;
00541       PFNWGLGETGENLOCKSAMPLERATEEXTPROC           wglGetGenlockSampleRateEXT;
00542       PFNWGLGETGENLOCKSOURCEDELAYEXTPROC          wglGetGenlockSourceDelayEXT;
00543       PFNWGLGETGENLOCKSOURCEEDGEEXTPROC           wglGetGenlockSourceEdgeEXT;
00544       PFNWGLISENABLEDGENLOCKEXTPROC               wglIsEnabledGenlockEXT;
00545       PFNWGLQUERYGENLOCKMAXSOURCEDELAYEXTPROC     wglQueryGenlockMaxSourceDelayEXT;
00546
00547       //  WGL_EXT_swap_control functions
00548       PFNWGLSWAPINTERVALEXTPROC                   wglSwapIntervalEXT;
00549       PFNWGLGETSWAPINTERVALEXTPROC                wglGetSwapIntervalEXT;
00550
00551       //  WGL_EXT_swap_frame_lock functions
00552       PFNWGLENABLEFRAMELOCKEXTPROC                wglEnableFrameLockEXT;
00553       PFNWGLDISABLEFRAMELOCKEXTPROC               wglDisableFrameLockEXT;
00554       PFNWGLISENABLEDFRAMELOCKEXTPROC             wglIsEnabledFrameLockEXT;
00555       PFNWGLQUERYFRAMELOCKMASTEREXTPROC           wglQueryFrameLockMasterEXT;
00556
00557       //  WGL_I3D_genlock functions
00558       PFNWGLENABLEGENLOCKI3DPROC                  wglEnableGenlockI3D;
00559       PFNWGLDISABLEGENLOCKI3DPROC                 wglDisableGenlockI3D;
00560       PFNWGLISENABLEDGENLOCKI3DPROC               wglIsEnabledGenlockI3D;
00561       PFNWGLGENLOCKSOURCEI3DPROC                  wglGenlockSourceI3D;
00562       PFNWGLGETGENLOCKSOURCEI3DPROC               wglGetGenlockSourceI3D;
00563       PFNWGLGENLOCKSOURCEEDGEI3DPROC              wglGenlockSourceEdgeI3D;
00564       PFNWGLGETGENLOCKSOURCEEDGEI3DPROC           wglGetGenlockSourceEdgeI3D;
00565       PFNWGLGENLOCKSAMPLERATEI3DPROC              wglGenlockSampleRateI3D;
00566       PFNWGLGETGENLOCKSAMPLERATEI3DPROC           wglGetGenlockSampleRateI3D;
00567       PFNWGLGENLOCKSOURCEDELAYI3DPROC             wglGenlockSourceDelayI3D;
00568       PFNWGLGETGENLOCKSOURCEDELAYI3DPROC          wglGetGenlockSourceDelayI3D;
00569       PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC     wglQueryGenlockMaxSourceDelayI3D;
00570
00571       //  WGL_KTX_buffer_region functions
00572       PFNWGLNEWBUFFERREGIONPROC                   wglNewBufferRegion;
00573       PFNWGLDELETEBUFFERREGIONPROC                wglDeleteBufferRegion;
00574       PFNWGLREADBUFFERREGIONPROC                  wglReadBufferRegion;
00575       PFNWGLDRAWBUFFERREGIONPROC                  wglDrawBufferRegion;
00576       PFNWGLBUFFERREGIONENABLEDPROC               wglBufferRegionEnabled;
00577
00578       //  WGL_NV_allocate_memory functions
00579       PFNWGLALLOCATEMEMORYNVPROC                  wglAllocateMemoryNV;
00580       PFNWGLFREEMEMORYNVPROC                      wglFreeMemoryNV;
00581
00582       //  WGL_NV_swap_group functions
00583       PFNWGLBINDSWAPBARRIERNVPROC                 wglBindSwapBarrierNV;
00584       PFNWGLJOINSWAPGROUPNVPROC                   wglJoinSwapGroupNV;
00585       PFNWGLQUERYSWAPGROUPNVPROC                  wglQuerySwapGroupNV;
00586       PFNWGLQUERYMAXSWAPGROUPSNVPROC              wglQueryMaxSwapGroupsNV;
00587       PFNWGLQUERYFRAMECOUNTNVPROC                 wglQueryFrameCountNV;
00588       PFNWGLRESETFRAMECOUNTNVPROC                 wglResetFrameCountNV;
00589 #elif defined(LINUX)
00590       PFNGLXQUERYEXTENSIONSSTRINGPROC             glXQueryExtensionsString;
00591
00592       // GLX_SGIX_pbuffer
00593       PFNGLXCREATEGLXPBUFFERSGIXPROC              glXCreateGLXPbufferSGIX;
00594       PFNGLXDESTROYGLXPBUFFERSGIXPROC             glXDestroyGLXPbufferSGIX;
00595       PFNGLXQUERYGLXPBUFFERSGIXPROC               glXQueryGLXPbufferSGIX;
00596 #endif
00597 #endif  //  DOXYGEN_IGNORE
00598
00599     private:
00600       int         m_glVersion;
00601       std::set<std::string> m_available;
00602       std::set<std::string> m_exported;
00603   };
00604
00605   inline  bool  GLFunctions::isAvailable( const std::string& extension ) const
00606   {
00607     return( m_available.find( extension ) != m_available.end() );
00608   }
00609
00610   inline  bool   GLFunctions::isExported( const std::string& extension ) const
00611   {
00612     return( m_exported.find( extension ) != m_exported.end() );
00613   }
00614 }
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


File Member Index

All | Functions | Variables | Typedefs | Enumeration values | Defines

  • __ASSERT_CONTEXT : GLTraverser.h
  • __LOG_BENCH_TEST : Log.h
  • __LOG_BENCH_TEST_ENABLED : Log.h
  • __LOG_BENCH_TEST_INIT : Log.h
  • __LOG_SHADER_TEST : Log.h
  • __LOG_SHADER_TEST_ENABLED : Log.h
  • __LOG_SHADER_TEST_INIT : Log.h
  • __LOG_TEST : Log.h
  • __LOG_TEST_ENABLED : Log.h
  • __LOG_TEST_INIT : Log.h
  • TRACE_LOG_FILE : Trace.h
  • UPITID_SCENE_LOADER : PlugInterfaceID.h
  • UPITID_SCENE_SAVER : PlugInterfaceID.h
  • UPITID_TEXTURE_LOADER : PlugInterfaceID.h
  • UPITID_VERSION : PlugInterfaceID.h
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


File Member Index

All | Functions | Variables | Typedefs | Enumeration values | Defines

  • NBF_ANIMATED_QUADS : NBF.h
  • NBF_ANIMATED_TRANSFORM : NBF.h
  • NBF_ANIMATED_TRIANGLES : NBF.h
  • NBF_CGFX : NBF.h
  • NBF_CUSTOM_OBJECT : NBF.h
  • NBF_DIRECTED_LIGHT : NBF.h
  • NBF_FACE_ATTRIBUTE : NBF.h
  • NBF_FRAMED_TRAFO_ANIMATION : NBF.h
  • NBF_FRAMED_VNVECTOR_ANIMATION : NBF.h
  • NBF_GEO_NODE : NBF.h
  • NBF_GROUP : NBF.h
  • NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION : NBF.h
  • NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION : NBF.h
  • NBF_LOD : NBF.h
  • NBF_MATERIAL : NBF.h
  • NBF_PARALLEL_CAMERA : NBF.h
  • NBF_PERSPECTIVE_CAMERA : NBF.h
  • NBF_POINT_LIGHT : NBF.h
  • NBF_QUADS : NBF.h
  • NBF_QUADSTRIPS : NBF.h
  • NBF_SKINNED_TRIANGLES : NBF.h
  • NBF_SPOT_LIGHT : NBF.h
  • NBF_STATE_SET : NBF.h
  • NBF_SWITCH : NBF.h
  • NBF_TEXTURE_ATTRIBUTE : NBF.h
  • NBF_TEXTURE_ATTRIBUTE_ITEM : NBF.h
  • NBF_TRANSFORM : NBF.h
  • NBF_TRIANGLES : NBF.h
  • NBF_TRISTRIPS : NBF.h
  • NBF_UNKNOWN : NBF.h
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


File Member Index

All | Functions | Variables | Typedefs | Enumeration values | Defines

  • getPlugInterface() : NVSGSaver.h, WRLLoader.h, NVSGLoader.h, NVBLoader.h
  • operator new() : DbgNew.h
  • operator new[]() : DbgNew.h
  • queryPlugInterfaceType() : NVSGSaver.h, WRLLoader.h, NVSGLoader.h, NVBLoader.h
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


File Member Index

All | Functions | Variables | Typedefs | Enumeration values | Defines

  • byte_t : NBF.h
  • float2_t : NBF.h
  • float3_t : NBF.h
  • float4_t : NBF.h
  • int_t : NBF.h
  • ubyte_t : NBF.h
  • uint64_t : NBF.h
  • uint_t : NBF.h
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


File Member Index

All | Functions | Variables | Typedefs | Enumeration values | Defines

  • __LOG_FILE__ : Log.h
  • NBF_BIG_ENDIAN : NBF.h
  • NBF_LITTLE_ENDIAN : NBF.h
  • NBF_VER_BUGFIX : NBF.h
  • NBF_VER_MAJOR : NBF.h
  • NBF_VER_MINOR : NBF.h
  • REG_NV_TRACE_SUBKEY : Trace.h
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


GLObjects.h Source File

GLObjects.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <set>
00018 #include "nvgl/nvgl.h"
00019 #include "nvutil/RCObject.h"
00020
00021 namespace nvsg
00022 {
00023   class Texture;
00024 }
00025
00026 namespace nvgl
00027 {
00029   class GLObjects
00030   {
00031     friend class GLContext;
00032
00033     public:
00034       // Constructor / Destructor
00035       GLObjects();
00036       ~GLObjects();
00037
00038     public:
00040       void addBuffers(GLsizei n, const GLuint * names);
00041
00043       void removeBuffers(GLsizei n, const GLuint * names);
00044
00046       void addLists(GLsizei n, GLuint first);
00047
00049       void removeLists(GLsizei n, GLuint first);
00050
00052       void addPrograms(GLsizei n, const GLuint * names);
00053
00055       void removePrograms(GLsizei n, const GLuint * names);
00056
00058       void addTextures(GLsizei n, const GLuint * names);
00059
00061       void removeTextures(GLsizei n, const GLuint * names);
00062
00064       void addOcclusionQueries(GLsizei n, const GLuint * names);
00065
00067       void removeOcclusionQueries(GLsizei n, const GLuint * names);
00068
00070       void addQueries(GLsizei n, const GLuint * names);
00071
00073       void removeQueries(GLsizei n, const GLuint * names);
00074
00075     private:
00076       // Collection of shareable objects
00077       struct GLShareables : public nvutil::RCObject
00078       {
00079         ~GLShareables(); // for cleanup purposes
00080
00081         std::set<GLuint> m_vboNames;
00082         std::set<GLuint> m_dlistNames;
00083         std::set<GLuint> m_programNames;
00084         std::set<GLuint> m_textureNames;
00085         std::map<std::string, const nvsg::Texture*> m_texLUT;
00086       };
00087
00088       // shareable objects
00089       GLShareables * m_shareables;
00090       // non-shareable objects
00091       std::set<GLuint> m_occlusionQueryNames;
00092       std::set<GLuint> m_queryNames;
00093   };
00094
00095   inline void GLObjects::addBuffers(GLsizei n, const GLuint * names)
00096   {
00097     __ASSERT(n>0 && names);
00098     m_shareables->m_vboNames.insert(&names[0], &names[n]);
00099   }
00100
00101   inline void GLObjects::removeBuffers(GLsizei n, const GLuint * names)
00102   {
00103     __ASSERT(n>0 && names);
00104     for( GLsizei i=0; i<n; ++i )
00105     {
00106       m_shareables->m_vboNames.erase(names[i]);
00107     }
00108   }
00109
00110   inline void GLObjects::addLists(GLsizei n, GLuint first)
00111   {
00112     __ASSERT(n>0 && first>0);
00113     for( GLuint i=first; i<first+n; ++i )
00114     {
00115       m_shareables->m_dlistNames.insert(i);
00116     }
00117   }
00118
00119   inline void GLObjects::removeLists(GLsizei n, GLuint first)
00120   {
00121     __ASSERT(n>0 && first>0);
00122     for( GLuint i=first; i<first+n; ++i )
00123     {
00124       m_shareables->m_dlistNames.erase(i);
00125     }
00126   }
00127
00128   inline void GLObjects::addPrograms(GLsizei n, const GLuint * names)
00129   {
00130     __ASSERT(n>0 && names);
00131     m_shareables->m_programNames.insert(&names[0], &names[n]);
00132   }
00133
00134   inline void GLObjects::removePrograms(GLsizei n, const GLuint * names)
00135   {
00136     __ASSERT(n>0 && names);
00137     for( GLsizei i=0; i<n; ++i )
00138     {
00139       m_shareables->m_programNames.erase(names[i]);
00140     }
00141   }
00142
00143   inline void GLObjects::addTextures(GLsizei n, const GLuint * names)
00144   {
00145     __ASSERT(n>0 && names);
00146     m_shareables->m_textureNames.insert(&names[0], &names[n]);
00147   }
00148
00149   inline void GLObjects::removeTextures(GLsizei n, const GLuint * names)
00150   {
00151     __ASSERT(n>0 && names);
00152     for( GLsizei i=0; i<n; ++i )
00153     {
00154       m_shareables->m_textureNames.erase(names[i]);
00155     }
00156   }
00157
00158   inline void GLObjects::addOcclusionQueries(GLsizei n, const GLuint * names)
00159   {
00160     __ASSERT(n>0 && names);
00161     m_occlusionQueryNames.insert(&names[0], &names[n]);
00162   }
00163
00164   inline void GLObjects::removeOcclusionQueries(GLsizei n, const GLuint * names)
00165
00166   {
00167     __ASSERT(n>0 && names);
00168     for( GLsizei i=0; i<n; ++i )
00169     {
00170       m_occlusionQueryNames.erase(names[i]);
00171     }
00172   }
00173
00174   inline void GLObjects::addQueries(GLsizei n, const GLuint * names)
00175   {
00176     __ASSERT(n>0 && names);
00177     m_queryNames.insert(&names[0], &names[n]);
00178   }
00179
00180   inline void GLObjects::removeQueries(GLsizei n, const GLuint * names)
00181
00182   {
00183     __ASSERT(n>0 && names);
00184     for( GLsizei i=0; i<n; ++i )
00185     {
00186       m_queryNames.erase(names[i]);
00187     }
00188   }
00189
00190 } //  namespace nvgl
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


GLTraverser.h Source File

GLTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include <list>
00017 #include "nvgl/GLContext.h"
00018 #include "nvtraverser/RenderTraverser.h"
00019 #include "nvsg/GeoSet.h"
00020
00021 namespace nvgl
00022 {
00023   class GLContext;
00024   class PBuffer;
00025 }
00026 namespace nvsg
00027 {
00028   class Texture;
00029 }
00030
00031 namespace nvtraverser
00032 {
00033
00034 // common device context helper data types for Windows and Linux
00035 #if defined(_WIN32)
00036   typedef HDC   DEVICE_CONTEXT;
00037   typedef HGLRC RENDER_CONTEXT;
00038 #elif defined(LINUX)
00039   typedef Drawable   DEVICE_CONTEXT;
00040   typedef GLXContext RENDER_CONTEXT;
00041 #endif
00042
00044 #if defined(_WIN32) && defined(_DEBUG)
00045   #define __ASSERT_CONTEXT() assertContext();
00046 #else
00047   #define __ASSERT_CONTEXT()
00048 #endif
00049
00051   class GLTraverser : public RenderTraverser
00052   {
00053     public:
00055       NVSG_API GLTraverser(void);
00056
00057       //--  Functions specific to GLTraverser --
00058
00059       //--  Functions implemented from RenderTraverser  --
00060       NVSG_API virtual JitterTechnique getJitterTechnique( void ) const;
00061       NVSG_API virtual bool isJitterTechniqueSupported( JitterTechnique jt
00062                                                       ) const;
00063       NVSG_API virtual bool setJitterTechnique( JitterTechnique jt
00064                                               );
00065       NVSG_API virtual RenderTechnique getRenderTechnique( void ) const;
00066       NVSG_API virtual bool isRenderTechniqueSupported( RenderTechnique rt
00067                                                       ) const;
00068       NVSG_API virtual bool setRenderTechnique( RenderTechnique rt
00069                                               );
00070       NVSG_API virtual TransparencyTechnique getTransparencyTechnique( void ) const;
00071       NVSG_API virtual bool isTransparencyTechniqueSupported( TransparencyTechnique tt
00072                                                             ) const;
00073       NVSG_API virtual bool setTransparencyTechnique( TransparencyTechnique tt
00074                                                     );
00075       NVSG_API virtual OITTechnique getOITTechnique( void ) const;
00076       NVSG_API virtual bool isOITTechniqueSupported( OITTechnique ot
00077                                                    ) const;
00078       NVSG_API virtual bool setOITTechnique( OITTechnique ot
00079                                            );
00080       NVSG_API virtual size_t getOITMaxPasses( void ) const;
00081       NVSG_API virtual bool setOITMaxPasses( size_t maxPasses
00082                                            );
00083       NVSG_API virtual float getOITThreshold( void ) const;
00084       NVSG_API virtual bool setOITThreshold( float threshold
00085                                            );
00086       NVSG_API virtual GeometryCacheTechnique getGeometryCacheTechnique( void ) const;
00087       NVSG_API virtual bool isGeometryCacheTechniqueSupported( GeometryCacheTechnique gct
00088                                                              ) const;
00089       NVSG_API virtual bool setGeometryCacheTechnique( GeometryCacheTechnique gct
00090                                                      );
00091       NVSG_API virtual void getTextureSizeLimits( size_t &width, size_t &height ) const;
00092       NVSG_API virtual void setTextureSizeLimits( size_t width, size_t height );
00093
00094       // CachedGeometryCreator interface
00095       NVSG_API virtual void onReleaseDAL(nvsg::HDAL hDAL);
00096
00097     protected:
00099       NVSG_API virtual ~GLTraverser(void);
00100
00101       // doApply override
00102       NVSG_API virtual void doApply( const nvsg::ViewState *pViewState, const nvsg::Scene *pScene );
00103
00104       // handler routines overrides
00105
00107       NVSG_API virtual void handleTransform(const nvsg::Transform * p);
00109       NVSG_API virtual void handleDirectedLight(const nvsg::DirectedLight * p);
00111       NVSG_API virtual void handlePointLight(const nvsg::PointLight * p);
00113       NVSG_API virtual void handleSpotLight(const nvsg::SpotLight * p);
00115       NVSG_API virtual void handleQuads(const nvsg::Quads * p);
00117       NVSG_API virtual void handleAnimatedQuads(const nvsg::AnimatedQuads * p);
00119       NVSG_API virtual void handleQuadStrips(const nvsg::QuadStrips * p);
00121       NVSG_API virtual void handleTriangles(const nvsg::Triangles * p);
00123       NVSG_API virtual void handleAnimatedTriangles(const nvsg::AnimatedTriangles * p);
00125       NVSG_API virtual void handleSkinnedTriangles(const nvsg::SkinnedTriangles * p);
00127       NVSG_API virtual void handleTriStrips(const nvsg::TriStrips * p);
00129       NVSG_API virtual void handleStateSet(const nvsg::StateSet * p);
00131       NVSG_API virtual void handleCgFx(const nvsg::CgFx * p);
00133       NVSG_API virtual void handleFaceAttribute(const nvsg::FaceAttribute * p);
00135       NVSG_API virtual void handleMaterial(const nvsg::Material * p);
00137       NVSG_API virtual void handleTextureAttribute(const nvsg::TextureAttribute * p);
00139       NVSG_API virtual void handleTextureAttributeItem(const nvsg::TextureAttributeItem * p, size_t tu);
00141       NVSG_API virtual void handleJitterCamera(const nvsg::JitterCamera * p, const nvsg::Node * root);
00143       NVSG_API virtual void handleParallelCamera(const nvsg::ParallelCamera * p, const nvsg::Node * root);
00145       NVSG_API virtual void handlePerspectiveCamera(const nvsg::PerspectiveCamera * p, const nvsg::Node * root);
00147       NVSG_API virtual void handleStereoCamera(const nvsg::StereoCamera * p, const nvsg::Node * root);
00149       NVSG_API virtual void handleHighlightBox(const nvsg::HighlightBox * p, const nvsg::GeoSet * geoSet);
00151       NVSG_API virtual void handleHighlightEdges(const nvsg::HighlightEdges * p, const nvsg::GeoSet * geoSet);
00152
00154
00156       NVSG_API virtual bool preTraverseTransform( const nvsg::Transform *p);
00157
00159
00160       NVSG_API virtual bool preTraverseRoot( const nvsg::SimpleCamera *p, const nvsg::Node *root);
00161
00163
00164       NVSG_API virtual bool preTraverseDrawable( const nvsg::Drawable *p );
00165
00166       // This function is called from the RenderTraverser framework whenever a LightSource is to be disabled.
00167       NVSG_API virtual void disableLightSource(const nvsg::LightSource *p);
00168
00169 #if defined(_DEBUG) && defined(_WIN32)
00170       void assertContext();
00171 #endif
00172
00173     protected:
00174       const nvsg::CgFx      * m_effect;                 // current effect attrib
00175       bool                    m_resetStateAttribute;    // used with internal state caching
00176
00177     private:
00178 #if defined(_DEBUG) && defined(_WIN32)
00179       HGLRC m_hglrc; // only for asserting the right current context
00180 #endif
00181
00182       void  adjustRenderTechnique( bool on );
00183
00184       void  initGLState( void );
00185
00186       void  syncCgFxTweakables( const nvsg::CgFx * p);
00187       void  syncCgFxTransforms(const nvsg::CgFx * p);
00188
00189       bool  loadTexture(const nvsg::Texture * pTex, GLuint texHdl);
00190       void  uploadTexture1D( const nvsg::Texture *p );
00191       void  uploadTexture2D( const nvsg::Texture *p, unsigned int imageIndex = 0, GLenum target = GL_TEXTURE_2D );
00192       void  uploadTexture3D( const nvsg::Texture *p );
00193
00194       void  clearJitterTechnique( void );
00195       void  initJitterTechnique( void );
00196       void  initJitterTechniquePBuffer( void );
00197       void  jitterAccum( const nvsg::JitterCamera *p, const nvsg::Node *root );
00198       void  jitterPBuffer( const nvsg::JitterCamera *p, const nvsg::Node *root );
00199       void  jitterReadPixels( const nvsg::JitterCamera *p, const nvsg::Node *root );
00200
00201       void  clearTransparencyTechnique( void );
00202       void  initTransparencyTechnique( void );
00203       void  clearOITTechnique( void );
00204       void  initOITTechnique( void );
00205       void  allocOITPBuffers( void );
00206       void  freeOITPBuffers( void );
00207       void  allocOITTextures( void );
00208       void  freeOITTextures( void );
00209       void  setupOITRendering( void );
00210
00211       void  prepareHighlight( const nvmath::Vec3f &color, float lineWidth );
00212
00213       void  freeDeviceDependentData(std::vector<nvsg::HDAL>& data, unsigned int dataID);
00214
00216       GLenum  glTraverse( const nvsg::LightSource *p
00217                         , size_t index
00218                         );
00219
00220       // re-routing to base implementation used with glTraverse template functions below
00221       void handlePerspectiveCameraCallBaseImplementation(const nvsg::PerspectiveCamera * p, const nvsg::Node *root);
00222       void handleParallelCameraCallBaseImplementation(const nvsg::ParallelCamera * p, const nvsg::Node *root);
00223
00224       template<typename camera, typename defaultHandler>
00225       void  glTraverse( const camera *p, const nvsg::Node *root, defaultHandler defHandler );
00226
00227       template<typename camera, typename defaultHandler>
00228       void  glTraverseOIT( const camera *p, const nvsg::Node *root, defaultHandler defHandler );
00229
00230
00231       // select render path to go
00232       void selectRenderPath();
00233       // function pointer via to invoke quad rendering routines below
00234       void (GLTraverser::*m_pfnProcessQuads)( const nvsg::Quads *p );
00235       // function pointer via to invoke QuadStrips rendering routines below
00236       void (GLTraverser::*m_pfnProcessQuadStrips)( const nvsg::QuadStrips *p );
00237       // function pointer via to invoke triangle rendering routines below
00238       void (GLTraverser::*m_pfnProcessTriangles)( const nvsg::Triangles *p );
00239       // function pointer via to invoke TriStrips rendering routines below
00240       void (GLTraverser::*m_pfnProcessTriStrips)( const nvsg::TriStrips *p );
00241
00242       // prepare effected GeoSet
00243       void  GLTraverser::prepareEffect( void );
00244
00245       // process quads using a default render path
00246       void processQuads( const nvsg::Quads *p );
00247       // process QuadStrips using a default render path
00248       void processQuadStrips( const nvsg::QuadStrips *p );
00249       // process triangles using a default render path
00250       void processTriangles( const nvsg::Triangles *p );
00251       // process TriStrips using a default render path
00252       void processTriStrips( const nvsg::TriStrips *p );
00253       // common processing on GeoSet
00254       void processGeoSet( const nvsg::GeoSet *p );
00255
00256       // draw a highlight box (ignoring current tree states)
00257       void drawHighlightBox( const nvsg::HighlightBox *box );
00258
00259       // check if the viewport size has changed, and if yes resize
00260       // our texture or pbuffer objects for OIT
00261       void resizeOITBuffers();
00262
00263       struct VBOInfo;
00264       // process quads using vertex buffer objects (VBO) extension
00265       void processQuadsVBO( const nvsg::Quads * p );
00266       // process QuadStrips using vertex buffer objects (VBO) extension
00267       void processQuadStripsVBO( const nvsg::QuadStrips * p );
00268       // process triangles using vertex buffer objects (VBO) extension
00269       void processTrianglesVBO( const nvsg::Triangles * p );
00270       // process TriStrips using vertex buffer objects (VBO) extension
00271       void processTriStripsVBO( const nvsg::TriStrips * p );
00272       void processGeoSetVBO( const nvsg::GeoSet *p, const VBOInfo* vboInfo );
00273       VBOInfo * getCachedVBOInfo(const nvsg::GeoSet * p) const;
00274
00275       struct DLInfo;
00276       // process quads using OpenGL display lists
00277       void processQuadsDL( const nvsg::Quads * p );
00278       // process QuadStrips using OpenGL display lists
00279       void processQuadStripsDL( const nvsg::QuadStrips * p );
00280       // process triangles using OpenGL display lists
00281       void processTrianglesDL( const nvsg::Triangles * p );
00282       // process TriStrips using OpenGL display lists
00283       void processTriStripsDL( const nvsg::TriStrips * p );
00284       DLInfo * processGeoSetDL( const nvsg::GeoSet *p );
00285       DLInfo * getCachedDLInfo(const nvsg::GeoSet * p) const;
00286
00287       const nvsg::Scene     * m_scene;                  // a reference to the currently traversed scene
00288       bool                    m_isCgFxAware;            // assugns whether the current system is CgFX aware
00289 //      const nvsg::CgFx      * m_effect;                 // current effect attrib
00290
00291       const nvsg::StateSet  * m_stateSet;
00292 //      bool                    m_resetStateAttribute;    // used with internal state caching
00293                                                         // need to check this inside the StateAttribute handler routines
00294       bool                    m_textured;               // the current geometry is textured
00295
00296       std::list<const nvsg::StateAttribute *>   m_attrList[2];
00297       std::list<const nvsg::StateAttribute *> * m_currentList;
00298       std::list<const nvsg::StateAttribute *> * m_nextList;
00299
00300       int                   m_viewportWidth;
00301       int                   m_viewportHeight;
00302       JitterTechnique       m_jitterTechnique;
00303       float                 m_fraction;                     // independent of special jitter technique
00304       GLuint                m_dataSize;                     // for read-pixels-based jittering
00305       GLubyte             * m_imageData;
00306       GLushort            * m_accumData;
00307       bool                  m_accumulationInitialized;      // for pbuffer-based jittering
00308       GLuint                m_fpAccumulate;
00309       GLuint                m_fpLoad;
00310       GLuint                m_fpReturn;
00311       nvgl::PBuffer       * m_fBuffer[2];
00312       nvgl::PBuffer       * m_jitterPBuffer;
00313
00314       RenderTechnique       m_renderTechnique;
00315
00316       // A little helper class for screen door transparency.
00317       class StipplePatterns
00318       {
00319       public:
00320         StipplePatterns();
00321         unsigned char  * getBits(int index);
00322
00323       private:
00324         unsigned char  patBytes[ 64 ][ 8 ];
00325         unsigned long stippleBits[64][32];
00326
00327         StipplePatterns( const StipplePatterns &stipplePatterns );
00328         StipplePatterns& operator=( const StipplePatterns &stipplePatterns );
00329       };
00330
00331       TransparencyTechnique m_transparencyTechnique;
00332       StipplePatterns       m_stipple;                      // for screen door transparency
00333       bool                  m_transparentPass;              // for blended transparency
00334       bool                  m_isTransparentMaterial;
00335       bool                  m_isTransparentTexture;
00336       OITTechnique          m_oitTechnique;
00337       size_t                m_oitMaxPasses;
00338       bool                  m_oitInitialized;
00339       bool                  m_oitSetupPending;
00340       int                   m_oitWidth;
00341       int                   m_oitHeight;
00342       std::vector<GLuint>   m_oitRGBATextureQueries;
00343       std::vector<GLuint>   m_oitPBufferQueries;
00344       std::vector<GLuint> * m_oitOcclusionQueries;
00345       GLuint                m_fpPeel[2];
00346       float                 m_oitThreshold;
00347       size_t                m_oitThresholdPixels;
00348       GLuint                m_oitDepthTexture;
00349       GLint                 m_oitDepthFormat;
00350       std::vector<GLuint>        m_oitRGBATextures;
00351       std::vector<nvgl::PBuffer*>      m_oitPBuffers;
00352       GeometryCacheTechnique  m_geometryCacheTechnique;
00353
00354       // identifier for a certain cached geometry
00355       enum
00356       {
00357         GL_VBO = RT_GL | 0x01
00358       , GL_DL  = RT_GL | 0x02
00359       };
00360       // cached geometry storage
00361       std::vector<nvsg::HDAL> m_cachedGeometry;
00362
00363       enum {
00364         VERTEX_BUFFER = 0  // index of buffer holding vertex data
00365       , INDEX_BUFFER       // index of buffer holding indices
00366       };
00367
00368       struct VBOInfo : public nvsg::DALData
00369       {
00370         VBOInfo(nvsg::DALDataCreator * creator, const nvsg::DALHost * host);
00371         ~VBOInfo();
00372
00373         const nvgl::GLContext * context;
00374         DEVICE_CONTEXT    hdc;
00375         RENDER_CONTEXT    hglrc;
00376
00377         GLuint vBufferID[2];   // buffer ids for vertex and index buffer
00378         // index buffer related
00379         GLenum indexType;      // type used with indices (either GL_UNSIGNED_INT or GL_UNSIGNED_SHORT)
00380         GLsizei numIndices;     // total number of indices
00381         // multi draw elements related
00382         GLvoid ** primitiveOffsets;    // per primitive offset into index buffer
00383         GLsizei * primitiveIndexCount; // per primitive index count
00384         // vertex buffer related
00385         GLsizei numBytes;       // size in bytes of the vertex buffer
00386         GLsizei stride;         // byte offset between consecutive vertex attribute data of same type
00387         size_t attribOffsets[nvsg::GeoSet::NUMBER_OF_VERTEX_ATTRIBUTES]; // per vertex attribute offset into vertex buffer
00388       };
00389
00390       // predicate that takes a pointer to a VBOInfo objects and decides
00391       // whether that VBOInfo is valid for the current render context
00392       static bool isVBOInfoValid(const GLTraverser::VBOInfo * info);
00393
00394       struct DLInfo : public nvsg::DALData
00395       {
00396         DLInfo(nvsg::DALDataCreator * creator, const nvsg::DALHost * host);
00397         ~DLInfo();
00398
00399         const nvgl::GLContext * context;
00400         GLuint listID;
00401       };
00402
00403       // predicate that takes a pointer to a DLInfo objects and decides
00404       // whether that DLInfo is valid for the current render context
00405       static bool isDLInfoValid(const GLTraverser::DLInfo* info);
00406       void processDL( DLInfo *dlInfo );
00407
00408       // identifier for TexInfo data
00409       enum
00410       {
00411         GL_TEX = RT_GL | 0x04
00412       };
00413       // DAL data carrying device dependent texture IDs
00414       struct TexInfo : public nvsg::DALData
00415       {
00416         TexInfo(nvsg::DALDataCreator * creator, const nvsg::DALHost * host, const nvsg::Texture * tex);
00417         ~TexInfo();
00418         const nvsg::Texture * texture;
00419         GLuint textureHandle;
00420       };
00421
00422       GLint               m_maxTextureSize;
00423       size_t              m_textureLimitWidth;
00424       size_t              m_textureLimitHeight;
00425       std::vector<nvsg::HDAL> m_textures; // DAL handles to TexInfos will be collected here
00426
00427       nvmath::Vec3f m_accScaling;   //  accumulated scaling factors for enabling/disabling normalization of normals
00428   };
00429
00430   inline  unsigned char *  GLTraverser::StipplePatterns::getBits( int index )
00431   {
00432     return( (unsigned char *) &stippleBits[ index ][ 0 ] );
00433   }
00434 }
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


GLWinRenderArea.h Source File

GLWinRenderArea.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #ifndef LINUX
00013
00014 #pragma once
00015
00016 #include "nvsgcommon.h"
00017
00018 #include "nvgl/GLContext.h"
00019 #include "nvui/RenderArea.h"
00020
00023 namespace nvui
00024 {
00026
00029   class GLWinRenderArea : public RenderArea
00030   {
00031     public:
00033       NVSG_API GLWinRenderArea(void);
00035       NVSG_API virtual ~GLWinRenderArea(void);
00036
00038
00040       NVSG_API virtual bool attachWindow( HWND hWnd
00041                                         );
00043
00046       NVSG_API virtual bool init( RenderArea * shareArea = NULL
00047                                 );
00049
00050       NVSG_API virtual void destroy( void );
00051
00053
00057       NVSG_API void  makeCurrent( void );
00058
00060
00061       NVSG_API virtual void mouseButtonDown( UINT flags
00062                                            , int x
00063                                            , int y
00064                                            );
00066
00067       NVSG_API virtual void mouseButtonUp( UINT flags
00068                                          , int x
00069                                          , int y
00070                                          );
00072
00073       NVSG_API virtual void mouseMotion( int x
00074                                        , int y
00075                                        );
00076
00078
00080       NVSG_API virtual void setViewportSize( size_t x
00081                                            , size_t y
00082                                            );
00083
00085
00088       NVSG_API bool shareLists( GLWinRenderArea* ra );
00089
00091
00094       NVSG_API virtual void renderScene( void );
00095
00097
00099       NVSG_API virtual void triggerRedraw( void );
00100
00101     protected:
00102       HGLRC     m_hglrc;
00103       HDC       m_hdc;
00104
00106
00110       NVSG_API virtual bool  initGL( void );
00111
00113
00116       NVSG_API UINT  determinePixelFormat( void );
00117
00118   private:
00119       HWND      m_hWindow;
00120 };
00121
00122 }
00123
00124 #endif //LINUX
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


glx.h Source File

glx.h

00001 #ifndef __glx_h__
00002 #define __glx_h__
00003
00004 /*
00005 ** The contents of this file are subject to the GLX Public License Version 1.0
00006 ** (the "License"). You may not use this file except in compliance with the
00007 ** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
00008 ** attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
00009 ** or at http://www.sgi.com/software/opensource/glx/license.html.
00010 **
00011 ** Software distributed under the License is distributed on an "AS IS"
00012 ** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
00013 ** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
00014 ** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
00015 ** language governing rights and limitations under the License.
00016 **
00017 ** The Original Software is GLX version 1.2 source code, released February,
00018 ** 1999. The developer of the Original Software is Silicon Graphics, Inc.
00019 ** Those portions of the Subject Software created by Silicon Graphics, Inc.
00020 ** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
00021 **
00022 ** $Header: //sw/OEM/nvr50_linux_986209/drivers/OpenGL/win/glx/include/glx.h#1 $
00023 */
00024
00025 #include <X11/Xlib.h>
00026 #include <X11/Xutil.h>
00027 #include <X11/Xmd.h>
00028 #include <GL/gl.h>
00029 #include <GL/glxtokens.h>
00030
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034
00035 /*
00036  * GLX resources.
00037  */
00038 typedef XID GLXContextID;
00039 typedef XID GLXPixmap;
00040 typedef XID GLXDrawable;
00041 typedef XID GLXPbuffer;
00042 typedef XID GLXWindow;
00043 typedef XID GLXFBConfigID;
00044
00045 /*
00046  * GLXContext is a pointer to opaque data.
00047  */
00048 typedef struct __GLXcontextRec *GLXContext;
00049
00050 /*
00051  * GLXFBConfig is a pointer to opaque data.
00052  */
00053 typedef struct __GLXFBConfigRec *GLXFBConfig;
00054 typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
00055
00056
00057 /**********************************************************************/
00058
00059 /*
00060  * GLX 1.0 functions.
00061  */
00062 extern XVisualInfo* glXChooseVisual(Display *dpy, int screen,
00063                                     int *attrib_list);
00064
00065 extern void glXCopyContext(Display *dpy, GLXContext src,
00066                            GLXContext dst, unsigned long mask);
00067
00068 extern GLXContext glXCreateContext(Display *dpy, XVisualInfo *vis,
00069                                    GLXContext share_list, Bool direct);
00070
00071 extern GLXPixmap glXCreateGLXPixmap(Display *dpy, XVisualInfo *vis,
00072                                     Pixmap pixmap);
00073
00074 extern void glXDestroyContext(Display *dpy, GLXContext ctx);
00075
00076 extern void glXDestroyGLXPixmap(Display *dpy, GLXPixmap pix);
00077
00078 extern int glXGetConfig(Display *dpy, XVisualInfo *vis,
00079                         int attrib, int *value);
00080
00081 extern GLXContext glXGetCurrentContext(void);
00082
00083 extern GLXDrawable glXGetCurrentDrawable(void);
00084
00085 extern Bool glXIsDirect(Display *dpy, GLXContext ctx);
00086
00087 extern Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable,
00088                            GLXContext ctx);
00089
00090 extern Bool glXQueryExtension(Display *dpy, int *error_base, int *event_base);
00091
00092 extern Bool glXQueryVersion(Display *dpy, int *major, int *minor);
00093
00094 extern void glXSwapBuffers(Display *dpy, GLXDrawable drawable);
00095
00096 extern void glXUseXFont(Font font, int first, int count, int list_base);
00097
00098 extern void glXWaitGL(void);
00099
00100 extern void glXWaitX(void);
00101
00102
00103 /*
00104  * GLX 1.1 functions.
00105  */
00106 extern const char *glXGetClientString(Display *dpy, int name);
00107
00108 extern const char *glXQueryServerString(Display *dpy, int screen, int name);
00109
00110 extern const char *glXQueryExtensionsString(Display *dpy, int screen);
00111
00112
00113 /*
00114  * GLX 1.2 functions.
00115  */
00116 extern Display *glXGetCurrentDisplay(void);
00117
00118
00119 /*
00120  * GLX 1.3 functions.
00121  */
00122 extern GLXFBConfig *glXChooseFBConfig(Display *dpy, int screen,
00123                                       const int *attrib_list, int *nelements);
00124
00125 extern GLXContext glXCreateNewContext(Display *dpy, GLXFBConfig config,
00126                                       int render_type, GLXContext share_list,
00127                                       Bool direct);
00128
00129 extern GLXPbuffer glXCreatePbuffer(Display *dpy, GLXFBConfig config,
00130                                    const int *attrib_list);
00131
00132 extern GLXPixmap glXCreatePixmap(Display *dpy, GLXFBConfig config,
00133                                  Pixmap pixmap, const int *attrib_list);
00134
00135 extern GLXWindow glXCreateWindow(Display *dpy, GLXFBConfig config,
00136                                  Window win, const int *attrib_list);
00137
00138 extern void glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf);
00139
00140 extern void glXDestroyPixmap(Display *dpy, GLXPixmap pixmap);
00141
00142 extern void glXDestroyWindow(Display *dpy, GLXWindow win);
00143
00144 extern GLXDrawable glXGetCurrentReadDrawable(void);
00145
00146 extern int glXGetFBConfigAttrib(Display *dpy, GLXFBConfig config,
00147                                 int attribute, int *value);
00148
00149 extern GLXFBConfig *glXGetFBConfigs(Display *dpy, int screen, int *nelements);
00150
00151 extern void glXGetSelectedEvent(Display *dpy, GLXDrawable draw,
00152                                 unsigned long *event_mask);
00153
00154 extern XVisualInfo *glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config);
00155
00156 extern Bool glXMakeContextCurrent(Display *display, GLXDrawable draw,
00157                                   GLXDrawable read, GLXContext ctx);
00158
00159 extern int glXQueryContext(Display *dpy, GLXContext ctx,
00160                            int attribute, int *value);
00161
00162 extern void glXQueryDrawable(Display *dpy, GLXDrawable draw,
00163                              int attribute, unsigned int *value);
00164
00165 extern void glXSelectEvent(Display *dpy, GLXDrawable draw,
00166                            unsigned long event_mask);
00167
00168
00169 /**********************************************************************/
00170
00171 /*
00172  * ARB_get_proc_address
00173  */
00174 extern void (*glXGetProcAddressARB(const GLubyte *procName))(void);
00175
00176 /*
00177  * EXT_import_context
00178  */
00179 extern void glXFreeContextEXT(Display *dpy, GLXContext ctx);
00180
00181 extern GLXContextID glXGetContextIDEXT(const GLXContext ctx);
00182
00183 extern GLXDrawable glXGetCurrentDrawableEXT(void);
00184
00185 extern GLXContext glXImportContextEXT(Display *dpy, GLXContextID contextID);
00186
00187 extern int glXQueryContextInfoEXT(Display *dpy, GLXContext ctx,
00188                                   int attribute, int *value);
00189
00190 /*
00191  * NV_vertex_array_range
00192  */
00193 extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq,
00194          GLfloat writefreq, GLfloat priority);
00195
00196 extern void glXFreeMemoryNV(GLvoid *pointer);
00197
00198 /*
00199  * SGI_video_sync
00200  */
00201 extern int glXGetVideoSyncSGI(unsigned int *count);
00202
00203 extern int glXWaitVideoSyncSGI(int divisor, int remainder,
00204                                unsigned int *count);
00205
00206 extern int glXGetRefreshRateSGI(unsigned int *rate);
00207
00208 /*
00209  * SGI_swap_control
00210  */
00211
00212 extern int glXSwapIntervalSGI(int interval);
00213
00214 /*
00215  * NV_swap_group
00216  */
00217
00218 extern Bool glXJoinSwapGroupNV(Display *dpy, GLXDrawable drawable,
00219                                GLuint group);
00220
00221 extern Bool glXBindSwapBarrierNV(Display *dpy, GLuint group, GLuint barrier);
00222
00223 extern Bool glXQuerySwapGroupNV(Display *dpy, GLXDrawable drawable,
00224                                 GLuint *group, GLuint *barrier);
00225
00226 extern Bool glXQueryMaxSwapGroupsNV(Display *dpy, int screen,
00227                                     GLuint *maxGroups, GLuint *maxBarriers);
00228
00229 extern Bool glXQueryFrameCountNV(Display *dpy, int screen, GLuint *count);
00230
00231 extern Bool glXResetFrameCountNV(Display *dpy, int screen);
00232
00233
00234 /*
00235  * SGIX_fbconfig
00236  */
00237
00238 extern int glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config,
00239                                     int attribute, int *value_return);
00240
00241 extern GLXFBConfigSGIX *glXChooseFBConfigSGIX(Display *dpy, int screen,
00242                                               const int *attrib_list,
00243                                               int *nelements);
00244
00245 extern GLXPixmap glXCreateGLXPixmapWithConfigSGIX(Display *dpy,
00246                                                   GLXFBConfigSGIX config,
00247                                                   Pixmap pixmap);
00248
00249 extern GLXContext glXCreateContextWithConfigSGIX(Display *dpy,
00250                                                  GLXFBConfigSGIX config,
00251                                                  int render_type,
00252                                                  GLXContext share_list,
00253                                                  Bool direct);
00254
00255 extern XVisualInfo *glXGetVisualFromFBConfigSGIX(Display *dpy,
00256                                                  GLXFBConfigSGIX config);
00257
00258 extern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX(Display *dpy,
00259                                                     XVisualInfo *vis);
00260
00261 /*
00262  * SGIX_pbuffer
00263  */
00264 extern GLXPbuffer glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfig config,
00265                                           unsigned int width,
00266                                           unsigned int height,
00267                                           const int *attrib_list);
00268
00269 extern void glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf);
00270
00271 extern void glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf,
00272                                    int attribute, unsigned int *value);
00273
00274 extern void glXSelectEventSGIX(Display *dpy, GLXDrawable drawable,
00275                                unsigned long mask);
00276
00277 extern void glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable,
00278                                     unsigned long *mask);
00279
00280
00281 /**********************************************************************/
00282
00283 /*** Should these go here, or in another header? */
00284 /*
00285  * GLX Events
00286  */
00287 typedef struct {
00288     int event_type;             /* GLX_DAMAGED or GLX_SAVED */
00289     int draw_type;              /* GLX_WINDOW or GLX_PBUFFER */
00290     unsigned long serial;       /* # of last request processed by server */
00291     Bool send_event;            /* true if this came for SendEvent request */
00292     Display *display;           /* display the event was read from */
00293     GLXDrawable drawable;       /* XID of Drawable */
00294     unsigned int buffer_mask;   /* mask indicating which buffers are affected */
00295     unsigned int aux_buffer;    /* which aux buffer was affected */
00296     int x, y;
00297     int width, height;
00298     int count;                  /* if nonzero, at least this many more */
00299 } GLXPbufferClobberEvent;
00300
00301 typedef union __GLXEvent {
00302     GLXPbufferClobberEvent glxpbufferclobber;
00303     long pad[24];
00304 } GLXEvent;
00305
00306 #ifdef __cplusplus
00307 }
00308 #endif
00309
00310 #endif /* !__glx_h__ */
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


glxtokens.h Source File

glxtokens.h

00001 #ifndef __glxtokens_h__
00002 #define __glxtokens_h__
00003
00004 /*
00005 ** The contents of this file are subject to the GLX Public License Version 1.0
00006 ** (the "License"). You may not use this file except in compliance with the
00007 ** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
00008 ** attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
00009 ** or at http://www.sgi.com/software/opensource/glx/license.html.
00010 **
00011 ** Software distributed under the License is distributed on an "AS IS"
00012 ** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
00013 ** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
00014 ** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
00015 ** language governing rights and limitations under the License.
00016 **
00017 ** The Original Software is GLX version 1.2 source code, released February,
00018 ** 1999. The developer of the Original Software is Silicon Graphics, Inc.
00019 ** Those portions of the Subject Software created by Silicon Graphics, Inc.
00020 ** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
00021 **
00022 ** $Header: //sw/OEM/nvr50_linux_986209/drivers/OpenGL/win/glx/include/glxtokens.h#1 $
00023 */
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00029 #define GLX_VERSION_1_1         1
00030 #define GLX_VERSION_1_2         1
00031 #define GLX_VERSION_1_3         1
00032
00033 /* GLX Extensions */
00034 #define GLX_EXT_import_context  1
00035 #define GLX_EXT_visual_info     1
00036 #define GLX_EXT_visual_rating   1
00037 #define GLX_SGIX_fbconfig       1
00038 #define GLX_SGIX_pbuffer        1
00039 #define GLX_NV_float_buffer     1
00040 #define GLX_ARB_get_proc_address 1
00041
00042 /*
00043  * Names for attributes to glXGetConfig.
00044  */
00045 #define GLX_USE_GL              1       /* support GLX rendering */
00046 #define GLX_BUFFER_SIZE         2       /* depth of the color buffer */
00047 #define GLX_LEVEL               3       /* level in plane stacking */
00048 #define GLX_RGBA                4       /* true if RGBA mode */
00049 #define GLX_DOUBLEBUFFER        5       /* double buffering supported */
00050 #define GLX_STEREO              6       /* stereo buffering supported */
00051 #define GLX_AUX_BUFFERS         7       /* number of aux buffers */
00052 #define GLX_RED_SIZE            8       /* number of red component bits */
00053 #define GLX_GREEN_SIZE          9       /* number of green component bits */
00054 #define GLX_BLUE_SIZE           10      /* number of blue component bits */
00055 #define GLX_ALPHA_SIZE          11      /* number of alpha component bits */
00056 #define GLX_DEPTH_SIZE          12      /* number of depth bits */
00057 #define GLX_STENCIL_SIZE        13      /* number of stencil bits */
00058 #define GLX_ACCUM_RED_SIZE      14      /* number of red accum bits */
00059 #define GLX_ACCUM_GREEN_SIZE    15      /* number of green accum bits */
00060 #define GLX_ACCUM_BLUE_SIZE     16      /* number of blue accum bits */
00061 #define GLX_ACCUM_ALPHA_SIZE    17      /* number of alpha accum bits */
00062
00063 #define GLX_SAMPLE_BUFFERS_ARB  100000  /* number of multisample buffers */
00064 #define GLX_SAMPLES_ARB         100001  /* number of multisample samples */
00065
00066 /*
00067  * FBConfig-specific attributes
00068  */
00069 #define GLX_X_VISUAL_TYPE               0x22
00070 #define GLX_CONFIG_CAVEAT               0x20    /* Like visual_info VISUAL_CAVEAT */
00071 #define GLX_TRANSPARENT_TYPE            0x23
00072 #define GLX_TRANSPARENT_INDEX_VALUE     0x24
00073 #define GLX_TRANSPARENT_RED_VALUE       0x25
00074 #define GLX_TRANSPARENT_GREEN_VALUE     0x26
00075 #define GLX_TRANSPARENT_BLUE_VALUE      0x27
00076 #define GLX_TRANSPARENT_ALPHA_VALUE     0x28
00077 #define GLX_DRAWABLE_TYPE               0x8010
00078 #define GLX_RENDER_TYPE                 0x8011
00079 #define GLX_X_RENDERABLE                0x8012
00080 #define GLX_FBCONFIG_ID                 0x8013
00081 #define GLX_MAX_PBUFFER_WIDTH           0x8016
00082 #define GLX_MAX_PBUFFER_HEIGHT          0x8017
00083 #define GLX_MAX_PBUFFER_PIXELS          0x8018
00084 #define GLX_VISUAL_ID                   0x800B
00085
00086 #define GLX_DRAWABLE_TYPE_SGIX          GLX_DRAWABLE_TYPE
00087 #define GLX_RENDER_TYPE_SGIX            GLX_RENDER_TYPE
00088 #define GLX_X_RENDERABLE_SGIX           GLX_X_RENDERABLE
00089 #define GLX_FBCONFIG_ID_SGIX            GLX_FBCONFIG_ID
00090 #define GLX_MAX_PBUFFER_WIDTH_SGIX      GLX_MAX_PBUFFER_WIDTH
00091 #define GLX_MAX_PBUFFER_HEIGHT_SGIX     GLX_MAX_PBUFFER_HEIGHT
00092 #define GLX_MAX_PBUFFER_PIXELS_SGIX     GLX_MAX_PBUFFER_PIXELS
00093 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX  0x8019
00094 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
00095
00096 /*
00097  * Error return values from glXGetConfig.  Success is indicated by
00098  * a value of 0.
00099  */
00100 #define GLX_BAD_SCREEN                  1  /* screen # is bad */
00101 #define GLX_BAD_ATTRIBUTE               2  /* attribute to get is bad */
00102 #define GLX_NO_EXTENSION                3  /* no glx extension on server */
00103 #define GLX_BAD_VISUAL                  4  /* visual # not known by GLX */
00104 #define GLX_BAD_CONTEXT                 5
00105 #define GLX_BAD_VALUE                   6
00106 #define GLX_BAD_ENUM                    7
00107
00108
00109 /* FBConfig attribute values */
00110
00111 /*
00112  * Generic "don't care" value for glX ChooseFBConfig attributes (except
00113  * GLX_LEVEL).
00114  */
00115 #define GLX_DONT_CARE                   0xFFFFFFFF
00116
00117 /* GLX_RENDER_TYPE bits */
00118 #define GLX_RGBA_BIT                    0x00000001
00119 #define GLX_COLOR_INDEX_BIT             0x00000002
00120 #define GLX_RGBA_BIT_SGIX               GLX_RGBA_BIT
00121 #define GLX_COLOR_INDEX_BIT_SGIX        GLX_COLOR_INDEX_BIT
00122
00123 /* GLX_DRAWABLE_TYPE bits */
00124 #define GLX_WINDOW_BIT                  0x00000001
00125 #define GLX_PIXMAP_BIT                  0x00000002
00126 #define GLX_PBUFFER_BIT                 0x00000004
00127 #define GLX_WINDOW_BIT_SGIX             GLX_WINDOW_BIT
00128 #define GLX_PIXMAP_BIT_SGIX             GLX_PIXMAP_BIT
00129 #define GLX_PBUFFER_BIT_SGIX            GLX_PBUFFER_BIT
00130
00131 /* GLX_CONFIG_CAVEAT attribute values */
00132 #define GLX_NONE                        0x8000
00133 #define GLX_SLOW_CONFIG                 0x8001
00134 #define GLX_NON_CONFORMANT_CONFIG       0x800D
00135
00136 /* GLX_X_VISUAL_TYPE attribute values */
00137 #define GLX_TRUE_COLOR                  0x8002
00138 #define GLX_DIRECT_COLOR                0x8003
00139 #define GLX_PSEUDO_COLOR                0x8004
00140 #define GLX_STATIC_COLOR                0x8005
00141 #define GLX_GRAY_SCALE                  0x8006
00142 #define GLX_STATIC_GRAY                 0x8007
00143
00144 /* GLX_TRANSPARENT_TYPE attribute values */
00145 /* #define GLX_NONE                        0x8000 */
00146 #define GLX_TRANSPARENT_RGB             0x8008
00147 #define GLX_TRANSPARENT_INDEX           0x8009
00148
00149 /* glXCreateGLXPbuffer attributes */
00150 #define GLX_PRESERVED_CONTENTS          0x801B
00151 #define GLX_LARGEST_PBUFFER             0x801C
00152 #define GLX_PBUFFER_HEIGHT              0x8040  /* New for GLX 1.3 */
00153 #define GLX_PBUFFER_WIDTH               0x8041  /* New for GLX 1.3 */
00154 #define GLX_PRESERVED_CONTENTS_SGIX     GLX_PRESERVED_CONTENTS
00155 #define GLX_LARGEST_PBUFFER_SGIX        GLX_LARGEST_PBUFFER
00156
00157 /* glXQueryGLXPBuffer attributes */
00158 #define GLX_WIDTH                       0x801D
00159 #define GLX_HEIGHT                      0x801E
00160 #define GLX_EVENT_MASK                  0x801F
00161 #define GLX_WIDTH_SGIX                  GLX_WIDTH
00162 #define GLX_HEIGHT_SGIX                 GLX_HEIGHT
00163 #define GLX_EVENT_MASK_SGIX             GLX_EVENT_MASK
00164
00165 /* glXCreateNewContext render_type attribute values */
00166 #define GLX_RGBA_TYPE                   0x8014
00167 #define GLX_COLOR_INDEX_TYPE            0x8015
00168 #define GLX_RGBA_TYPE_SGIX              GLX_RGBA_TYPE
00169 #define GLX_COLOR_INDEX_TYPE_SGIX       GLX_COLOR_INDEX_TYPE
00170
00171 /* glXQueryContext attributes */
00172 /* #define GLX_FBCONFIG_ID                0x8013 */
00173 /* #define GLX_RENDER_TYPE                0x8011 */
00174 #define GLX_SCREEN                      0x800C
00175
00176 /* glXSelectEvent event mask bits */
00177 #define GLX_PBUFFER_CLOBBER_MASK        0x08000000
00178 #define GLX_PBUFFER_CLOBBER_MASK_SGIX   GLX_PBUFFER_CLOBBER_MASK
00179
00180 /* GLXPbufferClobberEvent event_type values */
00181 #define GLX_DAMAGED                     0x8020
00182 #define GLX_SAVED                       0x8021
00183 #define GLX_DAMAGED_SGIX                GLX_DAMAGED
00184 #define GLX_SAVED_SGIX                  GLX_SAVED
00185
00186 /* GLXPbufferClobberEvent draw_type values */
00187 #define GLX_WINDOW                      0x8022
00188 #define GLX_PBUFFER                     0x8023
00189 #define GLX_WINDOW_SGIX                 GLX_WINDOW
00190 #define GLX_PBUFFER_SGIX                GLX_PBUFFER
00191
00192 /* GLXPbufferClobberEvent buffer_mask bits */
00193 #define GLX_FRONT_LEFT_BUFFER_BIT       0x00000001
00194 #define GLX_FRONT_RIGHT_BUFFER_BIT      0x00000002
00195 #define GLX_BACK_LEFT_BUFFER_BIT        0x00000004
00196 #define GLX_BACK_RIGHT_BUFFER_BIT       0x00000008
00197 #define GLX_AUX_BUFFERS_BIT             0x00000010
00198 #define GLX_DEPTH_BUFFER_BIT            0x00000020
00199 #define GLX_STENCIL_BUFFER_BIT          0x00000040
00200 #define GLX_ACCUM_BUFFER_BIT            0x00000080
00201 #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX  GLX_FRONT_LEFT_BUFFER_BIT
00202 #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX GLX_FRONT_RIGHT_BUFFER_BIT
00203 #define GLX_BACK_LEFT_BUFFER_BIT_SGIX   GLX_BACK_LEFT_BUFFER_BIT
00204 #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX  GLX_BACK_RIGHT_BUFFER_BIT
00205 #define GLX_AUX_BUFFERS_BIT_SGIX        GLX_AUX_BUFFERS_BIT
00206 #define GLX_DEPTH_BUFFER_BIT_SGIX       GLX_DEPTH_BUFFER_BIT
00207 #define GLX_STENCIL_BUFFER_BIT_SGIX     GLX_STENCIL_BUFFER_BIT
00208 #define GLX_ACCUM_BUFFER_BIT_SGIX       GLX_ACCUM_BUFFER_BIT
00209
00210 /*
00211  * Extension return values from glXGetConfig.  These are also
00212  * accepted as parameter values for glXChooseVisual.
00213  */
00214
00215 #define GLX_X_VISUAL_TYPE_EXT           0x22    /* visual_info extension type */
00216 #define GLX_TRANSPARENT_TYPE_EXT        0x23    /* visual_info extension */
00217 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24    /* visual_info extension */
00218 #define GLX_TRANSPARENT_RED_VALUE_EXT   0x25    /* visual_info extension */
00219 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26    /* visual_info extension */
00220 #define GLX_TRANSPARENT_BLUE_VALUE_EXT  0x27    /* visual_info extension */
00221 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28    /* visual_info extension */
00222
00223 /* Property values for visual_type */
00224 #define GLX_TRUE_COLOR_EXT              0x8002
00225 #define GLX_DIRECT_COLOR_EXT            0x8003
00226 #define GLX_PSEUDO_COLOR_EXT            0x8004
00227 #define GLX_STATIC_COLOR_EXT            0x8005
00228 #define GLX_GRAY_SCALE_EXT              0x8006
00229 #define GLX_STATIC_GRAY_EXT             0x8007
00230
00231 /* Property values for transparent pixel */
00232 #define GLX_NONE_EXT                    0x8000
00233 #define GLX_TRANSPARENT_RGB_EXT         0x8008
00234 #define GLX_TRANSPARENT_INDEX_EXT       0x8009
00235
00236 /* Property values for visual_rating */
00237 #define GLX_VISUAL_CAVEAT_EXT           0x20    /* visual_rating extension type */
00238 #define GLX_SLOW_VISUAL_EXT             0x8001
00239 #define GLX_NON_CONFORMANT_VISUAL_EXT   0x800D
00240
00241 /*
00242  * Names for attributes to glXGetClientString.
00243  */
00244 #define GLX_VENDOR                      0x1
00245 #define GLX_VERSION                     0x2
00246 #define GLX_EXTENSIONS                  0x3
00247
00248 /*
00249  * Names for attributes to glXQueryContextInfoEXT.
00250  */
00251 #define GLX_SHARE_CONTEXT_EXT           0x800A  /* id of share context */
00252 #define GLX_VISUAL_ID_EXT               0x800B  /* id of context's visual */
00253 #define GLX_SCREEN_EXT                  0x800C  /* screen number */
00254
00255 /* NV_float_buffer */
00256 #define GLX_FLOAT_COMPONENTS_NV         0x20B0
00257
00258 #ifdef __cplusplus
00259 }
00260 #endif
00261
00262 #endif /* !__glxtokens_h__ */
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


glxtypes.h Source File

glxtypes.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00020 // these types are not defined in linux gl headers
00021 typedef const char * (GLAPI * PFNGLXQUERYEXTENSIONSSTRINGPROC) (Display *dpy, int screen );
00022
00023 typedef GLXContext   (GLAPI * PFNGLXCREATECONTEXT) (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
00024 typedef void         (GLAPI * PFNGLXDESTROYCONTEXT) (Display *dpy, GLXContext ctx);
00025 typedef GLXContext   (GLAPI * PFNGLXGETCURRENTCONTEXT) (void);
00026 typedef Bool         (GLAPI * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
00027 typedef GLXDrawable  (GLAPI * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
00028
00029 typedef GLXPbuffer   (GLAPI * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfig config,
00030                                                                unsigned int width,
00031                                                                unsigned int height,
00032                                                                const int *attrib_list);
00033 typedef void         (GLAPI * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbuffer pbuf);
00034 typedef void         (GLAPI * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbuffer pbuf,
00035                                                               int attribute, unsigned int *value);
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};
If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled black box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
The arrows have the following meaning:
  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Group.h Source File

Group.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Node.h"
00018
00019 namespace nvsg
00020 {
00022
00026   class Group : public Node
00027   {
00028     public:
00030
00031       NVSG_API static const Group * create( void );
00032
00034
00035       NVSG_API static const Group * createFromBase( const Node &rhs
00036                                                   );
00037
00039
00040       NVSG_API virtual const Group * clone( void ) const;
00041
00043
00044       NVSG_API virtual bool isDataShared( void ) const;
00045
00047
00048       NVSG_API virtual DataID getDataID( void ) const;
00049
00051
00052       NVSG_API size_t getNumberOfChildren( void ) const;
00053
00055
00061       NVSG_API size_t addChild( const Node * pChild
00062                               , size_t position = 0xFFFFFFFF
00063                               );
00064
00066
00068       NVSG_API const Node * getChild( size_t index
00069                                     ) const;
00070
00072
00076       NVSG_API bool removeChild( const Node * pChild
00077                                );
00078
00080
00084       NVSG_API bool removeChild( size_t position
00085                                );
00086
00088
00091       NVSG_API bool replaceChild( const Node * newChild
00092                                 , const Node * oldChild
00093                                 );
00094
00096
00099       NVSG_API bool replaceChild( const Node * newChild
00100                                 , size_t position
00101                                 );
00102
00104
00105       NVSG_API bool hasChild( const Node * node
00106                             ) const;
00107
00108       // Retrieve the index of the given node.
00115       NVSG_API bool getIndex( const Node * node
00116                             , size_t & index
00117                             ) const;
00118
00120
00121       NVSG_API virtual bool containsCgFx( void ) const;
00122
00124
00125       NVSG_API virtual void invalidateCgFxContainment( void );
00126
00128
00129       NVSG_API virtual bool containsLight( void ) const;
00130
00132
00133       NVSG_API virtual void invalidateLightContainment( void );
00134
00136
00138       NVSG_API virtual bool containsTransparentMaterial( void ) const;
00139
00141
00142       NVSG_API virtual void invalidateTransparentMaterialContainment( void );
00143
00145
00147       NVSG_API virtual bool containsTransparentTexture( void ) const;
00148
00150
00151       NVSG_API virtual void invalidateTransparentTextureContainment( void );
00152
00154
00155       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00156
00158
00159       NVSG_API virtual void invalidateNumberOfFrames( void ) const;
00160
00161     protected:
00163       NVSG_API Group( void );
00164
00166       NVSG_API Group( const Node &rhs );
00167
00169       NVSG_API Group( const Group& rhs );
00170
00172       NVSG_API virtual ~Group(void);
00173
00175
00178       NVSG_API virtual bool calcBoundingSphere( void ) const;
00179
00181
00183       void  invalidateCaches( const Node *pChild
00184                             , bool insert
00185                             );
00186
00187     private:
00188       std::vector<const Node*> m_children;
00189
00190       //  State caches
00191       mutable bool    m_containsCgFx;
00192       mutable bool    m_containsCgFxValid;
00193       mutable bool    m_containsLight;
00194       mutable bool    m_containsLightValid;
00195       mutable bool    m_containsTransparentMaterial;
00196       mutable bool    m_containsTransparentMaterialValid;
00197       mutable bool    m_containsTransparentTexture;
00198       mutable bool    m_containsTransparentTextureValid;
00199       mutable size_t  m_numberOfFrames;
00200       mutable bool    m_numberOfFramesValid;
00201   };
00202
00203   inline size_t Group::getNumberOfChildren( void ) const
00204   {
00205     __TRACE();
00206     return( m_children.size() );
00207   }
00208
00209   inline const Node * Group::getChild( size_t index ) const
00210   {
00211     __TRACE();
00212     __ASSERT(index<m_children.size()); // undefined behaviour for invalid index
00213     return m_children[index];
00214   }
00215
00216   inline  void  Group::invalidateCaches( const Node *pChild, bool insert )
00217   {
00218     __TRACE();
00219     invalidateBoundingSphere();
00220     if ( pChild->containsCgFx() && ! ( insert && containsCgFx() ) )
00221     {
00222       invalidateCgFxContainment();
00223     }
00224     if ( pChild->containsLight() && ! ( insert && containsLight() ) )
00225     {
00226       invalidateLightContainment();
00227     }
00228     if ( pChild->containsTransparentMaterial() && ! ( insert && containsTransparentMaterial() ) )
00229     {
00230       invalidateTransparentMaterialContainment();
00231     }
00232     if ( pChild->containsTransparentTexture() && ! ( insert && containsTransparentTexture() ) )
00233     {
00234       invalidateTransparentTextureContainment();
00235     }
00236   }
00237 } //  namespace nvsg
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


GroupUnifyTraverser.h Source File

GroupUnifyTraverser.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #include "nvsgcommon.h"
00013
00014 #include "nvtraverser/Traverser.h"
00015
00016 namespace nvtraverser
00017 {
00019
00020   class GroupUnifyTraverser : public Traverser
00021   {
00022     public:
00024       NVSG_API GroupUnifyTraverser( void );
00025
00026     public:
00028
00030       NVSG_API bool getIgnoreNames( void ) const;
00031
00033
00034       NVSG_API void setIgnoreNames( bool ignore
00035                                   );
00036
00037     protected:
00039       NVSG_API virtual ~GroupUnifyTraverser( void );
00040
00042
00043       NVSG_API virtual void handleGroup( const nvsg::Group * p
00044                                          );
00045
00047
00048       NVSG_API virtual void preTraverseGroup( const nvsg::Group *p
00049                                             );
00050
00052
00053       NVSG_API virtual void postTraverseGroup( const nvsg::Group *p
00054                                              );
00055
00056     private:
00057       bool  m_ignoreNames;
00058       std::stack<std::vector<const nvsg::Group *>*> m_oneChildGroups;
00059   };
00060
00061   inline bool GroupUnifyTraverser::getIgnoreNames( void ) const
00062   {
00063     return( m_ignoreNames );
00064   }
00065
00066   inline void GroupUnifyTraverser::setIgnoreNames( bool ignore )
00067   {
00068     m_ignoreNames = ignore;
00069   }
00070 }
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


HighlightBox.h Source File

HighlightBox.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/HighlightObject.h"
00018 #include "nvmath/BoundingSphere.h"
00019
00020 namespace nvsg
00021 {
00023   class HighlightBox : public HighlightObject
00024   {
00025     public:
00027
00028       NVSG_API static const HighlightBox * create( float width = 2.0f
00029                                                  , nvmath::Vec3f color = nvmath::Vec3f(1.0f, 0.0f, 0.0f)
00030                                                  );
00031
00033
00034       NVSG_API static const HighlightBox * createFromBase( const HighlightObject &rhs
00035                                                          , float width = 2.0f
00036                                                          , nvmath::Vec3f color = nvmath::Vec3f(1.0f,0.0f,0.0f)
00037                                                          );
00038
00040
00041       NVSG_API virtual const HighlightBox * clone( void ) const;
00042
00044
00046       NVSG_API virtual bool isBoundingSphereValid( void ) const;
00047
00049
00052       NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( void ) const;
00053
00055       NVSG_API void setVertices(nvmath::Vec3f* vertices);
00056
00058       NVSG_API const nvmath::Vec3f* getVertices() const;
00059
00061       NVSG_API float getLineWidth() const;
00062
00064       NVSG_API const nvmath::Vec3f & getColor() const;
00065
00066     protected:
00068       NVSG_API HighlightBox( float width, nvmath::Vec3f color );
00069
00071       NVSG_API HighlightBox( const HighlightObject &rhs, float width, nvmath::Vec3f color );
00072
00074       NVSG_API HighlightBox( const HighlightBox &rhs );
00075
00076     protected:
00077       nvmath::Vec3f m_vertices[8];
00078       float m_lineWidth;
00079       nvmath::Vec3f m_color;
00080       nvmath::BoundingSphere m_boundingSphere;
00081
00082     private:
00083       HighlightBox( void );   //  private default constructor to prevent usage
00084   };
00085
00086   inline const nvmath::Vec3f* HighlightBox::getVertices() const
00087   {
00088     __TRACE();
00089     return m_vertices;
00090   }
00091
00092   inline float HighlightBox::getLineWidth() const
00093   {
00094     __TRACE();
00095     return m_lineWidth;
00096   }
00097
00098   inline const nvmath::Vec3f & HighlightBox::getColor() const
00099   {
00100     __TRACE();
00101     return m_color;
00102   }
00103
00104   inline bool HighlightBox::isBoundingSphereValid( void ) const
00105   {
00106     return( m_boundingSphere.isValid() );
00107   }
00108
00109   inline const nvmath::Sphere3f & HighlightBox::getBoundingSphere( void ) const
00110   {
00111     __ASSERT( m_boundingSphere.isValid() );
00112     return( m_boundingSphere.getSphere() );
00113   }
00114
00115 }
Generated on Fri Jan 28 09:17:47 2005 for NVSGSDK by NVIDIA


HighlightEdges.h Source File

HighlightEdges.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/HighlightObject.h"
00018 #include "nvmath/Sphere3f.h"
00019 #include "nvmath/Vec3f.h"
00020
00021 namespace nvsg
00022 {
00024   class HighlightEdges : public HighlightObject
00025   {
00026     public:
00028
00029       NVSG_API static const HighlightEdges * create( float width = 2.0f
00030                                                    , nvmath::Vec3f color = nvmath::Vec3f(1.0f, 0.0f, 0.0f)
00031                                                    );
00032
00034
00035       NVSG_API static const HighlightEdges * createFromBase( const HighlightObject &rhs
00036                                                            , float width = 2.0f
00037                                                            , nvmath::Vec3f color = nvmath::Vec3f(1.0f,0.0f,0.0f)
00038                                                            );
00039
00041
00042       NVSG_API virtual const HighlightEdges * clone( void ) const;
00043
00045
00046       NVSG_API virtual bool isBoundingSphereValid( void ) const;
00047
00049
00050       NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( void ) const;
00051
00053       NVSG_API float getLineWidth( void ) const;
00054
00056       NVSG_API const nvmath::Vec3f & getColor( void ) const;
00057
00058     protected:
00060       NVSG_API HighlightEdges( float width, nvmath::Vec3f color );
00061
00063       NVSG_API HighlightEdges( const HighlightObject &rhs, float width, nvmath::Vec3f color );
00064
00066       NVSG_API HighlightEdges( const HighlightEdges &rhs );
00067
00068     protected:
00069       float m_lineWidth;
00070       nvmath::Vec3f m_color;
00071
00072     private:
00073       HighlightEdges( void );   //  private default constructor to prevent usage
00074   };
00075
00076   inline bool HighlightEdges::isBoundingSphereValid( void ) const
00077   {
00078     return( false );
00079   }
00080
00081   inline const nvmath::Sphere3f & HighlightEdges::getBoundingSphere( void ) const
00082   {
00083     __TRACE();
00084     __ASSERT( false );
00085     return( nvmath::cUnitSphere );
00086   }
00087
00088   inline float HighlightEdges::getLineWidth( void ) const
00089   {
00090     __TRACE();
00091     return m_lineWidth;
00092   }
00093
00094   inline const nvmath::Vec3f & HighlightEdges::getColor( void ) const
00095   {
00096     __TRACE();
00097     return m_color;
00098   }
00099 }
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


HighlightObject.h Source File

HighlightObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Object.h"
00018
00019 namespace nvmath
00020 {
00021   class Sphere3f;
00022 }
00023
00024 namespace nvsg
00025 {
00027   class HighlightObject : public Object
00028   {
00029     public:
00031
00033       NVSG_API virtual bool isBoundingSphereValid( void ) const = 0;
00034
00036
00039       NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( void ) const = 0;
00040
00042
00044       NVSG_API virtual bool isValid( void ) const;
00045
00047       NVSG_API virtual void invalidate( void );
00048
00049     protected:
00051       NVSG_API HighlightObject( void );
00052
00053     protected:
00054       bool m_invalid;
00055   };
00056
00057   inline HighlightObject::HighlightObject( void )
00058     : m_invalid(true)
00059   {
00060     __TRACE();
00061   }
00062
00063   inline bool HighlightObject::isValid( void ) const
00064   {
00065     __TRACE();
00066     return !m_invalid;
00067   }
00068
00069   inline void HighlightObject::invalidate( void )
00070   {
00071     __TRACE();
00072     m_invalid=true;
00073   }
00074 }
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


IdentityToGroupTraverser.h Source File

IdentityToGroupTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <map>
00016
00017 #include "nvsgcommon.h"
00018
00019 #include "nvtraverser/Traverser.h"
00020
00021 namespace nvtraverser
00022 {
00024
00027   class IdentityToGroupTraverser : public Traverser
00028   {
00029     public:
00031       NVSG_API IdentityToGroupTraverser( void );
00032
00033     protected:
00035       NVSG_API virtual ~IdentityToGroupTraverser( void );
00036
00038
00039       NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *p
00040                                                    );
00041
00043
00044       NVSG_API virtual void handleGroup( const nvsg::Group *p
00045                                        );
00046
00048
00050       NVSG_API virtual void handleTransform( const nvsg::Transform *p
00051                                            );
00052
00053     private:
00054       std::map<const nvsg::Node*,const nvsg::Group*>  m_transformToGroupMap;
00055   };
00056 }
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


Incarnation.h Source File

Incarnation.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 namespace nvutil {
00017
00019
00022 class Incarnation
00023 {
00024 public:
00026
00027   Incarnation() : m_incarnation(-1) {}
00028
00030
00031   explicit Incarnation(int incarnation) : m_incarnation(incarnation) {}
00032
00034
00035   Incarnation& operator=(const Incarnation& rhs);
00036
00038
00039   Incarnation& operator=(int incarnation);
00040
00042
00044   bool operator==(const Incarnation& rhs);
00045
00047
00049   bool operator!=(const Incarnation& rhs);
00050
00052
00054   Incarnation& operator++(); // prefix ++
00055
00057
00060   const Incarnation operator++(int); // postfix ++
00061
00062 private:
00063   int m_incarnation;
00064 };
00065
00066 inline Incarnation& Incarnation::operator=(const Incarnation& rhs)
00067 {
00068   if ( this!=&rhs )
00069   {
00070     m_incarnation=rhs.m_incarnation;
00071   }
00072   return *this;
00073 }
00074
00075 inline Incarnation& Incarnation::operator=(int incarnation)
00076 {
00077   m_incarnation=incarnation;
00078   return *this;
00079 }
00080
00081 inline bool Incarnation::operator==(const Incarnation& rhs)
00082 {
00083   return m_incarnation==rhs.m_incarnation;
00084 }
00085
00086 inline bool Incarnation::operator!=(const Incarnation& rhs)
00087 {
00088   return m_incarnation!=rhs.m_incarnation;
00089 }
00090
00091 inline Incarnation& Incarnation::operator++()
00092 {
00093   ++m_incarnation;
00094   return *this;
00095 }
00096
00097 inline const Incarnation Incarnation::operator++(int)
00098 {
00099   return Incarnation(m_incarnation++);
00100 }
00101
00102 } // namespace nvutil
00103
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


InterpolatedAnimation.h Source File

InterpolatedAnimation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Animation.h"
00018
00019 namespace nvsg
00020 {
00022
00025   template<typename T> class InterpolatedAnimation : public Animation<T>
00026   {
00027     public:
00028       //--  Functions reimplemented from Animation  --
00029       virtual size_t getNumberOfFrames( void ) const;
00030
00031       //--  Functions specific to InterpolatedAnimation --
00033
00034       size_t getNumberOfKeys( void ) const;
00035
00037
00038       void setNumberOfKeys( size_t count
00039                           );
00040
00042
00043       void setKeyFrame( size_t key
00044                       , unsigned int frame
00045                       , const T & value
00046                       );
00047
00049
00050       unsigned int getCurrentFrame( void ) const;
00051
00053
00054       const T & getCurrentValue( void ) const;
00055
00057
00058       unsigned int getFrame( size_t key ) const;
00059
00061
00062       const T & getValue( size_t key ) const;
00063
00065
00066       size_t getKey( unsigned int frame ) const;
00067
00068     protected:
00070       InterpolatedAnimation( void );
00071
00073       InterpolatedAnimation( const InterpolatedAnimation &rhs
00074                            );
00075
00077       virtual ~InterpolatedAnimation( void );
00078
00080       void  setCurrent( size_t key ) const;
00081
00083       void  setCurrent( unsigned int frame, const T &value ) const;
00084
00085     private:
00086       std::vector<unsigned int>  m_keys;
00087       std::vector<T>             m_values;
00088       mutable unsigned int  m_currentFrame;
00089       mutable T             m_currentValue;
00090   };
00091
00092   template<typename T>
00093   inline InterpolatedAnimation<T>::InterpolatedAnimation( void )
00094   : m_currentFrame(-1)
00095   {
00096     __TRACE();
00097   }
00098
00099   template<typename T>
00100   inline InterpolatedAnimation<T>::InterpolatedAnimation( const InterpolatedAnimation &rhs )
00101     : m_keys( rhs.m_keys )
00102     , m_values( rhs.m_values )
00103     , m_currentFrame( rhs.m_currentFrame )
00104     , m_currentValue( rhs.m_currentValue )
00105   {
00106     __TRACE();
00107   }
00108
00109   template<typename T>
00110   inline InterpolatedAnimation<T>::~InterpolatedAnimation(void)
00111   {
00112     __TRACE();
00113   }
00114
00115   template<typename T>
00116   inline size_t InterpolatedAnimation<T>::getNumberOfFrames( void ) const
00117   {
00118     __TRACE();
00119     __ASSERT( m_keys.size() );                    //  the last key holds the index of the last frame,
00120     return( 1 + m_keys[m_keys.size()-1] );      //  but the number of frames is one greater
00121   }
00122
00123   template<typename T>
00124   inline size_t InterpolatedAnimation<T>::getNumberOfKeys( void ) const
00125   {
00126     __TRACE();
00127     return( m_keys.size() );
00128   }
00129
00130   template<typename T>
00131   inline void InterpolatedAnimation<T>::setNumberOfKeys( size_t count )
00132   {
00133     __TRACE();
00134     m_keys.resize( count );
00135     m_values.resize( count );
00136   }
00137
00138   template<typename T>
00139   inline void InterpolatedAnimation<T>::setKeyFrame( size_t key, unsigned int frame, const T &value )
00140   {
00141     __TRACE();
00142     __ASSERT( key < m_keys.size() );
00143     m_keys[key]   = frame;
00144     m_values[key] = value;
00145   }
00146
00147   template<typename T>
00148   inline unsigned int InterpolatedAnimation<T>::getCurrentFrame( void ) const
00149   {
00150     __TRACE();
00151     return( m_currentFrame );
00152   }
00153
00154   template<typename T>
00155   inline const T & InterpolatedAnimation<T>::getCurrentValue( void ) const
00156   {
00157     __TRACE();
00158     return( m_currentValue );
00159   }
00160
00161   template<typename T>
00162   inline unsigned int InterpolatedAnimation<T>::getFrame( size_t key ) const
00163   {
00164     __TRACE();
00165     return( m_keys[key] );
00166   }
00167
00168   template<typename T>
00169   inline const T & InterpolatedAnimation<T>::getValue( size_t key ) const
00170   {
00171     __TRACE();
00172     return( m_values[key] );
00173   }
00174
00175   template<typename T>
00176   inline size_t InterpolatedAnimation<T>::getKey( unsigned int frame ) const
00177   {
00178     __TRACE();
00179     std::vector<unsigned int>::const_iterator it = std::lower_bound( m_keys.begin(), m_keys.end(), frame );
00180     __ASSERT( it != m_keys.end() );
00181     return( it - m_keys.begin() );
00182   }
00183
00184   template<typename T>
00185   inline void InterpolatedAnimation<T>::setCurrent( size_t key ) const
00186   {
00187     __TRACE();
00188     m_currentFrame = m_keys[key];
00189     m_currentValue = m_values[key];
00190   }
00191
00192   template<typename T>
00193   inline void InterpolatedAnimation<T>::setCurrent( unsigned int frame, const T &value ) const
00194   {
00195     __TRACE();
00196     m_currentFrame = frame;
00197     m_currentValue = value;
00198   }
00199 }
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


IOLayer.h Source File

IOLayer.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <string>
00016
00017 #include "nvsgcommon.h"
00018
00019 namespace nvutil
00020 {
00022
00025   namespace IO
00026   {
00028
00033     NVSG_API void errorMessage( const std::string& caption
00034                               , const std::string& msg
00035                               , bool resume
00036                               );
00037   }
00038 }
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


JitterCamera.h Source File

JitterCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/SimpleCamera.h"
00018
00019 namespace nvsg
00020 {
00022
00047   class JitterCamera : public MonoCamera
00048   {
00049     public:
00051
00052       NVSG_API static const JitterCamera * create( const SimpleCamera &base
00053                                                  , const std::vector<nvmath::Vec2f> &jitters
00054                                                  );
00055
00056       NVSG_API static const JitterCamera * createFromBase( const MonoCamera &rhs
00057                                                          , const SimpleCamera &base
00058                                                          , const std::vector<nvmath::Vec2f> &jitters
00059                                                          );
00060
00062
00063       NVSG_API virtual const JitterCamera * clone( void ) const;
00064
00066
00067       NVSG_API virtual bool isDataShared()  const;
00068
00070
00071       NVSG_API virtual DataID getDataID() const;
00072
00073       //
00074       // Jitter interface
00075       //
00076
00078
00080       NVSG_API void getJitters( std::vector<nvmath::Vec2f> &jitters
00081                               ) const;
00082
00084
00087       NVSG_API void setJitters( const std::vector<nvmath::Vec2f> &jitters
00088                               );
00089
00091
00092       NVSG_API size_t getNumberOfPasses() const;
00093
00095
00097       NVSG_API void updateSimpleCameras( size_t vpWidth
00098                                        , size_t vpHeight
00099       ) const;
00100
00102
00105       NVSG_API const SimpleCamera * getBaseCamera() const;
00106
00108
00109       NVSG_API const SimpleCamera * getCamera( size_t index
00110                                              ) const;
00111
00112       //
00113       // MonoCamera interface
00114       //
00115
00117
00118       NVSG_API virtual nvmath::Mat44f getProjection() const;
00119
00121
00122       NVSG_API virtual float getProjectionDx() const;
00123
00125
00126       NVSG_API virtual nvmath::Mat44f getInverseProjection()  const;
00127
00129       NVSG_API virtual void setProjectionDx( float dx
00130                                            );
00131
00132       //
00133       // head light handling interfaces
00134       //
00135
00137       NVSG_API virtual void addHeadLight(
00138         const LightSource * pLight
00139       , const nvmath::Vec3f &position = nvmath::Vec3f( 0.0f, 0.0f, 0.0f )
00140       , const nvmath::Quatf &quat     = nvmath::Quatf( 0.0f, 0.0f, 0.0f, 1.0f )
00141       );
00142
00144
00145       NVSG_API virtual bool removeHeadLight( size_t index = 0
00146                                            );
00147
00149
00150       NVSG_API virtual size_t getNumberOfHeadLights() const;
00151
00153
00154       NVSG_API virtual const LightSource* getHeadLight( size_t index
00155                                                       ) const;
00156
00158       NVSG_API virtual void getHeadLightTrafo( nvmath::Vec3f &trans
00159                                              , nvmath::Quatf &quat
00160                                              , size_t index = 0
00161                                              ) const;
00162
00164
00165       NVSG_API virtual bool setHeadLightTrafo( const nvmath::Vec3f &trans
00166                                              , const nvmath::Quatf &quat
00167                                              , size_t index = 0
00168                                              );
00169
00170
00171       //
00172       // basic camera interface
00173       //
00174
00176
00177       NVSG_API virtual nvmath::Vec3f getDirection() const;
00178
00180       NVSG_API virtual void setDirection( const nvmath::Vec3f& dir
00181                                         );
00182
00184
00185       NVSG_API virtual float getTargetDistance() const;
00186
00188       NVSG_API virtual void setTargetDistance( float td
00189                                              );
00190
00192
00193       NVSG_API virtual const nvmath::Vec3f& getPosition() const;
00194
00196       NVSG_API virtual void setPosition( const nvmath::Vec3f& pos
00197                                        );
00198
00200       NVSG_API virtual void setUpVector( const nvmath::Vec3f &up
00201                                        );
00202
00204
00205       NVSG_API virtual nvmath::Vec3f getUpVector() const;
00206
00208       NVSG_API virtual void setOrientation( const nvmath::Quatf &quat
00209                                           );
00210
00212       NVSG_API virtual void setOrientation( const nvmath::Vec3f &dir
00213                                           , const nvmath::Vec3f &up
00214                                           );
00215
00217       NVSG_API virtual void setOrientation( const nvmath::Vec3f &axis
00218                                           , float angle
00219       );
00220
00222
00223       NVSG_API virtual nvmath::Quatf getOrientation( void ) const;
00224
00226
00227       NVSG_API virtual nvmath::Mat44f getWorldToViewMatrix() const;
00228
00230
00231       NVSG_API virtual nvmath::Mat44f getViewToWorldMatrix() const;
00232
00234
00235       NVSG_API virtual const nvmath::Vec2f& getWindowOffset() const;
00236
00238       NVSG_API virtual void setWindowOffset( const nvmath::Vec2f &offset
00239                                            );
00240
00242       NVSG_API virtual void getWindowRegion( nvmath::Vec2f &lowerLeft
00243                                            , nvmath::Vec2f &upperRight
00244                                            ) const;
00245
00247       NVSG_API virtual void setWindowRegion( const nvmath::Vec2f &lowerLeft
00248                                            , const nvmath::Vec2f &upperRight
00249                                            );
00250
00252
00253       NVSG_API virtual const nvmath::Vec2f& getWindowSize() const;
00254
00256       NVSG_API virtual void setWindowSize( const nvmath::Vec2f &size
00257                                          );
00258
00260
00261       NVSG_API virtual float getAspectRatio() const;
00262
00264       NVSG_API virtual void setAspectRatio( float ar
00265                                           , bool keepWidth = false
00266                                           );
00267
00269
00274       NVSG_API virtual bool isAutoClipPlanes() const;
00275
00277       NVSG_API virtual void setAutoClipPlanes( bool on
00278                                              );
00279
00281       NVSG_API virtual void calcNearFarDistances( const nvmath::Sphere3f &sphere
00282                                                 );
00283
00285
00286       NVSG_API virtual float getFarDistance() const;
00287
00289       NVSG_API virtual void setFarDistance( float fd
00290                                           );
00291
00293
00294       NVSG_API virtual float getNearDistance() const;
00295
00297       NVSG_API virtual void setNearDistance( float nd
00298                                            );
00299
00300       //
00301       // operations to perform on a camera
00302       //
00303
00305       NVSG_API virtual void move( const nvmath::Vec3f& delta
00306                                 );
00307
00309       NVSG_API virtual void orbit( const nvmath::Vec3f& axis
00310                                  , float rad
00311                                  );
00312
00314       NVSG_API virtual void rotate( const nvmath::Vec3f& axis
00315                                   , float rad
00316                                   , bool  cameraRelative = true
00317                                   );
00318
00320       NVSG_API virtual void zoom( float factor
00321                                 );
00322
00324       NVSG_API virtual void zoom( const nvmath::Sphere3f &sphere
00325                                 , float fovy = -1.0f
00326                                 );
00327
00328
00329     protected:
00331
00335       NVSG_API JitterCamera( const SimpleCamera& base
00336                            , const std::vector<nvmath::Vec2f> &jitters
00337                            );
00338
00340       NVSG_API JitterCamera( const MonoCamera &rhs
00341                            , const SimpleCamera &base
00342                            , const std::vector<nvmath::Vec2f> &jitters );
00343
00345       NVSG_API JitterCamera( const JitterCamera& rhs
00346                            );
00347
00349       NVSG_API virtual ~JitterCamera(void);
00350
00351     private:
00352       JitterCamera();   //  private default constructor to prevent usage
00353       JitterCamera& operator=(const JitterCamera& rhs) {} // assignment not permitted
00354
00355     private:
00356       const SimpleCamera                                * m_baseCamera;
00357       mutable std::vector< std::pair<const SimpleCamera*,nvmath::Vec2f> >   m_cameras;
00358   };
00359
00360   // - - - - - - - - - - - - - - - - - - - - -
00361   // inlines
00362   // - - - - - - - - - - - - - - - - - - - - -
00363   inline const SimpleCamera * JitterCamera::getBaseCamera() const
00364   {
00365     __TRACE();
00366     return( m_baseCamera );
00367   }
00368
00369   inline const SimpleCamera * JitterCamera::getCamera(size_t index) const
00370   {
00371     __TRACE();
00372     __ASSERT(index<m_cameras.size());
00373     return m_cameras[index].first;
00374   }
00375
00376   inline void JitterCamera::getJitters( std::vector<nvmath::Vec2f> &jitters ) const
00377   {
00378     __TRACE();
00379     jitters.resize( m_cameras.size() );
00380     for ( size_t i=0 ; i<jitters.size() ; i++ )
00381     {
00382       jitters[i] = m_cameras[i].second;
00383     }
00384   }
00385
00386   inline size_t JitterCamera::getNumberOfPasses() const
00387   {
00388     __TRACE();
00389     return( m_cameras.size() );
00390   }
00391 } // namespace
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


LightSource.h Source File

LightSource.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Animation.h"
00018 #include "nvsg/Node.h"
00019 #include "nvmath/Quatf.h"
00020 #include "nvmath/Trafo.h"
00021
00022 namespace nvsg
00023 {
00025
00050   class LightSource : public Node
00051   {
00052     public:
00054
00058       NVSG_API const nvmath::Vec3f& getAmbientColor( void ) const;
00059
00061
00064       NVSG_API void setAmbientColor( const nvmath::Vec3f &c
00065                                    );
00066
00068
00072       NVSG_API const nvmath::Vec3f& getDiffuseColor( void ) const;
00073
00075
00078       NVSG_API void setDiffuseColor( const nvmath::Vec3f &c
00079                                    );
00080
00082
00086       NVSG_API const nvmath::Vec3f& getSpecularColor( void ) const;
00087
00089
00092       NVSG_API void setSpecularColor( const nvmath::Vec3f &c
00093                                     );
00094
00096
00098       NVSG_API float getIntensity( void ) const;
00099
00101
00102       NVSG_API void setIntensity( float i
00103                                 );
00104
00106
00107       NVSG_API const Animation<nvmath::Trafo> * getAnimation( void ) const;
00108
00110       NVSG_API void setAnimation( const Animation<nvmath::Trafo> * pAnimation
00111                                 );
00112
00114
00115       NVSG_API void setAnimationFrame( size_t frame
00116                                      );
00117
00119
00120       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00121
00123       NVSG_API void setPosition( const nvmath::Vec3f & position
00124                                );
00125
00127
00128       NVSG_API const nvmath::Vec3f & getPosition( void ) const;
00129
00131
00133       NVSG_API nvmath::Vec3f getDirection( void ) const;
00134
00136
00138       NVSG_API void setDirection( const nvmath::Vec3f & direction
00139                                 );
00140
00142
00143       NVSG_API const nvmath::Quatf & getOrientation( void ) const;
00144
00146       NVSG_API void setOrientation( const nvmath::Quatf & orientation
00147                                   );
00148
00150
00151       NVSG_API nvmath::Mat44f getTransformationMatrix( void ) const;
00152
00154
00155       NVSG_API nvmath::Mat44f getInverse( void ) const;
00156
00158
00159       NVSG_API virtual bool isDataShared( void )  const;
00160
00162
00163       NVSG_API virtual DataID getDataID( void )     const;
00164
00166
00167       NVSG_API virtual bool containsLight( void ) const;
00168
00169     protected:
00171       NVSG_API LightSource( void );
00172
00174       NVSG_API LightSource( const LightSource& rhs );
00175
00177       NVSG_API virtual ~LightSource(void);
00178
00180
00182       NVSG_API virtual bool calcBoundingSphere( void ) const;
00183
00184     private:
00185       nvmath::Trafo m_trafo;
00186
00187       float m_intensity;
00188       nvmath::Vec3f m_ambientColor;
00189       nvmath::Vec3f m_diffuseColor;
00190       nvmath::Vec3f m_specularColor;
00191
00192       const Animation<nvmath::Trafo>  * m_animation; // animation working on a Trafo
00193       size_t              m_currentFrame;
00194   };
00195
00196   inline bool LightSource::calcBoundingSphere( void ) const
00197   {
00198     __TRACE();
00199     return( false );
00200   }
00201
00202   inline const nvmath::Vec3f& LightSource::getAmbientColor( void ) const
00203   {
00204     __TRACE();
00205     return( m_ambientColor );
00206   }
00207
00208   inline const nvmath::Vec3f& LightSource::getDiffuseColor( void ) const
00209   {
00210     __TRACE();
00211     return( m_diffuseColor );
00212   }
00213
00214   inline const nvmath::Vec3f& LightSource::getSpecularColor( void ) const
00215   {
00216     __TRACE();
00217     return( m_specularColor );
00218   }
00219
00220   inline float LightSource::getIntensity( void ) const
00221   {
00222     __TRACE();
00223     return( m_intensity );
00224   }
00225
00226   inline void LightSource::setAmbientColor( const nvmath::Vec3f &c )
00227   {
00228     __TRACE();
00229     m_ambientColor = c;
00230   }
00231
00232   inline void LightSource::setDiffuseColor( const nvmath::Vec3f &c )
00233   {
00234     __TRACE();
00235     m_diffuseColor = c;
00236   }
00237
00238   inline void LightSource::setSpecularColor( const nvmath::Vec3f &c )
00239   {
00240     __TRACE();
00241     m_specularColor = c;
00242   }
00243
00244   inline void LightSource::setIntensity( float i )
00245   {
00246     __TRACE();
00247     m_intensity = i;
00248   }
00249
00250   inline  const nvmath::Vec3f & LightSource::getPosition( void ) const
00251   {
00252     __TRACE();
00253     return m_trafo.getTranslation();
00254   }
00255
00256   inline  void  LightSource::setPosition( const nvmath::Vec3f & position )
00257   {
00258     __TRACE();
00259     m_trafo.setTranslation(position);
00260     invalidateBoundingSphere();
00261   }
00262
00263   inline nvmath::Vec3f LightSource::getDirection( void ) const
00264   {
00265     __TRACE();
00266     return m_trafo.getOrientation() * nvmath::Vec3f (0.f, 0.f, -1.f);
00267   }
00268
00269   inline const nvmath::Quatf & LightSource::getOrientation( void ) const
00270   {
00271     __TRACE();
00272     return m_trafo.getOrientation();
00273   }
00274
00275   inline void LightSource::setOrientation( const nvmath::Quatf & orientation )
00276   {
00277     __TRACE();
00278     m_trafo.setOrientation(orientation);
00279     invalidateBoundingSphere();
00280   }
00281
00282   inline  nvmath::Mat44f LightSource::getTransformationMatrix( void ) const
00283   {
00284     __TRACE();
00285     return m_trafo.getMatrix();
00286   }
00287
00288   inline nvmath::Mat44f LightSource::getInverse( void ) const
00289   {
00290     __TRACE();
00291     return m_trafo.getInverse();
00292   }
00293
00294   inline const Animation<nvmath::Trafo> * LightSource::getAnimation( void ) const
00295   {
00296     __TRACE();
00297     return( m_animation );
00298   }
00299
00300   inline size_t LightSource::getNumberOfFrames( void ) const
00301   {
00302     __TRACE();
00303     return( m_animation ? m_animation->getNumberOfFrames() : 0 );
00304   }
00305 } //  namespace nvsg
00306
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


LinearInterpolatedAnimation.h Source File

LinearInterpolatedAnimation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/InterpolatedAnimation.h"
00018
00019 #ifdef _DEBUG
00020 # ifndef new
00021 #  define new new(__FILE__, __LINE__)
00022 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00023 # endif
00024 #endif
00025
00026 namespace nvsg
00027 {
00029
00030   template<typename T> class LinearInterpolatedAnimation : public InterpolatedAnimation<T>
00031   {
00032     public:
00034
00035       static const LinearInterpolatedAnimation<T> * create( void );
00036
00038
00039       static const LinearInterpolatedAnimation<T> * createFromBase( const InterpolatedAnimation<T> &rhs
00040                                                                   );
00041
00043
00044       virtual const LinearInterpolatedAnimation<T> * clone( void ) const;
00045
00047
00049       virtual const T & operator[]( size_t i ) const;
00050
00051     protected:
00053       NVSG_API LinearInterpolatedAnimation( void );
00054
00056       NVSG_API LinearInterpolatedAnimation( const InterpolatedAnimation<T> &rhs );
00057
00059       NVSG_API LinearInterpolatedAnimation( const LinearInterpolatedAnimation &rhs );
00060
00062       virtual ~LinearInterpolatedAnimation( void );
00063   };
00064
00065   template<typename T>
00066   inline LinearInterpolatedAnimation<T>::~LinearInterpolatedAnimation(void)
00067   {
00068     __TRACE();
00069   }
00070
00071   template<typename T>
00072   inline const LinearInterpolatedAnimation<T> * LinearInterpolatedAnimation<T>::create( void )
00073   {
00074     __TRACE();
00075     return( new LinearInterpolatedAnimation<T> );
00076   }
00077
00078   template<typename T>
00079   inline const LinearInterpolatedAnimation<T> * LinearInterpolatedAnimation<T>::createFromBase( const InterpolatedAnimation<T> &rhs )
00080   {
00081     __TRACE();
00082     return( new LinearInterpolatedAnimation<T>( rhs ) );
00083   }
00084
00085   template<typename T>
00086   inline const LinearInterpolatedAnimation<T> * LinearInterpolatedAnimation<T>::clone( void ) const
00087   {
00088     __TRACE();
00089     return( new LinearInterpolatedAnimation<T>( *this ) );
00090   }
00091
00092   template<typename T>
00093   inline const T & LinearInterpolatedAnimation<T>::operator[]( size_t frame ) const
00094   {
00095     __TRACE();
00096     if ( frame != getCurrentFrame() )
00097     {
00098 #if defined( _DEBUG )
00099       __ASSERT( getFrame(0) == 0 );
00100       for ( size_t i=1 ; i<getNumberOfKeys() ; i++ )
00101       {
00102         __ASSERT( getFrame(i-1) < getFrame(i) );
00103       }
00104 #endif
00105       size_t key = getKey( (unsigned int) frame );
00106       if ( getFrame( key ) == frame ) //  frame is on a key => use this key frame
00107       {
00108         setCurrent( key );
00109       }
00110       else    //  frame is between it-1 and it
00111       {
00112         __ASSERT( key != 0 );
00113         setCurrent( (unsigned int) frame, lerp( (float)( frame - getFrame(key-1) ) / ( getFrame(key) - getFrame(key-1) ),
00114                                                 getValue( key-1 ), getValue( key ) ) );
00115       }
00116     }
00117     return( getCurrentValue() );
00118   }
00119 }
00120
00121 #ifdef _DEFINED_DBGNEW
00122 # undef new
00123 #endif
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


LinuxTypes.h Source File

LinuxTypes.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014
00015 typedef unsigned int UINT;
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


stdafx.h Source File

stdafx.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 // stdafx.h : include file for standard system include files,
00013 // or project specific include files that are used frequently, but
00014 // are changed infrequently
00015 //
00016
00017 #pragma once
00018
00019 #if defined(_WIN32)
00020
00021 #define WIN32_LEAN_AND_MEAN   // Exclude rarely-used stuff from Windows headers
00022 // Windows Header Files:
00023 #include <windows.h>
00024
00025 #endif
00026
00027 #include <typeinfo>
00028
00029 #include "nvsg/nvsgapi.h" // NVSG storage-class defines
00030 #include "nvsg/NVSGVersion.h" // NVSG version info
00031
00032 #include "nvutil/Assert.h"
00033 #include "nvutil/Trace.h"
00034 #include "nvutil/Tools.h"
00035
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


LOD.h Source File

LOD.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Group.h"
00018
00019
00020 namespace nvsg
00021 {
00023
00050   class LOD : public Group
00051   {
00052     public:
00054
00055       NVSG_API static const LOD * create( void );
00056
00058
00059       NVSG_API static const LOD * createFromBase( const Group &rhs
00060                                                 );
00061
00063
00064       NVSG_API virtual const LOD * clone( void ) const;
00065
00067       NVSG_API void setRanges( const float * ranges
00068                              , size_t count
00069                              );
00070
00072
00073       NVSG_API const float * getRanges( void ) const;
00074
00076
00077       NVSG_API size_t getNumberOfRanges( void ) const;
00078
00080
00083       NVSG_API void setCenter( const nvmath::Vec3f & center
00084                              );
00085
00087
00088       NVSG_API const nvmath::Vec3f & getCenter( void ) const;
00089
00091
00098       NVSG_API size_t getLODToUse(const nvmath::Mat44f & modelViewMatrix
00099                                  ) const;
00100
00101     protected:
00103       NVSG_API LOD( void );
00104
00106       NVSG_API LOD( const Group &rhs );
00107
00109       NVSG_API LOD( const LOD &rhs );
00110
00112       NVSG_API virtual ~LOD( void );
00113
00114     private:
00115       nvmath::Vec3f        m_center;
00116       std::vector<float>   m_ranges;
00117   };
00118
00119 }
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


Log.h Source File

Log.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 #include <stdarg.h>
00018 #include <string>
00019
00020 #include "nvutil/Singleton.h"
00021
00023 extern NVSG_API std::string __LOG_FILE__;
00024
00025 namespace nvutil {
00026
00031
00032 typedef enum
00033 {
00034   TM_NONE = 0
00035 , TM_TEST
00036 , TM_BENCH_TEST
00037 , TM_SHADER_TEST
00038 } TESTMODE;
00039
00041 typedef void LOG_OUTPUT_FUNCTION(const char *);
00042 NVSG_API LOG_OUTPUT_FUNCTION logFileOutput;
00043
00044
00046
00049 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00050 class Log
00051 {
00052 public:
00053
00055
00058   Log() : m_enabled(false) {}
00060
00062   void init( bool enable
00063            );
00065
00067   void format( const char * fmt
00068              , ...
00069              ) const;
00071
00073   bool isEnabled() const;
00074
00075 private:
00076   bool m_enabled;
00077 };
00078
00079 // inline implementations
00080
00081 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00082 inline void Log<TestMode, OutputFn>::init(bool enable)
00083 {
00084   m_enabled = enable;
00085 }
00086
00087 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00088 inline void Log<TestMode, OutputFn>::format(const char * fmt, ...) const
00089 {
00090   if ( !m_enabled )
00091   {
00092     return;
00093   }
00094   // walk the parameter list and perform output
00095   const int bufSize = 1024;
00096   char outBuf[bufSize];
00097
00098   va_list ap;
00099   va_start(ap, fmt);
00100   vsnprintf(outBuf, bufSize-1, fmt, ap);
00101   va_end(ap);
00102
00103   OutputFn(outBuf);
00104 }
00105
00106 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00107 inline bool Log<TestMode, OutputFn>::isEnabled() const
00108 {
00109   return m_enabled;
00110 }
00111
00112 typedef Singleton< Log<TM_TEST,        logFileOutput> > LogTest;
00113 typedef Singleton< Log<TM_BENCH_TEST,  logFileOutput> > LogBenchTest;
00114 typedef Singleton< Log<TM_SHADER_TEST, logFileOutput> > LogShaderTest;
00115 // ... more similar typedefs for additional tests to log
00116
00117 // __LOG__XXX macro defines
00118
00129
00130
00132 #define __LOG_TEST_INIT(TM)         nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)
00133
00134
00136 #define __LOG_BENCH_TEST_INIT(TM)   nvutil::LogBenchTest::instance()->init(TM==nvutil::TM_BENCH_TEST)
00137
00138
00140 #define __LOG_SHADER_TEST_INIT(TM)  nvutil::LogShaderTest::instance()->init(TM==nvutil::TM_SHADER_TEST)
00141
00154
00155 #define __LOG_TEST(s)        { if ( nvutil::LogTest::instance()->isEnabled()       ) { nvutil::LogTest::instance()->format s; }       }
00156
00157 #define __LOG_BENCH_TEST(s)  { if ( nvutil::LogBenchTest::instance()->isEnabled()  ) { nvutil::LogBenchTest::instance()->format s; }  }
00158
00159 #define __LOG_SHADER_TEST(s) { if ( nvutil::LogShaderTest::instance()->isEnabled() ) { nvutil::LogShaderTest::instance()->format s; } }
00160
00173
00174 #define __LOG_TEST_ENABLED()        nvutil::LogTest::instance()->isEnabled()
00175
00176 #define __LOG_BENCH_TEST_ENABLED()  nvutil::LogBenchTest::instance()->isEnabled()
00177
00178 #define __LOG_SHADER_TEST_ENABLED() nvutil::LogShaderTest::instance()->isEnabled()
00179
00182 } // namespace nvutil
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


Mat33f.h Source File

Mat33f.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Matnnf.h"
00018 #include "nvmath/Vec3f.h"
00019
00020 namespace nvmath
00021 {
00022   class Quatf;
00023
00025
00026   class Mat33f : public Matnnf<3>
00027   {
00028     public:
00030
00031       NVSG_API Mat33f( void );
00032
00034
00035       NVSG_API Mat33f( float a00, float a01, float a02
00036                      , float a10, float a11, float a12
00037                      , float a20, float a21, float a22 );
00038
00040
00041       NVSG_API Mat33f( const Vec3f &row0
00042                      , const Vec3f &row1
00043                      , const Vec3f &row2
00044                      );
00045
00047
00048       NVSG_API Mat33f( const Vec3f &axis
00049                      , float rad
00050                      );
00051
00053
00054       NVSG_API Mat33f( const Quatf &quat
00055                      );
00056
00058       NVSG_API Mat33f( const Matnnf<3> & m );
00059
00061       NVSG_API void set( const Vec3f &row0
00062                        , const Vec3f &row1
00063                        , const Vec3f &row2
00064                        );
00065   };
00066
00067   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00068   // non-member functions
00069   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00072   NVSG_API void decompose( const Mat33f &mat
00073                          , Vec3f &scaling
00074                          , Vec3f &shearing
00075                          , Quatf &orientation
00076                          );
00077
00081   inline float determinant( const Mat33f &mat
00082                           )
00083   {
00084     return(   mat[0][0] * ( mat[1][1] * mat[2][2] - mat[1][2] * mat[2][1] )
00085             - mat[0][1] * ( mat[1][0] * mat[2][2] - mat[1][2] * mat[2][0] )
00086             + mat[0][2] * ( mat[1][0] * mat[2][1] - mat[1][1] * mat[2][0] ) );
00087   }
00088
00093   inline bool isRotation( const Mat33f &mat
00094                         )
00095   {
00096     return(   isNormalized( mat )
00097           &&  isOrthogonal( mat )
00098           && ( fabs( determinant( mat ) - 1.0f ) <= FLT_EPSILON ) );
00099   }
00100
00101   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00102   // inlines
00103   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00104   inline Mat33f::Mat33f( void )
00105   {
00106   }
00107
00108   inline Mat33f::Mat33f( float a00, float a01, float a02
00109                        , float a10, float a11, float a12
00110                        , float a20, float a21, float a22 )
00111   {
00112     (*this)[0][0] = a00;
00113     (*this)[0][1] = a01;
00114     (*this)[0][2] = a02;
00115     (*this)[1][0] = a10;
00116     (*this)[1][1] = a11;
00117     (*this)[1][2] = a12;
00118     (*this)[2][0] = a20;
00119     (*this)[2][1] = a21;
00120     (*this)[2][2] = a22;
00121   }
00122
00123   inline Mat33f::Mat33f( const Vec3f &row0, const Vec3f &row1, const Vec3f &row2 )
00124   {
00125     set( row0, row1, row2 );
00126   }
00127
00128   inline Mat33f::Mat33f( const Vec3f &axis, float rad )
00129   {
00130     __ASSERT( isNormalized( axis ) );
00131     float c = cosf( rad );
00132     float s = sinf( rad );
00133     __ASSERT( fabs( s * s + c * c - 1.0f ) <= FLT_EPSILON );
00134     float t = 1 - c;
00135     float x = axis[0];
00136     float y = axis[1];
00137     float z = axis[2];
00138
00139     (*this)[0] = Vec3f( t * x * x + c,     t * x * y - s * z, t * x * z + s * y );
00140     (*this)[1] = Vec3f( t * x * y + s * z, t * y * y + c,     t * y * z - s * x );
00141     (*this)[2] = Vec3f( t * x * z - s * y, t * y * z + s * x, t * z * z + c     );
00142
00143 //    __ASSERT( isRotation( *this ) );
00144   }
00145
00146   inline Mat33f::Mat33f( const Matnnf<3> &m )
00147     : Matnnf<3>( m )
00148   {
00149   }
00150
00151   inline void Mat33f::set( const Vec3f &row0, const Vec3f &row1, const Vec3f &row2 )
00152   {
00153     (*this)[0]=row0;
00154     (*this)[1]=row1;
00155     (*this)[2]=row2;
00156   }
00157
00158 } // end namspace nvmath
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


Mat44f.h Source File

Mat44f.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Mat33f.h"
00018 #include "nvmath/Vec4f.h"
00019
00020 namespace nvmath
00021 {
00023
00026   class Mat44f : public Matnnf<4>
00027   {
00028     public:
00030
00031       NVSG_API Mat44f( void );
00032
00034
00035       NVSG_API Mat44f( float a00, float a01, float a02, float a03
00036                      , float a10, float a11, float a12, float a13
00037                      , float a20, float a21, float a22, float a23
00038                      , float a30, float a31, float a32, float a33 );
00039
00041
00042       NVSG_API Mat44f( const Vec4f &row0
00043                      , const Vec4f &row1
00044                      , const Vec4f &row2
00045                      , const Vec4f &row3
00046                      );
00047
00049
00050       NVSG_API Mat44f( const Vec3f &trans
00051                      , const Quatf &rot
00052                      );
00053
00054
00056       NVSG_API Mat44f( const Matnnf<4> & m );
00057
00059       NVSG_API void set( const Vec4f &row0
00060                        , const Vec4f &row1
00061                        , const Vec4f &row2
00062                        , const Vec4f &row3
00063                        );
00064   };
00065
00066   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00067   // non-member functions
00068   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00071   inline  void  decompose( const Mat44f &mat
00072                          , Vec3f &scaling
00073                          , Vec3f &shearing
00074                          , Quatf &orientation
00075                          , Vec3f &translation
00076                          )
00077   {
00078     Mat33f  m33( mat[0][0], mat[0][1], mat[0][2],
00079                  mat[1][0], mat[1][1], mat[1][2],
00080                  mat[2][0], mat[2][1], mat[2][2] );
00081     decompose( m33, scaling, shearing, orientation );
00082     translation = Vec3f( mat[0][3], mat[1][3], mat[2][3] );
00083   }
00084
00088   NVSG_API Mat44f operator*( const Mat44f &m0, const Mat44f &m1 );
00089
00090   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00091   // inlines
00092   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00093   inline Mat44f::Mat44f( void )
00094   {
00095   };
00096
00097   inline Mat44f::Mat44f( float a00, float a01, float a02, float a03
00098                        , float a10, float a11, float a12, float a13
00099                        , float a20, float a21, float a22, float a23
00100                        , float a30, float a31, float a32, float a33 )
00101   {
00102     (*this)[0][0] = a00;
00103     (*this)[0][1] = a01;
00104     (*this)[0][2] = a02;
00105     (*this)[0][3] = a03;
00106     (*this)[1][0] = a10;
00107     (*this)[1][1] = a11;
00108     (*this)[1][2] = a12;
00109     (*this)[1][3] = a13;
00110     (*this)[2][0] = a20;
00111     (*this)[2][1] = a21;
00112     (*this)[2][2] = a22;
00113     (*this)[2][3] = a23;
00114     (*this)[3][0] = a30;
00115     (*this)[3][1] = a31;
00116     (*this)[3][2] = a32;
00117     (*this)[3][3] = a33;
00118   }
00119
00120   inline Mat44f::Mat44f( const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3 )
00121   {
00122     set( row0, row1, row2, row3 );
00123   }
00124
00125   inline Mat44f::Mat44f( const Vec3f &trans, const Quatf &ori )
00126   {
00127     Mat33f  m( ori );
00128     (*this)[0] = Vec4f( m[0], trans[0] );
00129     (*this)[1] = Vec4f( m[1], trans[1] );
00130     (*this)[2] = Vec4f( m[2], trans[2] );
00131     (*this)[3] = Vec4f( 0.0f, 0.0f, 0.0f, 1.0f );
00132   }
00133
00134   inline Mat44f::Mat44f( const Matnnf<4> &m )
00135     : Matnnf<4>( m )
00136   {
00137   }
00138
00139   inline void Mat44f::set( const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3 )
00140   {
00141     (*this)[0] = row0;
00142     (*this)[1] = row1;
00143     (*this)[2] = row2;
00144     (*this)[3] = row3;
00145   }
00146
00148   extern NVSG_API const Mat44f  cIdentity44f;
00149
00150 } // end namspace nvmath
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


Material.h Source File

Material.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vec3f.h"
00018 #include "nvsg/StateAttribute.h"
00019
00020
00021 namespace nvsg
00022 {
00023   class Material;
00024
00025 //  ignore private member class on documentation
00026 # if ! defined( DOXYGEN_IGNORE )
00027   class MaterialData : public nvutil::RCObject
00028   {
00029     friend class Material;
00030
00031     public:
00033
00035       NVSG_API MaterialData(const MaterialData& rhs);
00036
00037     private:
00038       // instantiation on stack is not permitted
00039       MaterialData();
00040       ~MaterialData();
00041       // assignment also not permitted
00042       MaterialData& operator=(const MaterialData& rhs) {}
00043
00044       nvmath::Vec3f m_ambientColor;
00045       nvmath::Vec3f m_diffuseColor;
00046       nvmath::Vec3f m_emissiveColor;
00047       float m_opacity;
00048       nvmath::Vec3f m_specularColor;
00049       float m_specularExponent;
00050   };
00051 #endif    //  DOXYGEN_IGNORE
00052
00054
00061   class Material : public StateAttribute
00062   {
00063     public:
00065
00066       NVSG_API static const Material * create( void );
00067
00069
00070       NVSG_API static const Material * createFromBase( const StateAttribute &rhs
00071                                                      );
00072
00074
00075       NVSG_API virtual const Material * clone( void ) const;
00076
00078
00079       NVSG_API virtual bool isDataShared( void ) const;
00080
00082
00083       NVSG_API virtual DataID getDataID( void ) const;
00084
00086
00091       NVSG_API const nvmath::Vec3f& getAmbientColor( void ) const;
00092
00094
00102       NVSG_API const nvmath::Vec3f& getDiffuseColor( void ) const;
00103
00105
00113       NVSG_API const nvmath::Vec3f& getEmissiveColor( void ) const;
00114
00116
00121       NVSG_API float getOpacity( void ) const;
00122
00124
00130       NVSG_API const nvmath::Vec3f& getSpecularColor( void ) const;
00131
00133
00139       NVSG_API float getSpecularExponent( void ) const;
00140
00142
00146       NVSG_API void setAmbientColor( const nvmath::Vec3f &ac );
00147
00149
00156       NVSG_API void setDiffuseColor( const nvmath::Vec3f &dc );
00157
00159
00166       NVSG_API void setEmissiveColor( const nvmath::Vec3f &ec );
00167
00169
00174       NVSG_API void setOpacity( const float o );
00175
00177
00183       NVSG_API void setSpecularColor( const nvmath::Vec3f &sc );
00184
00186
00192       NVSG_API void setSpecularExponent( const float se );
00193
00195
00196       NVSG_API virtual bool containsTransparentMaterial( void ) const;
00197
00198     protected:
00200       NVSG_API Material( void );
00201
00203       NVSG_API Material( const StateAttribute &rhs );
00204
00206       NVSG_API Material( const Material &rhs );
00207
00209       NVSG_API virtual ~Material();
00210
00211     private:
00212       nvutil::RCPtr<MaterialData> m_material; // shareable material data
00213   };
00214
00215   inline const nvmath::Vec3f& Material::getAmbientColor( void ) const
00216   {
00217     __TRACE();
00218     return( m_material->m_ambientColor );
00219   }
00220
00221   inline const nvmath::Vec3f& Material::getDiffuseColor( void ) const
00222   {
00223     __TRACE();
00224     return( m_material->m_diffuseColor );
00225   }
00226
00227   inline const nvmath::Vec3f& Material::getEmissiveColor( void ) const
00228   {
00229     __TRACE();
00230     return( m_material->m_emissiveColor );
00231   }
00232
00233   inline float Material::getOpacity( void ) const
00234   {
00235     __TRACE();
00236     return( m_material->m_opacity );
00237   }
00238
00239   inline const nvmath::Vec3f& Material::getSpecularColor( void ) const
00240   {
00241     __TRACE();
00242     return( m_material->m_specularColor );
00243   }
00244
00245   inline float Material::getSpecularExponent( void ) const
00246   {
00247     __TRACE();
00248     return( m_material->m_specularExponent );
00249   }
00250
00251   inline void Material::setAmbientColor( const nvmath::Vec3f &ac )
00252   {
00253     __TRACE();
00254     nvutil::writeAccess( m_material );   //  nvutil::writeAccess performs a deep copy if necessary
00255     m_material->m_ambientColor = ac;
00256   }
00257
00258   inline void Material::setDiffuseColor( const nvmath::Vec3f &dc )
00259   {
00260     __TRACE();
00261     nvutil::writeAccess( m_material );   //  nvutil::writeAccess performs a deep copy if necessary
00262     m_material->m_diffuseColor = dc;
00263   }
00264
00265   inline void Material::setEmissiveColor( const nvmath::Vec3f &ec )
00266   {
00267     __TRACE();
00268     nvutil::writeAccess( m_material );   //  nvutil::writeAccess performs a deep copy if necessary
00269     m_material->m_emissiveColor = ec;
00270   }
00271
00272   inline void Material::setOpacity( const float o )
00273   {
00274     __TRACE();
00275     __ASSERT( ( 0.0f <= o ) && ( o <= 1.0f ) );
00276     nvutil::writeAccess( m_material );   //  nvutil::writeAccess performs a deep copy if necessary
00277     if (    ( ( m_material->m_opacity == 1.0f ) && ( o < 1.0f ) )
00278         ||  ( ( m_material->m_opacity < 1.0f ) && ( o == 1.0f ) ) )
00279     {
00280       invalidateTransparentMaterialContainment();
00281     }
00282     m_material->m_opacity = o;
00283   }
00284
00285   inline void Material::setSpecularColor( const nvmath::Vec3f &sc )
00286   {
00287     __TRACE();
00288     nvutil::writeAccess( m_material );   //  nvutil::writeAccess performs a deep copy if necessary
00289     m_material->m_specularColor = sc;
00290   }
00291
00292   inline void Material::setSpecularExponent( const float se )
00293   {
00294     __TRACE();
00295     nvutil::writeAccess( m_material );   //  nvutil::writeAccess performs a deep copy if neccessary
00296     m_material->m_specularExponent = se;
00297   }
00298
00299 } //  namespace nvsg
00300
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


Matnnf.h Source File

Matnnf.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vecnf.h"
00018
00019 namespace nvmath
00020 {
00022   template<unsigned char n> class Matnnf
00023   {
00024     public:
00026
00027       Matnnf<n>( void );
00028
00030
00031       Vecnf<n> & operator[]( size_t i
00032                            );
00033
00035
00036       const Vecnf<n> & operator[]( size_t i
00037                                  ) const;
00038
00040
00041       Matnnf<n> operator~( void ) const;
00042
00044
00045       Matnnf<n> operator-( void ) const;
00046
00048
00049       Matnnf<n> operator*( float f
00050                          ) const;
00051
00053
00054       Vecnf<n> operator*( const Vecnf<n>& v
00055                         ) const;
00056
00058
00059       Matnnf<n> operator/( float f
00060                          ) const;
00061
00063
00064       Matnnf<n> operator+( const Matnnf<n> &v
00065                          ) const;
00066
00068
00069       Matnnf<n> operator-( const Matnnf<n> &v
00070                          ) const;
00071
00073
00074       bool operator==( const Matnnf<n> &m
00075                      ) const;
00076
00078
00079       bool operator!=( const Matnnf<n> &m
00080                      ) const;
00081
00083
00084       Matnnf<n> & operator=( const Matnnf<n> &m
00085                            );
00086
00088
00089       Matnnf<n> & operator*=( float f
00090                             );
00091
00093
00094       Matnnf<n> & operator*=( const Matnnf<n> &m
00095                            );
00096
00098
00099       Matnnf<n> & operator/=( float f
00100                             );
00101
00103
00104       Matnnf<n> & operator+=( const Matnnf<n> &m
00105                            );
00106
00108
00109       Matnnf<n> & operator-=( const Matnnf<n> &m
00110                            );
00111
00113
00114       const float* getPtr( void ) const;
00115
00116     private:
00117       Vecnf<n>  m_mat[n];
00118   };
00119
00120   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00121   // non-member functions
00122   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00126   template<unsigned char n> bool isIdentity( const Matnnf<n> &m
00127                                            )
00128   {
00129     bool identity = true;
00130     for ( size_t i=0 ; identity && i<n ; i++ )
00131     {
00132       for ( size_t j=0 ; identity && j<i ; j++ )
00133       {
00134         identity = ( fabsf( m[i][j] ) <= FLT_EPSILON );
00135       }
00136       if ( identity )
00137       {
00138         identity = ( fabsf( m[i][i] - 1.0f ) <= FLT_EPSILON );
00139       }
00140       for ( size_t j=i+1 ; identity && j<n ; j++ )
00141       {
00142         identity = ( fabsf( m[i][j] ) <= FLT_EPSILON );
00143       }
00144     }
00145     return( identity );
00146   }
00147
00152   template<unsigned char n> bool isNormalized( const Matnnf<n> &mat
00153                                              )
00154   {
00155     bool normalized = true;
00156     for ( size_t i=0 ; normalized && i<n ; i++ )
00157     {
00158       normalized = isNormalized( mat[i] );
00159     }
00160     for ( size_t i=0 ; normalized && i<n ; i++ )
00161     {
00162       Vecnf<n> v;
00163       for ( size_t j=0 ; j<n ; j++ )
00164       {
00165         v[j] = mat[j][i];
00166       }
00167       normalized = isNormalized( v );
00168     }
00169     return( normalized );
00170   }
00171
00177   template<unsigned char n> bool isOrthogonal( const Matnnf<n> &mat
00178                                              )
00179   {
00180     bool orthogonal = true;
00181     for ( size_t i=0 ; orthogonal && i<n-1 ; i++ )
00182     {
00183       for ( size_t j=i+1 ; orthogonal && j<n ; j++ )
00184       {
00185         orthogonal = areOrthogonal( mat[i], mat[j] );
00186       }
00187     }
00188     if ( orthogonal )
00189     {
00190       Matnnf<n> tmp = ~mat;
00191       for ( size_t i=0 ; orthogonal && i<n-1 ; i++ )
00192       {
00193         for ( size_t j=i+1 ; orthogonal && j<n ; j++ )
00194         {
00195           orthogonal = areOrthogonal( tmp[i], tmp[j] );
00196         }
00197       }
00198     }
00199     return( orthogonal );
00200   }
00201
00205   template<unsigned char n> Matnnf<n> operator*( const Matnnf<n> &m0, const Matnnf<n> &m1 )
00206   {
00207     Matnnf<n> ret;
00208     for ( size_t i=0 ; i<n ; i++ )
00209     {
00210       for ( size_t j=0 ; j<n ; j++ )
00211       {
00212         float f = 0.0f;
00213         for ( size_t k=0 ; k<n ; k++ )
00214         {
00215           f += m0[i][k] * m1[k][j];
00216         }
00217         ret[i][j] = f;
00218       }
00219     }
00220     return( ret );
00221   }
00222
00223   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00224   // "inlines"
00225   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00226   template<unsigned char n> Matnnf<n>::Matnnf( void )
00227   {
00228   }
00229
00230   template<unsigned char n> Vecnf<n> & Matnnf<n>::operator[]( size_t i )
00231   {
00232     __ASSERT( 0 <= i && i < n );
00233     return( m_mat[i] );
00234   }
00235
00236   template<unsigned char n> const Vecnf<n> & Matnnf<n>::operator[]( size_t i ) const
00237   {
00238     __ASSERT( 0 <= i && i < n );
00239     return( m_mat[i] );
00240   }
00241
00242   template<unsigned char n> Matnnf<n> Matnnf<n>::operator~( void ) const
00243   {
00244     Matnnf<n> ret;
00245     for ( size_t i=0 ; i<n ; i++ )
00246     {
00247       for ( size_t j=0 ; j<n ; j++ )
00248       {
00249         ret[i][j] = m_mat[j][i];
00250       }
00251     }
00252     return( ret );
00253   }
00254
00255   template<unsigned char n> Matnnf<n> Matnnf<n>::operator-( void ) const
00256   {
00257     Matnnf<n> ret;
00258     for ( size_t i=0 ; i<n ; i++ )
00259     {
00260       ret[i] = - m_mat[i];
00261     }
00262   }
00263
00264   template<unsigned char n> Matnnf<n> Matnnf<n>::operator*( float f ) const
00265   {
00266     Matnnf<n> ret( *this );
00267     return( ret *= f );
00268   }
00269
00270   template<unsigned char n> Vecnf<n> Matnnf<n>::operator*( const Vecnf<n> &v ) const
00271   {
00272     Vecnf<n>  ret;
00273     for ( size_t i=0 ; i<n ; i++ )
00274     {
00275       ret[i] = m_mat[i] * v;
00276     }
00277     return( ret );
00278   }
00279
00280   template<unsigned char n> Matnnf<n> Matnnf<n>::operator/( float f ) const
00281   {
00282     __ASSERT( fabs( f ) > FLT_EPSILON );
00283     Matnnf<n> ret( *this );
00284     return( ret /= f );
00285   }
00286
00287   template<unsigned char n> Matnnf<n> Matnnf<n>::operator+( const Matnnf<n> &m ) const
00288   {
00289     Matnnf<n> ret( *this );
00290     return( ret += m );
00291   }
00292
00293   template<unsigned char n> Matnnf<n> Matnnf<n>::operator-( const Matnnf<n> &m ) const
00294   {
00295     Matnnf<n> ret( *this );
00296     return( ret -= m );
00297   }
00298
00299   template<unsigned char n> bool Matnnf<n>::operator==( const Matnnf<n> &m ) const
00300   {
00301     bool equal = true;
00302     for ( unsigned char i=0 ; equal && i<n ; i++ )
00303     {
00304       equal = ( m_mat[i] == m[i] );
00305     }
00306     return( equal );
00307   }
00308
00309   template<unsigned char n> bool Matnnf<n>::operator!=( const Matnnf<n> &m ) const
00310   {
00311     return( ! ( *this == m ) );
00312   }
00313
00314   template<unsigned char n> Matnnf<n> & Matnnf<n>::operator=( const Matnnf<n> &m )
00315   {
00316     for ( size_t i=0 ; i<n ; i++ )
00317     {
00318       m_mat[i] = m[i];
00319     }
00320     return( *this );
00321   }
00322
00323   template<unsigned char n> Matnnf<n> & Matnnf<n>::operator*=( float f )
00324   {
00325     for ( size_t i=0 ; i<n ; i++ )
00326     {
00327       m_mat[i] *= f;
00328     }
00329     return( *this );
00330   }
00331
00332   template<unsigned char n> Matnnf<n> & Matnnf<n>::operator*=( const Matnnf<n> &m )
00333   {
00334     *this = *this * m;
00335     return( *this );
00336   }
00337
00338   template<unsigned char n> Matnnf<n> & Matnnf<n>::operator/=( float f )
00339   {
00340     __ASSERT( fabs( f ) > FLT_EPSILON );
00341     for ( size_t i=0 ; i<n ; i++ )
00342     {
00343       m_mat[i] /= f;
00344     }
00345     return( *this );
00346   }
00347
00348   template<unsigned char n> Matnnf<n> & Matnnf<n>::operator+=( const Matnnf<n> &m )
00349   {
00350     for ( size_t i=0 ; i<n ; i++ )
00351     {
00352       m_mat[i] += m[i];
00353     }
00354     return( *this );
00355   }
00356
00357   template<unsigned char n> Matnnf<n> & Matnnf<n>::operator-=( const Matnnf<n> &m )
00358   {
00359     for ( size_t i=0 ; i<n ; i++ )
00360     {
00361       m_mat[i] -= m[i];
00362     }
00363     return( *this );
00364   }
00365
00366   template<unsigned char n> const float * Matnnf<n>::getPtr( void ) const
00367   {
00368     return( m_mat[0].getPtr() );
00369   }
00370
00371 } // end namspace nvmath
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


MemFunTbl.h Source File

MemFunTbl.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 #include <vector>
00017
00018 namespace nvutil
00019 {
00020
00022 template<typename T>
00023 class MemFunTbl
00024 {
00025   typedef void (T::*PMFN) ();
00026 public:
00027   explicit MemFunTbl(size_t size);
00028   PMFN operator[](size_t i) const;
00029   template <typename U>
00030   void addEntry(size_t i, U pmfn);
00031   bool testEntry(size_t i) const;
00032 private:
00033   std::vector<PMFN> m_ftbl;
00034 };
00035
00036 // inline implementations can go here
00037
00038 template<typename T>
00039 inline MemFunTbl<T>::MemFunTbl(size_t size)
00040 { // table entries to avoid frequent allocations at addEntry
00041   m_ftbl.resize(size, NULL);
00042 }
00043
00044 template<typename T>
00045 inline bool MemFunTbl<T>::testEntry(size_t i) const
00046 { // test if entry at i is a valid entry
00047   return (i < m_ftbl.size()) && !!m_ftbl[i];
00048 }
00049
00050 template<typename T>
00051 inline typename MemFunTbl<T>::PMFN MemFunTbl<T>::operator[](size_t i) const
00052 { // read-only access to function pointer stored at index i
00053   __ASSERT(testEntry(i)); // undefined behavior for invalid entries
00054   return m_ftbl[i];
00055 }
00056
00057 template<typename T>
00058 template<typename U>
00059 inline void MemFunTbl<T>::addEntry(size_t i, U pmfn)
00060 { // register function pointer
00061   if ( m_ftbl.size() <= i )
00062   { // add 32 table entries
00063     m_ftbl.resize(i+0x20, NULL);
00064   }
00065   m_ftbl[i]=*(PMFN*)&pmfn;
00066 }
00067
00068 } // end of namespace nvutil scope
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


ModelViewTraverser.h Source File

ModelViewTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvtraverser/Traverser.h"
00018 #include "nvutil/TransformStack.h"
00019
00020
00021 namespace nvtraverser
00022 {
00023
00025
00027 class ModelViewTraverser : public Traverser
00028 {
00029 protected:
00031
00033   NVSG_API ModelViewTraverser( bool readOnly = true );
00034
00035   NVSG_API virtual void handleLOD( const nvsg::LOD *p );
00036
00038   NVSG_API virtual ~ModelViewTraverser();
00039
00041
00042   NVSG_API virtual void handleParallelCamera(
00043     const nvsg::ParallelCamera *p
00044   , const nvsg::Node *root
00045   );
00046
00048
00049   NVSG_API virtual void handlePerspectiveCamera(
00050     const nvsg::PerspectiveCamera *p
00051   , const nvsg::Node *root
00052   );
00053
00055
00057   NVSG_API virtual void handleTransform(
00058     const nvsg::Transform *p
00059   );
00060
00062
00063   NVSG_API virtual bool preTraverseTransform(
00064     const nvsg::Transform *p
00065   );
00066
00068
00070   NVSG_API virtual void postTraverseTransform(
00071     const nvsg::Transform *p
00072   );
00073
00075
00076   NVSG_API virtual bool preTraverseRoot(
00077     const nvsg::SimpleCamera *p
00078   , const nvsg::Node *root
00079   );
00080
00081 protected:
00082   nvutil::TransformStack  m_transformStack;
00083 };
00084 }
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


MonoCamera.h Source File

MonoCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Camera.h"
00018
00019 namespace nvsg
00020 {
00022
00023   class MonoCamera : public Camera
00024   {
00025     public:
00027
00028       NVSG_API virtual const MonoCamera * clone( void ) const = 0;
00029
00031
00032       NVSG_API virtual nvmath::Mat44f getProjection( void ) const = 0;
00033
00035
00036       NVSG_API virtual float getProjectionDx( void ) const = 0;
00037
00039
00040       NVSG_API virtual nvmath::Mat44f getInverseProjection( void ) const = 0;
00041
00043       NVSG_API virtual void setProjectionDx( float dx
00044                                            ) = 0;
00045
00046   protected:
00048       NVSG_API MonoCamera( void );
00049
00051       NVSG_API virtual ~MonoCamera(void);
00052   };
00053
00054 } // namespace
Generated on Fri Jan 28 09:17:48 2005 for NVSGSDK by NVIDIA


Namespace Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values

  • CullCode : nvsg
  • eCgFxSemantic : nvsg
  • TexCoordAxis : nvsg
  • TexGenLinearMode : nvsg
  • TexGenMode : nvsg
  • TextureCoordType : nvsg
  • TextureEnvMode : nvsg
  • TextureMagFilterMode : nvsg
  • TextureMinFilterMode : nvsg
  • TextureType : nvsg
  • TextureWrapMode : nvsg
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Namespace Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values
c | o | t

- c -

  • CC_IN : nvsg
  • CC_OUT : nvsg
  • CC_PART : nvsg
  • CGFX_SEMANTIC_PROJECTION : nvsg
  • CGFX_SEMANTIC_PROJECTIONI : nvsg
  • CGFX_SEMANTIC_PROJECTIONIT : nvsg
  • CGFX_SEMANTIC_PROJECTIONT : nvsg
  • CGFX_SEMANTIC_VIEW : nvsg
  • CGFX_SEMANTIC_VIEWI : nvsg
  • CGFX_SEMANTIC_VIEWIT : nvsg
  • CGFX_SEMANTIC_VIEWT : nvsg
  • CGFX_SEMANTIC_WORLD : nvsg
  • CGFX_SEMANTIC_WORLDI : nvsg
  • CGFX_SEMANTIC_WORLDIT : nvsg
  • CGFX_SEMANTIC_WORLDT : nvsg
  • CGFX_SEMANTIC_WORLDVIEW : nvsg
  • CGFX_SEMANTIC_WORLDVIEWI : nvsg
  • CGFX_SEMANTIC_WORLDVIEWIT : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTION : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTIONI : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTIONIT : nvsg
  • CGFX_SEMANTIC_WORLDVIEWPROJECTIONT : nvsg
  • CGFX_SEMANTIC_WORLDVIEWT : nvsg

- o -

  • OC_ANIMATEDQUADS : nvsg
  • OC_ANIMATEDTRANSFORM : nvsg
  • OC_ANIMATEDTRIANGLES : nvsg
  • OC_ANIMATION : nvsg
  • OC_CAMERA : nvsg
  • OC_CGFX : nvsg
  • OC_CUSTOMOBJECT : nvsg
  • OC_DIRECTEDLIGHT : nvsg
  • OC_DRAWABLES : nvsg
  • OC_FACEATTRIBUTE : nvsg
  • OC_FRAMEDTRAFOANIMATION : nvsg
  • OC_FRAMEDVNVECTORANIMATION : nvsg
  • OC_GEONODE : nvsg
  • OC_GEOSET : nvsg
  • OC_GROUP : nvsg
  • OC_HIGHLIGHTBOX : nvsg
  • OC_HIGHLIGHTEDGES : nvsg
  • OC_HIGHLIGHTOBJECT : nvsg
  • OC_INVALID : nvsg
  • OC_JITTERCAMERA : nvsg
  • OC_LINEARINTERPOLATEDTRAFOANIMATION : nvsg
  • OC_LINEARINTERPOLATEDVNVECTORANIMATION : nvsg
  • OC_LOD : nvsg
  • OC_MATERIAL : nvsg
  • OC_NODE : nvsg
  • OC_OBJECT : nvsg
  • OC_PARALLELCAMERA : nvsg
  • OC_PERSPECTIVECAMERA : nvsg
  • OC_POINTLIGHT : nvsg
  • OC_QUADS : nvsg
  • OC_QUADSTRIPS : nvsg
  • OC_SKINNEDTRIANGLES : nvsg
  • OC_SPOTLIGHT : nvsg
  • OC_STATEATTRIBUTE : nvsg
  • OC_STATESET : nvsg
  • OC_STEREOCAMERA : nvsg
  • OC_SWITCH : nvsg
  • OC_TEXTUREATTRIBUTE : nvsg
  • OC_TEXTUREATTRIBUTEITEM : nvsg
  • OC_TRANSFORM : nvsg
  • OC_TRIANGLES : nvsg
  • OC_TRISTRIPS : nvsg

- t -

  • TCT_CYLINDRICAL : nvsg
  • TCT_PLANAR : nvsg
  • TCT_SPHERICAL : nvsg
  • TEM_ADD : nvsg
  • TEM_BLEND : nvsg
  • TEM_DECAL : nvsg
  • TEM_MODULATE : nvsg
  • TEM_REPLACE : nvsg
  • TFM_MAG_BILINEAR : nvsg
  • TFM_MAG_NEAREST : nvsg
  • TFM_MIN_BILINEAR : nvsg
  • TFM_MIN_NEAREST : nvsg
  • TFM_MIN_TRILINEAR : nvsg
  • TT_DIFFUSE : nvsg
  • TT_INVALID : nvsg
  • TT_TRANSPARENT : nvsg
  • TWM_CLAMP : nvsg
  • TWM_MIRROR : nvsg
  • TWM_REPEAT : nvsg
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Namespace Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values
a | c | d | e | g | i | l | n | p | r | s

- a -

  • areOfSameType() : nvsg

- c -

  • CgFx_getTextureFileName() : nvsg
  • CgFx_setTextureFileName() : nvsg
  • clamp() : nvmath

- d -

  • degToRad() : nvmath

- e -

  • errorMessage() : nvutil::IO

- g -

  • getCopyrightString() : nvsg
  • getParameterName() : nvsg
  • getParameterSemantic() : nvsg
  • getParameterType() : nvsg
  • getPassName() : nvsg
  • getSDKName() : nvsg
  • getTechniqueName() : nvsg
  • getVendorName() : nvsg
  • getVersionString() : nvsg
  • GLAccum() : nvgl
  • GLActiveTexture() : nvgl
  • GLAlphaFunc() : nvgl
  • GLAreTexturesResident() : nvgl
  • GLArrayElement() : nvgl
  • GLBegin() : nvgl
  • GLBeginOcclusionQuery() : nvgl
  • GLBeginQuery() : nvgl
  • GLBindBufferARB() : nvgl
  • GLBindProgram() : nvgl
  • GLBindTexture() : nvgl
  • GLBitmap() : nvgl
  • GLBlendFunc() : nvgl
  • GLBufferDataARB() : nvgl
  • GLBufferSubDataARB() : nvgl
  • GLCallList() : nvgl
  • GLCallLists() : nvgl
  • GLClear() : nvgl
  • GLClearAccum() : nvgl
  • GLClearColor() : nvgl
  • GLClearDepth() : nvgl
  • GLClearIndex() : nvgl
  • GLClearStencil() : nvgl
  • GLClientActiveTexture() : nvgl
  • GLClipPlane() : nvgl
  • GLColor3b() : nvgl
  • GLColor3d() : nvgl
  • GLColor3f() : nvgl
  • GLColor3fv() : nvgl
  • GLColor3i() : nvgl
  • GLColor3s() : nvgl
  • GLColor3ub() : nvgl
  • GLColor3ui() : nvgl
  • GLColor3us() : nvgl
  • GLColor4b() : nvgl
  • GLColor4d() : nvgl
  • GLColor4f() : nvgl
  • GLColor4i() : nvgl
  • GLColor4s() : nvgl
  • GLColor4ub() : nvgl
  • GLColor4ui() : nvgl
  • GLColor4us() : nvgl
  • GLColorMask() : nvgl
  • GLColorMaterial() : nvgl
  • GLColorPointer() : nvgl
  • GLCompressedTexImage1D() : nvgl
  • GLCompressedTexImage2D() : nvgl
  • GLCompressedTexImage3D() : nvgl
  • GLCopyPixels() : nvgl
  • GLCopyTexImage1D() : nvgl
  • GLCopyTexImage2D() : nvgl
  • GLCopyTexSubImage1D() : nvgl
  • GLCopyTexSubImage2D() : nvgl
  • GLCullFace() : nvgl
  • GLDeleteBuffersARB() : nvgl
  • GLDeleteLists() : nvgl
  • GLDeleteOcclusionQueries() : nvgl
  • GLDeletePrograms() : nvgl
  • GLDeleteQueries() : nvgl
  • GLDeleteTextures() : nvgl
  • GLDepthFunc() : nvgl
  • GLDepthMask() : nvgl
  • GLDepthRange() : nvgl
  • GLDisable() : nvgl
  • GLDisableClientState() : nvgl
  • GLDrawArrays() : nvgl
  • GLDrawBuffer() : nvgl
  • GLDrawElements() : nvgl
  • GLDrawPixels() : nvgl
  • GLDrawRangeElements() : nvgl
  • GLEdgeFlag() : nvgl
  • GLEdgeFlagPointer() : nvgl
  • GLEdgeFlagv() : nvgl
  • GLEnable() : nvgl
  • GLEnableClientState() : nvgl
  • GLEnd() : nvgl
  • GLEndList() : nvgl
  • GLEndOcclusionQuery() : nvgl
  • GLEndQuery() : nvgl
  • GLEvalCoord1d() : nvgl
  • GLEvalCoord1f() : nvgl
  • GLEvalCoord2d() : nvgl
  • GLEvalCoord2f() : nvgl
  • GLEvalMesh1() : nvgl
  • GLEvalMesh2() : nvgl
  • GLEvalPoint1() : nvgl
  • GLEvalPoint2() : nvgl
  • GLFeedbackBuffer() : nvgl
  • GLFinish() : nvgl
  • GLFlush() : nvgl
  • GLFogCoordPointer() : nvgl
  • GLFogf() : nvgl
  • GLFogfv() : nvgl
  • GLFogi() : nvgl
  • GLFogiv() : nvgl
  • GLFrontFace() : nvgl
  • GLFrustum() : nvgl
  • GLGenBuffersARB() : nvgl
  • GLGenLists() : nvgl
  • GLGenOcclusionQueries() : nvgl
  • GLGenPrograms() : nvgl
  • GLGenQueries() : nvgl
  • GLGenTextures() : nvgl
  • GLGetBooleanv() : nvgl
  • GLGetClipPlane() : nvgl
  • GLGetDoublev() : nvgl
  • GLGetFloatv() : nvgl
  • GLGetIntegerv() : nvgl
  • GLGetLightfv() : nvgl
  • GLGetLightiv() : nvgl
  • GLGetMapdv() : nvgl
  • GLGetMapfv() : nvgl
  • GLGetMapiv() : nvgl
  • GLGetMaterialfv() : nvgl
  • GLGetMaterialiv() : nvgl
  • GLGetOcclusionQueryuiv() : nvgl
  • GLGetPixelMapfv() : nvgl
  • GLGetPixelMapuiv() : nvgl
  • GLGetPixelMapusv() : nvgl
  • GLGetPointerv() : nvgl
  • GLGetPolygonStipple() : nvgl
  • GLGetQueryiv() : nvgl
  • GLGetQueryObjectiv() : nvgl
  • GLGetQueryObjectuiv() : nvgl
  • GLGetString() : nvgl
  • GLGetTexEnvfv() : nvgl
  • GLGetTexEnviv() : nvgl
  • GLGetTexGendv() : nvgl
  • GLGetTexGenfv() : nvgl
  • GLGetTexGeniv() : nvgl
  • GLGetTexImage() : nvgl
  • GLGetTexLevelParameterfv() : nvgl
  • GLGetTexLevelParameteriv() : nvgl
  • GLGetTexParameterfv() : nvgl
  • GLGetTexParameteriv() : nvgl
  • GLHint() : nvgl
  • GLIndexd() : nvgl
  • GLIndexf() : nvgl
  • GLIndexi() : nvgl
  • GLIndexMask() : nvgl
  • GLIndexPointer() : nvgl
  • GLIndexs() : nvgl
  • GLIndexub() : nvgl
  • GLInitNames() : nvgl
  • GLInterleavedArrays() : nvgl
  • GLIsBufferARB() : nvgl
  • GLIsEnabled() : nvgl
  • GLIsList() : nvgl
  • GLIsOcclusionQuery() : nvgl
  • GLIsProgram() : nvgl
  • GLIsQuery() : nvgl
  • GLIsTexture() : nvgl
  • GLLightf() : nvgl
  • GLLightfv() : nvgl
  • GLLighti() : nvgl
  • GLLightiv() : nvgl
  • GLLightModelf() : nvgl
  • GLLightModelfv() : nvgl
  • GLLightModeli() : nvgl
  • GLLightModeliv() : nvgl
  • GLLineStipple() : nvgl
  • GLLineWidth() : nvgl
  • GLListBase() : nvgl
  • GLLoadIdentity() : nvgl
  • GLLoadMatrixd() : nvgl
  • GLLoadMatrixf() : nvgl
  • GLLoadName() : nvgl
  • GLLoadProgram() : nvgl
  • GLLogicOp() : nvgl
  • GLMap1d() : nvgl
  • GLMap1f() : nvgl
  • GLMap2d() : nvgl
  • GLMap2f() : nvgl
  • GLMapBufferARB() : nvgl
  • GLMapGrid1d() : nvgl
  • GLMapGrid1f() : nvgl
  • GLMapGrid2d() : nvgl
  • GLMapGrid2f() : nvgl
  • GLMaterialf() : nvgl
  • GLMaterialfv() : nvgl
  • GLMateriali() : nvgl
  • GLMaterialiv() : nvgl
  • GLMatrixMode() : nvgl
  • GLMultiDrawElements() : nvgl
  • GLMultiTexCoord2f() : nvgl
  • GLMultMatrixd() : nvgl
  • GLMultMatrixf() : nvgl
  • GLNewList() : nvgl
  • GLNormal3b() : nvgl
  • GLNormal3bv() : nvgl
  • GLNormal3d() : nvgl
  • GLNormal3dv() : nvgl
  • GLNormal3f() : nvgl
  • GLNormal3fv() : nvgl
  • GLNormal3i() : nvgl
  • GLNormal3iv() : nvgl
  • GLNormal3s() : nvgl
  • GLNormal3sv() : nvgl
  • GLNormalPointer() : nvgl
  • GLOrtho() : nvgl
  • GLPassThrough() : nvgl
  • GLPixelMapfv() : nvgl
  • GLPixelMapuiv() : nvgl
  • GLPixelMapusv() : nvgl
  • GLPixelStoref() : nvgl
  • GLPixelStorei() : nvgl
  • GLPixelTransferf() : nvgl
  • GLPixelTransferi() : nvgl
  • GLPixelZoom() : nvgl
  • GLPointSize() : nvgl
  • GLPolygonMode() : nvgl
  • GLPolygonOffset() : nvgl
  • GLPolygonStipple() : nvgl
  • GLPopAttrib() : nvgl
  • GLPopClientAttrib() : nvgl
  • GLPopMatrix() : nvgl
  • GLPopName() : nvgl
  • GLPrioritizeTextures() : nvgl
  • GLProgramNamedParameter4f() : nvgl
  • GLPushAttrib() : nvgl
  • GLPushClientAttrib() : nvgl
  • GLPushMatrix() : nvgl
  • GLPushName() : nvgl
  • GLRasterPos2d() : nvgl
  • GLRasterPos2f() : nvgl
  • GLRasterPos2i() : nvgl
  • GLRasterPos2s() : nvgl
  • GLRasterPos3d() : nvgl
  • GLRasterPos3f() : nvgl
  • GLRasterPos3i() : nvgl
  • GLRasterPos3s() : nvgl
  • GLRasterPos4d() : nvgl
  • GLRasterPos4f() : nvgl
  • GLRasterPos4i() : nvgl
  • GLRasterPos4s() : nvgl
  • GLReadBuffer() : nvgl
  • GLReadPixels() : nvgl
  • GLRectd() : nvgl
  • GLRectf() : nvgl
  • GLRecti() : nvgl
  • GLRects() : nvgl
  • GLRenderMode() : nvgl
  • GLRotated() : nvgl
  • GLRotatef() : nvgl
  • GLScaled() : nvgl
  • GLScalef() : nvgl
  • GLScissor() : nvgl
  • GLSecondaryColorPointer() : nvgl
  • GLSelectBuffer() : nvgl
  • GLSetWindowStereoMode() : nvgl
  • GLShadeModel() : nvgl
  • GLStencilFunc() : nvgl
  • GLStencilMask() : nvgl
  • GLStencilOp() : nvgl
  • GLTexCoord1d() : nvgl
  • GLTexCoord1f() : nvgl
  • GLTexCoord1i() : nvgl
  • GLTexCoord1s() : nvgl
  • GLTexCoord2d() : nvgl
  • GLTexCoord2f() : nvgl
  • GLTexCoord2fv() : nvgl
  • GLTexCoord2i() : nvgl
  • GLTexCoord2s() : nvgl
  • GLTexCoord3d() : nvgl
  • GLTexCoord3f() : nvgl
  • GLTexCoord3i() : nvgl
  • GLTexCoord3s() : nvgl
  • GLTexCoord4d() : nvgl
  • GLTexCoord4f() : nvgl
  • GLTexCoord4i() : nvgl
  • GLTexCoord4s() : nvgl
  • GLTexCoordPointer() : nvgl
  • GLTexEnvf() : nvgl
  • GLTexEnvfv() : nvgl
  • GLTexEnvi() : nvgl
  • GLTexEnviv() : nvgl
  • GLTexGend() : nvgl
  • GLTexGenf() : nvgl
  • GLTexGenfv() : nvgl
  • GLTexGeni() : nvgl
  • GLTexImage1D() : nvgl
  • GLTexImage2D() : nvgl
  • GLTexImage3D() : nvgl
  • GLTexParameterf() : nvgl
  • GLTexParameterfv() : nvgl
  • GLTexParameteri() : nvgl
  • GLTexParameteriv() : nvgl
  • GLTexSubImage1D() : nvgl
  • GLTexSubImage2D() : nvgl
  • GLTranslated() : nvgl
  • GLTranslatef() : nvgl
  • GLUnmapBufferARB() : nvgl
  • GLVertex2d() : nvgl
  • GLVertex2f() : nvgl
  • GLVertex2i() : nvgl
  • GLVertex2s() : nvgl
  • GLVertex3d() : nvgl
  • GLVertex3f() : nvgl
  • GLVertex3fv() : nvgl
  • GLVertex3i() : nvgl
  • GLVertex3s() : nvgl
  • GLVertex4d() : nvgl
  • GLVertex4f() : nvgl
  • GLVertex4i() : nvgl
  • GLVertex4s() : nvgl
  • GLVertexPointer() : nvgl
  • GLViewport() : nvgl

- i -

  • isParameterMatrix33Type() : nvsg
  • isParameterMatrix34Type() : nvsg
  • isParameterMatrix43Type() : nvsg
  • isParameterMatrix44Type() : nvsg
  • isParameterSamplerType() : nvsg
  • isParameterScalarType() : nvsg
  • isParameterTextureType() : nvsg
  • isParameterVector2Type() : nvsg
  • isParameterVector3Type() : nvsg
  • isParameterVector4Type() : nvsg
  • isPowerOfTwo() : nvmath
  • isTechniqueValid() : nvsg
  • isTypeOf() : nvsg

- l -

  • lerp() : nvsg, nvmath

- n -

  • nvsgInitialize() : nvsg
  • nvsgSetErrorHandler() : nvsg
  • nvsgTerminate() : nvsg

- p -

  • powerOfTwoBelow() : nvmath

- r -

  • radToDeg() : nvmath

- s -

  • sign() : nvmath
  • square() : nvmath
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Namespace Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values

  • CgFxAnnotationHandle : nvsg
  • CgFxEntityHandle : nvsg
  • CgFxParameterHandle : nvsg
  • CgFxPassHandle : nvsg
  • CgFxTechniqueHandle : nvsg
  • CgFxTransform : nvsg
  • DataID : nvsg
  • Face3 : nvsg
  • Face4 : nvsg
  • IndexSet : nvsg
  • NVSGERRORHANDLER : nvsg
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


Namespace Member Index

All | Functions | Variables | Typedefs | Enumerations | Enumeration values

  • cIdentity44f : nvmath
  • cUnitSphere : nvmath
  • glContext : nvgl
  • glError : nvgl
  • nvsgErrorHandler : nvsg
  • PI : nvmath
  • PI_HALF : nvmath
  • PI_QUARTER : nvmath
  • SQRT_TWO : nvmath
  • SQRT_TWO_HALF : nvmath
  • wglFunctionsInitialized : nvgl
Generated on Fri Jan 28 09:22:41 2005 for NVSGSDK by NVIDIA


NBF.h Source File

NBF.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 // NBF is independent of packing. However, this forces
00018 // the compile-time asserts below to fire on inconsistencies
00019 #pragma pack(push, 1)
00020
00021 // convenient aliases for used built-in types
00022 typedef char                    byte_t;
00023 typedef unsigned char           ubyte_t;
00024 typedef int                     int_t;
00025 typedef unsigned int            uint_t;
00026 typedef unsigned long long      uint64_t;
00027 typedef float                   float2_t[2];
00028 typedef float                   float3_t[3];
00029 typedef float                   float4_t[4];
00030
00031 // convenient macro to add padding bits
00032 #define PADDING(n) PADDING_i(n,__LINE__)
00033 #define PADDING_i(n,l) PADDING_ii(n,l)
00034 #define PADDING_ii(n,l) ubyte_t padding##l[n]
00035
00036 // NBF version
00037 const ubyte_t NBF_VER_MAJOR  =  0x04;
00038 const ubyte_t NBF_VER_MINOR  =  0x01;
00039 const ubyte_t NBF_VER_BUGFIX =  0x00;
00040
00041 // constants specifying a certain byte order
00042 const ubyte_t NBF_LITTLE_ENDIAN = 0x00;
00043 const ubyte_t NBF_BIG_ENDIAN =  0x01;
00044
00045 // convenient helper types
00046
00048 struct str_t
00049 {
00050   uint_t      numChars;
00051
00052   uint_t      chars;
00053 };
00054 __CTASSERT(sizeof(str_t)%4==0);
00055
00057
00058 struct texCoordSet_t
00059 {
00060   uint_t      numTexCoords;
00061   uint_t      coordDim;
00062
00063   uint_t      texCoords;
00064 };
00065 __CTASSERT(sizeof(texCoordSet_t)%4==0);
00066
00068
00069 struct geometrySet_t
00070 {
00071   uint_t      drawable;
00072   uint_t      stateSet;
00073 };
00074 __CTASSERT(sizeof(geometrySet_t)%4==0);
00075
00077
00078 struct indexSet_t
00079 {
00080   uint_t      numIndices;
00081   uint_t      indices;
00082
00083 };
00084 __CTASSERT(sizeof(indexSet_t)%4==0);
00085
00087
00089 struct texBinding_t
00090 {
00091   uint_t      texUnit;
00092   uint_t      texAttribItem;
00093 };
00094 __CTASSERT(sizeof(texBinding_t)%4==0);
00095
00097 struct trafo_t
00098 {
00099   float4_t    orientation;
00100   float3_t    scaling;
00101   float3_t    translation;
00102   float3_t    center;
00103 };
00104 __CTASSERT(sizeof(trafo_t)%4==0);
00105
00107
00108 struct tweak_t
00109 {
00110   str_t       name;
00111   uint_t      type;
00112   union
00113   {
00114     uint_t      value;
00115
00116     str_t       strval;
00117
00118   };
00119 };
00120 __CTASSERT(sizeof(tweak_t)%4==0);
00121
00123
00124 struct bone_t
00125 {
00126   float       weight;
00127
00128   uint_t      animation;
00129
00130 };
00131 __CTASSERT(sizeof(bone_t)%4==0);
00132
00134
00135 struct skin_t
00136 {
00137   uint_t      numBones;
00138   uint_t      bones;
00139
00140   float3_t    vertex;
00141   float3_t    normal;
00142 };
00143 __CTASSERT(sizeof(skin_t)%4==0);
00144
00146
00150 enum
00151 {
00152   // scene object
00153   NBF_UNKNOWN                     = 0x00000000
00154   // animation objects (0x100 - 0x1FF)
00155 , NBF_TRAFO_ANIMATION           = 0x00000100
00156 , NBF_VNVECTOR_ANIMATION
00157   // framed animations
00158 , NBF_FRAMED_ANIMATION          = 0x00000120
00159 , NBF_FRAMED_TRAFO_ANIMATION
00160 , NBF_FRAMED_VNVECTOR_ANIMATION
00161   // interpolated animations
00162 , NBF_INTERPOLATED_ANIMATION    = 0x00000140
00163 , NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION
00164 , NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION
00165   // camera objects (0x200 - 0x2FF)
00166 , NBF_CAMERA                    = 0x00000200
00167 , NBF_MONO_CAMERA
00168 , NBF_JITTER_CAMERA
00169 , NBF_SIMPLE_CAMERA
00170 , NBF_PARALLEL_CAMERA
00171 , NBF_PERSPECTIVE_CAMERA
00172 , NBF_STEREO_CAMERA
00173   // drawable objects (0x300 - 0x3FF)
00174 , NBF_DRAWABLE                  = 0x00000300
00175 , NBF_GEO_SET
00176 , NBF_TRIANGLES
00177 , NBF_ANIMATED_TRIANGLES
00178 , NBF_SKINNED_TRIANGLES
00179 , NBF_TRISTRIPS
00180 , NBF_QUADS
00181 , NBF_ANIMATED_QUADS
00182 , NBF_QUADSTRIPS
00183   // node objects (0x400 - 0x4FF)
00184 , NBF_NODE                      = 0x00000400
00185 , NBF_GEO_NODE
00186 , NBF_GROUP
00187 , NBF_LOD
00188 , NBF_SWITCH
00189 , NBF_TRANSFORM
00190 , NBF_ANIMATED_TRANSFORM
00191 , NBF_LIGHT_SOURCE
00192 , NBF_DIRECTED_LIGHT
00193 , NBF_POINT_LIGHT
00194 , NBF_SPOT_LIGHT
00195   // state set objects (0x500 - 0x5FF)
00196 , NBF_STATE_SET                 = 0x00000500
00197   // state attribute objects (0x600 - 0x6FF)
00198 , NBF_STATE_ATTRIBUTE           = 0x00000600
00199 , NBF_CGFX
00200 , NBF_MATERIAL
00201 , NBF_FACE_ATTRIBUTE
00202 , NBF_TEXTURE_ATTRIBUTE
00203 , NBF_TEXTURE_ATTRIBUTE_ITEM
00204   // custom objects (>=0x700)
00205 , NBF_CUSTOM_OBJECT
00206 };
00207
00209
00215 struct NBFHeader
00216 {
00217   // signature
00218   byte_t      signature[4];
00219   // NBF version
00220   ubyte_t     nbfMajorVersion;
00221   ubyte_t     nbfMinorVersion;
00222   ubyte_t     nbfBugfixLevel;
00223
00224
00225   // NVSG version
00226   ubyte_t     nvsgMajorVersion;
00227   ubyte_t     nvsgMinorVersion;
00228   ubyte_t     nvsgBugfixLevel;
00229
00230
00231   // Reserved bytes
00232   ubyte_t     reserved[16];
00233   // Date
00234   ubyte_t     dayLastModified;
00235   ubyte_t     monthLastModified;
00236   ubyte_t     yearLastModified[2];
00237   // Time stamp
00238   ubyte_t     secondLastModified;
00239   ubyte_t     minuteLastModified;
00240   ubyte_t     hourLastModified;
00241   // endianess
00242   ubyte_t     byteOrder;
00243
00244
00245   PADDING(2);
00246   // scene object
00247   uint_t      scene;
00248   // optional view state
00249   uint_t      viewState;
00250
00251 };
00252 __CTASSERT(sizeof(NBFHeader)%4==0);
00253
00255
00257 struct NBFScene
00258 {
00259   float3_t    backColor;
00260   uint_t      numCameras;
00261   uint_t      cameras;
00262   uint_t      numCameraAnimations;
00263   uint_t      cameraAnimations;
00264   uint_t      defaultStateSet;
00265   uint_t      overrideStateSet;
00266   uint_t      numberOfAnimationFrames;
00267   uint_t      root;
00268 };
00269 __CTASSERT(sizeof(NBFScene)%4==0);
00270
00272
00273 struct NBFViewState
00274 {
00275   uint_t      objectCode;
00276   uint_t      camera;
00277 };
00278 __CTASSERT(sizeof(NBFViewState)%4==0);
00279
00281 struct NBFObject
00282 {
00283   uint_t      objectCode;
00284   ubyte_t     isShared;
00285
00286
00287   PADDING(3);
00288   uint64_t    objectDataID;
00289   uint_t      sourceObject;
00290
00291   str_t       objectName;
00292   // NOTE: Because of the uint64_t member objectDataID above, which is 8-byte aligned,
00293   // we need to ensure the size of NBFObject is fixed - that is, independent of whatever
00294   // the compilers actual packing value might be! We achieve this by making the size of
00295   // NBFObject a multiple of 8 bytes (see compile time assert below).
00296   PADDING(4);
00297 };
00298 __CTASSERT(sizeof(NBFObject)%8==0);
00299
00301
00306 struct NBFTrafoAnimation : public NBFObject
00307 {
00308   uint_t      trafos;
00309
00310
00311   PADDING(4);
00312 };
00313 __CTASSERT(sizeof(NBFTrafoAnimation)%8==0);
00314
00316
00321 struct NBFVNVectorAnimation : public NBFObject
00322 {
00323   uint_t      numVertices;
00324
00325   uint_t      vertexSets;
00326
00327
00328
00329
00330   uint_t      numNormals;
00331
00332   uint_t      normalSets;
00333
00334
00335
00336
00337
00338 };
00339 __CTASSERT(sizeof(NBFVNVectorAnimation)%8==0);
00340
00342
00347 struct NBFFramedAnimation
00348 {
00349   uint_t      numFrames;
00350
00351
00352
00353
00354 };
00355 __CTASSERT(sizeof(NBFFramedAnimation)%4==0);
00356
00358
00360 struct NBFFramedTrafoAnimation : public NBFTrafoAnimation
00361                                , public NBFFramedAnimation
00362 {
00363   PADDING(4);
00364 };
00365 __CTASSERT(sizeof(NBFFramedTrafoAnimation)%8==0);
00366
00368
00370 struct NBFFramedVNVectorAnimation : public NBFVNVectorAnimation
00371                                   , public NBFFramedAnimation
00372 {
00373   PADDING(4);
00374 };
00375 __CTASSERT(sizeof(NBFFramedVNVectorAnimation)%8==0);
00376
00378
00383 struct NBFInterpolatedAnimation
00384 {
00385   uint_t      numKeys;
00386   uint_t      keys;
00387
00388 };
00389 __CTASSERT(sizeof(NBFInterpolatedAnimation)%4==0);
00390
00392
00396 struct NBFInterpolatedTrafoAnimation : public NBFTrafoAnimation
00397                                      , public NBFInterpolatedAnimation
00398 {
00399 };
00400 __CTASSERT(sizeof(NBFInterpolatedTrafoAnimation)%8==0);
00401
00403
00407 struct NBFInterpolatedVNVectorAnimation : public NBFVNVectorAnimation
00408                                         , public NBFInterpolatedAnimation
00409 {
00410 };
00411 __CTASSERT(sizeof(NBFInterpolatedVNVectorAnimation)%8==0);
00412
00414
00415 struct NBFCamera : public NBFObject
00416 {
00417 };
00418 __CTASSERT(sizeof(NBFCamera)%8==0);
00419
00421
00422 struct NBFMonoCamera : public NBFCamera
00423 {
00424 };
00425 __CTASSERT(sizeof(NBFMonoCamera)%8==0);
00426
00428
00429 struct NBFJitterCamera : public NBFMonoCamera
00430 {
00431 };
00432 __CTASSERT(sizeof(NBFJitterCamera)%8==0);
00433
00435
00439 struct NBFSimpleCamera : public NBFMonoCamera
00440 {
00441   uint_t      numHeadLights;
00442   uint_t      headLights;
00443
00444   float3_t    upVector;
00445   float3_t    position;
00446   float3_t    direction;
00447   float       farDist;
00448   float       nearDist;
00449   float       targDist;
00450   float       projectionDx;
00451   ubyte_t     isAutoClipPlanes;
00452   PADDING(3);
00453   float2_t    windowSize;
00454
00455   float2_t    windowOffset;
00456
00457 };
00458 __CTASSERT(sizeof(NBFSimpleCamera)%8==0);
00459
00461
00463 struct NBFParallelCamera : public NBFSimpleCamera
00464 {
00465 };
00466 __CTASSERT(sizeof(NBFParallelCamera)%8==0);
00467
00469
00471 struct NBFPerspectiveCamera : public NBFSimpleCamera
00472 {
00473 };
00474 __CTASSERT(sizeof(NBFPerspectiveCamera)%8==0);
00475
00477
00478 struct NBFStereoCamera : public NBFCamera
00479 {
00480 };
00481 __CTASSERT(sizeof(NBFStereoCamera)%8==0);
00482
00484
00488 struct NBFDrawable : public NBFObject
00489 {
00490 };
00491 __CTASSERT(sizeof(NBFDrawable)%8==0);
00492
00494
00496 struct NBFGeoSet : public NBFDrawable
00497 {
00498   uint_t      numVertices;
00499   uint_t      vertices;
00500   uint_t      numNormals;
00501   uint_t      normals;
00502   uint_t      numTexCoordsSets;
00503   uint_t      texCoordsSets;
00504
00505   uint_t      numColors;
00506   uint_t      colorDim;
00507
00508   uint_t      colors;
00509
00510   uint_t      numSecondaryColors;
00511   uint_t      secondaryColorDim;
00512
00513   uint_t      secondaryColors;
00514
00515   uint_t      numFogCoords;
00516   uint_t      fogCoords;
00517
00518 };
00519 __CTASSERT(sizeof(NBFGeoSet)%8==0);
00520
00522
00524 struct NBFTriangles : public NBFGeoSet
00525 {
00526   uint_t      numFaces;
00527   uint_t      faces;
00528
00529 };
00530 __CTASSERT(sizeof(NBFTriangles)%8==0);
00531
00533
00535 struct NBFAnimatedTriangles : public NBFTriangles
00536 {
00537   uint_t      animation;
00538
00539   PADDING(4);
00540 };
00541 __CTASSERT(sizeof(NBFAnimatedTriangles)%8==0);
00542
00544
00546 struct NBFSkinnedTriangles : public NBFTriangles
00547 {
00548   uint_t      numSkins;
00549   uint_t      skins;
00550 };
00551 __CTASSERT(sizeof(NBFSkinnedTriangles)%8==0);
00552
00554
00556 struct NBFStrips : public NBFGeoSet
00557 {
00558   uint_t      numStrips;
00559   uint_t      strips;
00560
00561 };
00562 __CTASSERT(sizeof(NBFStrips)%8==0);
00563
00565
00567 struct NBFQuads : public NBFGeoSet
00568 {
00569   uint_t      numFaces;
00570   uint_t      faces;
00571
00572 };
00573 __CTASSERT(sizeof(NBFQuads)%8==0);
00574
00576
00578 struct NBFAnimatedQuads : public NBFQuads
00579 {
00580   uint_t      animation;
00581
00582   PADDING(4);
00583 };
00584 __CTASSERT(sizeof(NBFAnimatedQuads)%8==0);
00585
00587
00591 struct NBFNode : public NBFObject
00592 {
00593   str_t       annotation;         //<! Specifies an optional annotation string.
00594 };
00595 __CTASSERT(sizeof(NBFNode)%8==0);
00596
00598
00599 struct NBFGeoNode : public NBFNode
00600 {
00601   uint_t      numGeometrySets;    //<! Specifies the number of contained geometry sets.
00602   uint_t      geometrySets;       //<! Specifies the file offset to the geometry sets.
00603                                   //<! Geometry sets are stored as geometrySet_t objects.
00604 };
00605 __CTASSERT(sizeof(NBFGeoNode)%8==0);
00606
00608
00611 struct NBFGroup : public NBFNode
00612 {
00613   uint_t      numChildren;
00614   uint_t      children;
00615
00616 };
00617 __CTASSERT(sizeof(NBFGroup)%8==0);
00618
00620
00621 struct NBFLOD : public NBFGroup
00622 {
00623   float3_t    center;
00624   uint_t      numRanges;
00625   uint_t      ranges;
00626
00627   PADDING(4);
00628 };
00629 __CTASSERT(sizeof(NBFLOD)%8==0);
00630
00632
00633 struct NBFSwitch : public NBFGroup
00634 {
00635   uint_t      numActiveChildren;
00636   uint_t      activeChildren;
00637
00638 };
00639 __CTASSERT(sizeof(NBFSwitch)%8==0);
00640
00642
00643 struct NBFTransform : public NBFGroup
00644 {
00645   trafo_t             trafo;
00646   PADDING(4);
00647 };
00648 __CTASSERT(sizeof(NBFTransform)%8==0);
00649
00651
00652 struct NBFAnimatedTransform : public NBFTransform
00653 {
00654   uint_t      animation;
00655
00656   PADDING(4);
00657 };
00658 __CTASSERT(sizeof(NBFAnimatedTransform)%8==0);
00659
00661
00663 struct NBFLightSource : public NBFNode
00664 {
00665   float       intensity;
00666   float3_t    ambientColor;
00667   float3_t    diffuseColor;
00668   float3_t    specularColor;
00669   trafo_t     trafo;
00670   uint_t      animation;
00671
00672 };
00673 __CTASSERT(sizeof(NBFLightSource)%8==0);
00674
00675 // The NBFDirectedLight structure represents a directed light source.
00677 struct NBFDirectedLight : public NBFLightSource
00678 {
00679 };
00680 __CTASSERT(sizeof(NBFDirectedLight)%8==0);
00681
00682 // The NBFPointLight structure represents a point light source.
00684 struct NBFPointLight : public NBFLightSource
00685 {
00686   float3_t    attenuation;
00687
00688
00689
00690   PADDING(4);
00691 };
00692 __CTASSERT(sizeof(NBFPointLight)%8==0);
00693
00694 // The NBFSpotLight structure represents a spot light.
00696 struct NBFSpotLight : public NBFLightSource
00697 {
00698   float3_t    attenuation;
00699
00700
00701
00702   float       cutoffAngle;
00703
00704   float       falloffExponent;
00705   PADDING(4);
00706 };
00707 __CTASSERT(sizeof(NBFSpotLight)%8==0);
00708
00710
00711 struct NBFStateSet : public NBFObject
00712 {
00713   uint_t      numStateAttribs;
00714   uint_t      stateAttribs;
00715 };
00716 __CTASSERT(sizeof(NBFStateSet)%8==0);
00717
00719
00721 struct NBFStateAttribute : public NBFObject
00722 {
00723 };
00724 __CTASSERT(sizeof(NBFStateAttribute)%8==0);
00725
00727
00728 struct NBFCgFx : public NBFStateAttribute
00729 {
00730   str_t       file;
00731   uint_t      numTweaks;
00732   uint_t      tweaks;
00733
00734   uint_t      currTech;
00735   PADDING(4);
00736 };
00737 __CTASSERT(sizeof(NBFCgFx)%8==0);
00738
00740
00741 struct NBFFaceAttribute : public NBFStateAttribute
00742 {
00743   float3_t    ambientColor;
00744   ubyte_t     backFaceCulling;
00745   ubyte_t     polygonOffsetEnabled;
00746   PADDING(2);
00747   float       polygonOffsetFactor;
00748
00749   float       polygonOffsetUnits;
00750
00751   ubyte_t     twoSidedLighting;
00752   PADDING(7);
00753 };
00754 __CTASSERT(sizeof(NBFFaceAttribute)%8==0);
00755
00757
00758 struct NBFMaterial : public NBFStateAttribute
00759 {
00760   float3_t    ambientColor;
00761   float3_t    diffuseColor;
00762   float3_t    emissiveColor;
00763   float       opacity;
00764   float3_t    specularColor;
00765   float       specularExponent;
00766 };
00767 __CTASSERT(sizeof(NBFMaterial)%8==0);
00768
00770
00771 struct NBFTextureAttribute : public NBFStateAttribute
00772 {
00773   uint_t      numBindings;
00774   uint_t      bindings;
00775
00776 };
00777 __CTASSERT(sizeof(NBFTextureAttribute)%8==0);
00778
00780
00783 struct NBFTextureAttributeItem : public NBFObject
00784 {
00785   str_t         file;
00786   uint_t        texType;
00787
00788
00789   uint_t        texEnvMode;
00790
00791   uint_t        texWrapS;
00792
00793   uint_t        texWrapT;
00794
00795   uint_t        texWrapR;
00796
00797   uint_t        minFilter;
00798
00799   uint_t        magFilter;
00800
00801   float4_t      texBorderColor;
00802   trafo_t       trafo;
00803   uint_t        texGenMode[4];
00804   float4_t      texGenPlane[4];
00805 };
00806 __CTASSERT(sizeof(NBFTextureAttributeItem)%8==0);
00807
00808 #pragma pack(pop)
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NBFLoader.h Source File

NBFLoader.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsg/PlugInterface.h"
00015 #include "nvsg/NBF.h" // nbf structs
00016
00017 #include <map>
00018 #include <vector>
00019 #include <string>
00020
00021 // storage-class defines
00022 #if defined(_WIN32)
00023 # ifdef NBFLOADER_EXPORTS
00024 #  define NBFLOADER_API __declspec(dllexport)
00025 # else
00026 #  define NBFLOADER_API __declspec(dllimport)
00027 # endif
00028 #else
00029 #  define NBFLOADER_API
00030 #endif
00031
00032 #if defined(LINUX)
00033 void lib_init() __attribute__ ((constructor));   // will be called before dlopen() returns
00034 #endif
00035
00036 // exports required for a scene loader plug-in
00037 #if defined(LINUX)
00038 extern "C"
00039 {
00040 #endif
00041 NBFLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00042 NBFLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00043 #if defined(LINUX)
00044 }
00045 #endif
00046
00047 // memory leak detection
00048 #ifdef _DEBUG
00049 # ifndef new
00050 #  define new new(__FILE__, __LINE__)
00051 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00052 # endif
00053 #endif
00054
00055 // forward declaration
00056 namespace nvsg
00057 {
00058   class AnimatedQuads;
00059   class AnimatedTransform;
00060   class AnimatedTriangles;
00061   class Camera;
00062   class CgFx;
00063   class DirectedLight;
00064   class Drawable;
00065   class FaceAttribute;
00066   class GeoNode;
00067   class GeoSet;
00068   class Group;
00069   class LightSource;
00070   class LOD;
00071   class Material;
00072   class Node;
00073   class ParallelCamera;
00074   class PerspectiveCamera;
00075   class PointLight;
00076   class Quads;
00077   class QuadStrips;
00078   class SimpleCamera;
00079   class SkinnedTriangles;
00080   class SpotLight;
00081   class StateAttribute;
00082   class StateSet;
00083   class TextureAttribute;
00084   class TextureAttributeItem;
00085   class Transform;
00086   class Triangles;
00087   class TriStrips;
00088   class Switch;
00089   class Scene;
00090   class ViewState;
00091   template<typename T> class FramedAnimation;
00092   template<typename T> class InterpolatedAnimation;
00093 }
00094
00096 class NBFLoader : public nvsg::SceneLoader
00097 {
00098 public:
00099   NBFLoader();
00100
00102
00103   void deleteThis( void );
00104
00106
00110   const nvsg::Scene * load(
00111     const std::string& filename
00112   , const std::vector<std::string> &searchPaths
00113   , const nvsg::ViewState *& viewState
00115   );
00116
00117 protected:
00119   virtual  ~NBFLoader(void);
00120
00122
00133   virtual const nvsg::Object * loadCustomObject(
00134     uint_t objectCode
00135   , uint_t offset
00136   );
00137
00139
00141   ubyte_t * mapOffset(
00142     uint_t offset
00143   , size_t numBytes
00144   );
00145
00146 private:
00147
00148   bool mapViewOfFile(const std::string& file);
00149   void unmapViewOfFile();
00150
00151   // assign an object to an offset
00152   void mapObject(uint_t offset, const nvsg::Object * object);
00153
00154   // animations
00155   const nvsg::Animation<nvmath::Trafo> * loadTrafoAnimation(uint_t offset);
00156   const nvsg::Animation<nvsg::VNVector> * loadVNVectorAnimation(uint_t offset);
00157   // ... framed
00158   const nvsg::FramedAnimation<nvmath::Trafo> * loadFramedTrafoAnimation(uint_t offset);
00159   const nvsg::FramedAnimation<nvsg::VNVector> * loadFramedVNVectorAnimation(uint_t offset);
00160   // ... interpolated
00161   const nvsg::InterpolatedAnimation<nvmath::Trafo> * loadInterpolatedTrafoAnimation(uint_t offset);
00162   const nvsg::InterpolatedAnimation<nvsg::VNVector> * loadInterpolatedVNVectorAnimation(uint_t offset);
00163   // cameras
00164   const nvsg::Camera * loadCamera(uint_t offset);
00165   const nvsg::ParallelCamera * loadParallelCamera(uint_t offset);
00166   const nvsg::PerspectiveCamera * loadPerspectiveCamera(uint_t offset);
00167   // drawables
00168   const nvsg::Drawable * loadDrawable(uint_t offset);
00169   const nvsg::Triangles * loadTriangles(uint_t offset);
00170   const nvsg::AnimatedTriangles * loadAnimatedTriangles(uint_t offset);
00171   const nvsg::SkinnedTriangles * loadSkinnedTriangles(uint_t offset);
00172   const nvsg::Quads * loadQuads(uint_t offset);
00173   const nvsg::AnimatedQuads * loadAnimatedQuads(uint_t offset);
00174   template<typename StripType> const StripType * loadStrips(uint_t offset);
00175   // scene
00176   const nvsg::Scene * loadScene(uint_t offset);
00177   // nodes
00178   const nvsg::Node * loadNode(uint_t offset);
00179   const nvsg::GeoNode * loadGeoNode(uint_t offset);
00180   const nvsg::Group * loadGroup(uint_t offset);
00181   const nvsg::Transform * loadTransform(uint_t offset);
00182   const nvsg::AnimatedTransform * loadAnimatedTransform(uint_t offset);
00183   const nvsg::LOD * loadLOD(uint_t offset);
00184   const nvsg::Switch * loadSwitch(uint_t offset);
00185   const nvsg::LightSource * loadLightSource(uint_t offset);
00186   const nvsg::DirectedLight * loadDirectedLight(uint_t offset);
00187   const nvsg::PointLight * loadPointLight(uint_t offset);
00188   const nvsg::SpotLight * loadSpotLight(uint_t offset);
00189   // state attribs
00190   const nvsg::StateAttribute * loadStateAttribute(uint_t offset);
00191   const nvsg::CgFx * loadCgFx(uint_t offset);
00192   const nvsg::FaceAttribute * loadFaceAttribute(uint_t offset);
00193   const nvsg::Material * loadMaterial(uint_t offset);
00194   const nvsg::TextureAttribute * loadTextureAttribute(uint_t offset);
00195   const nvsg::TextureAttributeItem * loadTextureAttributeItem(uint_t offset);
00196   // state set
00197   const nvsg::StateSet * loadStateSet(uint_t offset);
00198   // view sate
00199   const nvsg::ViewState * loadViewState(uint_t offset);
00200   // shared object handling
00201   template <typename ObjectType, typename NBFObjectType>
00202   bool loadSharedObject(nvutil::RCObject_AutoPtr<ObjectType>& obj, NBFObjectType *& objPtr);
00203
00204   // read in non-concrete objects
00205   void readObject(nvsg::Object * dst, const NBFObject * src);
00206   void readGroup(nvsg::Group * dst, const NBFGroup * src);
00207   void readGeoSet(nvsg::GeoSet * dst, const NBFGeoSet * src);
00208   void readLightSource(nvsg::LightSource * dst, NBFLightSource * src);
00209   void readNode(nvsg::Node * dst, NBFNode * src);
00210   void readSimpleCamera(nvsg::SimpleCamera * dst, const NBFSimpleCamera * src);
00211
00212 private:
00213
00214   enum
00215   {
00216     VIEWSIZE = 0x04000000
00217   };
00218
00219   struct ViewHeader
00220   {
00221     ubyte_t * basePtr;   // points to the beginning of the view
00222     size_t    startOffs; // the view's start offset inside the mapped file
00223     size_t    endOffs;   // the view's 'past tht end' offset inside the mapped file
00224   };
00225   std::vector<ViewHeader>    m_mappedViews;  // collection of currently mapped views
00226 #if defined(_WIN32)
00227   HANDLE                m_file;         // file handle returned by CreateFile
00228   HANDLE                m_fileMapping;  // handle of file mapping object returned by CreateFileMapping
00229 #elif defined(LINUX)
00230   int                   m_file;         // file descriptor returned by open()
00231 #endif
00232   size_t                m_mappingSize;  // actual size of the file mapping
00233   size_t                m_allocationGranularity; // systems allocation granularity
00234   std::vector<std::string>        m_searchPaths;  // a private copy of the search pathes given to us via the load API
00235   std::map<uint_t, const nvsg::Object *> m_offsetObjectMap; // mapping offsets to NVSG objects
00236   std::map<nvsg::DataID, const nvsg::Object *> m_sharedObjectsMap; // lookup shared objects given the corresponding objectID
00237   // private copy of the nbf version used to save the file
00238   ubyte_t m_nbfMajor;   // major version
00239   ubyte_t m_nbfMinor;   // minor version
00240   ubyte_t m_nbfBugfix;  // bugfix level
00241 };
00242
00243 inline void NBFLoader::deleteThis()
00244 {
00245   delete this;
00246 }
00247
00248 #ifdef _DEFINED_DBGNEW
00249 # undef new
00250 #endif
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NBFSaver.h Source File

NBFSaver.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include  "nvsg/PlugInterface.h"
00015 #include  "nvtraverser/Traverser.h"
00016
00017 #include <map>
00018 #include <vector>
00019
00020 #if defined(_WIN32)
00021 # ifdef NBFSAVER_EXPORTS
00022 #  define NBFSAVER_API __declspec(dllexport)
00023 # else
00024 #  define NBFSAVER_API __declspec(dllimport)
00025 # endif
00026 #else
00027 # define NBFSAVER_API
00028 #endif
00029
00030 // exports required for a scene loader plug-in
00031 #if defined(LINUX)
00032 extern "C"
00033 {
00034 #endif
00035   NBFSAVER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00036   NBFSAVER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00037 #if defined(LINUX)
00038 }
00039 #endif
00040
00041
00043 class NBFSaveTraverser : public nvtraverser::Traverser
00044 {
00045   public:
00047     NBFSaveTraverser();
00048
00050     void preCalculateFileSize(const nvsg::ViewState * viewState, const nvsg::Scene * scene);
00051
00052     // file mapping/unmapping
00053     enum
00054     {
00055       // proposed view granularity
00056       VIEWSIZE = 0x04000000 // 64 MB (should be no problem to map the size)
00057     };
00058
00060     bool mapViewOfFile(const std::string& file);
00061
00063     void unmapViewOfFile();
00064
00065   protected:
00066
00068
00075     bool calculatingStorageRequirements() const;
00076
00078
00087     uint_t alloc(
00088       void*& ptr
00089     , size_t numBytes
00090     );
00091
00093
00100     uint_t pseudoAlloc(
00101       size_t numBytes
00102     );
00103
00105     virtual void doApply(
00106       const nvsg::ViewState *viewState
00107     , const nvsg::Scene *scene
00108     );
00109
00110     // overloads to process concrete types for saving
00111     // ...Cameras
00112     virtual void handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root);
00113     virtual void handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root);
00114     virtual void handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root);
00115     virtual void handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root);
00116     // ...Nodes
00117     virtual void handleGeoNode(const nvsg::GeoNode *p);
00118     virtual void handleGroup(const nvsg::Group *p);
00119     virtual void handleTransform(const nvsg::Transform *p);
00120     virtual void handleAnimatedTransform(const nvsg::AnimatedTransform *p);
00121     virtual void handleLOD(const nvsg::LOD *p);
00122     virtual void handleSwitch(const nvsg::Switch *p);
00123     virtual void handleDirectedLight(const nvsg::DirectedLight *p);
00124     virtual void handlePointLight(const nvsg::PointLight *p);
00125     virtual void handleSpotLight(const nvsg::SpotLight *p);
00126     // ...StateSet
00127     virtual void handleStateSet(const nvsg::StateSet *p);
00128     // ...StateAttribs
00129     virtual void handleCgFx(const nvsg::CgFx *p);
00130     virtual void handleFaceAttribute(const nvsg::FaceAttribute *p);
00131     virtual void handleMaterial(const nvsg::Material *p);
00132     virtual void handleTextureAttribute(const nvsg::TextureAttribute *p);
00133     virtual void handleTextureAttributeItem(const nvsg::TextureAttributeItem * p, size_t tu);
00134     // ...GeoSets
00135     virtual void handleTriangles(const nvsg::Triangles *p);
00136     virtual void handleAnimatedTriangles(const nvsg::AnimatedTriangles *p);
00137     virtual void handleSkinnedTriangles(const nvsg::SkinnedTriangles *p);
00138     virtual void handleTriStrips(const nvsg::TriStrips *p);
00139     virtual void handleQuads(const nvsg::Quads *p);
00140     virtual void handleAnimatedQuads(const nvsg::AnimatedQuads *p);
00141     virtual void handleQuadStrips(const nvsg::QuadStrips *p);
00142     // ... Animations
00143     virtual void handleFramedTrafoAnimation(const nvsg::FramedAnimation<nvmath::Trafo> *p);
00144     virtual void handleFramedVNVectorAnimation(const nvsg::FramedAnimation<nvsg::VNVector> *p);
00145     virtual void handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation<nvmath::Trafo> *p);
00146     virtual void handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> *p);
00147
00148   private: // api covering implementation details
00149
00150     // operator() to process a Scene (not part of the public interface!)
00151     // returns the file offset to the allocated and initialized NBFScene object
00152     // behavior is undefined if p is an invalid pointer
00153     uint_t handleScene(const nvsg::Scene *p);
00154     // operator() to process a ViewState (not part of the public interface!)
00155     // returns the file offset to the allocated and initialized NBFViewState object
00156     // behavior is undefined if p is an invalid pointer
00157     uint_t handleViewState(const nvsg::ViewState *p);
00158
00159     // write routines for non-concrete types
00160     // ... write tasks similar for all Objects
00161     void writeObject(const nvsg::Object* nvsgObjPtr, NBFObject * nbfObjPtr, uint_t objCode);
00162     // ... write task similar for Nodes
00163     void writeNode(const nvsg::Node* nvsgNodePtr, NBFNode * nbfNodePtr, uint_t objCode);
00164     // ... write task similar for Groups
00165     void writeGroup(const nvsg::Group * nvsgGrpPtr, NBFGroup * nbfGrpPtr, uint_t objCode);
00166     // ... write task similar for LightSources
00167     void writeLightSource(const nvsg::LightSource* nvsgLightSrcPtr, NBFLightSource * nbfLightSrcPtr, uint_t objCode);
00168     // ... write tasks similar for all GeoSets
00169     void writeGeoSet(const nvsg::GeoSet* nvsgGeoSetPtr, NBFGeoSet * nbfGeoSetPtr, uint_t objCode);
00170     // ... write task similar for SimpleCameras
00171     void writeSimpleCamera(const nvsg::SimpleCamera * nvsgCamPtr, NBFSimpleCamera * nbfCamPtr, uint_t objCode);
00172     // ... write strips
00173     template<typename StripType>
00174     void writeStrips(const StripType * nvsgStripsPtr, NBFStrips * nbfStripsPtr, uint_t objCode);
00175     // .. write faces
00176     template<typename NVSGFaceType, typename NBFFaceType>
00177     void writeFaces(const NVSGFaceType * nvsgFaces, NBFFaceType * nbfFaces, size_t sizeOfFace, uint_t objCode);
00178
00179     // shared objects processing
00180     bool processSharedObject(const nvsg::Object * obj, uint_t objCode);
00181
00182     // map an additional view of the file into our address space,
00183     // large enough to hold 'minimumNumberOfBytesToMap' bytes
00184     bool remapViewOfFile(size_t minimumNumberOfBytesToMap);
00185
00186     // map cnt * sizeof(Type) bytes from the mapped file
00187     template <typename Type>
00188     uint_t alloc(Type *& objPtr, size_t cnt=1);
00189
00190     // pseudo allocation routines for calculation of storage requirements
00191     void pseudoAllocObject(const nvsg::Object* p);
00192     void pseudoAllocNode(const nvsg::Node* p);
00193     void pseudoAllocGroup(const nvsg::Group * p);
00194     void pseudoAllocLightSource(const nvsg::LightSource * p);
00195     void pseudoAllocGeoSet(const nvsg::GeoSet* p);
00196     void pseudoAllocSimpleCamera(const nvsg::SimpleCamera * p);
00197     template<typename StripType>
00198     void pseudoAllocStrips(const StripType * p);
00199
00200   private:
00201
00202     bool        m_calculateStorageRequirements; // pre-calculate what the file size would be
00203     size_t      m_preCalculatedFileSize; // required file size in bytes
00204 #if defined(_WIN32)
00205     HANDLE      m_file;       // file handle returned by CreateFile
00206     HANDLE      m_fileMapping; // handle of a file mapping object returned by CreateFileMapping
00207 #elif defined(LINUX)
00208     int         m_file;       // file descriptor returned by open()
00209 #endif
00210     struct Mapping
00211     {
00212       ubyte_t * basePtr;
00213       size_t    size;    // needed with linux's unmap call only
00214     };
00215     std::vector<Mapping> m_mappedViews; // collection of currently mapped views
00216     size_t      m_viewSize;   // size in bytes of the currently mapped file view
00217     size_t      m_allocationGranularity; // actual system's allocation granularity
00218     ubyte_t   * m_basePtr;    // points to the beginning of the current view of the file mapping
00219     ubyte_t   * m_filePtr;    // actual write position
00220     size_t      m_fileOffset; // actual file offset
00221     std::map<const nvsg::Object*, uint_t> m_objectOffsetMap; // mapping NVSG objects to the corresponding offsets in file mapping
00222     std::map<nvsg::DataID, uint_t> m_objectDataIDOffsetMap; // mapping object IDs of shared objects to corresponding offsets
00223 };
00224
00226 class NBFSaver : public nvsg::SceneSaver
00227 {
00228 public :
00230   NBFSaver();
00231
00233
00234   void deleteThis( void );
00235
00237
00238   bool save( const nvsg::Scene &scene
00239            , const nvsg::ViewState *viewState
00240            , const std::string& filename
00241            );
00242
00243 protected:
00244   virtual ~NBFSaver();
00245
00246 protected:
00247   NBFSaveTraverser * m_traverser;
00248 };
00249
00250
00251 inline void NBFSaver::deleteThis( void )
00252 {
00253   delete this;
00254 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


Node.h Source File

Node.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/BoundingSphere.h"
00018 #include "nvsg/Object.h"
00019
00020 namespace nvsg
00021 {
00022   class Group;
00023
00025
00026   class Node : public Object
00027   {
00028     public:
00030
00031       NVSG_API virtual const Node * clone( void ) const = 0;
00032
00034
00035       NVSG_API virtual bool isDataShared( void )  const;
00036
00038
00039       NVSG_API virtual DataID getDataID( void )   const;
00040
00042
00043       NVSG_API size_t getNumberOfParents() const;
00044
00046
00049       NVSG_API const Group * getParent( size_t i
00050                                       ) const;
00051
00053
00055       NVSG_API bool isBoundingSphereValid( void ) const;
00056
00058
00061       NVSG_API const nvmath::Sphere3f & getBoundingSphere( void ) const;
00062
00064       NVSG_API void invalidateBoundingSphere( void ) const;
00065
00067
00068       NVSG_API virtual bool containsCgFx( void ) const;
00069
00071
00072       NVSG_API virtual void invalidateCgFxContainment( void );
00073
00075
00076       NVSG_API virtual bool containsLight( void ) const;
00077
00079
00080       NVSG_API virtual void invalidateLightContainment( void );
00081
00083
00084       NVSG_API virtual bool containsTransparentMaterial( void ) const;
00085
00087
00088       NVSG_API virtual void invalidateTransparentMaterialContainment( void );
00089
00091
00092       NVSG_API virtual bool containsTransparentTexture( void ) const;
00093
00095
00096       NVSG_API virtual void invalidateTransparentTextureContainment( void );
00097
00099
00100       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00101
00103
00104       NVSG_API virtual void invalidateNumberOfFrames( void ) const;
00105
00107       NVSG_API void setAnnotation( const char *anno );
00108
00110       NVSG_API const char * getAnnotation( void ) const;
00111
00112     protected:
00114       NVSG_API Node(void);
00115
00117       NVSG_API Node(const Node& rhs);
00118
00120       NVSG_API virtual ~Node(void);
00121
00123       /*** \returns \c true if the calculated bounding sphere is valid, otherwise \c false. */
00124       NVSG_API virtual bool calcBoundingSphere( void ) const = 0;
00125
00127
00129       NVSG_API bool extendBoundingSphere( const nvmath::Sphere3f &sphere
00130                                         ) const;
00131
00133       NVSG_API void transformBoundingSphere( const nvmath::Mat44f &m
00134                                            , float factor = 1.0f
00135                                            ) const;
00136
00137     private:
00138       // helpers with managing parent/child releationships
00139       friend class Group; // Group needs access to these helpers - no one else!
00140       void addParent(const Group * group);
00141       void removeParent(const Group * group);
00142
00143       // helper with BS validation
00144       void validateBoundingSphere( void ) const;
00145
00146     private:
00147       std::string                   * m_annotation;
00148       std::vector<const Group*>       m_parents;
00149       mutable nvmath::BoundingSphere  m_boundingSphere;
00150   };
00151
00152 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
00153
00154   inline const char * Node::getAnnotation( void ) const
00155   {
00156     return( m_annotation ? m_annotation->c_str() : NULL );
00157   }
00158
00159   inline size_t Node::getNumberOfParents() const
00160   {
00161     return m_parents.size();
00162   }
00163
00164   inline const Group * Node::getParent( size_t i ) const
00165   {
00166     __ASSERT(i < m_parents.size()); // undefined behavior for invalid index!
00167     return m_parents[i];
00168   }
00169
00170   inline bool Node::isBoundingSphereValid( void ) const
00171   {
00172     validateBoundingSphere();
00173     return( m_boundingSphere.isValid() );
00174   }
00175
00176   inline const nvmath::Sphere3f & Node::getBoundingSphere( void ) const
00177   {
00178     validateBoundingSphere();
00179     __ASSERT( m_boundingSphere.isValid() );
00180     return( m_boundingSphere.getSphere() );
00181   }
00182
00183   inline bool Node::extendBoundingSphere( const nvmath::Sphere3f &sphere ) const
00184   {
00185     return( m_boundingSphere.extend( sphere ) );
00186   }
00187
00188   inline void Node::transformBoundingSphere( const nvmath::Mat44f &m, float factor ) const
00189   {
00190     validateBoundingSphere();
00191     __ASSERT( m_boundingSphere.isValid() );
00192     m_boundingSphere.transform( m );
00193     m_boundingSphere.enlarge( factor );
00194   }
00195
00196   inline void Node::validateBoundingSphere( void ) const
00197   {
00198     if ( ! m_boundingSphere.isValid() )
00199     {
00200       calcBoundingSphere();
00201     }
00202   }
00203
00204 } // namespace
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nv_attribute.h Source File

nv_attribute.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #ifndef _nv_attribute_h_
00013 #define _nv_attribute_h_
00014
00015 #pragma warning (disable:4251)
00016
00017 #include <map>
00018 #include <string>
00019
00020 //  it's not neccessary to document this helper class !
00021 #if ! defined( DOXYGEN_IGNORE )
00022 class nv_attribute
00023 {
00024     typedef std::map<std::string,nv_attribute*> _dico;
00025     typedef _dico::value_type                   _dico_pair;
00026     typedef _dico::iterator                     _dico_it;
00027     typedef _dico::const_iterator               _dico_cit;
00028 public:
00029
00030     enum
00031     {
00032         NV_FLOAT                = 0x00000001,
00033         NV_CHAR                 = 0x00000002,
00034         NV_UNSIGNED_CHAR        = 0x00000004,
00035         NV_UNSIGNED_INT         = 0x00000008,
00036         NV_INT                  = 0x00000010,
00037         NV_SHORT                = 0x00000040,
00038
00039         NV_ARRAY                = 0x00010000,
00040         NV_FLOAT_ARRAY          = 0x00010001,
00041         NV_CHAR_ARRAY           = 0x00010002,
00042         NV_UNSIGNED_CHAR_ARRAY  = 0x00010004,
00043         NV_UNSIGNED_INT_ARRAY   = 0x00010008,
00044         NV_INT_ARRAY            = 0x00010010,
00045         NV_ATTRIBUTE_ARRAY      = 0x00010020,
00046         NV_SHORT_ARRAY          = 0x00010040,
00047         NV_STRING               = 0x00010002,
00048
00049         NV_UNASSIGNED           = 0xFFFFFFFF
00050     };
00051
00052     nv_attribute();
00053     nv_attribute(const nv_attribute & attr);
00054     ~nv_attribute();
00055
00056     // l-value assignation
00057     nv_attribute &          operator=           (const char * str);
00058     nv_attribute &          operator=           (const float & val);
00059     nv_attribute &          operator=           (const unsigned int & val);
00060     nv_attribute &          operator=           (const int & val);
00061     nv_attribute &          operator=           (const unsigned char & val);
00062     nv_attribute &          operator=           (const char & val);
00063     nv_attribute &          operator=           (const short & val);
00064     nv_attribute &          operator=           (const nv_attribute & attr);
00065
00066     // validation tests
00067     bool                    is_null             () const;
00068     bool                    is_valid            () const;
00069
00070     // accessor interface
00071     nv_attribute &          operator[]          (const char * name);
00072
00073     // array assignation
00074     void                    array               (const nv_attribute * attribs, unsigned int size);
00075     void                    array               (const float * fvector, unsigned int size);
00076     void                    array               (const char * str, unsigned int size);
00077     void                    array               (const unsigned char * str, unsigned int size);
00078     void                    array               (const unsigned int * array, unsigned int size);
00079     void                    array               (const int * array, unsigned int size);
00080     void                    array               (const short * array, unsigned int size);
00081
00082     // r-value accessors...
00083     float                   as_float            () const;
00084     unsigned int            as_unsigned_int     () const;
00085     unsigned int            as_int              () const;
00086     short                   as_word             () const;
00087     unsigned char           as_uchar            () const;
00088     char                    as_char             () const;
00089     const char *            as_char_array       () const;
00090     const unsigned char *   as_unsigned_char_array() const;
00091     const int *             as_int_array        () const;
00092     const unsigned int *    as_unsigned_int_array() const;
00093     const float *           as_float_array      () const;
00094     const short *           as_short_array      () const;
00095     const char *            as_string           () const;
00096     const nv_attribute *    as_attribute_array  () const;
00097
00098     // retrieve the size array of the array
00099     const unsigned int      get_size            () const;
00100
00101     // retrieve the type of the attribute
00102     const unsigned int      get_type            () const;
00103
00104     unsigned int            get_num_attributes  () const;
00105     const char *            get_attribute_name  (unsigned int i) const;
00106     const nv_attribute *    get_attribute       (unsigned int i) const;
00107
00108     friend std::ostream & operator << (std::ostream& os, const nv_attribute & attr);
00109
00110 protected:
00111     // delete the container and reset the value to zero
00112     void                    erase               ();
00113     void                    copy_from           (const nv_attribute * attr);
00114
00115 private:
00116     // dictionnary
00117     _dico                   _attr;
00118
00119     // 32 bit union for data storage
00120     union
00121     {
00122         void *              _pdata;
00123         unsigned char       _ubyte;
00124         unsigned char       _byte;
00125         short               _word;
00126         unsigned int        _udword;
00127         unsigned int        _sdword;
00128         float               _float;
00129     };
00130
00131     // to be only used for arrays only. The size is always in reference to the type.
00132     // example: if the type is float and size is 4, there is 3 floats in the array
00133     unsigned int    _size;
00134
00135     // used to tell whether an attribute contains a valid value as well as its type
00136     unsigned int    _flag;
00137 };
00138 #endif  //  DOXYGEN_IGNORE
00139
00140 #endif // _nv_attribute_h_
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NVBLoader.h Source File

NVBLoader.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  "nvsg/PlugInterface.h"
00016 #include  "nvutil/Tools.h"
00017 #include  "inc/NVNVB.h"
00018 #include  "inc/NVNVB2.h"
00019
00020 //  Don't need to document the API specifier
00021 #if ! defined( DOXYGEN_IGNORE )
00022 #ifdef NVBLOADER_EXPORTS
00023 # define NVNVB_API __declspec(dllexport)
00024 #else
00025 # define NVNVB_API __declspec(dllimport)
00026 #endif
00027 #endif  //  DOXYGEN_IGNORE
00028
00030
00034 NVNVB_API bool getPlugInterface( const nvutil::UPIID& piid
00035                                , nvutil::PlugIn *& pi
00036                                );
00037
00039
00044 NVNVB_API bool queryPlugInterfaceType( const nvutil::UPITID& pitid
00045                                      , std::vector<nvutil::UPIID>& piids
00046                                      );
00047
00049
00053 class NVBLoader : public nvsg::SceneLoader
00054 {
00055   public:
00056     NVBLoader();
00057
00059
00060     void    deleteThis( void );
00061
00063
00068     const nvsg::Scene * load( const std::string& filename
00069                             , const std::vector<std::string> &searchPaths
00070                             , const nvsg::ViewState *& viewState
00072                             );
00073
00074   protected:
00076     virtual  ~NVBLoader(void);
00077
00078   private:
00079     NVNVB   * m_nvnvb;
00080     NVNVB2  * m_nvnvb2;
00081 };
00082
00083 inline NVBLoader::NVBLoader()
00084   : m_nvnvb(NULL)
00085   , m_nvnvb2(NULL)
00086 {
00087 }
00088
00089 inline NVBLoader::~NVBLoader()
00090 {
00091   if ( m_nvnvb )
00092   {
00093     delete m_nvnvb;
00094   }
00095   if ( m_nvnvb2 )
00096   {
00097     delete m_nvnvb2;
00098   }
00099 }
00100
00101 inline void NVBLoader::deleteThis( void )
00102 {
00103   delete this;
00104 }
00105
00106 inline const nvsg::Scene * NVBLoader::load( const std::string& filename, const std::vector<std::string> &searchPaths, const nvsg::ViewState *& viewState )
00107 {
00108   __TRACE();
00109   viewState = NULL; // ViewState loading not supported by nvb format
00110   const nvsg::Scene * scene = NULL;
00111   std::string theFile = filename;
00112   if ( nvutil::FindFileFirst(filename, searchPaths, theFile) )
00113   {
00114     FILE  * fh = fopen( theFile.c_str(), "rb" );
00115     char  header[5];
00116     fread( header, 1, 4, fh );
00117     header[4] = '\0';
00118     fclose( fh );
00119
00120     if ( !strcmp( header, "NVBP" ) || !strcmp( header, "NVB!" ) )
00121     {
00122       if ( ! m_nvnvb )
00123       {
00124         m_nvnvb = new NVNVB;
00125         __ASSERT( m_nvnvb );
00126       }
00127       scene = m_nvnvb->load( theFile, searchPaths );
00128     }
00129     else if ( !strcmp( header, "NVB2" ) )
00130     {
00131       if ( ! m_nvnvb2 )
00132       {
00133         m_nvnvb2 = new NVNVB2;
00134         __ASSERT( m_nvnvb2 );
00135       }
00136       scene = m_nvnvb2->load( theFile, searchPaths );
00137     }
00138     else
00139     {
00140       __TRACE_OUT_F(("Invalid file format: %s !\n", header ));
00141       scene = NULL;
00142     }
00143   }
00144   else
00145   {
00146     __TRACE_OUT_F(("File %s not found!\n", filename.c_str()))
00147   }
00148   return( scene );
00149 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NVBLoadTraverser.h Source File

NVBLoadTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  "nvmath/Vec2f.h"
00016 #include  "nvtraverser/Traverser.h"
00017
00019 class NVBLoadTraverser : public nvtraverser::Traverser
00020 {
00021   public:
00023     NVBLoadTraverser( std::vector<const nvsg::Material *> &faceMappedMaterials );
00024
00026     virtual ~NVBLoadTraverser(void);
00027
00028   protected:
00030
00031     virtual void  handleCgFx( const nvsg::CgFx *p );
00032
00034
00035     virtual void  handleGeoNode( const nvsg::GeoNode *p );
00036
00038     virtual void  handleJitterCamera( const nvsg::JitterCamera *p, const nvsg::Node *root )  { __ASSERT( false ); }
00039
00041     virtual void  handleLOD( const nvsg::LOD *p )                                { __ASSERT( false ); }
00042
00044
00045     virtual void  handleMaterial( const nvsg::Material *p, bool reset );
00046
00048
00049     virtual void  handleStateSet( const nvsg::StateSet *p );
00050
00052     virtual void  handleStereoCamera( const nvsg::StereoCamera *p, const nvsg::Node *root )  { __ASSERT( false ); }
00053
00055     virtual void  handleSwitch( const nvsg::Switch *p )                          { __ASSERT( false ); }
00056
00058
00060     virtual void  handleTriangles( const nvsg::Triangles *p );
00061
00062   private:
00063     bool                  m_bApplyingCgFx;
00064     const nvsg::Material            * m_currentMaterial;
00065     std::vector<const nvsg::Material *>  * m_faceMappedMaterials;
00066     std::vector<nvmath::Vec2f>         m_texCoords;
00067 };
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvgl.h Source File

nvgl.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 #include <GL/gl.h>  // standard OpenGL header satisfying OpenGL 1.1 API
00017 #include <GL/glu.h> // OpenGL utility
00018
00019 // Calling convention define required below.
00020 // Note: GLAPI is already defined in gl.h from Mesa 3-D graphics library (Linux build),
00021 // where it is used to specify the linkage and not the calling convention.
00022 #ifdef _WIN32
00023 # define GLAPI __stdcall
00024 #else
00025 # define GLAPI
00026 #endif
00027
00028 // Note: Be sure to define GL_GLEXT_LEGACY when building on Linux with Mesa 3-D headers!
00029 #include "GL/glext.h"   // OpenGL extension
00030 #if defined(_WIN32)
00031 # include "GL/wglext.h" // Microsoft specific OpenGL extensions
00032 #elif defined(LINUX)
00033 # include "GL/glx.h"
00034 # include "nvgl/glxtypes.h"
00035 #endif
00036
00037 // STL header
00038 #include <map>
00039
00040 // GL error tracing macro
00041 #ifdef _DEBUG
00042 # define ASSERT_GL_NO_ERROR               __ASSERT( ( glError = glGetError() ) == GL_NO_ERROR )
00043 # define ASSERT_GL_NO_ERROR_IN_BEGIN_END  __ASSERT( glContext->m_inBeginEndLoop || ( glError = glGetError() ) == GL_NO_ERROR )
00044 #else
00045 # define ASSERT_GL_NO_ERROR
00046 # define ASSERT_GL_NO_ERROR_IN_BEGIN_END
00047 #endif
00048
00050
00058 namespace nvgl
00059 {
00060   class GLContext;
00061
00062   extern  NVSG_API GLContext                   * glContext;
00063   extern  NVSG_API GLenum                        glError;
00064 #if defined(_WIN32)
00065   extern  NVSG_API std::map<HGLRC, GLContext*>   hglrcContextMap;
00066 #elif defined(LINUX)
00067   extern  NVSG_API std::map<GLXContext, GLContext*> hglrcContextMap;
00068 #endif
00069   extern  bool                                   wglFunctionsInitialized;
00070 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvmath.h Source File

nvmath.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  <algorithm> // for std::max, std::min (_MAX, _MIN)
00018 #include  <float.h>
00019
00020 // __WIN64__wa__XXX macros to workaround some win64 issues
00021 #include "__WIN64__workarounds.h"
00022
00024 namespace nvmath
00025 {
00026   // define the stand trig values
00027 #ifdef PI
00028 # undef PI
00029 # undef PI_HALF
00030 # undef PI_QUARTER
00031 #endif
00032
00033   const float PI            = 3.14159265358979323846f;
00035   const float PI_HALF       = 1.57079632679489661923f;
00037   const float PI_QUARTER    = 0.78539816339744830962f;
00039   const float SQRT_TWO      = 1.41421356237309504880f;
00041   const float SQRT_TWO_HALF = 0.70710678118654752440f;
00042
00044
00045   template<class T> T     clamp( T v
00046                                , T l
00047                                , T u
00048                                )
00049   {
00050     return __WIN64__wa__std_min(u, __WIN64__wa__std_max(l,v));
00051   }
00052
00054
00055   inline  float degToRad( float angle
00056                         )
00057   {
00058     return( angle*PI/180.0f );
00059   }
00060
00062
00063   inline  bool  isPowerOfTwo( int n
00064                             )
00065   {
00066     return( n == ( n & -n ) );
00067   }
00068
00070
00071   template<typename T> T lerp( float alpha
00072                              , const T &v0
00073                              , const T &v1
00074                              )
00075   {
00076     return( v0 + alpha * ( v1 - v0 ) );
00077   }
00078
00080
00081   inline  int   powerOfTwoBelow( int n
00082                                )
00083   {
00084     int h2 = 1;
00085     for ( size_t h = n ; h ; h>>=1, h2<<=1 )
00086       ;
00087     return( h2 >> 1 );
00088   }
00089
00091
00092   inline float radToDeg( float angle
00093                        )
00094   {
00095     return( angle*180.0f/PI );
00096   }
00097
00099
00100   template<typename T> int sign( const T &t
00101                                )
00102   {
00103     return( ( t < 0 ) ? -1 : ( ( t > 0 ) ? 1 : 0 ) );
00104   }
00105
00107
00108   template<typename T> float square( const T& t
00109                                    )
00110   {
00111     return( t * t );
00112   }
00113
00114 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NVNVB2.h Source File

NVNVB2.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include  <map>
00015 #include  "nvsg/nvsgapi.h"
00016 #include  "nvmath/Mat44f.h"
00017
00018 namespace nvsg
00019 {
00020   class GeoNode;
00021   class Scene;
00022   class StateSet;
00023   class TextureAttributeItem;
00024   class Transform;
00025 }
00026
00027
00028 //  it's not neccessary to document all these helper classes !
00029 #if ! defined( DOXYGEN_IGNORE )
00030
00031 class NVB2Animation
00032 {
00033   public:
00034     float         frequency;
00035     std::vector<nvmath::Quatf> rotations;
00036     std::vector<nvmath::Vec3f> positions;
00037     std::vector<nvmath::Vec3f> scales;
00038 };
00039
00040 class NVB2Attribute
00041 {
00042   public:
00043     ~NVB2Attribute();
00044
00045   public:
00046     std::map<std::string,NVB2Attribute*> entries;
00047     unsigned int                    arraySize;
00048     unsigned int                    arrayType;
00049     std::vector<char>                    array;
00050     unsigned int                    udWord;
00051 };
00052
00053 class NVB2Material
00054 {
00055   public:
00056     std::string               name;
00057     std::vector<unsigned int> textureIdxs;
00058     std::vector<unsigned int> textureChannels;
00059     nvmath::Vec4f             diffuse;
00060     nvmath::Vec4f             specular;
00061     float                     shininess;
00062     nvmath::Vec4f             ambient;
00063     nvmath::Vec4f             emission;
00064     float                     transparency;
00065     bool                      fog;
00066     nvmath::Vec4f             fogColor;
00067     NVB2Attribute             attribute;
00068
00069     const nvsg::StateSet    * stateSet;
00070 };
00071
00072 class NVB2TexCoordSet
00073 {
00074   public:
00075     unsigned int  texDim;
00076     std::vector<float> texCoords;
00077     std::vector<nvmath::Vec3f> binormals;
00078     std::vector<nvmath::Vec3f> tangents;
00079 };
00080
00081 class NVB2Mesh
00082 {
00083   public:
00084     unsigned int            materialID;
00085     std::vector<nvmath::Vec3f>           vertices;
00086     std::vector<nvmath::Vec3f>           normals;
00087     std::vector<nvmath::Vec4f>           colors;
00088     std::vector<nvmath::Vec4f>           weights;
00089     std::vector<unsigned int>    boneIdxs;
00090     std::vector<NVB2TexCoordSet> texCoordSets;
00091     std::vector<unsigned int>    faceIdxs;
00092     NVB2Attribute           attribute;
00093     nvmath::Vec3f                   aabbMin;
00094     nvmath::Vec3f                   aabbMax;
00095 };
00096
00097 class NVB2Texture
00098 {
00099   public:
00100     unsigned int            texType;
00101     std::string                  fileName;
00102     nvmath::Mat44f                  xform;
00103     const nvsg::TextureAttributeItem  * textureAttributeItem;
00104 };
00105
00106 class NVB2Node
00107 {
00108   public:
00109     NVB2Node();
00110     virtual ~NVB2Node();
00111
00112   public:
00113     std::string                  name;
00114     nvmath::Mat44f                  xform;
00115     std::vector<unsigned int>    children;
00116     unsigned int            parent;
00117     unsigned int            target;
00118     NVB2Animation           animation;
00119     NVB2Attribute           attribute;
00120
00121     nvmath::Quatf                   orientation;
00122     nvmath::Vec3f                   position;
00123     const nvsg::Transform             * transform;
00124 };
00125
00126 class NVB2Camera : public NVB2Node
00127 {
00128   public:
00129     float fieldOfView;
00130     float focalLength;
00131 };
00132
00133 class NVB2Light : public NVB2Node
00134 {
00135   public:
00136     nvmath::Vec4f         color;
00137     nvmath::Vec4f         specular;
00138     nvmath::Vec4f         ambient;
00139     unsigned int  lightType;
00140     float         specularExp;
00141     nvmath::Vec3f         direction;
00142     float         range;
00143     float         attConst;
00144     float         attLinear;
00145     float         attQuadratic;
00146     float         falloff;
00147     float         theta;
00148     float         phi;
00149 };
00150
00151 class NVB2Model : public NVB2Node
00152 {
00153   public:
00154     std::vector<NVB2Mesh>  meshes;
00155     nvmath::Vec3f          aabbMin;
00156     nvmath::Vec3f          aabbMax;
00157 };
00158
00159 class NVNVB2
00160 {
00161   public:
00162     NVNVB2();
00163
00164   public:
00165     const nvsg::Scene * load( const std::string& filename, const std::vector<std::string> &searchPaths );
00166
00167   private:
00168     void          interpretAttribute( NVB2Attribute &attribute );
00169     void          interpretCamera( NVB2Camera *camera );
00170     void          interpretLight( NVB2Light *light );
00171     void          interpretMaterials( void );
00172     void          interpretMesh( NVB2Mesh &mesh, nvsg::GeoNode *geoNode );
00173     void          interpretModel( NVB2Model *node );
00174     void          interpretNode( NVB2Node *node );
00175     void          interpretNodes( void );
00176     void          interpretTextures( void );
00177     void          interpretTransform( NVB2Node *node );
00178     void          loadAnimation( NVB2Animation &animation );
00179     void          loadAttribute( NVB2Attribute &attribute );
00180     void          loadCamera( NVB2Camera *camera );
00181     void          loadLight( NVB2Light *light );
00182     unsigned int  loadMaterial( NVB2Material &material );
00183     void          loadMesh( NVB2Mesh &mesh );
00184     void          loadModel( NVB2Model *node );
00185     void          loadNode( NVB2Node *node );
00186     void          loadScene( void );
00187     void          loadTexCoordSet( NVB2TexCoordSet &texCoordSet );
00188     void          loadTexture( NVB2Texture &texture );
00189
00190   private:
00191     FILE                       * m_fh;
00192     std::vector<NVB2Node*>       m_nodes;
00193     std::vector<NVB2Material>    m_materials;
00194     const nvsg::Scene          * m_scene;
00195     std::vector<std::string>     m_searchPaths;
00196     std::vector<NVB2Texture>     m_textures;
00197 };
00198
00199 typedef enum
00200 {
00201     LT_ANONYMOUS,
00202     LT_POINT,
00203     LT_DIRECTIONAL,
00204     LT_SPOT
00205 } NVB2LightType;
00206
00207 typedef enum
00208 {
00209     NT_ANONYMOUS       = 0x00000000,
00210     NT_GEOMETRY        = 0x00000001,
00211     NT_LIGHT           = 0x00000002,
00212     NT_CAMERA          = 0x00000003
00213 } NVB2NodeType;
00214
00215 typedef enum
00216 {
00217     NVB2TT_CUSTOM              = 0x00000000,
00218     NVB2TT_AMBIENT             = 0x00000001,
00219     NVB2TT_DIFFUSE             = 0x00000002,
00220     NVB2TT_SPECULAR            = 0x00000003, // specular color map
00221     NVB2TT_SPECULAR_POWER      = 0x00000004, // specular highlight map
00222     NVB2TT_GLOSS               = 0x00000005,
00223     NVB2TT_SELF_ILLUMATION     = 0x00000006,
00224     NVB2TT_BUMP                = 0x00000007,
00225     NVB2TT_NORMAL              = 0x00000008,
00226     NVB2TT_OPACITY             = 0x00000009,
00227     NVB2TT_REFLECTION          = 0x0000000A,
00228     NVB2TT_REFRACTION          = 0x0000000B,
00229     NVB2TT_CUBE_MAP            = 0x0000000C
00230 } NVB2TexType;
00231
00232 enum
00233 {
00234     NV_FLOAT                = 0x00000001,
00235     NV_CHAR                 = 0x00000002,
00236     NV_UNSIGNED_CHAR        = 0x00000004,
00237     NV_UNSIGNED_INT         = 0x00000008,
00238     NV_INT                  = 0x00000010,
00239     NV_SHORT                = 0x00000040,
00240
00241     NV_ARRAY                = 0x00010000,
00242     NV_FLOAT_ARRAY          = 0x00010001,
00243     NV_CHAR_ARRAY           = 0x00010002,
00244     NV_UNSIGNED_CHAR_ARRAY  = 0x00010004,
00245     NV_UNSIGNED_INT_ARRAY   = 0x00010008,
00246     NV_INT_ARRAY            = 0x00010010,
00247     NV_ATTRIBUTE_ARRAY      = 0x00010020,
00248     NV_SHORT_ARRAY          = 0x00010040,
00249     NV_STRING               = 0x00010002,
00250
00251     NV_UNASSIGNED           = 0xFFFFFFFF
00252 };
00253
00254 #endif  //  DOXYGEN_IGNORE
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NVNVB.h Source File

NVNVB.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include  <set>
00015 #include  "nvsg/nvsgapi.h"
00016 #include  "nvmath/Vec2f.h"
00017 #include  "nvsg/Face.h"
00018 #include  "nvsg/Scene.h"
00019 #include  "nvsg/SkinnedTriangles.h"
00020 #include  "nvsg/TextureAttribute.h"
00021 #include  "NVBBreaker/inc/NVBLoader.h"
00022
00023 // forward declarations
00024 namespace nvsg
00025 {
00026   class AnimatedTransform;
00027   class Camera;
00028   class FaceAttribute;
00029   class LightSource;
00030   class Material;
00031   class Scene;
00032   class Transform;
00033 }
00034
00035 //  it's not neccessary to document this helper class !
00036 #if ! defined( DOXYGEN_IGNORE )
00037 class MeshData
00038 {
00039   public:
00040     MeshData();
00041
00042   public:
00043     std::vector<std::vector<sdword> > m_animationIDs;
00044     std::vector<std::vector<nvmath::Vec3f> >  m_boneOffsets;
00045     unsigned int            m_faceCount;
00046     std::vector<nvsg::Face3>           m_faces;
00047     std::vector<size_t>          m_normalIndices;
00048     std::vector<nvmath::Vec3f>           m_normals;
00049     unsigned int            m_matId;
00050     std::vector<nvsg::Skin>            m_skins;
00051     std::vector<nvmath::Vec3f>           m_vertices;
00052     std::vector<std::vector<nvmath::Vec2f> >  m_texCoords;
00053     unsigned int            m_vertexCount;
00054 };
00055
00056 inline MeshData::MeshData()
00057 : m_faceCount( 0 )
00058 {
00059 }
00060 #endif  //  DOXYGEN_IGNORE
00061
00063 class NVNVB : public NVBRenderManager::NVBBreaker
00064 {
00065   public:
00066     NVNVB(void);
00067     ~NVNVB(void);
00068
00069   public:
00071
00072     const nvsg::Scene * load( const std::string& filename
00073                        , const std::vector<std::string> &searchPaths
00074                        );
00075
00076     // Application-dependent import methods, called by the importer
00078     virtual bool  NewScene      ( const NVBRenderManager::NVBSceneInfo& scene );
00080     virtual bool  NewCamera     ( const NVBRenderManager::NVBCameraInfo& camera );
00082     virtual bool  NewLight      ( const NVBRenderManager::NVBLightInfo& light );
00084     virtual bool  NewMaterial   ( const NVBRenderManager::NVBMaterialInfo& material );
00086     virtual bool  NewTexture    ( const NVBRenderManager::NVBTextureInfo& texture );
00088     virtual bool  NewMesh       ( const NVBRenderManager::NVBMeshInfo& mesh );
00090     virtual bool  NewShape      ( const NVBRenderManager::NVBShapeInfo& shape );
00092     virtual bool  NewHelper     ( const NVBRenderManager::NVBHelperInfo& helper );
00094     virtual bool  NewController ( const NVBRenderManager::NVBControllerInfo& controller );
00096     virtual bool  NewMotion     ( const NVBRenderManager::NVBMotionInfo& motion );
00097
00099     virtual bool  EndImport     ( void );
00100
00102     virtual bool  NVBImportError  ( const char* errortext, udword errorcode );
00103
00105     virtual void  NVBLog          ( NVBRenderManager::TLogLevel level, LPSTR fmt, ... );
00107     virtual void  SetLogCallback  ( NVBRenderManager::TloggingCB cbfn, unsigned long userparam = 0 );
00108
00109   private:
00110     void        addMap( sdword mapID, float coeff, nvsg::TextureType tt, const nvsg::TextureAttribute * texAttrib, size_t& unit );
00111     void        addMaps( const NVBRenderManager::NVBMaterialInfo& material, nvsg::Material *pMaterial );
00112     const nvsg::Transform * newTransform( sdword ID, const Point &pos, const Quat &rot, size_t position = 0xFFFFFFFF );
00113
00114   private:
00115     std::map<const nvsg::Camera *, sdword>                m_cameraToTransformID;
00116     std::vector<const nvsg::Material *>                   m_faceMappedMaterial;
00117     const nvsg::FaceAttribute                           * m_globalFaceAttribute;
00118     std::set<sdword>                                      m_invalidTextureIDs;
00119     std::map<sdword, const nvsg::AnimatedTransform *>     m_IDToAnimatedTransform;
00120     std::map<sdword, const nvsg::Material *>              m_IDToMaterial;
00121     std::map<sdword, std::string>                         m_IDToTextureFileName;
00122     std::map<sdword, float>                               m_IDToTextureRotation;
00123     std::map<sdword, nvmath::Vec3f>                       m_IDToTextureScaling;
00124     std::map<sdword, nvmath::Vec3f>                       m_IDToTextureTranslation;
00125     std::map<sdword, nvsg::Transform *>                   m_IDToTransform;
00126     std::map<const nvsg::LightSource *, sdword>           m_lightToTransformID;
00127     std::set<std::string>                                 m_materialNames;
00128     std::map<const nvsg::Material *, const nvsg::StateSet *>    m_materialToStateSet;
00129     std::vector<MeshData>                                 m_meshData;
00130     int                                                   m_numCgFxAttribs;
00131     const nvsg::Group                                   * m_rootNode;
00132     const nvsg::Scene                                   * m_scene;
00133     std::vector<std::string>                              m_searchPaths;
00134
00135     //  On each meshID (sdword) with SkinnedTriangles store some SkinnedTriangles information and the mesh size
00136     //    (number of vertices)
00137     //  The SkinnedTriangles information contains a pair of a pointer to a SkinnedTriangles and pair of a vector of indices
00138     //    into a (mesh-)common normal array and a vector of ids of (Animated)Transforms.
00139     //  For each material in this mesh, there is one such pair (of a pointer and a pair).
00140     typedef struct
00141     {
00142       std::vector<std::vector<sdword> >         m_animationIDs;
00143       std::vector<std::vector<nvmath::Vec3f> >  m_boneOffsets;
00144       std::vector<size_t>                       m_normalIndices;
00145     } SkinnedTrianglesInfo;
00146     std::map<sdword,std::pair<std::vector<std::pair<nvsg::SkinnedTriangles*,SkinnedTrianglesInfo> >,size_t> > m_IDToSkinnedTriangles;
00147
00148 #if defined( _DEBUG )
00149     std::set<udword> m_meshIds;
00150 #endif
00151 };
00152
00153 inline const nvsg::Scene * NVNVB::load( const std::string& filename, const std::vector<std::string> &searchPaths )
00154 {
00155   __TRACE();
00156
00157   if ( m_scene )
00158   {
00159     m_scene->removeRef();
00160   }
00161   m_scene = NULL;
00162
00163   // We need to clean up everything, so we can use loader instance more than once.
00164   m_cameraToTransformID.clear();
00165   m_faceMappedMaterial.clear();
00166   m_globalFaceAttribute=NULL;
00167   m_invalidTextureIDs.clear();
00168   m_IDToAnimatedTransform.clear();
00169   m_IDToMaterial.clear();
00170   m_IDToTextureFileName.clear();
00171   m_IDToTextureRotation.clear();
00172   m_IDToTextureScaling.clear();
00173   m_IDToTextureTranslation.clear();
00174   m_IDToTransform.clear();
00175   m_lightToTransformID.clear();
00176   m_materialNames.clear();
00177   m_materialToStateSet.clear();
00178   m_meshData.clear();
00179   m_numCgFxAttribs=0;
00180   m_rootNode=NULL;
00181   m_IDToSkinnedTriangles.clear();
00182
00183 #if defined( _DEBUG )
00184   m_meshIds.clear();
00185 #endif
00186
00187   // private copy of the search paths
00188   m_searchPaths = searchPaths;
00189
00190   // run the importer
00191   if ( !Import( filename.c_str() ) )
00192   {
00193     __TRACE_OUT_F(("Failed to import %s!\n", filename.c_str()))
00194   }
00195   __ASSERT(m_scene);
00196   return( m_scene );
00197 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvsg.h Source File

nvsg.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <string>
00018 #include <vector>
00019
00021
00023 namespace nvsg
00024 {
00026
00039   NVSG_API void nvsgInitialize(
00040     bool runInMultithreadedEnvironment = false
00043   );
00044
00046
00050   NVSG_API void nvsgTerminate();
00051
00053   NVSG_API void getVersionString(
00054     std::string & string
00055   );
00056
00058   NVSG_API void getSDKName(
00059     std::string & string
00060   );
00061
00063   NVSG_API void getCopyrightString(
00064     std::string & string
00065   );
00066
00068   NVSG_API void getVendorName(
00069     std::string & string
00070   );
00071
00073   typedef std::vector<unsigned int> IndexSet;
00074 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvsgapi.h Source File

nvsgapi.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014
00015 #ifdef _WIN32
00016 // microsoft specific storage-class defines
00017 # ifdef NVSG_EXPORTS
00018 #  define NVSG_API __declspec(dllexport)
00019 # else
00020 #  define NVSG_API __declspec(dllimport)
00021 # endif
00022 #else
00023 # define NVSG_API
00024 #endif
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvsgcommon.h Source File

nvsgcommon.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 /* This is the common header file, that should be included by all NVSG headers.
00013 */
00014
00015 #pragma once
00016
00017 // Linux type defines
00018 #if defined(LINUX)
00019 #include "nvsg/LinuxTypes.h"
00020 #endif
00021
00022 // project header
00023 #include "nvsg/nvsgapi.h"  // storage-class defines
00024 #include "nvutil/Assert.h" // assert
00025 #include "nvutil/Trace.h"  // support for function level tracing
00026 #include "nvutil/Log.h"    // logging
00027 #include "nvutil/nvutil.h" // utility CRT functions
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NVSGLoader.h Source File

NVSGLoader.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  <fstream>
00016 #include  "CgFx/ICgFXEffect.h"
00017 #include  "nvsg/nvsgapi.h"
00018 #include  "nvsg/nvsg.h"
00019 #include  "nvsg/PlugInterface.h"
00020 #include  "nvsg/SkinnedTriangles.h"
00021 #include  "nvsg/TextureAttribute.h"
00022
00023 // forward declarations
00024 namespace nvsg
00025 {
00026   class AnimatedQuads;
00027   class AnimatedTransform;
00028   class AnimatedTriangles;
00029   class CgFx;
00030   class DirectedLight;
00031   class FaceAttribute;
00032   class GeoNode;
00033   class GeoSet;
00034   class LOD;
00035   class Material;
00036   class ParallelCamera;
00037   class PerspectiveCamera;
00038   class PointLight;
00039   class Quads;
00040   class QuadStrips;
00041   class SimpleCamera;
00042   class SpotLight;
00043   class StateAttribute;
00044   class Switch;
00045   class Transform;
00046   class TriStrips;
00047   class VNVector;
00048   template<typename T> class FramedAnimation;
00049   template<typename T> class LinearInterpolatedAnimation;
00050 }
00051
00052
00053 //  Don't need to document the API specifier
00054 #if ! defined( DOXYGEN_IGNORE )
00055 #ifdef NVSGLOADER_EXPORTS
00056 #define NVSGLOADER_API __declspec(dllexport)
00057 #else
00058 #define NVSGLOADER_API __declspec(dllimport)
00059 #endif
00060 #endif  //  DOXYGEN_IGNORE
00061
00063
00067 NVSGLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00068
00070
00075 NVSGLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00076
00078
00080 class NVSGLoader : public nvsg::SceneLoader
00081 {
00082   public :
00083     //  Default constructor.
00084     NVSGLoader();
00085     ~NVSGLoader();
00086
00087   public :
00089
00090     void  deleteThis( void );
00091
00093
00098     const nvsg::Scene * load( const std::string& filename
00099                             , const std::vector<std::string> &searchPaths
00100                             , const nvsg::ViewState *& viewState
00102                             );
00103
00104   private :
00105     void                                                cleanup( void );
00106     bool                                                getNextLine( void );
00107     char                                              * getNextToken( void );
00108     const nvsg::Scene                                 * import( const std::string &filename, const nvsg::ViewState *& viewState );
00109     bool                                                onIncompatibleValues( int value0, int value1, const std::string &node, const std::string &field0, const std::string &field1 ) const;
00110     template<typename T> bool                           onInvalidValue( T value, const std::string &node, const std::string &field ) const;
00111     bool                                                onEmptyToken( const std::string &tokenType, const std::string &token ) const;
00112     bool                                                onFileNotFound( const std::string &file ) const;
00113     bool                                                onFilesNotFound( bool found, const std::vector<std::string> &files ) const;
00114     void                                                onUnexpectedEndOfFile( bool error ) const;
00115     void                                                onUnexpectedToken( const std::string &expected, const std::string &token ) const;
00116     void                                                onUnknownToken( const std::string &context, const std::string &token ) const;
00117     bool                                                onUndefinedToken( const std::string &context, const std::string &token ) const;
00118     bool                                                onUnsupportedToken( const std::string &context, const std::string &token ) const;
00119     const nvsg::AnimatedQuads                         * readAnimatedQuads( const char *name );
00120     const nvsg::AnimatedTransform                     * readAnimatedTransform( const char *name );
00121     const nvsg::AnimatedTriangles                     * readAnimatedTriangles( const char *name );
00122     void                                                readAttributes( std::vector<const nvsg::StateAttribute*> &attribs );
00123     bool                                                readBool( void );
00124     const nvsg::CgFx                                  * readCgFx( const char *name );
00125     const nvsg::Node                                    * readChild( const char *token = NULL );
00126     void                                                readChildren( nvsg::Group *g );
00127     size_t                                              readCount( const char *token = NULL );
00128     const nvsg::DirectedLight                         * readDirectedLight( const char *name );
00129     DWORD                                               readDWORD( void );
00130     CgFXPARAMETERTYPE                                   readCgFXParameterType( void );
00131     const nvsg::FaceAttribute                         * readFaceAttribute( const char *name );
00132     float                                               readFloat( const char *token = NULL );
00133     void                                                readFloats( std::vector<float> &v );
00134     const nvsg::FramedAnimation<nvmath::Trafo>        * readFramedTrafoAnimation( const char *name );
00135     const nvsg::FramedAnimation<nvsg::VNVector>       * readFramedVNVectorAnimation( const char *name );
00136     const nvsg::GeoNode                               * readGeoNode( const char *name );
00137     bool                                                readGeoSetToken( nvsg::GeoSet *gs, const char *token );
00138     const nvsg::Group                                 * readGroup( const char *name );
00139     bool                                                readGroupToken( nvsg::Group *g, const char *token );
00140     void                                                readIndexSet( nvsg::IndexSet &v, const char *token );
00141     int                                                 readInt( void );
00142     const nvsg::LinearInterpolatedAnimation<nvmath::Trafo>  * readLinearInterpolatedTrafoAnimation( const char *name );
00143     const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> * readLinearInterpolatedVNVectorAnimation( const char *name );
00144     bool                                                readLightSourceToken( nvsg::LightSource *ls, const char *token );
00145     const nvsg::LOD                                   * readLOD( const char *name );
00146     nvmath::Mat33f                                      readMat33f( void );
00147     nvmath::Mat44f                                      readMat44f( void );
00148     const nvsg::Material                              * readMaterial( const char *name );
00149     std::string                                         readName( const char *t = NULL );
00150     bool                                                readNodeToken( nvsg::Node *n, const char *token );
00151     const nvsg::ParallelCamera                        * readParallelCamera( const char *name );
00152     const nvsg::PerspectiveCamera                     * readPerspectiveCamera( const char *name );
00153     const nvsg::PointLight                            * readPointLight( const char *name );
00154     const nvsg::Quads                                 * readQuads( const char *name );
00155     const nvsg::QuadStrips                            * readQuadStrips( const char *name );
00156     bool                                                readQuadsToken( nvsg::Quads *q, const char *token );
00157     nvmath::Quatf                                       readQuatf( const char *token = NULL );
00158     const nvsg::Scene                                 * readScene( void );
00159     bool                                                readSimpleCameraToken( nvsg::SimpleCamera * pc, const char *token );
00160     nvsg::Skin                                          readSkin( char *token );
00161     const nvsg::SkinnedTriangles                      * readSkinnedTriangles( const char *name );
00162     void                                                readSkins( std::vector<nvsg::Skin> &skins );
00163     const nvsg::SpotLight                             * readSpotLight( const char *name );
00164     const nvsg::StateSet                              * readStateSet( const char *name );
00165     void                                                readStrips( std::vector<nvsg::IndexSet> &strips );
00166     const nvsg::Switch                                * readSwitch( const char *name );
00167     void                                                readTexGen( nvsg::TextureAttributeItem * texItem );
00168     const nvsg::TextureAttribute                      * readTextureAttribute( const char *name );
00169     const nvsg::TextureAttributeItem                  * readTextureAttributeItem( const char *name );
00170     void                                                readTextureAttributeItems(std::vector<const nvsg::TextureAttributeItem*>& texItems);
00171     nvsg::TextureEnvMode                                readTextureEnvMode( void );
00172     nvsg::TextureMagFilterMode                          readTextureMagFilterMode( void );
00173     nvsg::TextureMinFilterMode                          readTextureMinFilterMode( void );
00174     nvsg::TextureType                                   readTextureType( void );
00175     nvsg::TextureWrapMode                               readTextureWrapMode( void );
00176     const nvsg::Transform                             * readTransform( const char *name );
00177     bool                                                readTransformToken( nvsg::Transform *t, const char *token );
00178     const nvsg::Triangles                             * readTriangles( const char *name );
00179     bool                                                readTrianglesToken( nvsg::Triangles *t, const char *token );
00180     const nvsg::TriStrips                             * readTriStrips( const char *name );
00181     nvmath::Vec2f                                       readVec2f( const char *token = NULL );
00182     void                                                readVec2fs( std::vector<nvmath::Vec2f> &vecs );
00183     nvmath::Vec3f                                       readVec3f( const char *token = NULL );
00184     void                                                readVec3fs( std::vector<nvmath::Vec3f> &vecs );
00185     nvmath::Vec4f                                       readVec4f( const char *token = NULL);
00186     void                                                readVec4fs( std::vector<nvmath::Vec4f> &vecs );
00187     const nvsg::ViewState                             * readViewState( void );
00188     bool                                                testNVSGVersion( void );
00189
00190     template<size_t n>            nvsg::Face<n> readFace( const char *token );
00191     template<size_t n>            void          readFaces( std::vector<nvsg::Face<n> > &faces );
00192     template<typename ObjectType> void          storeNamedObject(const std::string& name, std::map<std::string, const ObjectType*>& container, const ObjectType * obj);
00193
00194   private :
00195     std::map<std::string,const nvsg::AnimatedQuads*>                                m_animatedQuads;
00196     std::map<std::string,const nvsg::AnimatedTransform*>                            m_animatedTransforms;
00197     std::map<std::string,const nvsg::AnimatedTriangles*>                            m_animatedTriangles;
00198     std::map<std::string,const nvsg::CgFx*>                                         m_cgfxs;
00199     nvmath::Vec3f                                                                   m_cameraDirection;
00200     nvmath::Vec3f                                                                   m_cameraUpVector;
00201     char                                                                          * m_currentLine;
00202     size_t                                                                          m_currentLineLength;
00203     std::string                                                                     m_currentString;
00204     std::map<std::string,const nvsg::DirectedLight*>                                m_directedLights;
00205     bool                                                                            m_eof;
00206     std::map<std::string,const nvsg::FaceAttribute*>                                m_faceAttributes;
00207     std::map<std::string,const nvsg::FramedAnimation<nvmath::Trafo>*>               m_framedTrafoAnimations;
00208     std::map<std::string,const nvsg::FramedAnimation<nvsg::VNVector>*>              m_framedVNVectorAnimations;
00209     std::map<std::string,const nvsg::GeoNode*>                                      m_geoNodes;
00210     std::map<std::string,const nvsg::Group*>                                        m_groups;
00211     std::ifstream                                                                   m_ifs;
00212     size_t                                                                          m_line;
00213     std::map<std::string,const nvsg::LinearInterpolatedAnimation<nvmath::Trafo>*>   m_linearInterpolatedTrafoAnimations;
00214     std::map<std::string,const nvsg::LinearInterpolatedAnimation<nvsg::VNVector>*>  m_linearInterpolatedVNVectorAnimations;
00215     std::map<std::string,const nvsg::LOD*>                                          m_LODs;
00216     std::map<std::string,const nvsg::Material*>                                     m_materials;
00217     char                                                                          * m_nextToken;
00218     std::map<std::string,const nvsg::ParallelCamera*>                               m_parallelCameras;
00219     std::map<std::string,const nvsg::PerspectiveCamera*>                            m_perspectiveCameras;
00220     std::map<std::string,const nvsg::PointLight*>                                   m_pointLights;
00221     std::map<std::string,const nvsg::Quads*>                                        m_quads;
00222     std::map<std::string,const nvsg::QuadStrips*>                                   m_quadStrips;
00223     const nvsg::Scene                                                             * m_scene;
00224     std::map<std::string,const nvsg::SkinnedTriangles*>                             m_skinnedTriangles;
00225     std::map<std::string,const nvsg::SpotLight*>                                    m_spotLights;
00226     std::map<std::string,const nvsg::StateSet*>                                     m_stateSets;
00227     std::vector<std::string>                                                        m_searchPaths;
00228     std::map<std::string,const nvsg::Switch*>                                       m_switches;
00229     std::map<std::string,const nvsg::TextureAttribute*>                             m_textureAttributes;
00230     std::map<std::string,const nvsg::TextureAttributeItem*>                         m_textureAttributeItems;
00231     std::map<std::string,const nvsg::Transform*>                                    m_transforms;
00232     std::map<std::string,const nvsg::Triangles*>                                    m_triangles;
00233     std::map<std::string,const nvsg::TriStrips*>                                    m_triStrips;
00234 };
00235
00236 inline void NVSGLoader::deleteThis( void )
00237 {
00238   delete this;
00239 }
00240
00241 template<size_t n>
00242 inline nvsg::Face<n> NVSGLoader::readFace( const char *token )
00243 {
00244   Face<n> f;
00245   f[0] = (UINT) readCount( token );
00246   for ( size_t i=1 ; i<n ; i++ )
00247   {
00248     f[i] = (UINT) readCount();
00249   }
00250   return( f );
00251 }
00252
00253 template<size_t n>
00254 inline void  NVSGLoader::readFaces( std::vector<nvsg::Face<n> > &faces )
00255 {
00256   faces.clear();
00257   char * token = getNextToken();
00258   onUnexpectedToken( "[", token );
00259   token = getNextToken();
00260   while ( strcmp( token, "]" ) )
00261   {
00262     faces.push_back( readFace<n>( token ) );
00263     token = getNextToken();
00264   }
00265 }
00266
00267 template <typename ObjectType>
00268 inline void NVSGLoader::storeNamedObject(const std::string& name, std::map<std::string, const ObjectType*>& container, const ObjectType * obj)
00269 {
00270   if ( obj )
00271   {
00272     if ( container.find( name ) != container.end() )
00273     {
00274       container[name]->removeRef();
00275     }
00276     obj->addRef();
00277     container[name] = obj;
00278   }
00279 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NVSGSaver.h Source File

NVSGSaver.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include  "nvsg/nvsgapi.h"
00015 #include  "nvtraverser/Traverser.h"
00016 #include  "nvsg/AnimatedQuads.h"
00017 #include  "nvsg/PlugInterface.h"
00018 #include  "nvsg/StateAttribute.h"
00019 #include  <set>
00020
00021
00022 //  Don't need to document the API specifier
00023 #if ! defined( DOXYGEN_IGNORE )
00024 #ifdef NVSGSAVER_EXPORTS
00025 #define NVSGSAVER_API __declspec(dllexport)
00026 #else
00027 #define NVSGSAVER_API __declspec(dllimport)
00028 #endif
00029 #endif  //  DOXYGEN_IGNORE
00030
00032
00037 NVSGSAVER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00038
00040
00046 NVSGSAVER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00047
00049 class NVSGSaveTraverser : public nvtraverser::Traverser
00050 {
00051   public:
00053     NVSGSaveTraverser();
00054
00056     void  setFILE(
00057       FILE *fh
00058     );
00059
00060   protected:
00062
00063     void doApply(
00064       const nvsg::ViewState *pViewState
00065     , const nvsg::Scene *pScene
00066     );
00067
00068     // overloads to process concrete types for saving
00069     // ...Cameras
00071
00074     virtual void handleJitterCamera(const nvsg::JitterCamera *p, const nvsg::Node *root);
00075
00077
00079     virtual void handleParallelCamera(const nvsg::ParallelCamera *p, const nvsg::Node *root);
00080
00082
00084     virtual void handlePerspectiveCamera(const nvsg::PerspectiveCamera *p, const nvsg::Node *root);
00085
00087
00090     virtual void handleStereoCamera(const nvsg::StereoCamera *p, const nvsg::Node *root);
00091
00092     // ...Nodes
00094
00095     virtual void handleGeoNode(const nvsg::GeoNode *p);
00096
00098
00099     virtual void handleGroup( const nvsg::Group *p );
00100
00102
00103     virtual void handleTransform(const nvsg::Transform *p);
00104
00106
00108     virtual void handleAnimatedTransform(const nvsg::AnimatedTransform *p);
00109
00111
00113     virtual void handleLOD(const nvsg::LOD *p);
00114
00116
00118     virtual void handleSwitch(const nvsg::Switch *p);
00119
00121
00123     virtual void handleDirectedLight(const nvsg::DirectedLight *p);
00124
00126
00128     virtual void handlePointLight(const nvsg::PointLight *p);
00129
00131
00133     virtual void handleSpotLight(const nvsg::SpotLight *p);
00134
00135     // ...StateSet
00137
00139     virtual void handleStateSet(const nvsg::StateSet *p);
00140
00141     // ...StateAttribs
00143
00144     virtual void handleCgFx(const nvsg::CgFx *p);
00145
00147
00148     virtual void handleFaceAttribute(const nvsg::FaceAttribute *p);
00149
00151
00152     virtual void handleMaterial(const nvsg::Material *p);
00153
00155
00156     virtual void handleTextureAttribute(const nvsg::TextureAttribute *p);
00157
00159
00160     virtual void handleTextureAttributeItem(const nvsg::TextureAttributeItem * p, size_t tu);
00161
00162     // ...GeoSets
00164
00165     virtual void handleTriangles(const nvsg::Triangles *p);
00166
00168
00170     virtual void handleAnimatedTriangles(const nvsg::AnimatedTriangles *p);
00171
00173
00175     virtual void handleSkinnedTriangles(const nvsg::SkinnedTriangles *p);
00176
00178
00179     virtual void handleTriStrips(const nvsg::TriStrips *p);
00180
00182
00183     virtual void handleQuads(const nvsg::Quads *p);
00184
00186
00188     virtual void handleAnimatedQuads(const nvsg::AnimatedQuads *p);
00189
00191
00192     virtual void handleQuadStrips(const nvsg::QuadStrips *p);
00193
00194     // ... Animations
00196
00197     virtual void handleFramedTrafoAnimation(const nvsg::FramedAnimation<nvmath::Trafo> *p);
00198
00200
00201     virtual void handleFramedVNVectorAnimation(const nvsg::FramedAnimation<nvsg::VNVector> *p);
00202
00204
00205     virtual void handleLinearInterpolatedTrafoAnimation(const nvsg::LinearInterpolatedAnimation<nvmath::Trafo> *p);
00206
00208
00209     virtual void handleLinearInterpolatedVNVectorAnimation(const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> *p);
00210
00211 private:
00212     const   std::string  getName( const std::string &name );
00213     void    geoset( const nvsg::GeoSet *p, bool doVerticesAndNormals );
00214     std::string  getObjectName( const nvsg::Object *p, std::string namePrefix, int &counter );
00215     void    groupData( const nvsg::Group *p );
00216     void    initUnnamedCounters( void );
00217     bool    isFirstTime( const nvutil::RCObject *p );
00218     void    lightSourceData( const nvsg::LightSource *p );
00219     void    nodeData( const nvsg::Node *p );
00220     void    quads( const nvsg::Quads *p, bool doVerticesAndNormals );
00221     void    simpleCameraData( const nvsg::SimpleCamera *p );
00222     void    triangles( const nvsg::Triangles *p, bool doVerticesAndNormals );
00223
00224   private:
00225     FILE * m_fh;
00226
00227     std::set<const nvutil::RCObject *>             m_sharedRCObjects;
00228     std::map<nvsg::DataID, std::string>               m_sharedData;
00229     std::vector<std::pair<std::string,std::string> >      m_geometryNames;
00230     std::vector<const nvsg::StateAttribute *>    m_attributes;
00231     std::vector<const nvsg::TextureAttributeItem*> m_texAttribItems;
00232     const nvsg::StateSet *                  m_currentStateSet;
00233     int                               m_unnamedAnimatedQuadsCounter;
00234     int                               m_unnamedAnimatedTransformCounter;
00235     int                               m_unnamedAnimatedTrianglesCounter;
00236     int                               m_unnamedCgFxCounter;
00237     int                               m_unnamedDirectedLightCounter;
00238     int                               m_unnamedFaceAttributeCounter;
00239     int                               m_unnamedFramedTrafoAnimationCounter;
00240     int                               m_unnamedFramedVNVectorAnimationCounter;
00241     int                               m_unnamedGeoNodeCounter;
00242     int                               m_unnamedGroupCounter;
00243     int                               m_unnamedJitterCameraCounter;
00244     int                               m_unnamedLinearInterpolatedTrafoAnimation;
00245     int                               m_unnamedLinearInterpolatedVNVectorAnimationCounter;
00246     int                               m_unnamedLODCounter;
00247     int                               m_unnamedMaterialCounter;
00248     int                               m_unnamedParallelCameraCounter;
00249     int                               m_unnamedPerspectiveCameraCounter;
00250     int                               m_unnamedPointLightCounter;
00251     int                               m_unnamedQuadsCounter;
00252     int                               m_unnamedQuadStripsCounter;
00253     int                               m_unnamedSkinnedTrianglesCounter;
00254     int                               m_unnamedSpotLightCounter;
00255     int                               m_unnamedStateSetCounter;
00256     int                               m_unnamedStereoCameraCounter;
00257     int                               m_unnamedSwitchCounter;
00258     int                               m_unnamedTextureAttributeCounter;
00259     int                               m_unnamedTextureAttributeItemCounter;
00260     int                               m_unnamedTransformCounter;
00261     int                               m_unnamedTrianglesCounter;
00262     int                               m_unnamedTriStripsCounter;
00263     std::map<const nvsg::Object *, std::string>       m_objectNames;
00264 };
00265
00267
00269 class NVSGSaver : public nvsg::SceneSaver
00270 {
00271   public :
00273
00274     void  deleteThis( void );
00275
00277
00278     bool  save( const nvsg::Scene &scene
00279               , const nvsg::ViewState *viewState
00280               , const std::string& filename
00281               );
00282
00283   private :
00284     NVSGSaveTraverser m_traverser;
00285 };
00286
00287 inline void NVSGSaver::deleteThis( void )
00288 {
00289   delete this;
00290 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


NVSGVersion.h Source File

NVSGVersion.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #if !defined( DOXYGEN_IGNORE )    //  no need to document the version header
00016 //---------------------------------------------------------------------------
00017 // Version Number
00018 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00019 // - This is the ONLY place to edit the version number.
00020 // - There must be no unnecessary leading zeros in the numbers.
00021 //   (e.g.: don't use '02' - use '2' instead)
00022 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00023 // The build group should read this before they start
00024 // compiling the solution and set the environment variable
00025 // NVSGVERSIONTAG regarding this value. The version tag is the major version number.
00026 // NVSGVERSIONTAG=0
00027 #define NVSG_VER_MARKETING   1
00028 #define NVSG_VER_MAJOR       0
00029 #define NVSG_VER_MINOR      11
00030 #define NVSG_VER_BUGFIX      4
00031
00032 //#define ALPHA
00033 #ifdef ALPHA
00034   #define _ALPHAREL     " 0.0"
00035 #endif
00036
00037 #ifdef LINUX
00038   #define BETA
00039 #elif defined _WIN64
00040   #define BETA
00041 #elif defined _WIN32
00042   //#define BETA
00043 #endif
00044
00045 #ifdef BETA
00046   #define _BETA         " 1.9"
00047 #endif
00048
00049 // MaKe STRing helper macro
00050 #define MKSTR(s)    MKSTR_i(s)
00051 #define MKSTR_i(s)  MKSTR_ii(s)
00052 #define MKSTR_ii(s) #s
00053
00054 // conditionally add a leading zero to the single parts of the version string
00055 #if NVSG_VER_MARKETING < 10
00056 #define NVSG_VER_MARKETING_STR  "0" MKSTR(NVSG_VER_MARKETING)
00057 #else
00058 #define NVSG_VER_MARKETING_STR      MKSTR(NVSG_VER_MARKETING)
00059 #endif
00060 #if NVSG_VER_MAJOR < 10
00061 #define NVSG_VER_MAJOR_STR      "0" MKSTR(NVSG_VER_MAJOR)
00062 #else
00063 #define NVSG_VER_MAJOR_STR          MKSTR(NVSG_VER_MAJOR)
00064 #endif
00065 #if NVSG_VER_MINOR < 10
00066 #define NVSG_VER_MINOR_STR      "0" MKSTR(NVSG_VER_MINOR)
00067 #else
00068 #define NVSG_VER_MINOR_STR          MKSTR(NVSG_VER_MINOR)
00069 #endif
00070 #if NVSG_VER_BUGFIX < 10
00071 #define NVSG_VER_BUGFIX_STR     "0" MKSTR(NVSG_VER_BUGFIX)
00072 #else
00073 #define NVSG_VER_BUGFIX_STR         MKSTR(NVSG_VER_BUGFIX)
00074 #endif
00075
00076 #define SDK_VENDOR "NVIDIA"
00077 #define SDK_NAME   "NVSG"
00078
00079 // internal version string
00080 #define _VER_STR   NVSG_VER_MARKETING_STR "."\
00081                    NVSG_VER_MAJOR_STR "."\
00082                    NVSG_VER_MINOR_STR "."\
00083                    NVSG_VER_BUGFIX_STR
00084
00085 // no need to update these
00086 //
00087 #ifdef _ALPHAREL
00088   #ifdef _DEBUG
00089     #define VERSION_STR   _VER_STR " alpha" _ALPHAREL " (DEBUG)"
00090   #else  //DEBUG
00091     #define VERSION_STR   _VER_STR " alpha" _ALPHAREL
00092   #endif //DEBUG
00093 #else
00094   #ifdef _BETA
00095     #ifdef _DEBUG
00096       #define VERSION_STR   _VER_STR " beta (DEBUG)"
00097     #else  //DEBUG
00098       #define VERSION_STR   _VER_STR " beta"
00099     #endif //DEBUG
00100   #else  //BETA
00101     #ifdef _DEBUG
00102       #define VERSION_STR   _VER_STR " (DEBUG)"
00103     #else  //DEBUG
00104       #define VERSION_STR   _VER_STR
00105     #endif //DEBUG
00106   #endif //BETA
00107 #endif
00108
00109 #define COPYRIGHT  SDK_VENDOR" "SDK_NAME" Version "VERSION_STR"\n© Copyright 2005 NVIDIA Corporation\n";
00110
00111 #endif  //  DOXYGEN_IGNORE
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvsgwindefs.h Source File

nvsgwindefs.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011 #pragma once
00012
00013 /* This file contains the defines commonly used by NVSG before including Windows headers.
00014 */
00015
00016 #if defined(_WIN32)
00017 # define WIN32_LEAN_AND_MEAN    // Exclude rarely-used stuff from Windows headers
00018 //# define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
00019
00020 # ifndef VC_EXTRALEAN
00021 #  define VC_EXTRALEAN    // Exclude rarely-used stuff from Windows headers
00022 # endif
00023
00024 // Modify the following defines if you have to target a platform prior to the ones specified below.
00025 // Refer to MSDN for the latest info on corresponding values for different platforms.
00026 # ifndef WINVER       // Allow use of features specific to Windows 95 and Windows NT 4 or later.
00027 #  define WINVER 0x0500   // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
00028 # endif
00029
00030 # ifndef _WIN32_WINNT   // Allow use of features specific to Windows NT 4 or later.
00031 #  define _WIN32_WINNT 0x0500   // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
00032 # endif
00033
00034 # ifndef _WIN32_WINDOWS   // Allow use of features specific to Windows 98 or later.
00035 #  define _WIN32_WINDOWS 0x0500 // Change this to the appropriate value to target Windows Me or later.
00036 # endif
00037
00038 # ifndef _WIN32_IE      // Allow use of features specific to IE 4.0 or later.
00039 #  define _WIN32_IE 0x0600  // Change this to the appropriate value to target IE 5.0 or later.
00040 # endif
00041
00042 #endif // windows
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvtraverser.h Source File

nvtraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015
00016
00020 namespace nvtraverser
00021 {
00022
00023 }
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvui.h Source File

nvui.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00018
00023 namespace nvui
00024 {
00025
00026 }
00027
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


nvutil.h Source File

nvutil.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00016 // Note: C Runtime extensions as they are available on Windows,
00017 // are intentionally defined outside of any namespaces.
00018 #if defined(LINUX)
00019 # define stricmp _stricmp
00020
00021 int _stricmp(
00022    const char *string1,
00023    const char *string2
00024  );
00025
00026 #endif
00027
00028 #if defined(_WIN32)
00029 # define chdir _chdir
00030 # define getcwd _getcwd
00031 # define vsnprintf _vsnprintf
00032 #endif
00033
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


Object.h Source File

Object.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvutil/RCObject.h"
00018 #include  "nvutil/SWMRSync.h"
00019 #include  "nvsg/DAL.h"
00020 #include  <typeinfo> // using typeid requires this
00021
00022 namespace nvsg
00023 {
00025
00026   typedef unsigned long long DataID;
00027
00029
00038   enum
00039   {
00040     OC_INVALID = 0xFFFFFFFF
00041   , OC_OBJECT = 0
00042   // nodes (0x00-0x1F)
00043   , OC_NODE = OC_OBJECT
00044   , OC_GEONODE
00045   , OC_GROUP
00046   , OC_LOD
00047   , OC_SWITCH
00048   , OC_TRANSFORM
00049   , OC_ANIMATEDTRANSFORM
00050   , OC_DIRECTEDLIGHT
00051   , OC_POINTLIGHT
00052   , OC_SPOTLIGHT
00053   // drawables (0x20-0x3F)
00054   , OC_DRAWABLES = 0x20
00055   , OC_GEOSET
00056   , OC_QUADS
00057   , OC_ANIMATEDQUADS
00058   , OC_QUADSTRIPS
00059   , OC_TRIANGLES
00060   , OC_ANIMATEDTRIANGLES
00061   , OC_SKINNEDTRIANGLES
00062   , OC_TRISTRIPS
00063   // states (0x40-0x5F)
00064   , OC_STATESET = 0x40
00065   , OC_STATEATTRIBUTE
00066   , OC_CGFX
00067   , OC_FACEATTRIBUTE
00068   , OC_MATERIAL
00069   , OC_TEXTUREATTRIBUTE
00070   , OC_TEXTUREATTRIBUTEITEM
00071   // animations (0x60-0x7F)
00072   , OC_ANIMATION = 0x60
00073   , OC_FRAMEDTRAFOANIMATION
00074   , OC_FRAMEDVNVECTORANIMATION
00075   , OC_LINEARINTERPOLATEDTRAFOANIMATION
00076   , OC_LINEARINTERPOLATEDVNVECTORANIMATION
00077   // cameras (0x80-0x9F)
00078   , OC_CAMERA = 0x80
00079   , OC_JITTERCAMERA
00080   , OC_PARALLELCAMERA
00081   , OC_PERSPECTIVECAMERA
00082   , OC_STEREOCAMERA
00083   // highlight objects (0xA0-0xBF)
00084   , OC_HIGHLIGHTOBJECT = 0xA0
00085   , OC_HIGHLIGHTBOX
00086   , OC_HIGHLIGHTEDGES
00087   // custom (0xC0 and higher)
00088   , OC_CUSTOMOBJECT = 0xC0
00089   };
00090
00092
00093   class Object : public nvutil::RCObject
00094                , public nvutil::ISWMRSync
00095                , public DALHost // an object can host a DAL
00096   {
00097   public:
00099
00100     unsigned int getObjectCode() const;
00101
00103
00105     NVSG_API virtual bool isDataShared( void ) const;
00106
00108
00110     NVSG_API virtual DataID getDataID( void ) const;
00111
00113     NVSG_API void setName( const std::string& name
00114                           );
00115
00117
00118     NVSG_API const std::string& getName( void ) const;
00119
00121
00128     NVSG_API bool waitToRead( size_t milliseconds = 0xFFFFFFFF   //<! Time-out interval, in milliseconds.
00129                             ) const;
00130
00132
00134     NVSG_API void doneReading( void ) const;
00135
00137
00144     NVSG_API bool waitToWrite( size_t milliseconds = 0xFFFFFFFF
00145                              ) const;
00146
00148
00150     NVSG_API void doneWriting( void ) const;
00151
00152   protected:
00154     NVSG_API Object( void );
00155
00157     NVSG_API Object( const Object& rhs );
00158
00160     NVSG_API virtual ~Object();
00161
00162     unsigned int      m_objectCode;
00163                                     // accessible for derived classes
00164
00165   private:
00166     std::string       m_name;
00167     nvutil::SWMRSync  m_lock;
00168   };
00169
00170   inline unsigned int Object::getObjectCode() const
00171   {
00172     __TRACE();
00173     return m_objectCode;
00174   }
00175
00176   inline void Object::setName( const std::string& name )
00177   {
00178     __TRACE();
00179     m_name = name;
00180   }
00181
00182   inline const std::string& Object::getName() const
00183   {
00184     __TRACE();
00185     return( m_name );
00186   }
00187
00188   inline bool Object::waitToRead( size_t milliseconds ) const
00189   {
00190     __TRACE();
00191     size_t status;
00192     return m_lock.waitToRead(milliseconds, status);
00193   }
00194
00195   inline void Object::doneReading( void ) const
00196   {
00197     __TRACE();
00198     m_lock.doneReading();
00199   }
00200
00201   inline bool Object::waitToWrite( size_t milliseconds ) const
00202   {
00203     __TRACE();
00204     size_t status;
00205     return m_lock.waitToWrite(milliseconds, status);
00206   }
00207
00208   inline void Object::doneWriting( void ) const
00209   {
00210     __TRACE();
00211     m_lock.doneWriting();
00212   }
00213
00232   template<typename T>
00233   inline T * beginEdit( const T * obj
00234                       )
00235   {
00236     __TRACE();
00237     __ASSERT(obj); // undefined behavior if this fires
00238     obj->waitToWrite();
00239     return const_cast<T *>(obj);
00240   }
00241
00259   template<typename T>
00260   inline const T * endEdit(T *& obj
00261                           )
00262   {
00263     __TRACE();
00264     __ASSERT(obj); // undefined behavior if this fires
00265     const T* cobj = obj;
00266     cobj->doneWriting();
00267     obj = NULL; // force undefined behavior if accessed after endEdit
00268     return( cobj );
00269   }
00270
00271   // this specialization detects wrong usage of endEdit at compile time
00272   template<typename T>
00273   inline const T * endEdit(const T *& obj)
00274   { // !!! must not call endEdit with a 'pointer to const' !!!
00275
00276     // generate a compiler error
00277     Object * p=obj;
00278   }
00279
00281
00282   template<typename T>
00283   inline bool isTypeOf( const Object *p )
00284   {
00285     return( dynamic_cast<const T *>( p ) != NULL );
00286   }
00287
00289
00290   inline bool areOfSameType( const Object &p0, const Object &p1 )
00291   {
00292     return( !! ( typeid( p0 ) == typeid( p1 ) ) );
00293   }
00294
00295 } //  namespace nvsg
Generated on Fri Jan 28 09:17:49 2005 for NVSGSDK by NVIDIA


OcclusionCullGLTraverser.h Source File

OcclusionCullGLTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvtraverser/GLTraverser.h"
00018
00019 namespace nvtraverser
00020 {
00022
00024   class OcclusionCullGLTraverser : public GLTraverser
00025   {
00026     public:
00028       NVSG_API OcclusionCullGLTraverser(void);
00029
00030       NVSG_API std::vector<GLuint> * getQueries( void );
00031 #if defined( _DEBUG )
00032       NVSG_API std::vector<const nvsg::Drawable *> * getDrawables( void );
00033 #endif
00034
00035     protected:
00037       NVSG_API virtual ~OcclusionCullGLTraverser(void);
00038
00039       NVSG_API virtual bool preTraverseRoot( const nvsg::SimpleCamera *p, const nvsg::Node *root );
00040       NVSG_API virtual void postTraverseRoot( const nvsg::SimpleCamera *p, const nvsg::Node *root );
00041
00042       NVSG_API virtual void handleDirectedLight( const nvsg::DirectedLight *p);
00043       NVSG_API virtual void handlePointLight( const nvsg::PointLight *p );
00044       NVSG_API virtual void handleSpotLight( const nvsg::SpotLight *p );
00045
00046       NVSG_API virtual void handleQuads( const nvsg::Quads *p );
00047       NVSG_API virtual void handleAnimatedQuads( const nvsg::AnimatedQuads * p );
00048       NVSG_API virtual void handleQuadStrips( const nvsg::QuadStrips *p );
00049       NVSG_API virtual void handleTriangles( const nvsg::Triangles *p );
00050       NVSG_API virtual void handleAnimatedTriangles( const nvsg::AnimatedTriangles * p );
00051       NVSG_API virtual void handleSkinnedTriangles( const nvsg::SkinnedTriangles * p );
00052       NVSG_API virtual void handleTriStrips( const nvsg::TriStrips *p );
00053
00054       NVSG_API virtual void handleStateSet( const nvsg::StateSet *p );
00055       NVSG_API virtual void handleCgFx( const nvsg::CgFx *p );
00056       NVSG_API virtual void handleFaceAttribute( const nvsg::FaceAttribute *p );
00057       NVSG_API virtual void handleMaterial( const nvsg::Material *p );
00058       NVSG_API virtual void handleTextureAttribute( const nvsg::TextureAttribute *p );
00059       NVSG_API virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem * p, size_t tu );
00060
00061       NVSG_API virtual void handleJitterCamera( const nvsg::JitterCamera *p, const nvsg::Node *root );
00062       NVSG_API virtual void handleStereoCamera( const nvsg::StereoCamera *p, const nvsg::Node *root );
00063
00064       NVSG_API virtual void handleHighlightBox( const nvsg::HighlightBox *p, const nvsg::GeoSet *g );
00065       NVSG_API virtual void handleHighlightEdges( const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet );
00066
00067     private:
00068       GLuint genQueryId( const nvsg::Drawable *p );
00069
00070     private:
00071       std::vector<GLuint>  m_queries;
00072 #if defined( _DEBUG )
00073       std::vector<const nvsg::Drawable *> m_drawables;
00074 #endif
00075   };
00076
00077   inline std::vector<GLuint> * OcclusionCullGLTraverser::getQueries( void )
00078   {
00079     return( &m_queries );
00080   }
00081
00082 #if defined( _DEBUG )
00083   inline std::vector<const nvsg::Drawable *> * OcclusionCullGLTraverser::getDrawables( void )
00084   {
00085     return( &m_drawables );
00086   }
00087 #endif
00088 }
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


OcclusionCullTraverser.h Source File

OcclusionCullTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvtraverser/CullTraverser.h"
00018 #include "nvtraverser/OcclusionCullGLTraverser.h"
00019
00020 namespace nvtraverser
00021 {
00023
00026   class OcclusionCullTraverser : public CullTraverser
00027   {
00028     public:
00030       NVSG_API OcclusionCullTraverser(void);
00031
00032       // We need this for the contained OcclusionCullGLTraverser
00033       //
00035       //** \return The currently used geometry caching technique. */
00036       NVSG_API RenderTraverser::GeometryCacheTechnique getGeometryCacheTechnique( void ) const;
00038
00039       NVSG_API bool isGeometryCacheTechniqueSupported( RenderTraverser::GeometryCacheTechnique gct
00040                                                      ) const;
00042
00043       NVSG_API bool setGeometryCacheTechnique( RenderTraverser::GeometryCacheTechnique gct
00044                                              );
00045     protected:
00047       NVSG_API virtual ~OcclusionCullTraverser(void);
00048
00049       // doApply override
00050       NVSG_API virtual void doApply( const nvsg::ViewState *pViewState, const nvsg::Scene *pScene );
00051
00052       //  Reimplemented from CullTraverser
00053       NVSG_API virtual nvsg::CullCode cullCode( const nvsg::Drawable *p ) const;
00054       NVSG_API virtual nvsg::CullCode cullCode( const nvsg::Node *p ) const;
00055
00056     private:
00057       OcclusionCullGLTraverser  * m_glTraverser;
00058       mutable size_t              m_index;
00059       std::vector<GLuint>       * m_queries;
00060 #if defined( _DEBUG )
00061       std::vector<const nvsg::Drawable *> * m_drawables;
00062 #endif
00063   };
00064
00065   inline RenderTraverser::GeometryCacheTechnique OcclusionCullTraverser::getGeometryCacheTechnique() const
00066   {
00067     __ASSERT( m_glTraverser );
00068     return m_glTraverser->getGeometryCacheTechnique();
00069   }
00070
00071   inline bool OcclusionCullTraverser::isGeometryCacheTechniqueSupported(RenderTraverser::GeometryCacheTechnique gct) const
00072   {
00073     __ASSERT( m_glTraverser );
00074     return m_glTraverser->isGeometryCacheTechniqueSupported(gct);
00075   }
00076
00077   inline bool OcclusionCullTraverser::setGeometryCacheTechnique(RenderTraverser::GeometryCacheTechnique gct)
00078   {
00079     __ASSERT( m_glTraverser );
00080     return m_glTraverser->setGeometryCacheTechnique(gct);
00081   }
00082
00083 }
00084
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


ParallelCamera.h Source File

ParallelCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/SimpleCamera.h"
00018
00019 namespace nvsg
00020 {
00022
00023   class ParallelCamera : public SimpleCamera
00024   {
00025     public:
00027
00028       NVSG_API static const ParallelCamera * create( void );
00029
00031
00032       NVSG_API static const ParallelCamera * createFromBase( const SimpleCamera &rhs
00033                                                            );
00034
00036
00037       NVSG_API virtual const ParallelCamera * clone( void ) const;
00038
00040
00042       NVSG_API virtual nvmath::Mat44f getProjection() const;
00043
00045
00047       NVSG_API virtual nvmath::Mat44f getInverseProjection()  const;
00048
00049     protected:
00051       NVSG_API ParallelCamera();
00052
00054       NVSG_API ParallelCamera( const SimpleCamera &rhs );
00055
00057       NVSG_API ParallelCamera( const ParallelCamera &rhs );
00058
00060       NVSG_API virtual ~ParallelCamera(void);
00061   };
00062 } // namespace
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


Path.h Source File

Path.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Node.h"
00018
00019 namespace nvsg
00020 {
00022
00025   class Path : public nvutil::RCObject
00026   {
00027     public:
00029       NVSG_API Path( void );
00030
00032       NVSG_API Path( const Path& rhs );
00033
00035
00036       NVSG_API unsigned int getLength( void ) const;
00037
00039
00041       NVSG_API bool isEmpty( void ) const;
00042
00044
00045       NVSG_API const Node * getHead( void ) const;
00046
00048
00049       NVSG_API const Node * getTail( void ) const;
00050
00052
00054       NVSG_API const Node * getNodeFromHead( size_t i
00055                                            ) const;
00056
00058
00060       NVSG_API const Node * getNodeFromTail( size_t i
00061                                            ) const;
00062
00064       NVSG_API void pop( void );
00065
00067
00068       NVSG_API void push( const Node * pNode
00069                         );
00070
00072
00073       NVSG_API void truncate( size_t start
00074                             );
00075
00076     protected:
00078       NVSG_API virtual ~Path(void);
00079
00080     private:
00081       std::vector<const Node *> m_path;
00082   };
00083
00084   // - - - - - - - - - - - - - - - - - - -
00085   // inlines
00086   // - - - - - - - - - - - - - - - - - - -
00087
00089   inline const Node * Path::getHead( void ) const
00090   {
00091     __TRACE();
00092     return( m_path.empty() ? NULL : m_path.front() );
00093   }
00094
00096   inline const Node * Path::getTail( void ) const
00097   {
00098     __TRACE();
00099     return( m_path.empty() ? NULL : m_path.back() );
00100   }
00101
00103   inline const Node * Path::getNodeFromHead( size_t i ) const
00104   {
00105     __TRACE();
00106     __ASSERT(0 <= i && i < m_path.size());
00107     return( m_path[i] );
00108   }
00109
00111   inline const Node * Path::getNodeFromTail( size_t i ) const
00112   {
00113     __TRACE();
00114     __ASSERT(0 <= i && i < m_path.size());
00115     return( m_path[m_path.size() - i-1] );
00116   }
00117
00118   inline unsigned int Path::getLength( void ) const
00119   {
00120     __TRACE();
00121     return (unsigned int) m_path.size();
00122   }
00123
00124   inline void Path::pop( void )
00125   {
00126     __TRACE();
00127     __ASSERT(getLength() > 0);
00128     m_path.back()->removeRef();
00129     m_path.pop_back();
00130   }
00131
00132   inline bool Path::isEmpty( void ) const
00133   {
00134     __TRACE();
00135     return m_path.empty();
00136   }
00137 } //  namspace nvsg
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


PBuffer.h Source File

PBuffer.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  <vector>
00016 #include  "nvgl/nvgl.h"
00017
00018 // No need to document this internal helper class
00019 #if ! defined( DOXYGEN_IGNORE )
00020
00021 namespace nvgl
00022 {
00023   //Helper class for managing pbuffers.
00024   class PBuffer
00025   {
00026     public:
00027       // Constructor
00028       // Chooses a pixel format according to the arguments and assembles an attribute list for creating a
00029       // pbuffer. After construction, the pbuffer is not yet valid; a pbuffer is created on \c resize().
00030       PBuffer( int bitsPerChannel, bool alpha, int depth, bool isFloat );
00031       ~PBuffer();
00032
00033     public:
00034       // Clear all resources of this pbuffer.
00035       // After this function, the pbuffer is no longer valid.
00036       void  clear();
00037
00038       // Get the depth texture of the pbuffer.
00039       // If the pbuffer has a depth, a depth texture is created.
00040       // returns  depth texture id
00041       GLuint getDepthTexture() const;
00042
00043 #if defined(_WIN32)
00044       // Gets the HDC of the pbuffer.
00045       // returns  HDC of the pbuffer
00046       HDC getHDC() const;
00047
00048       // Get the HGLRC of the pbuffer.
00049       // returns HGLRC of the pbuffer
00050       HGLRC getHGLRC() const;
00051
00052       // Get the handle of the pbuffer.
00053       // returns  handle of the pbuffer
00054       HPBUFFERARB getPBuffer() const;
00055 #elif defined(LINUX)
00056       // Gets the HDC of the pbuffer.
00057       // returns  HDC of the pbuffer
00058       Drawable getHDC() const;
00059
00060       // Gets the HGLRC of the pbuffer.
00061       // returns HGLRC of the pbuffer
00062       GLXContext getHGLRC() const;
00063
00064       // Get the handle of the pbuffer.
00065       // returns  handle of the pbuffer
00066       GLXPbuffer getPBuffer() const;
00067 #endif
00068
00069       // Get the height of the pbuffer.
00070       // returns  height of the pbuffer
00071       int getHeight() const;
00072
00073       // Get the texture of the pbuffer.
00074       // Every pbuffer has a texture bound to the color buffer of the pbuffer.
00075       // returns  texture id
00076       GLuint getTexture() const;
00077
00078       // Get the width of the pbuffer.
00079       // returns  width of the pbuffer
00080       int getWidth() const;
00081
00082       // Resize the pbuffer.
00083       // On resize, the current pbuffer is cleared and is completely initialized.
00084       // The pbuffer then shares the lists with the current OpenGL context.
00085       // After resizing the OpenGL context of the pbuffer is current. If the pbuffer
00086       // has a depth, a depth texture is also created. The viewport and the projection
00087       // and modelview matrix are initialized to orthographic projection and identity,
00088       // respectively.
00089       // returns \c true if the resize operation completed successfully, \c false otherwise.
00090       bool resize( int width, int height);
00091
00092     private:
00093       std::vector<int>  m_attribList;
00094       int               m_depth;
00095       GLuint            m_depthTexture;
00096       int               m_format;
00097       int               m_height;
00098 #if defined(_WIN32)
00099       HDC               m_HDC;
00100       HGLRC             m_HGLRC;
00101       HPBUFFERARB       m_pBuffer;
00102 #elif defined(LINUX)
00103       Drawable          m_HDC;
00104       GLXContext        m_HGLRC;
00105       GLXPbuffer        m_pBuffer;
00106 #endif
00107       GLuint            m_texture;
00108       int               m_width;
00109   };
00110
00111 } //  namespace nvgl
00112
00113 #endif //DOXYGEN_IGNORE
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


PerspectiveCamera.h Source File

PerspectiveCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/SimpleCamera.h"
00018
00019 namespace nvsg
00020 {
00022
00023   class PerspectiveCamera : public SimpleCamera
00024   {
00025     public:
00027
00028       NVSG_API static const PerspectiveCamera * create( void );
00029
00031
00032       NVSG_API static const PerspectiveCamera * createFromBase( const SimpleCamera &rhs
00033                                                               );
00034
00036
00037       NVSG_API virtual const PerspectiveCamera * clone( void ) const;
00038
00040
00043       NVSG_API float getFieldOfView()  const;
00044
00046
00047       NVSG_API void setFieldOfView( float fov
00048                                   );
00049
00051
00053       NVSG_API virtual void setTargetDistance( float td
00054                                              );
00055
00057
00058       NVSG_API virtual nvmath::Mat44f getProjection() const;
00059
00061
00062       NVSG_API virtual nvmath::Mat44f getInverseProjection() const;
00063
00064     protected:
00066       NVSG_API PerspectiveCamera();
00067
00069       NVSG_API PerspectiveCamera( const SimpleCamera &rhs );
00070
00072       NVSG_API PerspectiveCamera( const PerspectiveCamera &rhs );
00073
00075       NVSG_API virtual ~PerspectiveCamera(void);
00076   };
00077
00078   inline float PerspectiveCamera::getFieldOfView() const
00079   {
00080     __TRACE();
00081     return( 2.0f * atanf( 0.5f * getWindowSize()[1] / getTargetDistance() ) );
00082   }
00083 } // namespace
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


Plane3f.h Source File

Plane3f.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/nvmath.h"
00018 #include "nvmath/Vec3f.h"
00019
00020 namespace nvmath
00021 {
00023   class Plane3f
00024   {
00025     public:
00027
00028       NVSG_API Plane3f( void );
00029
00031       NVSG_API Plane3f( const Vec3f &n
00032                       , float c
00033                       );
00034
00036       NVSG_API Plane3f( const Vec3f &n
00037                       , const Vec3f &p
00038                       );
00039
00041       NVSG_API Plane3f( const Vec3f &p0
00042                       , const Vec3f &p1
00043                       , const Vec3f &p2
00044                       );
00045
00047
00048       NVSG_API Plane3f operator-( void ) const;
00049
00051
00052       NVSG_API Plane3f & operator=( const Plane3f &pl
00053                                   );
00054
00056
00057       NVSG_API bool operator==( const Plane3f& pl
00058                               ) const;
00059
00061
00062       NVSG_API bool operator!=( const Plane3f& pl
00063                               ) const;
00064
00066
00067       NVSG_API float operator()( const Vec3f &p
00068                                ) const;
00069
00071
00072       NVSG_API Vec3f & n( void );
00073
00075
00076       NVSG_API const Vec3f & n( void ) const;
00077
00079
00080       NVSG_API float & c( void );
00081
00083
00084       NVSG_API const float & c( void ) const;
00085
00086     private:
00087       Vec3f m_normal;
00088       float m_offset;
00089   };
00090
00091   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00092   // non-member functions
00093   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00097   inline bool areOnOppositeSides( const Plane3f &plane
00098                                 , const Vec3f &p0
00099                                 , const Vec3f &p1
00100                                 )
00101   {
00102     return( plane( p0 ) * plane( p1 ) < 0 );
00103   }
00104
00108   inline bool areOnSameSide( const Plane3f &plane
00109                            , const Vec3f &p0
00110                            , const Vec3f &p1
00111                            )
00112   {
00113     return( plane( p0 ) * plane( p1 ) > 0 );
00114   }
00115
00119   inline float signedDistance( const Plane3f &pl
00120                              , const Vec3f &p
00121                              )
00122   {
00123     return( pl( p ) );
00124   }
00125
00129   inline float distance( const Plane3f &pl
00130                        , const Vec3f &p
00131                        )
00132   {
00133     return( fabsf( pl( p ) ) );
00134   }
00135
00139   inline Vec3f nearestPoint( const Plane3f &pl
00140                            , const Vec3f &p
00141                            )
00142   {
00143     return( p - pl( p ) * pl.n() );
00144   }
00145
00146   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00147   // inlines
00148   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00149   inline Plane3f::Plane3f( void )
00150   {
00151   }
00152
00153   inline Plane3f::Plane3f( const Vec3f &n, float c )
00154     : m_normal(n)
00155     , m_offset(c)
00156   {
00157     __ASSERT( isNormalized( m_normal ) );
00158   }
00159
00160   inline Plane3f::Plane3f( const Vec3f &n, const Vec3f &p )
00161     : m_normal(n)
00162     , m_offset(-p*n)
00163   {
00164     __ASSERT( isNormalized( m_normal ) );
00165   }
00166
00167   inline Plane3f::Plane3f( const Vec3f &p0, const Vec3f &p1, const Vec3f &p2 )
00168   {
00169     __ASSERT( ( p0 != p1 ) && ( p0 != p2 ) && ( p1 != p2 ) );
00170     m_normal = normalize( ( p1 - p0 ) ^ ( p2 - p0 ) );
00171     m_offset = - m_normal * p0;
00172   }
00173
00174   inline Plane3f Plane3f::operator-( void ) const
00175   {
00176     return( Plane3f( -m_normal, -m_offset ) );
00177   }
00178
00179   inline Plane3f & Plane3f::operator=( const Plane3f &pl )
00180   {
00181     m_normal = pl.n();
00182     m_offset = pl.c();
00183     return( *this );
00184   }
00185
00186   inline bool Plane3f::operator==( const Plane3f &pl ) const
00187   {
00188     return( m_normal == pl.n() && ( fabsf( m_offset - pl.c() ) < FLT_EPSILON ) );
00189   }
00190
00191   inline bool Plane3f::operator!=( const Plane3f &pl ) const
00192   {
00193     return( ! (this->operator==( pl )) );
00194   }
00195
00196   inline Vec3f & Plane3f::n( void )
00197   {
00198     return( m_normal );
00199   }
00200
00201   inline const Vec3f & Plane3f::n( void ) const
00202   {
00203     return( m_normal );
00204   }
00205
00206   inline float & Plane3f::c( void )
00207   {
00208     return( m_offset );
00209   }
00210
00211   inline const float & Plane3f::c( void ) const
00212   {
00213     return( m_offset );
00214   }
00215
00216 } // end namspace nvmath
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


PlugIn.h Source File

PlugIn.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <map>
00016
00017 #include "nvsgcommon.h"
00018
00019 #if defined(LINUX)
00020  #include <dlfcn.h>
00021 #endif
00022 #include "nvutil/PlugInCallback.h"
00023
00024 namespace nvutil {
00025
00026 #if defined(_WIN32)
00027 # define HLIB                 HMODULE
00028 # define MapLibrary(name)     LoadLibrary(name)
00029 # define UnMapLibrary         FreeLibrary
00030 # define GetFuncAddress       GetProcAddress
00031 # define LibExtStr            "*.dll"
00032 #elif defined(LINUX)
00033 # define HLIB                 void*
00034 # define MapLibrary(name)     dlopen(name, RTLD_LAZY)
00035 # define UnMapLibrary(handle) dlclose(handle)
00036 # define GetFuncAddress       dlsym
00037 # define LibExtStr            "*.so"
00038 #else
00039 # error Undefined Operating System!
00040 #endif
00041
00043
00050 class UPITID
00051 {
00052 public:
00054
00056   UPITID() {}
00058
00060   NVSG_API UPITID( unsigned short pit
00061                  , const char verStr[16]
00062                  );
00064
00066   NVSG_API UPITID(const UPITID& rhs);
00068
00072   friend bool operator<( const UPITID& lhs
00073                        , const UPITID& rhs
00074                        );
00076
00079   friend bool operator==( const UPITID& lhs
00080                         , const UPITID& rhs
00081                         );
00083
00086   friend bool operator!=( const UPITID& lhs
00087                         , const UPITID& rhs
00088                         );
00089
00090 private:
00091   unsigned short data0;      // plug interface type
00092   char           data1[16];  // version control
00093 };
00094
00096
00101 class UPIID // Unique Plug Interface ID
00102 {
00103 public:
00105
00107   UPIID() {};
00109
00112   NVSG_API UPIID( const char idstr[8]
00113                 , UPITID pitid
00114                 );
00116
00119   NVSG_API UPIID& operator=(const UPIID& rhs);
00120
00122
00134   const char * getPlugSpecificIDString() const;
00136
00140   const UPITID& getPlugInterfaceType()  const;
00141
00143
00147   friend bool operator<( const UPIID& lhs
00148                        , const UPIID& rhs
00149                        );
00151
00154   friend bool operator==( const UPIID& lhs
00155                         , const UPIID& rhs
00156                         );
00158
00161   friend bool operator!=( const UPIID& lhs
00162                         , const UPIID& rhs
00163                         );
00164
00165 private:
00166   char           data0[8];   // plug specific identifier string
00167   UPITID         data1;      // plug interface type
00168 };
00169
00170 inline const char * UPIID::getPlugSpecificIDString() const
00171 {
00172   return data0;
00173 }
00174
00175 inline const UPITID& UPIID::getPlugInterfaceType() const
00176 {
00177   return data1;
00178 }
00179
00180 // this 'less' operator is required when storing UPITIDs in STL maps
00181 inline bool operator<(const UPITID& lhs, const UPITID& rhs)
00182 {
00183   return (lhs.data0==rhs.data0) ? stricmp(lhs.data1, rhs.data1)<0 : lhs.data0<rhs.data0;
00184 }
00185
00186 // test if two UPITIDs are equal
00187 inline bool operator==(const UPITID& lhs, const UPITID& rhs)
00188 {
00189   return lhs.data0==rhs.data0 && !stricmp(lhs.data1, rhs.data1);
00190 }
00191
00192 // test if two UPITIDs are unequal
00193 inline bool operator!=(const UPITID& lhs, const UPITID& rhs)
00194 {
00195   return !(lhs==rhs);
00196 }
00197
00198 // this 'less' operator is required when storing UPIIDs in STL maps
00199 inline bool operator<(const UPIID& lhs, const UPIID& rhs)
00200 {
00201   return (lhs.data1==rhs.data1) ? stricmp(lhs.data0, rhs.data0)<0 : lhs.data1<rhs.data1;
00202 }
00203
00204 // test if two UPIIDs are equal
00205 inline bool operator==(const UPIID& lhs, const UPIID& rhs)
00206 {
00207   return !stricmp(lhs.data0, rhs.data0) && lhs.data1==rhs.data1;
00208 }
00209
00210 // test if two UPIIDs are unequal
00211 inline bool operator!=(const UPIID& lhs, const UPIID& rhs)
00212 {
00213   return !(lhs==rhs);
00214 }
00215
00216 // required forward declarations
00217 class PlugIn;
00218
00220 typedef bool (*PFNGETPLUGINTERFACE)(const UPIID& piid, PlugIn *& plugIn);
00222 typedef bool (*PFNQUERYPLUGINTERFACETYPE)(const UPITID& pitid, std::vector<UPIID>& piids);
00223
00225
00227 class PlugIn
00228 {
00230
00233   friend class PlugInServer;
00234
00235 public:
00236   PlugIn();
00237
00239
00240   void setCallback( PlugInCallback *cb
00241                   , bool throwExceptionOnError = true
00242                   );
00243
00244 protected:
00245   virtual ~PlugIn();
00247
00254   virtual void deleteThis(void) = 0;
00255
00257   const PlugInCallback * callback( void ) const;
00258
00259 private:
00260   PlugInCallback  * m_cb;
00261 };
00262
00263 inline  PlugIn::PlugIn()
00264 : m_cb(NULL)
00265 {
00266 }
00267
00268 inline  void  PlugIn::setCallback( PlugInCallback *cb, bool throwExceptionOnError )
00269 {
00270   if ( m_cb )
00271   {
00272     m_cb->removeRef();
00273   }
00274   m_cb = cb;
00275   if ( m_cb )
00276   {
00277     m_cb->addRef();
00278     m_cb->setThrowExceptionOnError( throwExceptionOnError );
00279   }
00280 }
00281
00282 inline  const PlugInCallback * PlugIn::callback( void ) const
00283 {
00284   return( m_cb );
00285 }
00286
00287 inline  PlugIn::~PlugIn()
00288 {
00289   if ( m_cb )
00290   {
00291     m_cb->removeRef();
00292   }
00293 }
00294
00296
00303 class PlugInServer
00304 {
00305 public:
00306
00308
00337   friend NVSG_API bool getInterface(
00338     const std::vector<std::string>& searchPath
00339   , const UPIID& piid
00340   , PlugIn *& plugIn
00341   );
00342
00344
00355   friend NVSG_API bool queryInterfaceType(
00356     const std::vector<std::string>& searchPath
00357   , const UPITID& pitid
00358   , std::vector<UPIID>& piids
00359   );
00360
00362
00364   friend NVSG_API void releaseInterface(
00365     const UPIID& piid
00366   );
00367
00369
00372   friend NVSG_API void setPlugInFileFilter(
00373     const std::string& filter
00374   );
00375
00376   PlugInServer();
00377   ~PlugInServer();
00378
00379 private:
00380   // hidden interface
00381   bool getInterfaceImpl(const std::vector<std::string>& searchPath, const UPIID& piid, PlugIn *& plugIn);
00382   bool queryInterfaceTypeImpl(const std::vector<std::string>& searchPath, const UPITID& pitid, std::vector<UPIID>& piids);
00383   void releaseInterfaceImpl(const UPIID& piid);
00384   void setFileFilterImpl(const std::string& filter);
00385
00386 private:
00387   // private plug-in administration
00388   class PlugInHolder
00389   {
00390   public:
00391     PlugInHolder(PlugIn * plugIn) : m_plugIn(plugIn), m_refCnt(1) {}
00392     void addRef() { ++m_refCnt; }
00393     size_t removeRef() { __ASSERT(m_refCnt>0); return --m_refCnt; }
00394     PlugIn * getPlugIn() const { return m_plugIn; }
00395   private:
00396     PlugIn * m_plugIn;
00397     size_t   m_refCnt;
00398   };
00399   bool findPlugIns(const std::vector<std::string>& searchPath, std::vector<std::string>& plugIns);
00400   bool registerPlugIn(const std::string& fileName, const UPIID& piid, PlugIn *& plugIn);
00401   typedef std::map< UPIID, PlugInHolder*> PlugInMap;
00402   PlugInMap m_plugIns;
00403   std::string m_filter;
00404 };
00405
00407 typedef Singleton<PlugInServer> PIS;
00408
00409 } // namespace nvutil
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


PlugInCallback.h Source File

PlugInCallback.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvutil/RCObject.h"
00018
00019 namespace nvutil
00020 {
00022
00030   class PlugInCallback : public RCObject
00031   {
00032     public:
00034       typedef enum
00035       {
00036         PICE_UNEXPECTED_EOF,
00037         PICE_UNEXPECTED_TOKEN,
00038         PICE_UNKNOWN_TOKEN,
00039         PICE_FILE_ACCESS_FAILED,
00040         PICE_FILE_MAPPING_FAILED,
00041         PICE_INCOMPATIBLE_FILE,
00042         PICE_INVALID_FILE
00043       } PIC_ERROR;
00044
00046       typedef enum
00047       {
00048         PICW_FILE_EMPTY,
00049         PICW_FILE_NOT_FOUND,
00050         PICW_FILES_NOT_FOUND,
00051         PICW_EMPTY_TOKEN,
00052         PICW_INCOMPATIBLE_VALUES,
00053         PICW_INVALID_VALUE,
00054         PICW_UNDEFINED_TOKEN,
00055         PICW_UNSUPPORTED_TOKEN
00056       } PIC_WARNING;
00057
00059       typedef enum
00060       {
00061         PICT_INT,
00062         PICT_FLOAT
00063       } PIC_TYPE_ID;
00064
00066       typedef struct
00067       {
00068         size_t  position;
00069         std::string  context;
00070         std::string  token;
00071       } EmptyTokenInfo;
00072
00074       typedef struct
00075       {
00076         size_t        position;
00077         std::string        context;
00078         PIC_TYPE_ID   valueType;
00079         std::string        value0Name;
00080         const void *  value0;
00081         std::string        value1Name;
00082         const void *  value1;
00083       } IncompatibleValueInfo;
00084
00086       typedef struct
00087       {
00088         size_t        position;
00089         std::string        context;
00090         PIC_TYPE_ID   valueType;
00091         std::string        valueName;
00092         const void *  value;
00093       } InvalidValueInfo;
00094
00096       typedef struct
00097       {
00098         size_t        position;
00099         std::string        context;
00100         std::string        token;
00101       } UndefinedTokenInfo;
00102
00104       typedef struct
00105       {
00106         size_t        position;
00107         std::string        expected;
00108         std::string        encountered;
00109       } UnexpectedTokenInfo;
00110
00112       typedef struct
00113       {
00114         size_t        position;
00115         std::string        context;
00116         std::string        token;
00117       } UnknownTokenInfo;
00118
00120       typedef struct
00121       {
00122         size_t        position;
00123         std::string        context;
00124         std::string        token;
00125       } UnsupportedTokenInfo;
00126
00128       typedef struct
00129       {
00130         std::string        file;
00131         unsigned int  systemSpecificErrorCode;
00132       } FileAccessFailedInfo;
00133
00135       typedef struct
00136       {
00137         unsigned int  systemSpecificErrorCode;
00138       } FileMappingFailedInfo;
00139
00141       typedef struct
00142       {
00143         std::string        file;
00144         std::string        context;
00145         unsigned int  expectedVersion;
00146
00147         unsigned int  detectedVersion;
00148
00149       } IncompatibleFileInfo;
00150
00152       typedef struct
00153       {
00154         std::string        file;
00155         std::string        context;
00156       } InvalidFileInfo;
00157
00158     public:
00160       PlugInCallback();
00161
00163       void  setThrowExceptionOnError( bool set );
00164
00166
00171       virtual void onError( PIC_ERROR eid
00172                           , const void *info
00173                           ) const;
00174
00176
00182       virtual bool onWarning( PIC_WARNING wid
00183                             , const void *info
00184                             ) const;
00185
00187
00190       virtual void onUnexpectedEndOfFile( size_t position
00191                                         ) const;
00192
00194
00198       virtual void onUnexpectedToken( size_t position
00199                                     , const std::string &expected
00200                                     , const std::string &encountered
00201                                     ) const;
00202
00204
00208       virtual void onUnknownToken( size_t position
00209                                  , const std::string &context
00210                                  , const std::string &token
00211                                  ) const;
00212
00214
00218       virtual bool onEmptyToken( size_t position
00219                                , const std::string &context
00220                                , const std::string &token
00221                                ) const;
00222
00224
00227       virtual bool onFileEmpty( const std::string &file
00228                               ) const;
00229
00231
00234       virtual bool onFileNotFound( const std::string &file
00235                                  ) const;
00236
00238
00241       virtual bool onFilesNotFound( const std::vector<std::string> &files
00242                                   ) const;
00243
00245
00249       virtual bool onUndefinedToken( size_t position
00250                                    , const std::string &context
00251                                    , const std::string &token
00252                                    ) const;
00253
00255
00259       virtual bool onIncompatibleValues( size_t position
00260                                        , const std::string &context
00261                                        , const std::string &value0Name
00262                                        , int value0
00263                                        , const std::string &value1Name
00264                                        , int value1
00265                                        ) const;
00266
00268
00272       virtual bool onIncompatibleValues( size_t position
00273                                        , const std::string &context
00274                                        , const std::string &value0Name
00275                                        , float value0
00276                                        , const std::string &value1Name
00277                                        , float value1
00278                                        ) const;
00279
00281
00285       virtual bool onInvalidValue( size_t position
00286                                  , const std::string &context
00287                                  , const std::string &valueName
00288                                  , int value
00289                                  ) const;
00290
00292
00296       virtual bool onInvalidValue( size_t position
00297                                  , const std::string &context
00298                                  , const std::string &valueName
00299                                  , float value
00300                                  ) const;
00301
00303
00307       virtual bool onUnsupportedToken( size_t position
00308                                      , const std::string &context
00309                                      , const std::string &token
00310                                      ) const;
00311
00313
00317       virtual void onFileAccessFailed( const std::string& file
00318                                      , unsigned int systemSpecificErrorCode
00319                                      ) const;
00320
00322
00326       virtual void onFileMappingFailed( unsigned int systemSpecificErrorCode
00327                                       ) const;
00328
00330
00334       virtual void onImcompatibleFile( const std::string& file
00335                                      , const std::string& context
00336                                      , unsigned int expectedVersion
00337
00338                                      , unsigned int detectedVersion
00339
00340                                      ) const;
00341
00343
00347       virtual void onInvalidFile( const std::string& file
00348                                 , const std::string& context
00349                                 ) const;
00350
00351     protected:
00353       virtual ~PlugInCallback();
00354
00355     private:
00356       bool  m_throwExceptionOnError;
00357   };
00358
00359   inline  PlugInCallback::PlugInCallback()
00360     : m_throwExceptionOnError(true)
00361   {
00362   }
00363
00364   inline  PlugInCallback::~PlugInCallback()
00365   {
00366   }
00367
00368   inline  void  PlugInCallback::setThrowExceptionOnError( bool set )
00369   {
00370     m_throwExceptionOnError = set;
00371   }
00372
00373   inline  void  PlugInCallback::onError( PIC_ERROR eid, const void *info ) const
00374   {
00375     if ( m_throwExceptionOnError )
00376     {
00377       throw( eid );
00378     }
00379   }
00380
00381   inline  bool  PlugInCallback::onWarning( PIC_WARNING wid, const void *info ) const
00382   {
00383     return( true );
00384   }
00385
00386
00387   inline  void  PlugInCallback::onUnexpectedEndOfFile( size_t position ) const
00388   {
00389     onError( PICE_UNEXPECTED_EOF, &position );
00390   }
00391
00392   inline  void  PlugInCallback::onUnexpectedToken( size_t position, const std::string &expected, const std::string &encountered ) const
00393   {
00394     UnexpectedTokenInfo uti;
00395     uti.position    = position;
00396     uti.expected    = expected;
00397     uti.encountered = encountered;
00398     onError( PICE_UNEXPECTED_TOKEN, &uti );
00399   }
00400
00401   inline  void  PlugInCallback::onUnknownToken( size_t position, const std::string &context, const std::string &token ) const
00402   {
00403     UnknownTokenInfo  uti;
00404     uti.position  = position;
00405     uti.context   = context;
00406     uti.token     = token;
00407     onError( PICE_UNKNOWN_TOKEN, &uti );
00408   }
00409
00410
00411   inline  bool  PlugInCallback::onEmptyToken( size_t position, const std::string &context, const std::string &token ) const
00412   {
00413     EmptyTokenInfo  uti;
00414     uti.position  = position;
00415     uti.context   = context;
00416     uti.token     = token;
00417     return( onWarning( PICW_EMPTY_TOKEN, &uti ) );
00418   }
00419
00420   inline  bool  PlugInCallback::onFileEmpty( const std::string &file ) const
00421   {
00422     return( onWarning( PICW_FILE_EMPTY, &file ) );
00423   }
00424
00425   inline  bool  PlugInCallback::onFileNotFound( const std::string &file ) const
00426   {
00427     return( onWarning( PICW_FILE_NOT_FOUND, &file ) );
00428   }
00429
00430   inline  bool  PlugInCallback::onFilesNotFound( const std::vector<std::string> &files ) const
00431   {
00432     return( onWarning( PICW_FILES_NOT_FOUND, &files ) );
00433   }
00434
00435   inline  bool  PlugInCallback::onUndefinedToken( size_t position, const std::string &context, const std::string &token ) const
00436   {
00437     EmptyTokenInfo  uti;
00438     uti.position  = position;
00439     uti.context   = context;
00440     uti.token     = token;
00441     return( onWarning( PICW_UNDEFINED_TOKEN, &uti ) );
00442   }
00443
00444   inline  bool  PlugInCallback::onIncompatibleValues( size_t position, const std::string &context, const std::string &value0Name,
00445                                                       int value0, const std::string &value1Name, int value1 ) const
00446   {
00447     IncompatibleValueInfo ivi;
00448     ivi.position    = position;
00449     ivi.context     = context;
00450     ivi.valueType   = PICT_INT;
00451     ivi.value0Name  = value0Name;
00452     ivi.value0      = &value0;
00453     ivi.value1Name  = value1Name;
00454     ivi.value1      = &value1;
00455     return( onWarning( PICW_INCOMPATIBLE_VALUES, &ivi ) );
00456   }
00457
00458   inline  bool  PlugInCallback::onIncompatibleValues( size_t position, const std::string &context, const std::string &value0Name,
00459                                                       float value0, const std::string &value1Name, float value1 ) const
00460   {
00461     IncompatibleValueInfo ivi;
00462     ivi.position    = position;
00463     ivi.context     = context;
00464     ivi.valueType   = PICT_FLOAT;
00465     ivi.value0Name  = value0Name;
00466     ivi.value0      = &value0;
00467     ivi.value1Name  = value1Name;
00468     ivi.value1      = &value1;
00469     return( onWarning( PICW_INCOMPATIBLE_VALUES, &ivi ) );
00470   }
00471
00472
00473   inline  bool  PlugInCallback::onInvalidValue( size_t position, const std::string &context,
00474                                                 const std::string &valueName, int value ) const
00475   {
00476     InvalidValueInfo  ivi;
00477     ivi.position  = position;
00478     ivi.context   = context;
00479     ivi.valueName = valueName;
00480     ivi.valueType = PICT_INT;
00481     ivi.value     = &value;
00482     return( onWarning( PICW_INVALID_VALUE, &ivi ) );
00483   }
00484
00485   inline  bool  PlugInCallback::onInvalidValue( size_t position, const std::string &context,
00486                                                 const std::string &valueName, float value ) const
00487   {
00488     InvalidValueInfo  ivi;
00489     ivi.position  = position;
00490     ivi.context   = context;
00491     ivi.valueName = valueName;
00492     ivi.valueType = PICT_FLOAT;
00493     ivi.value     = &value;
00494     return( onWarning( PICW_INVALID_VALUE, &ivi ) );
00495   }
00496
00497   inline  bool  PlugInCallback::onUnsupportedToken( size_t position, const std::string &context, const std::string &token ) const
00498   {
00499     UnsupportedTokenInfo  uti;
00500     uti.position  = position;
00501     uti.context   = context;
00502     uti.token     = token;
00503     return( onWarning( PICW_UNSUPPORTED_TOKEN, &uti ) );
00504   }
00505
00506   inline  void  PlugInCallback::onFileAccessFailed( const std::string& file, unsigned int systemSpecificErrorCode ) const
00507   {
00508     FileAccessFailedInfo fafi;
00509     fafi.file = file;
00510     fafi.systemSpecificErrorCode = systemSpecificErrorCode;
00511     onError(PICE_FILE_ACCESS_FAILED, &fafi);
00512   }
00513
00514   inline  void  PlugInCallback::onFileMappingFailed( unsigned int systemSpecificErrorCode ) const
00515   {
00516     FileMappingFailedInfo fmfi;
00517     fmfi.systemSpecificErrorCode = systemSpecificErrorCode;
00518     onError(PICE_FILE_MAPPING_FAILED, &fmfi);
00519   }
00520
00521   inline  void  PlugInCallback::onImcompatibleFile( const std::string& file, const std::string& context
00522                                                   , unsigned int expectedVersion, unsigned int detectedVersion) const
00523   {
00524     IncompatibleFileInfo ifi;
00525     ifi.file = file;
00526     ifi.context = context;
00527     ifi.expectedVersion = expectedVersion;
00528     ifi.detectedVersion = detectedVersion;
00529     onError(PICE_INCOMPATIBLE_FILE, &ifi);
00530   }
00531
00532   inline  void  PlugInCallback::onInvalidFile( const std::string& file, const std::string& context ) const
00533   {
00534     InvalidFileInfo ifi;
00535     ifi.file = file;
00536     ifi.context = context;
00537     onError(PICE_INVALID_FILE, &ifi);
00538   }
00539 }
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


PlugInterface.h Source File

PlugInterface.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvutil/PlugIn.h" // general PlugIn class definition
00018
00019 namespace nvsg
00020 {
00021   class Scene;
00022   class Texture;
00023   class ViewState;
00024
00026
00092   // SceneLoader interface
00093   class SceneLoader : public nvutil::PlugIn
00094   {
00095     public:
00097
00104       NVSG_API virtual const Scene * load( const std::string& filename
00105                                          , const std::vector<std::string> &searchPaths
00106                                          , const ViewState *& viewState
00108                                          ) = 0;
00109
00110     protected:
00112
00123       NVSG_API virtual ~SceneLoader();
00124   };
00125
00127
00129   class SceneSaver : public nvutil::PlugIn
00130   {
00131     public:
00133
00136       NVSG_API virtual bool save( const Scene &scene, const ViewState *viewState, const std::string& filename ) = 0;
00137
00138     protected:
00140
00151       NVSG_API virtual ~SceneSaver();
00152   };
00153
00154 #if 0 // not yet
00155 # if ! defined( DOXYGEN_IGNORE )
00156
00157
00158   class TextureLoader : public nvutil::PlugIn
00159   {
00160     public:
00162
00169       NVSG_API virtual Texture * load( const std::string& filename
00170                                      , const std::vector<std::string> &searchPaths
00171                                      ) = 0;
00172
00173     protected:
00175
00186       NVSG_API virtual ~TextureLoader();
00187   };
00188 # endif
00189 #endif
00190
00191 } //  namespace nvsg
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


PlugInterfaceID.h Source File

PlugInterfaceID.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/NVSGVersion.h"
00016
00018 #define UPITID_VERSION        NVSG_VER_MAJOR_STR "." NVSG_VER_MINOR_STR
00019
00020 #define UPITID_SCENE_LOADER   0x0001
00021 #define UPITID_SCENE_SAVER    0x0002
00022 #define UPITID_TEXTURE_LOADER 0x0004
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


PointLight.h Source File

PointLight.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/LightSource.h"
00018
00019 namespace nvsg
00020 {
00021   /*  NOTE: A PointLight does NOT contain a position !
00022       It is assumed to be in the origin.
00023       Any changes to this must be performed by a Transform node.
00024   */
00025
00027
00033   class PointLight : public LightSource
00034   {
00035     public:
00037
00038       NVSG_API static const PointLight * create( void );
00039
00041
00042       NVSG_API static const PointLight * createFromBase( const LightSource &rhs
00043                                                        );
00044
00046
00047       NVSG_API virtual const PointLight * clone( void ) const;
00048
00050
00051       NVSG_API virtual bool isDataShared( void ) const;
00052
00054
00055       NVSG_API virtual DataID getDataID( void )  const;
00056
00058
00061       NVSG_API void getAttenuation( float &c
00062                                   , float &l
00063                                   , float &q
00064                                   ) const;
00065
00067
00070       NVSG_API const nvmath::Vec3f& getAttenuation( void ) const;
00071
00073
00076       NVSG_API bool isAttenuated( void ) const;
00077
00079
00082       NVSG_API void  setAttenuation( float c
00083                                    , float l
00084                                    , float q
00085                                    );
00086
00087     protected:
00089       NVSG_API PointLight( void );
00090
00092       NVSG_API PointLight( const LightSource &rhs );
00093
00095       NVSG_API PointLight( const PointLight &rhs );
00096
00098       NVSG_API virtual ~PointLight( void );
00099
00100     private:
00101       nvmath::Vec3f m_attenuation;
00102   };
00103
00104   inline void PointLight::getAttenuation( float &c, float &l, float &q ) const
00105   {
00106     __TRACE();
00107     c = m_attenuation[0];
00108     l = m_attenuation[1];
00109     q = m_attenuation[2];
00110   }
00111
00112   inline const nvmath::Vec3f& PointLight::getAttenuation( void ) const
00113   {
00114     __TRACE();
00115     return m_attenuation;
00116   }
00117
00118   inline bool PointLight::isAttenuated( void ) const
00119   {
00120     __TRACE();
00121     return(   ( m_attenuation[0] != 1.0f )
00122           ||  ( m_attenuation[1] != 0.0f )
00123           ||  ( m_attenuation[2] != 0.0f )
00124           );
00125   }
00126
00127   inline void PointLight::setAttenuation( float c, float l, float q )
00128   {
00129     __TRACE();
00130     m_attenuation[0] = c;
00131     m_attenuation[1] = l;
00132     m_attenuation[2] = q;
00133   }
00134
00135 } //  namespace nvsg
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


Quads.h Source File

Quads.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Face.h"
00018 #include  "nvsg/GeoSet.h"
00019
00020 namespace nvsg
00021 {
00023
00026   class Quads : public GeoSet
00027   {
00028     public:
00030
00031       NVSG_API static const Quads * create( void );
00032
00034
00035       NVSG_API static const Quads * createFromBase( const GeoSet &rhs );
00036
00038
00039       NVSG_API virtual const Quads * clone( void ) const;
00040
00042
00043       NVSG_API virtual bool isDataShared( void ) const;
00044
00046
00047       NVSG_API virtual DataID getDataID( void ) const;
00048
00050
00051       NVSG_API bool hasFaces( void ) const;
00052
00054
00055       NVSG_API size_t getNumberOfFaces( void ) const;
00056
00058
00059       NVSG_API const Face4 * getFaces( void ) const;
00060
00062
00063       NVSG_API void setFaces( const Face4 * pFaces
00064                             , size_t numFaces
00065                             );
00066
00068
00080       NVSG_API void setFaces( size_t pos
00081                             , const Face4* pFaces
00082                             , size_t numFaces
00083                             );
00084
00085
00087
00089       NVSG_API virtual void calculateTangentSpace( size_t tu = 0
00090                                                  , size_t tg = 1
00091                                                  , size_t bn = 2
00092                                                  );
00093
00094     protected:
00096       NVSG_API Quads( void );
00097
00099       NVSG_API Quads( const GeoSet &rhs );
00100
00102       NVSG_API Quads( const Quads &rhs );
00103
00105       NVSG_API virtual ~Quads(void);
00106
00107     private:
00108       nvutil::RCPtr<nvutil::RCVector<Face4> > m_faces; // quad faces
00109   };
00110
00111   // - - - - - - - - - - - - - - - - - - - - - - - - -
00112   // inlines
00113   // - - - - - - - - - - - - - - - - - - - - - - - - -
00114
00115   inline bool Quads::hasFaces() const
00116   {
00117     __TRACE();
00118     return( !m_faces->empty() );
00119   }
00120
00121   inline size_t Quads::getNumberOfFaces( void ) const
00122   {
00123     __TRACE();
00124     return( m_faces->size() );
00125   }
00126
00127   inline const Face4 * Quads::getFaces( void ) const
00128   {
00129     __TRACE();
00130     return( &(*m_faces)[0] );
00131   }
00132 }
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


QuadStrips.h Source File

QuadStrips.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/nvsg.h"
00018 #include "nvsg/GeoSet.h"
00019
00020 #ifdef _DEBUG
00021 # ifndef new
00022 #  define new new(__FILE__, __LINE__)
00023 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00024 # endif
00025 #endif
00026
00027 namespace nvsg
00028 {
00030
00042   class QuadStrips : public GeoSet
00043   {
00044     public:
00046
00047       NVSG_API static const QuadStrips * create( void );
00048
00050
00051       NVSG_API static const QuadStrips * createFromBase( const GeoSet &rhs );
00052
00054
00055       NVSG_API virtual const QuadStrips * clone( void ) const;
00056
00058
00059       NVSG_API virtual bool isDataShared( void ) const;
00060
00062
00063       NVSG_API virtual DataID getDataID( void ) const;
00064
00066
00067       NVSG_API bool hasStrips( void ) const;
00068
00070
00071       NVSG_API size_t getNumberOfStrips( void ) const;
00072
00074
00075       NVSG_API const IndexSet * getStrips() const;
00076
00078
00079       NVSG_API void setStrips( const IndexSet* pStrips
00080                              , size_t numStrips
00081                              );
00082
00084
00096       NVSG_API void setStrips( size_t pos
00097                              , const IndexSet* pStrips
00098                              , size_t numStrips
00099                              );
00100
00102
00105       NVSG_API virtual void calculateTangentSpace( size_t tu = 0
00106                                                  , size_t tg = 1
00107                                                  , size_t bn = 2
00108                                                  );
00109
00110     protected:
00112       NVSG_API QuadStrips( void );
00113
00115       NVSG_API QuadStrips( const GeoSet &rhs );
00116
00118       NVSG_API QuadStrips( const QuadStrips &rhs );
00119
00121       NVSG_API virtual ~QuadStrips( void );
00122
00123     private:
00124       void  calculateTangentBinormal( size_t tu, size_t i, size_t i1, size_t i2, nvmath::Vec3f &tangent, nvmath::Vec3f &binormal );
00125
00126       nvutil::RCPtr<nvutil::RCVector<IndexSet> >  m_quadStrips; // quadstrip indices
00127   };
00128
00129   // - - - - - - - - - - - - - - - - - - - - - - - - -
00130   // inlines
00131   // - - - - - - - - - - - - - - - - - - - - - - - - -
00132
00133   inline bool QuadStrips::hasStrips( void ) const
00134   {
00135     __TRACE();
00136     return( !m_quadStrips->empty() );
00137   }
00138
00139   inline size_t QuadStrips::getNumberOfStrips( void ) const
00140   {
00141     __TRACE();
00142     return( m_quadStrips->size() );
00143   }
00144
00145   inline const IndexSet * QuadStrips::getStrips( void ) const
00146   {
00147     __TRACE();
00148     return( &(*m_quadStrips)[0] );
00149   }
00150 }
00151
00152 #ifdef _DEFINED_DBGNEW
00153 # undef new
00154 #endif
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


Quatf.h Source File

Quatf.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/nvmath.h"
00018 #include "nvmath/Vec4f.h"
00019 #include "nvmath/Vec3f.h"
00020 #include "nvmath/Mat33f.h"
00021
00022 namespace nvmath
00023 {
00025
00031   class Quatf
00032   {
00033     public:
00035
00036       NVSG_API Quatf( void );
00037
00039
00040       NVSG_API Quatf( const Vec4f& v
00041                     );
00042
00044
00047       NVSG_API Quatf( float f0
00048                     , float f1
00049                     , float f2
00050                     , float f3
00051                     );
00052
00054
00055       NVSG_API Quatf( const Vec3f& axis
00056                     , float angle
00057                     );
00058
00060
00061       NVSG_API Quatf( const Vec3f& vec0
00062                     , const Vec3f& vec1
00063                     );
00064
00066
00067       NVSG_API float& operator[]( size_t i
00068                                 );
00069
00071
00072       NVSG_API const float& operator[]( size_t i
00073                                       ) const;
00074
00076
00077       NVSG_API Quatf& operator=( const Quatf& q
00078                                );
00079
00081
00082       NVSG_API bool operator==( const Quatf& q
00083                               ) const;
00084
00086
00087       NVSG_API bool operator!=( const Quatf& q
00088                               ) const;
00089
00091
00092       NVSG_API Quatf& operator+=( const Quatf& q
00093                                 );
00094
00096
00097       NVSG_API Quatf& operator-=( const Quatf& q
00098                                 );
00099
00101
00102       NVSG_API Quatf operator-( const Quatf& q
00103                               ) const;
00104
00106
00107       NVSG_API Quatf operator-( void ) const;
00108
00110
00111       NVSG_API Quatf& operator*=( float f
00112                                 );
00113
00115
00116       NVSG_API Quatf operator*( float f
00117                               ) const;
00118
00120
00121       NVSG_API Quatf& operator*=( const Quatf& q
00122                                 );
00123
00125
00126       NVSG_API Quatf operator*( const Quatf& q
00127                               ) const;
00128
00130
00131       NVSG_API Quatf& operator/=( float f
00132                                 );
00133
00135
00136       NVSG_API Quatf operator/( float  f
00137                               ) const;
00138
00140
00141       NVSG_API Quatf& operator/=( const Quatf& q
00142                                 );
00143
00145
00146       NVSG_API Quatf operator/( const Quatf& q
00147                               ) const;
00148
00150
00152       NVSG_API Quatf operator~( void ) const;
00153
00155
00156       NVSG_API void invert( void );
00157
00159       NVSG_API Quatf& normalize( void );
00160
00161     private:
00162       NVSG_API void _byAxisAndAngle( const Vec3f& axis, float angle );
00163
00164     private:
00165       float m_quat[4];
00166   };
00167
00168   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00169   // non-member functions
00170   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00173   inline  void  decompose( const Quatf &q
00174                          , Vec3f &axis
00175                          , float &angle
00176                          )
00177   {
00178     angle = 2.0f * acosf( q[3] );
00179     if ( angle < FLT_EPSILON )
00180     {
00181       //  no angle to rotate about => take just any one
00182       axis[0] = 0.0f;
00183       axis[1] = 0.0f;
00184       axis[2] = 1.0f;
00185     }
00186     else
00187     {
00188       float dummy = 1.0f / sinf( 0.5f * angle );
00189       axis[0] = q[0] * dummy;
00190       axis[1] = q[1] * dummy;
00191       axis[2] = q[2] * dummy;
00192       axis.normalize();
00193     }
00194   }
00195
00199   inline float distance( const Quatf &q0
00200                        , const Quatf &q1
00201                        )
00202   {
00203     return( sqrtf( square( q0[0] - q1[0] ) + square( q0[1] - q1[1] ) + square( q0[2] - q1[2] ) + square( q0[3] - q1[3] ) ) );
00204   }
00205
00209   inline float magnitude( const Quatf &q
00210                         )
00211   {
00212     return( sqrtf( square( q[0] ) + square( q[1] ) + square( q[2] ) + square( q[3] ) ) );
00213   }
00214
00219   inline bool isNormalized( const Quatf &q
00220                           )
00221   {
00222     return( fabs( magnitude( q ) - 1.0f ) <= FLT_EPSILON );
00223   }
00224
00228   inline bool isNull( const Quatf &q
00229                     )
00230   {
00231     return( magnitude( q ) <= FLT_EPSILON );
00232   }
00233
00237   inline  Quatf operator*( float f
00238                          , const Quatf &q
00239                          )
00240   {
00241     return( q * f );
00242   }
00243
00248   inline Vec3f operator*( const Quatf &q, const Vec3f &v )
00249   {
00250     return Mat33f(q) * v;
00251   }
00252
00256   template<>
00257   NVSG_API Quatf lerp<Quatf>( float alpha
00258                             , const Quatf &q0
00259                             , const Quatf &q1
00260                             );
00261
00262   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00263   // inlines
00264   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00265   inline Quatf::Quatf( void )
00266   {
00267   }
00268
00269   inline Quatf::Quatf( float f0, float f1, float f2, float f3 )
00270   {
00271     m_quat[0] = f0;
00272     m_quat[1] = f1;
00273     m_quat[2] = f2;
00274     m_quat[3] = f3;
00275   }
00276
00277   inline Quatf::Quatf( const Vec4f& v )
00278   {
00279     m_quat[0] = v[0];
00280     m_quat[1] = v[1];
00281     m_quat[2] = v[2];
00282     m_quat[3] = v[3];
00283     __ASSERT( isNormalized( *this ) );
00284   }
00285
00286   inline void Quatf::_byAxisAndAngle( const Vec3f& axis, float angle )
00287   {
00288     __ASSERT( isNormalized( axis ) );
00289     float dummy = sinf( 0.5f * angle );
00290     m_quat[0] = axis[0] * dummy;
00291     m_quat[1] = axis[1] * dummy;
00292     m_quat[2] = axis[2] * dummy;
00293     m_quat[3] = cosf( 0.5f * angle );
00294     __ASSERT( isNormalized( *this ) );
00295   }
00296
00297   inline Quatf::Quatf( const Vec3f& axis, float angle )
00298   {
00299     _byAxisAndAngle( axis, angle );
00300   }
00301
00302   inline Quatf::Quatf( const Vec3f& vec0, const Vec3f& vec1 )
00303   {
00304     __ASSERT( isNormalized( vec0 ) && isNormalized( vec1 ) );
00305     if ( areCollinear( vec0, vec1 ) )
00306     {
00307       (*this) = Quatf( 0.0f, 0.0f, 0.0f, 1.0f );
00308     }
00309     else
00310     {
00311       _byAxisAndAngle( nvmath::normalize( vec0 ^ vec1 ), acosf( vec0 * vec1 ) );
00312     }
00313   }
00314
00315   inline float& Quatf::operator[]( size_t i )
00316   {
00317     __ASSERT( 0 <= i && i <= 3 );
00318     return( m_quat[i] );
00319   }
00320
00321   inline const float& Quatf::operator[]( size_t i ) const
00322   {
00323     __ASSERT( 0 <= i && i <= 3 );
00324     return( m_quat[i] );
00325   }
00326
00327   inline Quatf& Quatf::operator=( const Quatf& q )
00328   {
00329     m_quat[0] = q[0];
00330     m_quat[1] = q[1];
00331     m_quat[2] = q[2];
00332     m_quat[3] = q[3];
00333     return( *this );
00334   }
00335
00336   inline bool Quatf::operator==( const Quatf& q ) const
00337   {
00338     return(     m_quat[0] == q[0]
00339             &&  m_quat[1] == q[1]
00340             &&  m_quat[2] == q[2]
00341             &&  m_quat[3] == q[3]
00342           );
00343   }
00344
00345   inline bool Quatf::operator!=( const Quatf& q ) const
00346   {
00347     return(     m_quat[0] != q[0]
00348             ||  m_quat[1] != q[1]
00349             ||  m_quat[2] != q[2]
00350             ||  m_quat[3] != q[3]
00351           );
00352   }
00353
00354   inline Quatf Quatf::operator-( void ) const
00355   {
00356     return( Quatf( m_quat[0], m_quat[1], m_quat[2], -m_quat[3] ) );
00357   }
00358
00359   inline Quatf& Quatf::operator*=( const Quatf & q )
00360   {
00361     __ASSERT( isNormalized( *this ) && isNormalized( q ) );
00362     *this = Quatf( m_quat[1]*q[2] - m_quat[2]*q[1] + m_quat[3]*q[0] + m_quat[0]*q[3],
00363                    m_quat[2]*q[0] - m_quat[0]*q[2] + m_quat[3]*q[1] + m_quat[1]*q[3],
00364                    m_quat[0]*q[1] - m_quat[1]*q[0] + m_quat[3]*q[2] + m_quat[2]*q[3],
00365                    m_quat[3]*q[3] - m_quat[0]*q[0] - m_quat[1]*q[1] - m_quat[2]*q[2] );
00366     normalize();
00367     return( *this );
00368   }
00369
00370   inline Quatf Quatf::operator*( const Quatf & q ) const
00371   {
00372     __ASSERT( isNormalized( *this ) && isNormalized( q ) );
00373     Quatf r(*this);
00374     r *= q;
00375     __ASSERT( isNormalized( r ) );
00376     return( r );
00377   }
00378
00379   inline Quatf& Quatf::operator/=( const Quatf & q )
00380   {
00381     Quatf tmp = *this / q;
00382     *this = tmp;
00383     return( *this );
00384   }
00385
00386   inline Quatf Quatf::operator/( const Quatf & q ) const
00387   {
00388     __ASSERT( fabsf( magnitude( q ) - 1.0f ) < FLT_EPSILON );
00389     return( *this * ~q /*/ magnitude( q )*/ );
00390   }
00391
00392   inline Quatf Quatf::operator~( void ) const
00393   {
00394     return( Quatf( -m_quat[0], -m_quat[1], -m_quat[2], m_quat[3] ) );
00395   }
00396
00397   inline void Quatf::invert( void )
00398   {
00399     __ASSERT( fabsf( magnitude( *this ) - 1.0f ) < FLT_EPSILON );
00400     *this = ~(*this)/* / getMagnitude()*/;
00401   }
00402
00407   inline Quatf& Quatf::normalize( void )
00408   {
00409     float mag = magnitude( *this );
00410     __ASSERT( mag > FLT_EPSILON );
00411     for (int i = 0; i < 4; i++)
00412     {
00413       m_quat[i] /= mag;
00414     }
00415     return( *this );
00416   }
00417 }
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


RayIntersectTraverser.h Source File

RayIntersectTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Drawable.h"
00018 #include "nvsg/Path.h"
00019 #include "nvtraverser/ModelViewTraverser.h"
00020
00021 namespace nvsg
00022 {
00023   class Camera;
00024 }
00025
00026 namespace nvtraverser
00027 {
00029
00032   class Intersection
00033   {
00034     public:
00036
00038       NVSG_API Intersection( const nvsg::Path * pPath
00039                            , const nvsg::Drawable * pDrawable
00040                            , const nvmath::Vec3f & isp
00041                            , const float & dist
00042                            );
00043
00045
00046       NVSG_API Intersection( const Intersection & rhs
00047                            );
00048
00050       NVSG_API virtual ~Intersection(void);
00051
00053       NVSG_API Intersection & operator = (const Intersection & rhs);
00054
00056
00057       NVSG_API const nvsg::Path * getPath() const;
00058
00060
00061       NVSG_API const nvsg::Drawable * getDrawable() const;
00062
00064
00065       NVSG_API const nvmath::Vec3f & getIsp() const;
00066
00068
00069       NVSG_API const float & getDist() const;
00070
00071     protected:
00073
00074       NVSG_API Intersection(void){};
00075
00077
00078       NVSG_API void clone( const Intersection & rhs
00079                 );
00080
00081       const nvsg::Drawable  * m_pDrawable;
00082       const nvsg::Path      * m_pPath;
00083       nvmath::Vec3f           m_isp;
00084       float                   m_dist;
00085   };
00086
00087   inline Intersection::~Intersection(void)
00088   {
00089     if (m_pDrawable)
00090     {
00091       m_pDrawable->removeRef();
00092       m_pDrawable = NULL;
00093     }
00094
00095     if (m_pPath)
00096     {
00097       m_pPath->removeRef();
00098       m_pPath = NULL;
00099     }
00100   }
00101
00102   inline Intersection::Intersection (const nvsg::Path * pPath, const nvsg::Drawable * pDrawable, const nvmath::Vec3f & isp, const float & dist)
00103   {
00104     __ASSERT(pDrawable);
00105     __ASSERT(pPath);
00106
00107     m_isp       = isp;
00108     m_dist      = dist;
00109
00110     m_pDrawable = pDrawable;
00111     m_pDrawable->addRef();
00112
00113     m_pPath     = pPath;
00114     m_pPath->addRef();
00115   }
00116
00117   inline Intersection::Intersection (const Intersection & rhs)
00118   {
00119     clone(rhs);
00120   }
00121
00122   inline Intersection & Intersection::operator = (const Intersection & rhs)
00123   {
00124     clone(rhs);
00125     return (*this);
00126   }
00127
00128   inline void Intersection::clone(const Intersection & rhs)
00129   {
00130     m_isp       = rhs.m_isp;
00131     m_dist      = rhs.m_dist;
00132
00133     m_pDrawable = rhs.m_pDrawable;
00134     m_pDrawable->addRef();
00135
00136     m_pPath     = rhs.m_pPath;
00137     m_pPath->addRef();
00138   }
00139
00140   inline const nvmath::Vec3f & Intersection::getIsp() const
00141   {
00142   return m_isp;
00143   }
00144
00145   inline const float & Intersection::getDist() const
00146   {
00147     return m_dist;
00148   }
00149
00150   inline const nvsg::Drawable * Intersection::getDrawable() const
00151   {
00152     return m_pDrawable;
00153   }
00154
00155   inline const nvsg::Path * Intersection::getPath() const
00156   {
00157     return m_pPath;
00158   }
00159
00160
00162
00168   class RayIntersectTraverser : public ModelViewTraverser
00169   {
00170     public:
00172       NVSG_API RayIntersectTraverser(void);
00173
00175
00177       NVSG_API void release();
00178
00180
00182       NVSG_API void setRay( const nvmath::Vec3f &origin
00183                           , const nvmath::Vec3f &dir
00184                           );
00185
00187
00189       NVSG_API void setCamClipping( bool b
00190                                   );
00191
00193
00194       NVSG_API const Intersection & getNearest( void ) const;
00195
00197
00198       NVSG_API const Intersection * getIntersections( void ) const;
00199
00201
00202       NVSG_API size_t getNumberOfIntersections( void ) const;
00203
00205
00206       NVSG_API void setBackFaceCulling( bool enable
00207                                       );
00208
00210
00212       NVSG_API bool isBackFaceCullingEnabled();
00213
00214     protected:
00216       NVSG_API virtual ~RayIntersectTraverser(void);
00217
00219
00221       NVSG_API virtual void  doApply( const nvsg::ViewState *pViewState
00222                                     , const nvsg::Scene *pScene
00223                                     );
00224
00225       // Nodes in the tree:
00226       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode *p );
00227
00228       // Groups in the tree:
00229       NVSG_API virtual void handleGroup( const nvsg::Group * p);
00230       NVSG_API virtual void handleLOD( const nvsg::LOD * p);
00231       NVSG_API virtual void handleSwitch( const nvsg::Switch * p);
00232       NVSG_API virtual void handleTransform( const nvsg::Transform * p);
00233
00234       // Other operators:
00235       NVSG_API virtual void handleQuads( const nvsg::Quads *p );
00236       NVSG_API virtual void handleQuadStrips( const nvsg::QuadStrips *p );
00237       NVSG_API virtual void handleTriangles( const nvsg::Triangles *p );
00238       NVSG_API virtual void handleTriStrips( const nvsg::TriStrips *p );
00239
00241
00243       NVSG_API virtual bool preTraverseTransform(
00244         const nvsg::Transform *p
00245       );
00246
00248
00249       NVSG_API virtual void postTraverseTransform(
00250         const nvsg::Transform *p
00251       );
00252
00254
00259       enum ISType { _NONE = 0
00260                   , _BSTANGENT
00261                   , _BSNEAR
00262                   , _BSFAR
00263                   , _BSNEARFAR
00264                   };
00265
00267
00268       NVSG_API bool checkIntersection( const nvmath::Sphere3f &sphere
00269                                     );
00270
00272
00276       NVSG_API bool intersectTriangle( const nvmath::Vec3f & v0
00277                                     , const nvmath::Vec3f & v1
00278                                     , const nvmath::Vec3f & v2
00279                                     , nvmath::Vec3f & isp
00280                                     , float & dist
00281                                     );
00282
00284
00285       NVSG_API void storeIntersection( const nvsg::GeoSet *p
00286                                     , const nvmath::Vec3f &isp
00287                                     , float dist
00288                                     );
00289
00290 #ifdef _DEBUG
00291
00292       void dumpIntersectionList();
00293 #endif
00294
00295       static const nvmath::Vec3f _RAY_ORIGIN_DEFAULT;
00296       static const nvmath::Vec3f _RAY_DIRECTION_DEFAULT;
00297
00298       bool                        m_backFaceCulling;
00299       bool                        m_ccw;
00300       bool                        m_camClipping;
00301       nvmath::Vec3f               m_rayOrigin;
00302       nvmath::Vec3f               m_rayDir;
00303       const nvsg::Camera              * m_camera;
00304       std::stack<nvmath::Vec3f>   m_msRayOrigin;
00305       std::stack<nvmath::Vec3f>   m_msRayDir;
00306       std::stack<nvmath::Vec3f>   m_msCamDir;
00307       std::vector<Intersection>   m_intersectionList;
00308       size_t                      m_nearestIntIdx;
00309       nvsg::Path                * m_curPath;
00310       size_t                      m_currentFrame;
00311       float                       m_scaleFactor;
00312   };
00313
00314   inline void RayIntersectTraverser::setCamClipping(bool flag)
00315   {
00316     m_camClipping = flag;
00317   }
00318
00319   inline size_t RayIntersectTraverser::getNumberOfIntersections() const
00320   {
00321     return m_intersectionList.size();
00322   }
00323
00324   inline const Intersection & RayIntersectTraverser::getNearest() const
00325   {
00326     __ASSERT(!m_intersectionList.empty());
00327     return m_intersectionList[m_nearestIntIdx];
00328   }
00329
00330   inline const Intersection * RayIntersectTraverser::getIntersections() const
00331   {
00332     __ASSERT(!m_intersectionList.empty());
00333     return &m_intersectionList[0];
00334   }
00335
00336   inline void RayIntersectTraverser::setBackFaceCulling( bool enable)
00337   {
00338     m_backFaceCulling = enable;
00339   }
00340
00341   inline bool RayIntersectTraverser::isBackFaceCullingEnabled()
00342   {
00343     return m_backFaceCulling;
00344   }
00345 }
Generated on Fri Jan 28 09:17:50 2005 for NVSGSDK by NVIDIA


RCObject.h Source File

RCObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 // rcobject.h
00013 //
00014 // Support for reference counted object
00015 //
00016 #pragma once
00017
00019 #include "nvsgcommon.h"
00020
00021 #include "nvutil/Allocator.h" // for IAllocator interface
00022
00023 // memory leak detection
00024 #ifdef _DEBUG
00025 # ifndef new
00026 #  define new new(__FILE__, __LINE__)
00027 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00028 # endif
00029 #endif
00030
00031 namespace nvutil
00032 {
00034
00055   class RCObject : public IAllocator
00056   {
00057     public:
00059
00060       RCObject() : m_refcnt(0), m_shareable(true) {};
00061
00063
00069       NVSG_API void addRef()            const;
00071
00074       NVSG_API void removeRef()         const;
00076
00079       NVSG_API void markUnshareable();
00081
00084       NVSG_API bool isShareable()       const;
00086
00090       NVSG_API bool isShared()          const;
00091
00092     protected:
00093
00095
00097       RCObject(const RCObject& rhs) : m_refcnt(0), m_shareable(true) {}
00098
00100
00102       RCObject& operator=(const RCObject& rhs) { return *this; }
00103
00105
00107       virtual ~RCObject() {}
00108
00109     private:
00111       mutable int m_refcnt;
00112       bool m_shareable;
00113   };
00114
00116
00119   template<typename T>
00120   class RCVector : public std::vector<T>, public RCObject
00121   {
00122     public:
00124       RCVector()
00125       {
00126       }
00127
00129
00130       RCVector( size_t n
00131               )
00132         : std::vector<T>(n)
00133       {
00134       }
00135   };
00136
00138
00145   template <typename T>
00146   class RCPtr
00147   {
00149
00165     template <typename U>
00166     friend void writeAccess( RCPtr<U> &rcPtr
00167                           );
00168
00169     public:
00170       explicit RCPtr(T* pRCObj=0);
00171       RCPtr(const RCPtr& rhs);
00172       ~RCPtr();
00173       RCPtr<T>& operator=(const RCPtr<T>& rhs);
00174
00175       T* operator->();
00176       const T* operator->() const;
00177       T& operator*();
00178       const T& operator*() const;
00179
00180     private:
00181       void init();
00182       void clone();
00183
00184       // the dump pointer
00185       T * m_ptr;
00186   };
00187
00189
00193   template <typename T>
00194   class RCIPtr
00195   {
00197
00213     template <typename U>
00214     friend void writeAccess( RCIPtr<U> &rcPtr
00215                           );
00216
00217     public:
00218       explicit RCIPtr(T* pObj=0);
00219       RCIPtr(const RCIPtr& rhs);
00220       ~RCIPtr();
00221       RCIPtr<T>& operator=(const RCIPtr<T>& rhs);
00222
00223       T* operator->();
00224       const T* operator->() const;
00225       T& operator*();
00226       const T& operator*() const;
00227
00228     private:
00229       // CountHolder acts as an additional indirection and holds
00230       // a dump pointer to the opject beeing reference counted
00231       struct CountHolder : public RCObject
00232       {
00233         // destructor only gets called when the objects
00234         // reference count reaches zero
00235         ~CountHolder() { delete m_ptr; }
00236         T * m_ptr;
00237       };
00238
00239       CountHolder * m_cntHolder;
00240
00241       void init();
00242       void clone(); // copy on write
00243   };
00244
00246
00248   template <typename T>
00249   class RCObject_AutoPtr
00250   {
00251     template<typename U>
00252     friend class RCObject_AutoPtr;
00253
00254     public:
00255       explicit RCObject_AutoPtr(T * ptr=0);
00256       template <typename U>
00257       RCObject_AutoPtr(const RCObject_AutoPtr<U>& rhs);
00258       ~RCObject_AutoPtr();
00259       template <typename U>
00260       RCObject_AutoPtr<T>& operator=(const RCObject_AutoPtr<U>& rhs);
00261
00262       T * get() const;
00263       T * operator->() const;
00264       T&  operator*() const;
00265       T * release();
00266       void reset(T * ptr);
00267
00268     private:
00269       void deletePointer();
00270       T * m_ptr;
00271   };
00272
00273   //----------------------------------------------------------------------------
00274   // inline implementations following
00275   //----------------------------------------------------------------------------
00276
00277   inline void RCObject::addRef() const
00278   {
00279     ++m_refcnt;
00280   }
00281
00282   inline void RCObject::removeRef() const
00283   {
00284     __ASSERT(m_refcnt>0);
00285     if (!--m_refcnt)
00286     {
00287       delete this;
00288     }
00289   }
00290
00291   inline void RCObject::markUnshareable()
00292   {
00293     m_shareable=false;
00294   }
00295
00296   inline bool RCObject::isShareable() const
00297   {
00298     return m_shareable==true;
00299   }
00300
00301   inline bool RCObject::isShared() const
00302   {
00303     return m_refcnt>1;
00304   }
00305   //>>
00306   template <typename T>
00307   inline RCPtr<T>::RCPtr(T* pRCObj)
00308   : m_ptr(pRCObj)
00309   {
00310     init();
00311   }
00312
00313   template <typename T>
00314   inline RCPtr<T>::RCPtr(const RCPtr& rhs)
00315   : m_ptr(rhs.m_ptr)
00316   {
00317     init();
00318   }
00319
00320   template <typename T>
00321   inline RCPtr<T>::~RCPtr()
00322   {
00323     if ( m_ptr )
00324     {
00325       m_ptr->removeRef();
00326     }
00327   }
00328
00329   template <typename T>
00330   inline RCPtr<T>& RCPtr<T>::operator=(const RCPtr<T>& rhs)
00331   {
00332     if ( m_ptr != rhs.m_ptr )
00333     {
00334       // remove reference to former value first
00335       m_ptr->removeRef();
00336       m_ptr = rhs.m_ptr;
00337       init();
00338     }
00339     return *this;
00340   }
00341
00342   template <typename T>
00343   inline T* RCPtr<T>::operator->()
00344   {
00345     return m_ptr;
00346   }
00347
00348   template <typename T>
00349   inline const T* RCPtr<T>::operator->() const
00350   {
00351     return m_ptr;
00352   }
00353
00354   template <typename T>
00355   inline T& RCPtr<T>::operator*()
00356   {
00357     return *m_ptr;
00358   }
00359
00360   template <typename T>
00361   inline const T& RCPtr<T>::operator*() const
00362   {
00363     return *m_ptr;
00364   }
00365
00366   template <typename T>
00367   inline void RCPtr<T>::init()
00368   {
00369     if ( !m_ptr ) return;
00370
00371     if ( !m_ptr->isShareable() )
00372     {
00373       // deep copy required!
00374       m_ptr = new T(*m_ptr);
00375     }
00376     m_ptr->addRef();
00377   }
00378
00379   template <typename T>
00380   inline void RCPtr<T>::clone()
00381   {
00382     if ( m_ptr->isShared() )
00383     {
00384       // need to wedge off an own copy if original data is shared
00385       T * pOldVal = m_ptr; // remember the old object pointer for deep copying below
00386       m_ptr->removeRef(); // unreference the object before beeing new assigned
00387       m_ptr = new T(*pOldVal); // deep copy -> T(const T&) required!
00388       m_ptr->addRef();
00389     }
00390   }
00391   //>>
00392   template <typename T>
00393   inline RCIPtr<T>::RCIPtr(T * pObj)
00394   : m_cntHolder(new CountHolder)
00395   {
00396     m_cntHolder->m_ptr = pObj;
00397     init();
00398   }
00399
00400   template <typename T>
00401   inline RCIPtr<T>::RCIPtr(const RCIPtr<T>& rhs)
00402   : m_cntHolder(rhs.m_cntHolder)
00403   {
00404     init();
00405   }
00406
00407   template <typename T>
00408   inline RCIPtr<T>::~RCIPtr()
00409   {
00410     m_cntHolder->removeRef();
00411   }
00412
00413   template <typename T>
00414   inline RCIPtr<T>& RCIPtr<T>::operator=(const RCIPtr<T>& rhs)
00415   {
00416     if ( m_cntHolder != rhs.m_cntHolder )
00417     {
00418       m_cntHolder->removeRef(); // unreference the object before beeing new assigned
00419       m_cntHolder = rhs.m_cntHolder;
00420       init();
00421     }
00422     return *this;
00423   }
00424
00425   template <typename T>
00426   inline const T* RCIPtr<T>::operator->() const
00427   {
00428     // const access, no need for copy on write here
00429     return m_cntHolder->m_ptr;
00430   }
00431
00432   template <typename T>
00433   inline T* RCIPtr<T>::operator->()
00434   {
00435     // perform copy on write with every non-const access to the pointed-to object
00436     // clone();
00437     return m_cntHolder->m_ptr;
00438   }
00439
00440   template <typename T>
00441   inline const T& RCIPtr<T>::operator*() const
00442   {
00443     // const access, no need for copy on write here
00444     return *(m_cntHolder->m_ptr);
00445   }
00446
00447   template <typename T>
00448   inline T& RCIPtr<T>::operator*()
00449   {
00450     // perform copy on write with every non-const access to the pointed-to object
00451     // clone();
00452     return *(m_cntHolder->m_ptr);
00453   }
00454
00455   template <typename T>
00456   inline void RCIPtr<T>::init()
00457   {
00458     if ( !m_cntHolder->isShareable() )
00459     {
00460       // non-shareables must not be shared (refcnt==1)
00461       _ASSERTE(!m_cntHolder->isShared());
00462       // must not unreference unshared objects because this
00463       // would delete the pointed-to object immediately!
00464       T * pOldVal = m_cntHolder->m_ptr;
00465       m_cntHolder = new CountHolder;
00466       m_cntHolder->m_ptr = new T(*pOldVal);
00467     }
00468     m_cntHolder->addRef();
00469   }
00470
00471   template <typename T>
00472   inline void RCIPtr<T>::clone()
00473   {
00474     if ( m_cntHolder->isShared() )
00475     {
00476       T * pOldVal = m_cntHolder->m_ptr; // remember the old object pointer for deep copying below
00477       m_cntHolder->removeRef(); // unreference the object before beeing new assigned
00478       m_cntHolder = new CountHolder;
00479       m_cntHolder->m_ptr = new T(*pOldVal); // deep copy
00480       m_cntHolder->addRef();
00481     }
00482   }
00483   //>>
00484
00485   template <typename T>
00486   inline RCObject_AutoPtr<T>::RCObject_AutoPtr(T * ptr)
00487   : m_ptr(ptr)
00488   {
00489   }
00490
00491   template <typename T>
00492   template <typename U>
00493   inline RCObject_AutoPtr<T>::RCObject_AutoPtr(const RCObject_AutoPtr<U>& rhs)
00494   : m_ptr(rhs.release())
00495   {
00496     // !! don't add reference here !!
00497   }
00498
00499   template <typename T>
00500   inline RCObject_AutoPtr<T>::~RCObject_AutoPtr()
00501   {
00502     deletePointer();
00503   }
00504
00505   template <typename T>
00506   template <typename U>
00507   inline RCObject_AutoPtr<T>& RCObject_AutoPtr<T>::operator=(const RCObject_AutoPtr<U>& rhs)
00508   {
00509     if ( this != &rhs )
00510     {
00511       reset(rhs.release());
00512     }
00513     return *this;
00514   }
00515
00516   template <typename T>
00517   inline T * RCObject_AutoPtr<T>::get() const
00518   {
00519     return m_ptr;
00520   }
00521
00522   template <typename T>
00523   inline T * RCObject_AutoPtr<T>::operator->() const
00524   {
00525     return m_ptr;
00526   }
00527
00528   template <typename T>
00529   inline T&  RCObject_AutoPtr<T>::operator*() const
00530   {
00531     return *m_ptr;
00532   }
00533
00534   template <typename T>
00535   inline T * RCObject_AutoPtr<T>::release()
00536   {
00537     T * ptr = m_ptr;
00538     m_ptr = 0;
00539     return ptr;
00540   }
00541
00542   template <typename T>
00543   void RCObject_AutoPtr<T>::reset(T * ptr)
00544   {
00545     if ( m_ptr != ptr )
00546     {
00547       deletePointer();
00548       m_ptr = ptr;
00549       // !! don't ad reference here !!
00550     }
00551   }
00552
00553   template <typename T>
00554   void RCObject_AutoPtr<T>::deletePointer()
00555   {
00556     if ( m_ptr )
00557     {
00558       m_ptr->addRef();
00559       m_ptr->removeRef();
00560     }
00561   }
00562
00563   //>>
00564   template <typename T>
00565   inline void writeAccess( RCPtr<T> &rcPtr )
00566   {
00567     // perform a deep copy of the embedded object if shared
00568     rcPtr.clone();
00569   }
00570
00571   //>>
00572   template <typename T>
00573   inline void writeAccess( RCIPtr<T> &rcPtr )
00574   {
00575     // perform a deep copy of the embedded object if shared
00576     rcPtr.clone();
00577   }
00578
00579 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
00581
00596   struct addReference
00597   {
00599
00601     template <typename RCOBJPTR>
00602     RCOBJPTR operator()( RCOBJPTR pRCObject
00603                       );
00604
00606
00608     template <typename AnyType, typename RCOBJPTR>
00609       const std::pair<AnyType, RCOBJPTR>& operator()( std::pair<AnyType,RCOBJPTR>& p
00610                                             );
00611   };
00612
00613   template <typename RCOBJPTR>
00614   RCOBJPTR addReference::operator()( RCOBJPTR pRCObject )
00615   {
00616     pRCObject->addRef();
00617     return pRCObject;
00618   }
00619
00620   template <typename AnyType, typename RCOBJPTR>
00621   const std::pair<AnyType, RCOBJPTR>& addReference::operator()( std::pair<AnyType,RCOBJPTR>& p )
00622   {
00623     p.second->addRef();
00624     return p;
00625   }
00626 //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
00627
00629   struct removeReference
00630   {
00632     template <typename RCOBJPTR>
00633     RCOBJPTR operator()(RCOBJPTR pRCObject)
00634       { pRCObject->removeRef(); return pRCObject; }
00635
00637     template <typename AnyType, typename RCOBJPTR>
00638     const std::pair<AnyType, RCOBJPTR>& operator() (std::pair<AnyType,RCOBJPTR>& p)
00639       { p.second->removeRef(); return p; }
00640   };
00641
00642 } // namespace nvutil
00643
00644 #ifdef _DEFINED_DBGNEW
00645 # undef new
00646 #endif
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


Registry.h Source File

Registry.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 #if defined(_WIN32)
00018 # include "nvsgwindefs.h"
00019 # ifndef NOMINMAX
00020 #  define NOMINMAX // avoid problems with Microsoft definitions in windef.h and min/max from stl
00021 #  include <windows.h>
00022 #  include <winbase.h>
00023 #  undef NOMINMAX
00024 # else
00025 #  include <windows.h>
00026 #  include <winbase.h>
00027 # endif
00028 #endif
00029
00030 #include "nvutil/Assert.h"
00031 #include <string>
00032
00033 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00034 namespace nvutil {
00035
00036 typedef std::basic_string <TCHAR> tstring;
00037
00038 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00040 template <typename T> class RegVal
00041 {
00042 public:
00043   enum
00044   {
00045     DIRTY  = 1
00046   };
00047
00049   RegVal( const TCHAR * value_name , const TCHAR * subkey, DWORD type, HKEY root=HKEY_LOCAL_MACHINE
00050         , const T& def=T() ); // T() provides initialization for fundamental types
00052   ~RegVal() {}
00054   RegVal<T>& operator=(const T& rhs);
00056   operator const T&();
00057
00058 private:
00059   // not allowed
00060   RegVal(const RegVal<T>&) {}   // copying
00061   RegVal<T>& operator=(const RegVal<T>&) {} // assignment
00062   // for private use only
00063   DWORD create();
00064   DWORD read(T& out, DWORD nbytes);
00065   DWORD write(const T& in, DWORD nbytes);
00066
00067 private:
00068   tstring  m_name;
00069   tstring  m_subkey;
00070   DWORD   m_type;
00071   HKEY    m_root;
00072   HKEY    m_hkey;
00073   DWORD   m_flags;
00074   T       m_default;
00075   T       m_data;
00076 };
00077
00078 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00079 template <class T>
00080 inline RegVal<T>::RegVal( const TCHAR * value_name
00081                         , const TCHAR * subkey
00082                         , DWORD type
00083                         , HKEY root=HKEY_LOCAL_MACHINE
00084                         , const T& def=T() )
00085 : m_name(value_name)
00086 , m_subkey(subkey)
00087 , m_type(type)
00088 , m_root(root)
00089 , m_flags(DIRTY)
00090 , m_default(def)
00091 {
00092   if ( ERROR_SUCCESS==create() )
00093   {
00094     if ( ERROR_FILE_NOT_FOUND==read(m_data, sizeof(T)) )
00095     {
00096       if ( ERROR_SUCCESS==write(m_default, sizeof(T)) )
00097       {
00098         m_data = m_default; // update internal cache
00099         m_flags &= ~DIRTY; // no need to walk the registry with the very next read
00100       }
00101     }
00102   }
00103 }
00104
00105 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00106 template <class T>
00107 inline RegVal<T>& RegVal<T>::operator=(const T& rhs)
00108 {
00109   write(rhs, sizeof(T)); // write the registry
00110   m_data = rhs; // update internal data cache according
00111   m_flags &= ~DIRTY; // no need to walk the registry with the very next read
00112   return *this;
00113 }
00114
00115 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00116 template <class T>
00117 inline RegVal<T>::operator const T&()
00118 {
00119   if ( m_flags & DIRTY ) {
00120     // need to read the registry for valid data
00121     if ( !(ERROR_SUCCESS==read(m_data, sizeof(T))) )
00122     {
00123       // reading failed, set to default
00124       m_data = m_default;
00125     }
00126     m_flags &= ~DIRTY; // assign data cache valid, no need to walk the
00127                         // registry with the very next read
00128   }
00129   return m_data;
00130 }
00131
00132 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00133 template <class T>
00134 inline DWORD RegVal<T>::create()
00135 {
00136   DWORD err;
00137   DWORD dwDisposition;
00138
00139   // create the key if not already exists
00140   if ( ERROR_SUCCESS == (err = RegCreateKeyEx( m_root
00141                                              , m_subkey.c_str()
00142                                              , 0
00143                                              , NULL
00144                                              , REG_OPTION_NON_VOLATILE
00145                                              , KEY_ALL_ACCESS
00146                                              , NULL
00147                                              , &m_hkey
00148                                              , &dwDisposition ))
00149      )
00150   {
00151     // close key
00152     RegCloseKey(m_hkey);
00153   }
00154
00155   return err;
00156 }
00157
00158 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00159 template <class T>
00160 inline DWORD RegVal<T>::read(T& out, DWORD nbytes)
00161 {
00162   DWORD err;
00163   DWORD type;
00164
00165   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_READ, &m_hkey)) ) {
00166     err = RegQueryValueEx(m_hkey, m_name.c_str(), NULL, &type, (LPBYTE)&out, &nbytes);
00167     __ASSERT((err==ERROR_SUCCESS)==(m_type==type)); // type mismatch!
00168     RegCloseKey(m_hkey);
00169   }
00170   return err;
00171 }
00172
00173 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00174 template<class T>
00175 inline DWORD RegVal<T>::write(const T& in, DWORD nbytes)
00176 {
00177   DWORD err;
00178
00179   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_ALL_ACCESS, &m_hkey)) ) {
00180     err = RegSetValueEx(m_hkey, m_name.c_str(), NULL, m_type, (const LPBYTE)&in, nbytes);
00181     RegCloseKey(m_hkey);
00182   }
00183   return err;
00184 }
00185
00186 //  DOXYGEN can't handle template specializations (warns about no matching class member found)
00187 #if ! defined( DOXYGEN_IGNORE )
00188 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00189 // string type needs some specialization with read and write
00190 template<>
00191 inline DWORD RegVal<tstring>::read(tstring& out, DWORD nbytes)
00192 {
00193   DWORD err;
00194   DWORD type;
00195
00196   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_READ, &m_hkey)) ) {
00197     // (1) call RegQueryValueEx with output data set to NULL to get the exact byte count required
00198     if ( ERROR_SUCCESS == (err = RegQueryValueEx(m_hkey, m_name.c_str(), NULL, &type, NULL, &nbytes)) ) {
00199       // create a temporary tstring and resize its controlled sequence according
00200       // to the byte count received with the previous call to RegQueryValueEx()
00201       tstring tmp;
00202       tmp.resize(nbytes);
00203       // (2) call RegQueryValueEx with valid output buffer now to receive the requested data
00204       if ( ERROR_SUCCESS == (err = RegQueryValueEx(m_hkey, m_name.c_str(), NULL, &type, (LPBYTE)tmp.data(), &nbytes)) ) {
00205         __ASSERT((err==ERROR_SUCCESS)==(m_type==type)); // type mismatch!
00206         // assign the c-string of the temporary string object rather than the string object itself to
00207         // ensure that the length of the output string's controlled sequence matches exactly that
00208         // of the enclosed c-string
00209         out = tmp.c_str();
00210       }
00211     }
00212     RegCloseKey(m_hkey);
00213   }
00214   return err;
00215 }
00216
00217 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00218 template<>
00219 inline DWORD RegVal<tstring>::write(const tstring& in, DWORD nbytes)
00220 {
00221   DWORD err;
00222
00223   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_ALL_ACCESS, &m_hkey)) ) {
00224     err = RegSetValueEx(m_hkey, m_name.c_str(), NULL, m_type, (const LPBYTE)in.c_str(), nbytes);
00225     RegCloseKey(m_hkey);
00226   }
00227   return err;
00228 }
00229
00230 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00231 template<>
00232 inline RegVal<tstring>& RegVal<tstring>::operator=(const tstring& rhs)
00233 {
00234   // determine required byte count
00235   DWORD nbytes = (DWORD)rhs.length()+1; // including terminating 0
00236   nbytes *= sizeof(TCHAR);
00237
00238   // write to registry now
00239   write(rhs, nbytes);
00240
00241   m_data = rhs; // update internal data cache according
00242   m_flags &= ~DIRTY; // no need to walk the registry with the very next read
00243
00244   return *this;
00245 }
00246 #endif  //  DOXYGEN_IGNORE
00247
00248 } // namespace nvutil
00249
00250 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00251 // avoid tedious, repeated qualification of namespace scope
00252 //using nvutil::RegVal;
00253
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


RenderArea.h Source File

RenderArea.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Scene.h"
00018 #include "nvsg/ViewState.h"
00019 #include "nvtraverser/AppTraverser.h"
00020 #include "nvtraverser/CullTraverser.h"
00021 #include "nvtraverser/RenderTraverser.h"
00022 #include "nvui/CameraManipulator.h"
00023
00024 #include <vector>
00025
00026 namespace nvui
00027 {
00029
00033   class RenderArea
00034   {
00035     public:
00036
00038       NVSG_API virtual ~RenderArea(void);
00039
00041
00043       NVSG_API virtual bool init( RenderArea * shareArea = NULL
00044                                 );
00045
00047
00048       NVSG_API virtual void destroy( void );
00049
00051
00052       NVSG_API virtual void keyDown( UINT key
00053                                    , bool keyRepeated = false
00054                                    );
00056
00057       NVSG_API virtual void keyUp( UINT key
00058                                  );
00059
00061
00062       NVSG_API virtual void resetKeyState( void );
00063
00065
00066       NVSG_API virtual void mouseButtonDown( UINT btn
00067                                            , int x
00068                                            , int y
00069                                            );
00071
00072       NVSG_API virtual void mouseButtonUp( UINT btn
00073                                          , int x
00074                                          , int y
00075                                          );
00077
00078       NVSG_API virtual void resetButtonState( void );
00079
00081
00082       NVSG_API virtual void mouseMotion( int x
00083                                        , int y
00084                                        );
00085
00087
00090       NVSG_API virtual void renderScene( void );
00091
00093
00095       NVSG_API virtual void setViewportSize( size_t width
00096                                            , size_t height
00097                                            );
00098
00100
00106       NVSG_API bool pickCameraTargetPoint( int x
00107                                          , int y
00108                                          );
00109
00111
00114       NVSG_API nvtraverser::RenderTraverser * getRenderTraverser( void ) const;
00115
00117
00121       NVSG_API void setRenderTraverser( nvtraverser::RenderTraverser * tr
00122                              );
00123
00125
00127       NVSG_API void setAppTraverser( nvtraverser::AppTraverser * tr
00128                                    );
00129
00131
00132       NVSG_API nvtraverser::AppTraverser * getAppTraverser() const;
00133
00135
00140       NVSG_API void pushCullTraverser( nvtraverser::CullTraverser * tr
00141                                      );
00142
00144
00146       NVSG_API void popCullTraverser();
00147
00149
00150       NVSG_API size_t getNumberOfCullTraverser() const;
00151
00153
00157       NVSG_API nvtraverser::CullTraverser * getCullTraverser(size_t position) const;
00158
00160
00161       NVSG_API const nvsg::ViewState * getViewState( void ) const;
00162
00164
00166       NVSG_API void setViewState( const nvsg::ViewState * viewState );
00167
00169
00171       NVSG_API float getAspectRatio( void ) const;
00172
00174
00176       NVSG_API bool isStereoAvailable( void );
00177
00179
00180       NVSG_API void requestFSAA( bool bOn
00181                                , unsigned int numBuffers
00182                                );
00184
00185       NVSG_API void requestStereoSupport( bool bStereo
00186                                         );
00187
00189
00202       NVSG_API void setSceneData( nvui::CameraManipulator * pCamManip
00203                                 , const nvsg::Scene * pScene
00204                                 , const nvsg::ViewState * pViewState = NULL
00206                                 );
00207
00208       NVSG_API static size_t createNewRenderAreaID();
00209
00211
00213       NVSG_API virtual void triggerRedraw( void );
00214
00215     protected:
00217       NVSG_API RenderArea(void);
00218
00220       enum
00221       { _UNDEFINED    = 0x00000000
00222       , _STEREO       = 0x00000001
00223       , _MULTISAMPLE  = 0x00000002
00224       };
00225
00226       std::vector<nvtraverser::CullTraverser *>  m_cullTraverser;
00227       nvtraverser::RenderTraverser             * m_renderTraverser;
00228       nvtraverser::AppTraverser                * m_appTraverser;
00229
00230       CameraManipulator * m_camManip;
00231
00232
00233       const nvsg::Scene * m_scene;
00234       const nvsg::ViewState * m_viewState;
00235
00236       unsigned long       m_features;
00237       UINT                m_numMSBuffers;
00238       bool                m_raCreated;
00239       size_t              m_raHeight;
00240       size_t              m_raWidth;
00241
00242       static size_t       m_idRenderArea;
00243
00244
00245
00246   };
00247
00248   // - - - - - - - - - - - - - - - - - - - - - - - - - - -
00249   // inlines
00250   // - - - - - - - - - - - - - - - - - - - - - - - - - - -
00251
00252   inline float RenderArea::getAspectRatio( void ) const
00253   {
00254     __ASSERT( m_raHeight > 0 && m_raWidth > 0 );
00255
00256     if (m_raHeight > 0 && m_raWidth > 0)
00257     {
00258       return( (float) m_raWidth / m_raHeight );
00259     }
00260
00261     return 0.f; // error
00262   }
00263
00264   inline const nvsg::ViewState * RenderArea::getViewState( void ) const
00265   {
00266     return( m_viewState );
00267   }
00268
00269   inline void RenderArea::triggerRedraw()
00270   {
00271     if (m_camManip)
00272     {
00273       m_camManip->apply();
00274     }
00275   }
00276
00277   inline nvtraverser::RenderTraverser * RenderArea::getRenderTraverser( void ) const
00278   {
00279     return( m_renderTraverser );
00280   }
00281
00282   inline void RenderArea::setRenderTraverser( nvtraverser::RenderTraverser * tr )
00283   {
00284     if (m_renderTraverser)
00285     {
00286       m_renderTraverser->removeRef();
00287     }
00288
00289     m_renderTraverser = tr;
00290
00291     if (m_renderTraverser)
00292     {
00293       m_renderTraverser->addRef();
00294     }
00295   }
00296
00297   inline void RenderArea::setAppTraverser(nvtraverser::AppTraverser * tr)
00298   {
00299     if (m_appTraverser)
00300     {
00301       m_appTraverser->removeRef();
00302     }
00303
00304     m_appTraverser = tr;
00305
00306     if (m_appTraverser)
00307     {
00308       m_appTraverser->addRef();
00309     }
00310   }
00311
00312   inline nvtraverser::AppTraverser * RenderArea::getAppTraverser() const
00313   {
00314     return m_appTraverser;
00315   }
00316
00317   inline void RenderArea::pushCullTraverser(nvtraverser::CullTraverser * tr)
00318   {
00319     __ASSERT(tr);
00320
00321     m_cullTraverser.push_back(tr);
00322     tr->addRef();
00323   }
00324
00325   inline void RenderArea::popCullTraverser()
00326   {
00327     __ASSERT(!m_cullTraverser.empty());
00328
00329     m_cullTraverser.back()->removeRef();
00330     m_cullTraverser.pop_back();
00331   }
00332
00333   inline size_t RenderArea::getNumberOfCullTraverser() const
00334   {
00335     return m_cullTraverser.size();
00336   }
00337
00338   inline nvtraverser::CullTraverser * RenderArea::getCullTraverser(size_t position) const
00339   {
00340     __ASSERT(m_cullTraverser.size() > position);
00341
00342     return m_cullTraverser[position];
00343   }
00344
00345   inline size_t RenderArea::createNewRenderAreaID()
00346   {
00347     return (++m_idRenderArea);
00348   }
00349
00350 } //  namespace nvui
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


RenderTraverser.h Source File

RenderTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvtraverser/ModelViewTraverser.h"
00018 #include "nvsg/DAL.h"
00019 #include "nvutil/Incarnation.h"
00020
00021 namespace nvsg
00022 {
00023   class StateAttribute;
00024 }
00025
00026 namespace nvtraverser
00027 {
00028 // renderer type IDs
00029 enum
00030 {
00031   RT_GL  = 0x00010000
00032 , RT_DX8 = 0x00020000
00033 , RT_DX9 = 0x00040000
00034 };
00035
00037
00047 class RenderTraverser : public ModelViewTraverser
00048                       , public nvsg::DALDataCreator
00049 {
00050   public:
00051
00052     enum JitterTechnique
00053     {
00054       JT_ACCUM        = 0x01,
00055       JT_READ_PIXELS  = 0x02,
00056       JT_PBUFFER      = 0x04
00057     };
00058
00059     enum RenderTechnique
00060     {
00061       RT_POINTS       = 0x01,
00062       RT_WIREFRAME    = 0x02,
00063       RT_SHADED       = 0x04,
00064       RT_TEXTURED     = 0x10,
00065       RT_EFFECTED     = 0x20
00066     };
00067
00068     enum TransparencyTechnique
00069     {
00070       TT_NONE               = 0x01,
00071       TT_STIPPLED           = 0x02,
00072       TT_BLENDED            = 0x04,
00073       TT_ORDER_INDEPENDENT  = 0x08
00074     };
00075
00076     enum OITTechnique
00077     {
00078       OT_TEXTURE  = 0x01,
00079       OT_PBUFFER  = 0x02
00080     };
00081
00082     enum GeometryCacheTechnique
00083     {
00084       GCT_NONE    = 0x01,
00085       GCT_DL      = 0x02,
00086       GCT_VBO     = 0x04
00087     };
00088
00090
00091     NVSG_API virtual JitterTechnique getJitterTechnique( void ) const = 0;
00092
00094
00097     NVSG_API virtual bool isJitterTechniqueSupported( JitterTechnique jt
00098                                                     ) const = 0;
00099
00101
00102     NVSG_API virtual bool setJitterTechnique( JitterTechnique jt
00103                                             ) = 0;
00104
00106     //** \return The currently used render technique. */
00107     NVSG_API virtual RenderTechnique getRenderTechnique( void ) const = 0;
00108
00110
00113     NVSG_API virtual bool isRenderTechniqueSupported( RenderTechnique rt
00114                                                     ) const = 0;
00115
00117
00118     NVSG_API virtual bool setRenderTechnique( RenderTechnique rt
00119                                             ) = 0;
00120
00122     //** \return The currently used transparency technique. */
00123     NVSG_API virtual TransparencyTechnique getTransparencyTechnique( void ) const = 0;
00124
00126
00129     NVSG_API virtual bool isTransparencyTechniqueSupported( TransparencyTechnique tt
00130                                                           ) const = 0;
00131
00133
00134     NVSG_API virtual bool setTransparencyTechnique( TransparencyTechnique tt
00135                                                   ) = 0;
00136
00138     //** \return The currently used OIT technique. */
00139     NVSG_API virtual OITTechnique getOITTechnique( void ) const = 0;
00140
00142
00145     NVSG_API virtual bool isOITTechniqueSupported( OITTechnique ot
00146                                                   ) const = 0;
00147
00149
00150     NVSG_API virtual bool setOITTechnique( OITTechnique ot
00151                                           ) = 0;
00152
00154
00155     NVSG_API virtual size_t getOITMaxPasses( void ) const = 0;
00157
00158     NVSG_API virtual bool setOITMaxPasses( size_t maxPasses
00159                                           ) = 0;
00160
00162
00163     NVSG_API virtual float getOITThreshold( void ) const = 0;
00164
00166
00172     NVSG_API virtual bool setOITThreshold( float threshold
00173                                           ) = 0;
00174
00176     //** \return The currently used geometry caching technique. */
00177     NVSG_API virtual GeometryCacheTechnique getGeometryCacheTechnique( void ) const = 0;
00178
00180
00181     NVSG_API virtual bool isGeometryCacheTechniqueSupported( GeometryCacheTechnique gct
00182                                                             ) const = 0;
00183
00185
00186     NVSG_API virtual bool setGeometryCacheTechnique( GeometryCacheTechnique gct
00187                                                     ) = 0;
00188
00190
00191     NVSG_API virtual void getTextureSizeLimits( size_t &width
00192                                               , size_t &height
00193                                               ) const = 0;
00194
00196
00198     NVSG_API virtual void setTextureSizeLimits( size_t width
00199                                               , size_t height
00200                                               ) = 0;
00201
00203     NVSG_API void  setLineAntiAliasing( bool onOff
00204                                       );
00205
00207
00208     NVSG_API bool  getLineAntiAliasing( void ) const;
00209
00211
00212     NVSG_API float getLineWidth( void ) const;
00213
00215     NVSG_API void  setLineWidth( float width
00216                                );
00217
00219     NVSG_API void  setPointAntiAliasing( bool onOff
00220                                        );
00221
00223
00224     NVSG_API bool  getPointAntiAliasing( void ) const;
00225
00227
00228     NVSG_API float getPointSize( void ) const;
00229
00231     NVSG_API void  setPointSize( float size
00232                                );
00233
00234   protected:
00236     NVSG_API RenderTraverser(void);
00238     NVSG_API virtual ~RenderTraverser(void);
00239
00240     // Object handler overrides
00241     NVSG_API virtual void handleParallelCamera(const nvsg::ParallelCamera * p, const nvsg::Node * root);
00242     NVSG_API virtual void handlePerspectiveCamera(const nvsg::PerspectiveCamera * p, const nvsg::Node * root);
00243
00244     // postTraverseGroup override:
00245     // pop lights off the light stack after a group has been visited
00246     NVSG_API virtual void postTraverseGroup(const nvsg::Group *p);
00247
00248     // traverseLight override to handle a general LightSource
00249     NVSG_API virtual void traverseLight(const nvsg::LightSource * p);
00250
00252     NVSG_API virtual void disableLightSource(const nvsg::LightSource *p) = 0;
00253
00255
00258     NVSG_API size_t getCurrentLightIndex() const;
00259
00261     std::map<const nvsg::StateAttribute*, nvutil::Incarnation> m_perStateAttributeIncarnationMap;
00262
00263   private:
00264     void traverse(const nvsg::LightSource * p); // helper for general light source handling
00265     void popLights( const nvsg::Group *p ); // pop lights from light stack after a group has been visited
00266
00267     std::stack<std::pair<const nvsg::Group *,const nvsg::LightSource *> > m_lightStack; // light stack
00268     size_t m_currentLightIndex;
00269     bool  m_lineAntiAliasing;
00270     float m_lineWidth;
00271     bool  m_pointAntiAliasing;
00272     float m_pointSize;
00273 };
00274
00275 inline size_t RenderTraverser::getCurrentLightIndex() const
00276 {
00277   return m_currentLightIndex;
00278 }
00279
00280 inline void RenderTraverser::setLineAntiAliasing( bool onOff )
00281 {
00282   m_lineAntiAliasing = onOff;
00283 }
00284
00285 inline bool RenderTraverser::getLineAntiAliasing() const
00286 {
00287   return( m_lineAntiAliasing );
00288 }
00289
00290 inline float RenderTraverser::getLineWidth( void ) const
00291 {
00292   return( m_lineWidth );
00293 }
00294
00295 inline void RenderTraverser::setLineWidth( float width )
00296 {
00297   m_lineWidth = width;
00298 }
00299
00300 inline void RenderTraverser::setPointAntiAliasing( bool onOff )
00301 {
00302   m_pointAntiAliasing = onOff;
00303 }
00304
00305 inline bool RenderTraverser::getPointAntiAliasing() const
00306 {
00307   return( m_pointAntiAliasing );
00308 }
00309
00310 inline float RenderTraverser::getPointSize( void ) const
00311 {
00312   return( m_pointSize );
00313 }
00314
00315 inline void RenderTraverser::setPointSize( float size )
00316 {
00317   m_pointSize = size;
00318 }
00319
00320 }
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


resource.h Source File

resource.h

00001 //{{NO_DEPENDENCIES}}
00002 // Microsoft Visual C++ generated include file.
00003 // Used by nvsg.rc
00004
00005 // Next default values for new objects
00006 //
00007 #ifdef APSTUDIO_INVOKED
00008 #ifndef APSTUDIO_READONLY_SYMBOLS
00009 #define _APS_NEXT_RESOURCE_VALUE        101
00010 #define _APS_NEXT_COMMAND_VALUE         40001
00011 #define _APS_NEXT_CONTROL_VALUE         1001
00012 #define _APS_NEXT_SYMED_VALUE           101
00013 #endif
00014 #endif
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


stdafx.h Source File

stdafx.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 // stdafx.h : include file for standard system include files,
00013 // or project specific include files that are used frequently, but
00014 // are changed infrequently
00015 //
00016
00017 #pragma once
00018
00019 #if defined(_WIN32)
00020 #define WIN32_LEAN_AND_MEAN   // Exclude rarely-used stuff from Windows headers
00021 // Windows Header Files:
00022 #include <windows.h>
00023 #endif
00024
00025 #include "nvsg/nvsgapi.h" // NVSG storage-class defines
00026 #include "nvsg/NVSGVersion.h" // NVSG version info
00027
00028 #include "nvutil/Assert.h"
00029 #include "nvutil/Trace.h"
00030 #include "nvutil/Tools.h"
00031
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Scene.h Source File

Scene.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Animation.h"
00018 #include "nvsg/Camera.h"
00019 #include "nvsg/Node.h"
00020
00021 namespace nvmath
00022 {
00023   class Trafo;
00024 }
00025 namespace nvsg
00026 {
00027   class StateSet;
00028 }
00029
00030 namespace nvsg
00031 {
00033   class Scene : public nvutil::RCObject
00034               , public nvutil::ISWMRSync
00035   {
00036     public:
00038
00039       NVSG_API static const Scene * create( void );
00040
00042       NVSG_API void setBackColor( const nvmath::Vec3f &color
00043                                 );
00044
00046       NVSG_API const nvmath::Vec3f & getBackColor( void )  const;
00047
00049
00051       NVSG_API void addCamera( const Camera * pCamera
00052                              );
00053
00055       NVSG_API void removeCamera( size_t index
00056                                 );
00057
00059
00060       NVSG_API const Camera * getCamera( size_t index = 0
00061                                  ) const;
00062
00064
00066       NVSG_API size_t getNumberOfCameras( void ) const;
00067
00069
00072       NVSG_API size_t getNumberOfCameraAnimations( void ) const;
00073
00075
00077       NVSG_API void addCameraAnimation( const Animation<nvmath::Trafo> * pAnimation
00078                                       );
00079
00081
00082       NVSG_API const Animation<nvmath::Trafo> * getCameraAnimation( size_t index = 0
00083                                                                   ) const;
00084
00086       NVSG_API void removeCameraAnimation( size_t index
00087                                          );
00088
00090
00092       NVSG_API size_t getNumberOfFrames( void ) const;
00093
00095
00096       NVSG_API void setRootNode( const Node * root
00097                                );
00098
00100
00101       NVSG_API const Node * getRootNode( void ) const;
00102
00104
00107       NVSG_API void setDefaultStateSet( const StateSet * pStateSet
00108                                       );
00109
00111
00113       NVSG_API const StateSet * getDefaultStateSet( void ) const;
00114
00116
00118       NVSG_API void setOverrideStateSet( const StateSet * pStateSet
00119                                        );
00120
00122
00124       NVSG_API const StateSet * getOverrideStateSet( void ) const;
00125
00127
00128       NVSG_API bool containsCgFx( void ) const;
00129
00131
00132       NVSG_API bool containsLight( void ) const;
00133
00135
00136       NVSG_API bool containsTransparentMaterial( void ) const;
00137
00139
00140       NVSG_API bool containsTransparentTexture( void ) const;
00141
00143
00149       NVSG_API bool waitToRead( size_t milliseconds = 0xFFFFFFFF //<! Time-out interval, in miliseconds.
00150                               ) const;
00151
00153
00155       NVSG_API void doneReading( void ) const;
00156
00158
00164       NVSG_API bool waitToWrite( size_t milliseconds = 0xFFFFFFFF
00165                                ) const;
00166
00168
00170       NVSG_API void doneWriting( void ) const;
00171
00172     protected:
00174       NVSG_API Scene( void );
00175
00177       NVSG_API virtual ~Scene( void );
00178
00179     private:
00180       nvmath::Vec3f                                   m_backColor;
00181       std::vector<const Camera *>                     m_cameras;
00182       std::vector<const Animation<nvmath::Trafo>*>    m_cameraAnimations;
00183       const StateSet                                * m_defaultStateSet;
00184       const StateSet                                * m_overrideStateSet;
00185       const Node                                    * m_root;
00186
00187       nvutil::SWMRSync            m_lock;
00188   };
00189
00190   inline void Scene::addCamera( const Camera *pCamera )
00191   {
00192     __TRACE();
00193     m_cameras.push_back( pCamera );
00194     pCamera->addRef();
00195   }
00196
00197   inline void Scene::removeCamera( size_t index )
00198   {
00199     __TRACE();
00200     __ASSERT(index < m_cameras.size());
00201
00202     m_cameras[index]->removeRef();
00203     m_cameras.erase(m_cameras.begin()+index);
00204   }
00205
00206   inline void Scene::addCameraAnimation( const Animation<nvmath::Trafo> *pAnimation )
00207   {
00208     __TRACE();
00209     m_cameraAnimations.push_back( pAnimation );
00210     pAnimation->addRef();
00211   }
00212
00213   inline void Scene::removeCameraAnimation( size_t index )
00214   {
00215     __TRACE();
00216     __ASSERT(index < m_cameraAnimations.size());
00217
00218     m_cameraAnimations[index]->removeRef();
00219     m_cameraAnimations.erase(m_cameraAnimations.begin()+index);
00220   }
00221
00222   inline const Camera * Scene::getCamera( size_t index ) const
00223   {
00224     __TRACE();
00225     return( ( index < m_cameras.size() ) ? m_cameras[index] : NULL );
00226   }
00227
00228   inline const Animation<nvmath::Trafo> * Scene::getCameraAnimation( size_t index ) const
00229   {
00230     __TRACE();
00231     return( ( index < m_cameraAnimations.size() ) ? m_cameraAnimations[index] : NULL );
00232   }
00233
00234   inline const StateSet  * Scene::getDefaultStateSet( void ) const
00235   {
00236     __TRACE();
00237     return( m_defaultStateSet );
00238   }
00239
00240   inline const StateSet * Scene::getOverrideStateSet( void ) const
00241   {
00242     __TRACE();
00243     return( m_overrideStateSet );
00244   }
00245
00246   inline size_t Scene::getNumberOfCameras( void ) const
00247   {
00248     __TRACE();
00249     return( m_cameras.size() );
00250   }
00251
00252   inline size_t Scene::getNumberOfCameraAnimations( void ) const
00253   {
00254     __TRACE();
00255     return( m_cameraAnimations.size() );
00256   }
00257
00258   inline const Node * Scene::getRootNode( void ) const
00259   {
00260     __TRACE();
00261     return( m_root );
00262   }
00263
00264   inline size_t Scene::getNumberOfFrames( void ) const
00265   {
00266     __TRACE();
00267     __ASSERT( m_root );
00268     size_t nof = m_root->getNumberOfFrames();
00269     for ( size_t i=0 ; !nof && i<m_cameraAnimations.size() ; i++ )
00270     {
00271       nof = m_cameraAnimations[i]->getNumberOfFrames();
00272     }
00273
00274 #if defined( _DEBUG )
00275     for ( size_t i=0 ; i<m_cameraAnimations.size() ; i++ )
00276     {
00277       size_t nofca = m_cameraAnimations[i]->getNumberOfFrames();
00278       __ASSERT( ( nofca == 0 ) || ( nofca == nof ) );
00279     }
00280 #endif
00281
00282     return( nof );
00283   }
00284
00285   inline bool Scene::containsCgFx( void ) const
00286   {
00287     __TRACE();
00288     return( m_root->containsCgFx() );
00289   }
00290
00291   inline bool Scene::containsLight( void ) const
00292   {
00293     __TRACE();
00294     return( m_root->containsLight() );
00295   }
00296
00297   inline bool Scene::containsTransparentMaterial( void ) const
00298   {
00299     __TRACE();
00300     return( m_root->containsTransparentMaterial() );
00301   }
00302
00303   inline bool Scene::containsTransparentTexture( void ) const
00304   {
00305     __TRACE();
00306     return( m_root->containsTransparentTexture() );
00307   }
00308
00309   inline const nvmath::Vec3f& Scene::getBackColor( void ) const
00310   {
00311     __TRACE();
00312     return( m_backColor );
00313   }
00314
00315   inline void Scene::setBackColor( const nvmath::Vec3f &color )
00316   {
00317     __TRACE();
00318     m_backColor = color;
00319   }
00320
00321   inline bool Scene::waitToRead( size_t milliseconds ) const
00322   {
00323     __TRACE();
00324     size_t status;
00325     return m_lock.waitToRead(milliseconds, status);
00326   }
00327
00328   inline void Scene::doneReading( void ) const
00329   {
00330     __TRACE();
00331     m_lock.doneReading();
00332   }
00333
00334   inline bool Scene::waitToWrite( size_t milliseconds ) const
00335   {
00336     __TRACE();
00337     size_t status;
00338     return m_lock.waitToWrite(milliseconds, status);
00339   }
00340
00341   inline void Scene::doneWriting( void ) const
00342   {
00343     __TRACE();
00344     m_lock.doneWriting();
00345   }
00346 } //  namspace nvsg
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


SearchTraverser.h Source File

SearchTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvtraverser/Traverser.h"
00018
00019 namespace nvsg
00020 {
00021   class MonoCamera;
00022   template<typename T> class Animation;
00023   template<typename T> class InterpolatedAnimation;
00024 }
00025
00026 namespace nvtraverser
00027 {
00029
00031   class SearchTraverser : public Traverser
00032   {
00033     public:
00035       NVSG_API SearchTraverser(void);
00036
00038       typedef std::vector<const nvsg::Object*>::const_iterator iterator;
00039
00041
00042       NVSG_API const std::vector<const nvsg::Object*> & getResults( void ) const;
00043
00045
00047       NVSG_API void setClassName( const std::string& name
00048                                 );
00049
00051
00054       NVSG_API void setBaseClassSearch( bool enable
00055                                       );
00056
00057     protected:
00059       NVSG_API virtual ~SearchTraverser(void);
00060
00062       NVSG_API virtual void  doApply( const nvsg::ViewState *pViewState
00063                                     , const nvsg::Scene *pScene
00064                                     );
00065
00067       NVSG_API virtual void handleGeoNode(
00068         const nvsg::GeoNode * p
00069       );
00070
00072       NVSG_API virtual void handleGroup(
00073         const nvsg::Group * p
00074       );
00075
00077       NVSG_API virtual void handleLOD(
00078         const nvsg::LOD * p
00079       );
00080
00082       NVSG_API virtual void handleSwitch(
00083         const nvsg::Switch * p
00084       );
00085
00087       NVSG_API virtual void handleTransform(
00088         const nvsg::Transform * p
00089       );
00090
00092       NVSG_API virtual void handleAnimatedTransform(
00093         const nvsg::AnimatedTransform * p
00094       );
00095
00097       NVSG_API virtual void handleDirectedLight(
00098         const nvsg::DirectedLight * p
00099       );
00100
00102       NVSG_API virtual void handlePointLight(
00103         const nvsg::PointLight * p
00104       );
00105
00107       NVSG_API virtual void handleSpotLight(
00108         const nvsg::SpotLight * p
00109       );
00110
00112       NVSG_API virtual void handleQuads(
00113         const nvsg::Quads * p
00114       );
00115
00117       NVSG_API virtual void handleAnimatedQuads(
00118         const nvsg::AnimatedQuads * p
00119       );
00120
00122       NVSG_API virtual void handleQuadStrips(
00123         const nvsg::QuadStrips * p
00124       );
00125
00127       NVSG_API virtual void handleTriangles(
00128         const nvsg::Triangles * p
00129       );
00130
00132
00133       NVSG_API virtual void handleAnimatedTriangles(
00134         const nvsg::AnimatedTriangles * p
00135       );
00136
00138       NVSG_API virtual void handleSkinnedTriangles(
00139         const nvsg::SkinnedTriangles * p
00140       );
00141
00143       NVSG_API virtual void handleTriStrips(
00144         const nvsg::TriStrips * p
00145       );
00146
00148       NVSG_API virtual void handleStateSet(
00149         const nvsg::StateSet * p
00150       );
00151
00153       NVSG_API virtual void handleCgFx(
00154         const nvsg::CgFx * p
00155       );
00156
00158       NVSG_API virtual void handleFaceAttribute(
00159         const nvsg::FaceAttribute * p
00160       );
00161
00163       NVSG_API virtual void handleMaterial(
00164         const nvsg::Material * p
00165       );
00166
00168
00169       NVSG_API virtual void handleTextureAttribute(
00170         const nvsg::TextureAttribute * p
00171       );
00172
00174       NVSG_API virtual void handleJitterCamera(
00175         const nvsg::JitterCamera * p
00176       , const nvsg::Node * root
00177       );
00178
00180       NVSG_API virtual void handleParallelCamera(
00181         const nvsg::ParallelCamera * p
00182       , const nvsg::Node * root
00183       );
00184
00186
00187       NVSG_API virtual void handlePerspectiveCamera(
00188         const nvsg::PerspectiveCamera * p
00189       , const nvsg::Node * root
00190       );
00191
00193       NVSG_API virtual void handleStereoCamera(
00194         const nvsg::StereoCamera * p
00195       , const nvsg::Node * root
00196       );
00197
00199       NVSG_API virtual void handleFramedTrafoAnimation(
00200         const nvsg::FramedAnimation<nvmath::Trafo> * p
00201       );
00202
00204
00205       NVSG_API virtual void handleFramedVNVectorAnimation(
00206         const nvsg::FramedAnimation<nvsg::VNVector> * p
00207       );
00208
00210       NVSG_API virtual void handleLinearInterpolatedTrafoAnimation(
00211         const nvsg::LinearInterpolatedAnimation<nvmath::Trafo> * p
00212       );
00213
00215       NVSG_API virtual void handleLinearInterpolatedVNVectorAnimation(
00216         const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> * p
00217       );
00218
00219
00221
00222       NVSG_API virtual void search( const nvsg::Animation<nvmath::Trafo> *p
00223                                     );
00224
00226
00227       NVSG_API virtual void search( const nvsg::Animation<nvsg::VNVector> *p
00228                                     );
00229
00231
00232       NVSG_API virtual void  search( const nvsg::Camera *p
00233                                    );
00234
00236
00237       NVSG_API virtual void  search( const nvsg::Drawable *p
00238                                    );
00239
00241
00242       NVSG_API virtual void  search( const nvsg::GeoSet *p
00243                                    );
00244
00246
00247       NVSG_API virtual void search( const nvsg::Group *p
00248         );
00249
00251
00252       NVSG_API virtual void  search( const nvsg::InterpolatedAnimation<nvmath::Trafo> *p
00253                                    );
00254
00256
00257       NVSG_API virtual void  search( const nvsg::InterpolatedAnimation<nvsg::VNVector> *p
00258                                    );
00259
00261
00262       NVSG_API virtual void  search( const nvsg::LightSource *p
00263                                    );
00264
00266
00267       NVSG_API virtual void  search( const nvsg::MonoCamera *p
00268                                    );
00269
00271
00272       NVSG_API virtual void  search( const nvsg::Node *p
00273                                    );
00274
00276
00277       NVSG_API virtual void  search( const nvsg::Object *p
00278                                    );
00279
00281
00282       NVSG_API virtual void search( const nvsg::Quads *p
00283         );
00284
00286
00287       NVSG_API virtual void  search( const nvsg::StateAttribute *p
00288                                    );
00289
00291
00292       NVSG_API virtual void search( const nvsg::Transform *p
00293         );
00294
00296
00297       NVSG_API virtual void search( const nvsg::Triangles *p
00298         );
00299
00300     private:
00301       void  addItem( const nvsg::Object* T );
00302
00303       bool                        m_searchBaseClass;
00304       std::string                 m_className;
00305       std::vector<const nvsg::Object*>  m_results;
00306   };
00307
00308   inline const std::vector<const nvsg::Object*> & SearchTraverser::getResults( void ) const
00309   {
00310     return( m_results );
00311   }
00312
00313   inline  void  SearchTraverser::setClassName( const std::string& name )
00314   {
00315     m_className = name;
00316   }
00317
00318   inline  void  SearchTraverser::setBaseClassSearch( bool enable )
00319   {
00320     m_searchBaseClass = enable;
00321   }
00322
00323 }
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


SimpleCamera.h Source File

SimpleCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vec2f.h"
00018 #include "nvmath/Vec3f.h"
00019 #include "nvmath/Mat44f.h"
00020 #include "nvmath/Quatf.h"
00021 #include "nvsg/MonoCamera.h"
00022
00023 namespace nvsg
00024 {
00026
00027   class SimpleCamera : public MonoCamera
00028   {
00029     public:
00031       NVSG_API virtual const SimpleCamera * clone( void ) const = 0;
00032
00034
00035       NVSG_API virtual bool isDataShared() const;
00036
00038
00039       NVSG_API virtual DataID getDataID() const;
00040
00041       //
00042       // stereo stuff
00043       //
00044
00046
00047       NVSG_API virtual float getProjectionDx() const;
00048
00050       NVSG_API virtual void setProjectionDx( float dx
00051                                            );
00052
00053       //
00054       // head light interface
00055       //
00056
00058
00059       NVSG_API virtual size_t  getNumberOfHeadLights() const;
00060
00062
00063       NVSG_API virtual const LightSource * getHeadLight( size_t index
00064                                                        ) const;
00065
00067
00068       NVSG_API virtual bool setHeadLightTrafo( const nvmath::Vec3f &trans
00069                                              , const nvmath::Quatf &quat
00070                                              , size_t index = 0
00071                                              );
00072
00074
00075       NVSG_API virtual void getHeadLightTrafo(
00076         nvmath::Vec3f &trans
00077       , nvmath::Quatf &quat
00078       , size_t index = 0
00079       ) const;
00080
00082
00085       NVSG_API virtual void addHeadLight(
00086         const LightSource * pLight
00087       , const nvmath::Vec3f &position = nvmath::Vec3f( 0.0f, 0.0f, 0.0f )
00088       , const nvmath::Quatf &quat     = nvmath::Quatf( 0.0f, 0.0f, 0.0f, 1.0f )
00089       );
00090
00092
00093       NVSG_API virtual bool removeHeadLight( size_t index = 0
00094                                            );
00095
00096       //
00097       // basic camera interface
00098       //
00099
00101
00102       NVSG_API virtual float getTargetDistance() const;
00103
00105       NVSG_API virtual void setTargetDistance( float td
00106                                              );
00107
00109
00110       NVSG_API virtual const nvmath::Vec3f & getPosition() const;
00111
00113       NVSG_API virtual void setPosition( const nvmath::Vec3f& pos
00114                                        );
00115
00117
00118       NVSG_API virtual nvmath::Vec3f getUpVector() const;
00119
00121       NVSG_API virtual void setUpVector( const nvmath::Vec3f &up
00122                                        );
00123
00125
00127       NVSG_API virtual nvmath::Vec3f getDirection() const;
00128
00130       NVSG_API virtual void setDirection( const nvmath::Vec3f& dir
00131                                         );
00132
00134       NVSG_API virtual void setOrientation( const nvmath::Quatf &quat
00135                                           );
00136
00138       NVSG_API virtual void setOrientation( const nvmath::Vec3f &dir
00139                                           , const nvmath::Vec3f &up
00140                                           );
00141
00143       NVSG_API virtual void setOrientation( const nvmath::Vec3f &axis
00144                                           , float angle
00145                                           );
00146
00148
00149       NVSG_API virtual nvmath::Quatf getOrientation( void ) const;
00150
00152
00153       NVSG_API virtual nvmath::Mat44f getWorldToViewMatrix() const;
00154
00156
00157       NVSG_API virtual nvmath::Mat44f getViewToWorldMatrix()  const;
00158
00160       NVSG_API virtual void setWindowOffset( const nvmath::Vec2f &offset
00161                                            );
00162
00164
00165       NVSG_API virtual const nvmath::Vec2f & getWindowOffset() const;
00166
00168       NVSG_API virtual void setWindowSize( const nvmath::Vec2f &size
00169                                          );
00170
00172
00173       NVSG_API virtual const nvmath::Vec2f & getWindowSize() const;
00174
00176       NVSG_API virtual void setAspectRatio( float ar
00177                                           , bool keepWidth = false
00178                                           );
00179
00181
00182       NVSG_API virtual float getAspectRatio() const;
00183
00185       NVSG_API virtual void setWindowRegion( const nvmath::Vec2f &lowerLeft
00186                                            , const nvmath::Vec2f &upperRight
00187                                            );
00188
00190       NVSG_API virtual void getWindowRegion( nvmath::Vec2f &lowerLeft
00191                                            , nvmath::Vec2f &upperRight
00192                                            ) const;
00193
00195       NVSG_API virtual void setAutoClipPlanes( bool on
00196                                              );
00197
00199
00202       NVSG_API virtual bool isAutoClipPlanes() const;
00203
00205
00207       NVSG_API virtual void calcNearFarDistances( const nvmath::Sphere3f &sphere
00208                                                 );
00209
00211       NVSG_API virtual void setNearDistance( float nd
00212                                            );
00213
00215
00217       NVSG_API virtual float getNearDistance() const;
00218
00220
00222       NVSG_API virtual float getFarDistance() const;
00223
00225       NVSG_API virtual void setFarDistance( float fd
00226                                           );
00227
00228       //
00229       // operations to perform on a camera
00230       //
00231
00233       NVSG_API virtual void move( const nvmath::Vec3f& delta
00234                                 );
00235
00237       NVSG_API virtual void orbit( const nvmath::Vec3f& axis
00238                                  , float rad
00239                                  );
00240
00242       NVSG_API virtual void rotate( const nvmath::Vec3f& axis
00243                                   , float rad
00244                                   , bool  cameraRelative = true
00245                                   );
00246
00248       NVSG_API virtual void zoom( float factor
00249                                 );
00250
00252       NVSG_API virtual void zoom( const nvmath::Sphere3f &sphere
00253                                 , float fovy = -1.0f
00254                                 );
00255
00256     protected:
00258       NVSG_API SimpleCamera();
00259
00261       NVSG_API SimpleCamera( const SimpleCamera& rhs
00262                            );
00263
00265       NVSG_API virtual ~SimpleCamera();
00266
00267     private:
00268       std::vector<const LightSource *>  m_headLights;
00269
00270       nvmath::Quatf m_orientation;
00271       nvmath::Vec3f  m_position;
00272       float          m_targDist;
00273
00274       bool  m_isAutoClipPlanes;
00275       float m_farDist;
00276       float m_nearDist;
00277
00278       float m_projectionDx;
00279
00280       nvmath::Vec2f m_windowSize;
00281       nvmath::Vec2f m_windowOffset;
00282       nvmath::Vec2f m_lowerLeft;
00283       nvmath::Vec2f m_upperRight;
00284   };
00285
00286   inline const LightSource * SimpleCamera::getHeadLight( size_t index ) const
00287   {
00288     __TRACE();
00289     __ASSERT( index < m_headLights.size() );
00290     return m_headLights[index];
00291   }
00292
00293 } // namespace
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


Singleton.h Source File

Singleton.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 namespace nvutil {
00018
00020
00022 template <typename T>
00023 class Singleton
00024 {
00025 public:
00027
00029   static T* instance();
00030
00031 private:
00032   // not permitted
00033   // client must call Singleton<T>::instance() for instantiation
00034   Singleton() {}
00035   Singleton(const Singleton<T>&) {}
00036   ~Singleton() {}
00037   // also not permitted
00038   Singleton<T>& operator=(const Singleton<T>&) {}
00039
00040 private:
00041   static NVSG_API T m_instance;
00042 };
00043
00044 template <typename T>
00045 inline T* Singleton<T>::instance()
00046 {
00047   return &m_instance;
00048 };
00049
00050 } // namespace nvutil
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


SkinnedTriangles.h Source File

SkinnedTriangles.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Trafo.h"
00018 #include "nvsg/Animation.h"
00019 #include "nvsg/Triangles.h"
00020
00021 #ifdef _DEBUG
00022 # ifndef new
00023 #  define new new(__FILE__, __LINE__)
00024 #  define _DEFINED_DBGNEW // restrict the 'new' macro to this header file only
00025 # endif
00026 #endif
00027
00028
00029 namespace nvsg
00030 {
00032
00036   class Bone
00037   {
00038     public:
00040       Bone( void );
00041
00043       Bone( const Bone &rhs );
00044
00046       ~Bone( void );
00047
00048     public:
00050
00053       nvmath::Vec4f operator()( size_t frame, const nvmath::Vec4f &v )  const;
00054
00056
00057       const Animation<nvmath::Trafo> * getAnimation( void ) const;
00058
00060
00061       const nvmath::Mat44f & getMatrix( size_t frame
00062                                       ) const;
00063
00065
00066       float getWeight( void ) const;
00067
00069
00070       NVSG_API void setAnimation( const Animation<nvmath::Trafo> *pAnimation
00071                                 );
00072
00074
00076       void setInverse( const nvmath::Mat44f &inverse
00077                      );
00078
00080
00081       void setMatrix( const nvmath::Mat44f& trafo
00082                     );
00083
00085
00086       void setWeight( float weight
00087                     );
00088
00089     private:
00090       nvmath::Mat44f              m_baseInverse;
00091       const Animation<nvmath::Trafo>  * m_animation;
00092       float               m_weight;
00093
00094       mutable size_t  m_currFrame;
00095       mutable nvmath::Mat44f  m_currTrafo;
00096   };
00097
00098   inline Bone::Bone( void )
00099   : m_animation(NULL)
00100   , m_currFrame(0xFFFFFFFF)
00101   {
00102     __TRACE();
00103   }
00104
00105   inline Bone::Bone( const Bone &rhs )
00106   : m_baseInverse( rhs.m_baseInverse )
00107   , m_weight( rhs.m_weight )
00108   , m_currFrame( rhs.m_currFrame )
00109   , m_currTrafo( rhs.m_currTrafo )
00110   {
00111     __TRACE();
00112     m_animation = rhs.m_animation;
00113     if ( m_animation )
00114     {
00115       m_animation->addRef();
00116     }
00117   }
00118
00119   inline Bone::~Bone( void )
00120   {
00121     __TRACE();
00122     if ( m_animation )
00123     {
00124       m_animation->removeRef();
00125     }
00126   }
00127
00128   inline nvmath::Vec4f Bone::operator()( size_t frame, const nvmath::Vec4f &vIn ) const
00129   {
00130     __TRACE();
00131     nvmath::Vec4f vOut;
00132     if ( m_animation )
00133     {
00134       vOut = (*m_animation)[frame].getMatrix() * m_baseInverse * vIn * m_weight;
00135     }
00136     else
00137     {
00138       vOut = vIn * m_weight;
00139     }
00140     return( vOut );
00141   }
00142
00143   inline const Animation<nvmath::Trafo> * Bone::getAnimation( void ) const
00144   {
00145     __TRACE();
00146     return( m_animation );
00147   }
00148
00149   inline const nvmath::Mat44f & Bone::getMatrix( size_t frame ) const
00150   {
00151     __TRACE();
00152     if ( m_animation )
00153     {
00154       if ( m_currFrame != frame )
00155       {
00156         m_currTrafo = (*m_animation)[frame].getMatrix();
00157         m_currFrame = frame;
00158       }
00159     }
00160     return( m_currTrafo );
00161   }
00162
00163   inline float Bone::getWeight( void ) const
00164   {
00165     __TRACE();
00166     return( m_weight );
00167   }
00168
00169   inline void Bone::setAnimation( const Animation<nvmath::Trafo> *pAnimation )
00170   {
00171     __TRACE();
00172     if ( m_animation != pAnimation )
00173     {
00174       if ( m_animation )
00175       {
00176         m_animation->removeRef();
00177       }
00178       m_animation = pAnimation;
00179       if ( m_animation )
00180       {
00181         m_animation->addRef();
00182
00183         const nvmath::Trafo trafo = (*m_animation)[0];
00184         nvmath::Quatf rot = trafo.getOrientation();
00185         nvmath::Vec3f pos = trafo.getTranslation();
00186         m_baseInverse = nvmath::Mat44f( nvmath::Vec3f( 0.0f, 0.0f, 0.0f ), nvmath::Quatf( rot[0], rot[1], rot[2], -rot[3] ) )
00187
00188                       * nvmath::Mat44f( nvmath::Vec4f( 1.0f, 0.0f, 0.0f, -pos[0] ),
00189                                 nvmath::Vec4f( 0.0f, 1.0f, 0.0f, -pos[1] ),
00190                                 nvmath::Vec4f( 0.0f, 0.0f, 1.0f, -pos[2] ),
00191                                 nvmath::Vec4f( 0.0f, 0.0f, 0.0f, 1.0f ) );
00192         m_currFrame   = 0;
00193         m_currTrafo   = nvmath::Mat44f( pos, rot );
00194       }
00195       else
00196       {
00197         m_currFrame = 0xFFFFFFFF;
00198       }
00199     }
00200   }
00201
00202   inline void Bone::setInverse( const nvmath::Mat44f &inverse )
00203   {
00204     __TRACE();
00205     m_baseInverse = inverse;
00206   }
00207
00208   inline void Bone::setMatrix( const nvmath::Mat44f &trafo )
00209   {
00210     __TRACE();
00211     m_currTrafo = trafo;
00212     m_currFrame = 0xFFFFFFFF;
00213   }
00214
00215   inline void Bone::setWeight( float weight )
00216   {
00217     __TRACE();
00218     m_weight = weight;
00219   }
00220
00222
00229   typedef struct
00230   {
00231     std::vector<Bone>  m_bones;
00232     nvmath::Vec3f         m_normal;
00233     nvmath::Vec3f         m_vertex;
00234   } Skin;
00235
00237
00239   class SkinnedTriangles : public Triangles
00240   {
00241     public:
00243
00244       NVSG_API static const SkinnedTriangles * create( void );
00245
00247
00248       NVSG_API static const SkinnedTriangles * createFromBase( const Triangles &rhs );
00249
00251
00252       NVSG_API virtual const SkinnedTriangles * clone( void ) const;
00253
00255
00256       NVSG_API virtual bool isDataShared( void ) const;
00257
00259
00260       NVSG_API virtual DataID getDataID( void ) const;
00261
00263
00264       NVSG_API virtual size_t getNumberOfFrames( void ) const;
00265
00267
00269       NVSG_API size_t getNumberOfSkins( void ) const;
00270
00272
00273       NVSG_API const Skin * getSkins( void ) const;
00274
00276
00278       NVSG_API void setAnimationFrame( size_t frame
00279                                      , bool bCalculateTangentSpace
00280                                      );
00281
00283
00284       NVSG_API void setNormals( const nvmath::Vec3f * pNor
00285                               , size_t numNor
00286                               );
00287
00289
00290       NVSG_API void setNormals( size_t pos // Start position
00291                               , const nvmath::Vec3f * pNor
00292                               , size_t numNor
00293                               );
00295
00296       NVSG_API void setSkins( const Skin *pSkins
00297                             , size_t numSkins
00298                             );
00299
00301
00313       NVSG_API void setSkins( size_t pos
00314                             , const Skin *pSkins
00315                             , size_t numSkins );
00316
00317     protected:
00319       NVSG_API SkinnedTriangles( void );
00320
00322       NVSG_API SkinnedTriangles( const Triangles &rhs );
00323
00325       NVSG_API SkinnedTriangles( const SkinnedTriangles &rhs );
00326
00328       NVSG_API virtual ~SkinnedTriangles( void );
00329
00330     private:
00331       nvutil::RCPtr<nvutil::RCVector<Skin> >  m_skins; // sharable skins
00332   };
00333
00334   // - - - - - - - - - - - - - - - - - - - - - - - - -
00335   // inlines
00336   // - - - - - - - - - - - - - - - - - - - - - - - - -
00337
00338   inline size_t SkinnedTriangles::getNumberOfSkins( void )  const
00339   {
00340     __TRACE();
00341     return( m_skins->size() );
00342   }
00343
00344   inline const Skin * SkinnedTriangles::getSkins( void )  const
00345   {
00346     __TRACE();
00347     return( &(*m_skins)[0] );
00348   }
00349
00350 } //  namespace nvsg
00351
00352 #ifdef _DEFINED_DBGNEW
00353 # undef new
00354 #endif
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


SmoothTraverser.h Source File

SmoothTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvtraverser/Traverser.h"
00018
00019 namespace nvtraverser
00020 {
00022
00024   class SmoothTraverser : public Traverser
00025   {
00026     public:
00028       NVSG_API SmoothTraverser(void);
00029
00031       NVSG_API void  setCreaseAngle( float creaseAngle );
00032
00033     protected:
00035       NVSG_API virtual ~SmoothTraverser(void);
00036
00038
00039       NVSG_API virtual void  handleAnimatedQuads(
00040         const nvsg::AnimatedQuads *p
00041       );
00042
00044
00045       NVSG_API virtual void  handleAnimatedTriangles(
00046         const nvsg::AnimatedTriangles *p
00047       );
00048
00050
00051       NVSG_API virtual void  handleGeoNode(
00052         const nvsg::GeoNode *p
00053       );
00054
00056       NVSG_API virtual void  handleQuads(
00057         const nvsg::Quads *p
00058       );
00059
00061
00062       NVSG_API virtual void  handleQuadStrips(
00063         const nvsg::QuadStrips *p
00064       );
00065
00067
00068       NVSG_API virtual void  handleSkinnedTriangles(
00069         const nvsg::SkinnedTriangles *p
00070       );
00071
00073       NVSG_API virtual void  handleTriangles(
00074         const nvsg::Triangles *p
00075       );
00076
00078
00079       NVSG_API virtual void  handleTriStrips(
00080         const nvsg::TriStrips *p
00081       );
00082
00083     private:
00084       float                                 m_creaseAngle;
00085       std::vector<const nvsg::GeoSet*>                       m_geoSets;
00086       std::vector<std::pair<const nvsg::QuadStrips*,const nvsg::Quads*> >     m_quadStripsQuads;
00087       std::vector<std::pair<const nvsg::TriStrips*,const nvsg::Triangles*> >  m_triStripsTriangles;
00088   };
00089 }
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


Sphere3f.h Source File

Sphere3f.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vec3f.h"
00018
00019 namespace nvmath
00020 {
00022   class Sphere3f
00023   {
00024     public:
00026
00027       NVSG_API Sphere3f( void );
00028
00030       NVSG_API Sphere3f( const Vec3f &center
00031                        , float radius
00032                        );
00033
00035
00036       NVSG_API Sphere3f & operator=( const Sphere3f &sphere
00037                                    );
00038
00040
00041       NVSG_API bool operator==( const Sphere3f& sphere
00042                               ) const;
00043
00045
00046       NVSG_API bool operator!=( const Sphere3f& sphere
00047                               ) const;
00048
00050
00053       NVSG_API float operator()( const Vec3f &p
00054                                ) const;
00055
00057
00058       NVSG_API const Vec3f & getCenter( void ) const;
00059
00061       NVSG_API void setCenter( const Vec3f &center
00062                              );
00063
00065
00066       NVSG_API float getRadius( void ) const;
00067
00069       NVSG_API void setRadius( float radius
00070                              );
00071
00072     private:
00073       Vec3f m_center;
00074       float m_radius;
00075   };
00076
00077   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00078   // non-member functions
00079   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00084   Sphere3f boundingSphere( const Vec3f *points
00085                          , size_t numberOfPoints
00086                          );
00087
00091   Sphere3f boundingSphere( const Sphere3f &s
00092                          , const Vec3f &p
00093                          );
00094
00098   Sphere3f boundingSphere( const Sphere3f &s0
00099                          , const Sphere3f &s1
00100                          );
00101
00102   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00103   // inlines
00104   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00105   inline Sphere3f::Sphere3f( void )
00106   {
00107   }
00108
00109   inline Sphere3f::Sphere3f( const Vec3f &center, float radius )
00110     : m_center(center)
00111     , m_radius(radius)
00112   {
00113   }
00114
00115   inline Sphere3f & Sphere3f::operator=( const Sphere3f &sphere )
00116   {
00117     m_center = sphere.m_center;
00118     m_radius = sphere.m_radius;
00119     return( *this );
00120   }
00121
00122   inline bool Sphere3f::operator==( const Sphere3f &sphere ) const
00123   {
00124     return( ( m_center == sphere.m_center ) && ( fabsf( m_radius - sphere.m_radius ) < FLT_EPSILON ) );
00125   }
00126
00127   inline bool Sphere3f::operator!=( const Sphere3f &sphere ) const
00128   {
00129     return( ! (this->operator==( sphere )) );
00130   }
00131
00132   inline float Sphere3f::operator()( const Vec3f &p ) const
00133   {
00134     return( distance( m_center, p ) - m_radius );
00135   }
00136
00137   inline const Vec3f & Sphere3f::getCenter( void ) const
00138   {
00139     return( m_center );
00140   }
00141
00142   inline void Sphere3f::setCenter( const Vec3f &center )
00143   {
00144     m_center = center;
00145   }
00146
00147   inline float Sphere3f::getRadius( void ) const
00148   {
00149     return( m_radius );
00150   }
00151
00152   inline void Sphere3f::setRadius( float radius )
00153   {
00154     m_radius = radius;
00155   }
00156
00158   extern NVSG_API const Sphere3f cUnitSphere;
00159
00160 } // end namspace nvmath
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


SpotLight.h Source File

SpotLight.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/LightSource.h"
00018 #include  "nvmath/Vec3f.h"
00019
00020 namespace nvsg
00021 {
00022   /*  NOTE: A SpotLight does NOT contain a position or direction !
00023       As a special PointLight it is assumed to be positioned on the origin.
00024       Furthermore, it is assumed to be directed in the negative z-direction (just as a DirectedLight).
00025       Any changes to these must be performed by a Transform node.
00026   */
00027
00029
00040   class SpotLight : public LightSource
00041   {
00042     public:
00044
00045       NVSG_API static const SpotLight * create( void );
00046
00048
00049       NVSG_API static const SpotLight * createFromBase( const LightSource &rhs
00050                                                        );
00051
00053
00054       NVSG_API virtual const SpotLight * clone( void ) const;
00055
00057
00058       NVSG_API virtual bool isDataShared( void ) const;
00059
00061
00062       NVSG_API virtual DataID getDataID( void ) const;
00063
00065
00066       NVSG_API const nvmath::Vec3f& getAttenuation( void ) const;
00067
00069
00072       NVSG_API bool isAttenuated( void ) const;
00073
00075
00078       NVSG_API void  getAttenuation( float &c
00079                                    , float &l
00080                                    , float &q
00081                                    ) const;
00082
00084
00087       NVSG_API void setAttenuation( float c
00088                                   , float l
00089                                   , float q
00090                                   );
00091
00093
00095       NVSG_API float getCutoffAngle( void ) const;
00096
00098
00099       NVSG_API void setCutoffAngle( float ca
00100                                  );
00101
00103
00106       NVSG_API float getFalloffExponent( void ) const;
00107
00109
00111       NVSG_API void setFalloffExponent( float fe
00112                                       );
00113
00114     protected:
00116       NVSG_API SpotLight( void );
00117
00119       NVSG_API SpotLight( const LightSource &rhs );
00120
00122       NVSG_API SpotLight( const SpotLight &rhs );
00123
00125       NVSG_API virtual ~SpotLight( void );
00126
00127     private:
00128       nvmath::Vec3f m_attenuation;
00129       float m_cutoffAngle;
00130       float m_falloffExponent;
00131   };
00132
00133   inline  const nvmath::Vec3f&  SpotLight::getAttenuation()  const
00134   {
00135     __TRACE();
00136     return m_attenuation;
00137   }
00138
00139   inline  void  SpotLight::getAttenuation( float &c, float &l, float &q )  const
00140   {
00141     __TRACE();
00142     c = m_attenuation[0];
00143     l = m_attenuation[1];
00144     q = m_attenuation[2];
00145   }
00146
00147   inline  float SpotLight::getCutoffAngle( void )  const
00148   {
00149     __TRACE();
00150     return( m_cutoffAngle );
00151   }
00152
00153   inline  float SpotLight::getFalloffExponent( void )  const
00154   {
00155     __TRACE();
00156     return( m_falloffExponent );
00157   }
00158
00159   inline  bool  SpotLight::isAttenuated( void )  const
00160   {
00161     __TRACE();
00162     return(   ( m_attenuation[0] != 1.0f )
00163           ||  ( m_attenuation[1] != 0.0f )
00164           ||  ( m_attenuation[2] != 0.0f )
00165           );
00166   }
00167
00168   inline  void  SpotLight::setAttenuation( float c, float l, float q )
00169   {
00170     __TRACE();
00171     m_attenuation[0] = c;
00172     m_attenuation[1] = l;
00173     m_attenuation[2] = q;
00174   }
00175
00176   inline  void  SpotLight::setCutoffAngle( float ca )
00177   {
00178     __TRACE();
00179     m_cutoffAngle = ca;
00180   }
00181
00182   inline  void  SpotLight::setFalloffExponent( float fe )
00183   {
00184     __TRACE();
00185     m_falloffExponent = fe;
00186   }
00187 } //  namespace nvsg
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


StateAttribute.h Source File

StateAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Object.h"
00018 #include "nvutil/Incarnation.h"
00019
00020 namespace nvsg
00021 {
00022   class StateSet;
00023
00025
00026   class StateAttribute : public Object
00027   {
00028     public:
00030       NVSG_API virtual const StateAttribute * clone( void ) const = 0;
00031
00033
00034       NVSG_API virtual bool isDataShared( void ) const;
00035
00037
00038       NVSG_API virtual DataID getDataID( void ) const;
00039
00041
00042       NVSG_API const nvutil::Incarnation& getIncarnation( void ) const;
00043
00045
00046       NVSG_API size_t getNumberOfParents( void ) const;
00047
00049
00050       NVSG_API const StateSet * getParent( size_t index
00051                                          ) const;
00052
00054
00055       NVSG_API virtual bool containsTransparentMaterial( void ) const;
00056
00058
00059       NVSG_API virtual void invalidateTransparentMaterialContainment( void );
00060
00062
00063       NVSG_API virtual bool containsTransparentTexture( void ) const;
00064
00066
00067       NVSG_API virtual void invalidateTransparentTextureContainment( void );
00068
00069     protected:
00071       NVSG_API StateAttribute( void );
00073       NVSG_API StateAttribute(const StateAttribute& rhs);
00074
00076       NVSG_API virtual ~StateAttribute( void );
00077
00078     protected:
00079       nvutil::Incarnation m_incarnation;
00080
00081     private:
00082       // A StateAttribute can be the child of more than one parent.
00083       // The child-to-parent connection is used, for example, for
00084       // invalidating the parent's transparent Material containment flag.
00085       friend class StateSet;
00086       NVSG_API void addParent( const StateSet * stateSet );
00087       NVSG_API void removeParent( const StateSet * stateSet );
00088
00089     private:
00090       std::vector<const StateSet*> m_parents;
00091   };
00092
00093   inline size_t StateAttribute::getNumberOfParents( void ) const
00094   {
00095     __TRACE();
00096     return( m_parents.size() );
00097   }
00098
00099   inline const StateSet * StateAttribute::getParent( size_t index ) const
00100   {
00101     __TRACE();
00102     __ASSERT( index < m_parents.size() );
00103     return( m_parents[index] );
00104   }
00105
00106   inline const nvutil::Incarnation& StateAttribute::getIncarnation( void ) const
00107   {
00108     __TRACE();
00109     return m_incarnation;
00110   }
00111
00112 } //  namespace nvsg
00113
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


StateSet.h Source File

StateSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Object.h"
00018 #include <vector>
00019
00020 namespace nvsg
00021 {
00022   class GeoNode;
00023   class StateAttribute;
00024
00026
00029   class StateSet : public Object
00030   {
00031     public:
00033
00034       NVSG_API static const StateSet * create( void );
00035
00037
00038       NVSG_API static const StateSet * createFromBase( const Object &rhs );
00039
00041
00042       NVSG_API virtual const StateSet * clone( void ) const;
00043
00045
00046       NVSG_API virtual bool isDataShared( void ) const;
00047
00049
00050       NVSG_API virtual DataID getDataID( void ) const;
00051
00053
00059       NVSG_API void addAttribute( const StateAttribute *attrib
00060                                 );
00061
00063
00064       NVSG_API size_t getNumberOfAttributes( void ) const;
00065
00067
00069       NVSG_API const StateAttribute * getAttribute( size_t index
00070                                                   ) const;
00071
00073
00075       NVSG_API const StateAttribute * getAttributeByObjectCode( unsigned int oc
00076                                                               ) const;
00077
00079
00080       NVSG_API bool removeAttribute( const StateAttribute * attrib
00081                                    );
00082
00084
00085       NVSG_API bool removeAttribute( size_t index
00086                                    );
00087
00089
00091       NVSG_API bool removeAttributeByObjectCode( unsigned int oc
00092                                                );
00093
00095
00096       NVSG_API size_t getNumberOfOwners( void ) const;
00097
00099
00100       NVSG_API const GeoNode * getOwner( size_t index
00101                                        ) const;
00102
00104
00105       NVSG_API virtual bool containsCgFx( void ) const;
00106
00108
00109       NVSG_API virtual void invalidateCgFxContainment( void );
00110
00112
00113       NVSG_API virtual bool containsTransparentMaterial( void ) const;
00114
00116
00117       NVSG_API virtual void invalidateTransparentMaterialContainment( void );
00118
00120
00121       NVSG_API virtual bool containsTransparentTexture( void ) const;
00122
00124
00125       NVSG_API virtual void invalidateTransparentTextureContainment( void );
00126     protected:
00128       NVSG_API StateSet( void );
00129
00131       NVSG_API StateSet( const Object &rhs );
00132
00134       NVSG_API StateSet( const StateSet& rhs );
00135
00137       NVSG_API virtual ~StateSet( void );
00138
00140
00141       NVSG_API void invalidateCaches( const StateAttribute *attrib, bool insert );
00142
00143     private:
00144       // A Node can be owned by more than one GeoNode. The owner connection is
00145       // used for example to invalidate the owner's containment cache.
00146       friend class GeoNode;
00147       void addOwner( const GeoNode * geoNode );
00148       void removeOwner( const GeoNode * geoNode );
00149
00150     private:
00151       std::vector<const StateAttribute*>  m_stateAttribs;
00152       std::vector<const GeoNode*>         m_owners;       // owners of this state set are collected here
00153
00154       //  State caches
00155       mutable bool  m_containsCgFx;
00156       mutable bool  m_containsCgFxValid;
00157       mutable bool  m_containsTransparentMaterial;
00158       mutable bool  m_containsTransparentMaterialValid;
00159       mutable bool  m_containsTransparentTexture;
00160       mutable bool  m_containsTransparentTextureValid;
00161
00162   };
00163
00164   inline const StateAttribute * StateSet::getAttribute( size_t index ) const
00165   {
00166     __TRACE();
00167     __ASSERT(index<m_stateAttribs.size()); // undefined behavior for invalid index
00168     return m_stateAttribs[index];
00169   }
00170
00171   inline size_t StateSet::getNumberOfAttributes( void ) const
00172   {
00173     __TRACE();
00174     return( m_stateAttribs.size() );
00175   }
00176
00177   inline size_t StateSet::getNumberOfOwners( void ) const
00178   {
00179     __TRACE();
00180     return( m_owners.size() );
00181   }
00182
00183   inline const GeoNode * StateSet::getOwner( size_t index ) const
00184   {
00185     __TRACE();
00186     __ASSERT( index < m_owners.size() );
00187     return m_owners[index];
00188   }
00189
00190 //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
00191
00197   NVSG_API bool operator==( const StateSet &lhs
00198                           , const StateSet &rhs
00199                           );
00200
00201 } //  namespace nvsg
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


StateSetUnifyTraverser.h Source File

StateSetUnifyTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <set>
00016
00017 #include "nvsgcommon.h"
00018 #include "nvtraverser/Traverser.h"
00019
00020 namespace nvsg
00021 {
00022   class StateAttribute;
00023   class TextureAttributeItem;
00024 }
00025
00026 namespace nvtraverser
00027 {
00029
00032   class StateSetUnifyTraverser : public Traverser
00033   {
00034     public:
00036       NVSG_API StateSetUnifyTraverser( void );
00037
00038     public:
00040
00042       NVSG_API bool getIgnoreNames( void ) const;
00043
00045
00046       NVSG_API void setIgnoreNames( bool ignore
00047                                   );
00048
00049     protected:
00051       NVSG_API virtual ~StateSetUnifyTraverser( void );
00052
00054
00056       NVSG_API virtual void handleCgFx( const nvsg::CgFx *p
00057                                       );
00058
00060
00062       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode *p
00063                                          );
00064
00066
00069       NVSG_API virtual void handleFaceAttribute( const nvsg::FaceAttribute *p
00070                                                );
00071
00073
00076       NVSG_API virtual void handleMaterial( const nvsg::Material *p
00077                                           );
00078
00080
00084       NVSG_API virtual void handleStateSet( const nvsg::StateSet * p
00085                                           );
00086
00088
00092       NVSG_API virtual void handleTextureAttribute( const nvsg::TextureAttribute *p
00093                                                   );
00094
00096
00099       NVSG_API virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem *p
00100                                                       , size_t textureUnit
00101                                                       );
00102
00103     private:
00104       const nvsg::CgFx                            * m_cgfx;
00105       std::set<const nvsg::CgFx*>                   m_cgfxs;
00106       const nvsg::FaceAttribute                   * m_faceAttribute;
00107       std::set<const nvsg::FaceAttribute*>          m_faceAttributes;
00108       const nvsg::Material                        * m_material;
00109       std::set<const nvsg::Material*>               m_materials;
00110       std::vector<std::pair<const nvsg::StateSet*,const nvsg::StateSet*> > m_stateSet;
00111       std::set<const nvsg::StateSet*>               m_stateSets;
00112       const nvsg::TextureAttribute                * m_textureAttribute;
00113       std::set<const nvsg::TextureAttribute*>       m_textureAttributes;
00114       std::vector<std::pair<size_t,const nvsg::TextureAttributeItem*> > m_textureAttributeItem;
00115       std::set<const nvsg::TextureAttributeItem*>   m_textureAttributeItems;
00116
00117       bool  m_ignoreNames;
00118   };
00119
00120   inline bool StateSetUnifyTraverser::getIgnoreNames( void ) const
00121   {
00122     return( m_ignoreNames );
00123   }
00124
00125   inline void StateSetUnifyTraverser::setIgnoreNames( bool ignore )
00126   {
00127     m_ignoreNames = ignore;
00128   }
00129
00130 }
Generated on Fri Jan 28 09:17:51 2005 for NVSGSDK by NVIDIA


StereoCamera.h Source File

StereoCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/Camera.h"
00018
00019 namespace nvsg
00020 {
00021   class MonoCamera;
00023
00024   class StereoCamera : public Camera
00025   {
00026     public:
00028
00029       NVSG_API static const StereoCamera * create( const MonoCamera &base
00030                                                  );
00031
00033       NVSG_API static const StereoCamera * createFromBase( const Camera &rhs
00034                                                          , const MonoCamera &base
00035                                                          );
00036
00038
00039       NVSG_API virtual const StereoCamera * clone( void ) const;
00040
00042
00043       NVSG_API virtual bool isDataShared( void ) const;
00044
00046
00047       NVSG_API virtual DataID getDataID( void ) const;
00048
00049       //
00050       // stereo interface
00051       //
00052
00054
00059       NVSG_API float getDepthFactor( void ) const;
00060
00062
00067       NVSG_API void setDepthFactor( float df
00068                                   );
00069
00071
00076       NVSG_API float getFocusDistance( void ) const;
00077
00079
00084       NVSG_API void setFocusDistance( float fd
00085                                     );
00086
00088
00092       NVSG_API bool isLeftPassIndex( size_t pass
00093                                    ) const;
00094
00096
00099       NVSG_API void reverseLeftRight( void );
00100
00102
00104       NVSG_API void updateMonoCameras( void ) const;
00105
00107
00108       const MonoCamera * getMonoCamera( void ) const;
00109
00111
00112       const MonoCamera * getLeftCamera() const;
00113
00115
00116       const MonoCamera * getRightCamera() const;
00117
00118       //
00119       // head light interface
00120       //
00121
00123
00126       NVSG_API virtual void addHeadLight(
00127         const LightSource * pLight
00128       , const nvmath::Vec3f &position = nvmath::Vec3f( 0.0f, 0.0f, 0.0f )
00129       , const nvmath::Quatf &quat     = nvmath::Quatf( 0.0f, 0.0f, 0.0f, 1.0f )
00130       );
00131
00133
00134       NVSG_API virtual size_t getNumberOfHeadLights( void ) const;
00135
00137
00138       NVSG_API virtual const LightSource * getHeadLight( size_t index
00139                                                        ) const;
00140
00142
00143       NVSG_API virtual bool removeHeadLight( size_t index = 0
00144                                            );
00145
00147
00148       NVSG_API virtual bool setHeadLightTrafo( const nvmath::Vec3f &trans
00149                                              , const nvmath::Quatf &quat
00150                                              , size_t index = 0
00151                                              );
00152
00154
00155       NVSG_API virtual void getHeadLightTrafo( nvmath::Vec3f &trans
00156                                              , nvmath::Quatf &quat
00157                                              , size_t index = 0
00158                                              ) const;
00159
00160       //
00161       // basic camera interface
00162       //
00163
00165
00166       NVSG_API virtual float getTargetDistance( void ) const;
00167
00168
00170       NVSG_API virtual void setTargetDistance( float td
00171                                              );
00172
00174
00175       NVSG_API virtual nvmath::Vec3f getUpVector( void ) const;
00176
00178
00179       NVSG_API virtual const nvmath::Vec3f & getPosition( void ) const;
00180
00182       NVSG_API virtual void setPosition( const nvmath::Vec3f& pos
00183                                        );
00184
00186       NVSG_API virtual void setUpVector( const nvmath::Vec3f &up
00187                                        );
00188
00190
00192       NVSG_API virtual nvmath::Vec3f getDirection( void )  const;
00193
00195       NVSG_API virtual void setDirection( const nvmath::Vec3f& dir
00196                                         );
00197
00199       NVSG_API virtual void setOrientation( const nvmath::Quatf &quat
00200                                           );
00201
00203       NVSG_API virtual void setOrientation( const nvmath::Vec3f &dir
00204                                           , const nvmath::Vec3f &up
00205                                           );
00206
00208       NVSG_API virtual void setOrientation( const nvmath::Vec3f &axis
00209                                           , float angle
00210                                           );
00212
00213       NVSG_API virtual nvmath::Quatf getOrientation( void ) const;
00214
00216
00217       NVSG_API virtual nvmath::Mat44f getViewToWorldMatrix( void ) const;
00218
00220
00221       NVSG_API virtual nvmath::Mat44f getWorldToViewMatrix( void ) const;
00222
00224
00225       NVSG_API virtual const nvmath::Vec2f & getWindowOffset( void ) const;
00226
00228       NVSG_API virtual void setWindowOffset( const nvmath::Vec2f &offset
00229                                             );
00230
00232       NVSG_API virtual void getWindowRegion( nvmath::Vec2f &lowerLeft
00233                                            , nvmath::Vec2f &upperRight
00234                                            ) const;
00235
00237       NVSG_API virtual void setWindowRegion( const nvmath::Vec2f &lowerLeft
00238                                            , const nvmath::Vec2f &upperRight
00239                                            );
00240
00242
00243       NVSG_API virtual const nvmath::Vec2f & getWindowSize( void ) const;
00244
00246       NVSG_API virtual void setWindowSize( const nvmath::Vec2f &size
00247                                          );
00248
00250
00251       NVSG_API virtual float getAspectRatio( void ) const;
00252
00254       NVSG_API virtual void setAspectRatio( float ar
00255                                           , bool keepWidth = false
00256                                           );
00257
00259       NVSG_API virtual void setAutoClipPlanes( bool on
00260                                              );
00261
00263
00266       NVSG_API virtual bool isAutoClipPlanes( void ) const;
00267
00269
00271       NVSG_API virtual float getFarDistance( void ) const;
00272
00274       NVSG_API virtual void setFarDistance( float fd
00275                                           );
00276
00278
00280       NVSG_API virtual float getNearDistance( void ) const;
00281
00283       NVSG_API virtual void setNearDistance( float nd
00284                                            );
00285
00287
00289       NVSG_API virtual void calcNearFarDistances( const nvmath::Sphere3f &sphere
00290                                                 );
00291
00292       //
00293       // operations to perform on a camera
00294       //
00295
00297       NVSG_API virtual void move( const nvmath::Vec3f& delta
00298                                 );
00299
00301       NVSG_API virtual void orbit( const nvmath::Vec3f& axis
00302                                  , float rad
00303                                  );
00304
00306       NVSG_API virtual void rotate( const nvmath::Vec3f& axis
00307                                   , float rad
00308                                   , bool  cameraRelative = true
00309                                   );
00310
00312       NVSG_API virtual void zoom( float factor
00313                                 );
00314
00316       NVSG_API virtual void zoom( const nvmath::Sphere3f &sphere
00317                                 , float fovy = -1.0f
00318                                 );
00319
00320
00321     protected:
00323
00325       NVSG_API StereoCamera( const MonoCamera& base
00326                            );
00327
00329       NVSG_API StereoCamera( const Camera &rhs, const MonoCamera &base );
00330
00332       NVSG_API StereoCamera( const StereoCamera& rhs );
00333
00335       NVSG_API virtual ~StereoCamera( void );
00336
00337     private:
00338       // assignment not permitted
00339       StereoCamera& operator=( const StereoCamera& rhs ) {}
00340
00341     private:
00342       const MonoCamera  * m_baseCamera;
00343       float         m_depthFactor;
00344       float         m_focusDistance;
00345       int           m_leftPassIndex;
00346
00347       mutable const MonoCamera  * m_cameras[2];
00348   };
00349
00350   // - - - - - - - - - - - - - - - - - - - - -
00351   // inlines
00352   // - - - - - - - - - - - - - - - - - - - - -
00353
00354   inline float StereoCamera::getDepthFactor( void ) const
00355   {
00356     __TRACE();
00357     return( m_depthFactor );
00358   }
00359
00360   inline float StereoCamera::getFocusDistance( void ) const
00361   {
00362     __TRACE();
00363     return( m_focusDistance );
00364   }
00365
00366   inline const MonoCamera *  StereoCamera::getMonoCamera( void ) const
00367   {
00368     __TRACE();
00369     return( m_baseCamera );
00370   }
00371
00372   inline bool StereoCamera::isLeftPassIndex( size_t pass ) const
00373   {
00374     __TRACE();
00375     return( pass == m_leftPassIndex );
00376   }
00377
00378   inline void StereoCamera::reverseLeftRight( void )
00379   {
00380     __TRACE();
00381     m_leftPassIndex = ! m_leftPassIndex;
00382   }
00383
00384   inline void StereoCamera::setDepthFactor( float df )
00385   {
00386     __TRACE();
00387     m_depthFactor = df;
00388   }
00389
00390   inline void StereoCamera::setFocusDistance( float fd )
00391   {
00392     __TRACE();
00393     m_focusDistance = fd;
00394   }
00395
00396   inline const MonoCamera * StereoCamera::getLeftCamera() const
00397   {
00398     __TRACE();
00399     return m_cameras[0];
00400   }
00401
00402   inline const MonoCamera * StereoCamera::getRightCamera() const
00403   {
00404     __TRACE();
00405     return m_cameras[1];
00406   }
00407
00408 } // namespace
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


StrippingTraverser.h Source File

StrippingTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  <list>
00016 #include  <set>
00017
00018 #include "nvsgcommon.h"
00019
00020 #include  "nvsg/nvsg.h"
00021 #include  "nvsg/Face.h"
00022 #include  "nvtraverser/Traverser.h"
00023
00024 namespace nvtraverser
00025 {
00026
00028
00030   class StrippingTraverser : public Traverser
00031   {
00032     public:
00034       NVSG_API StrippingTraverser(void);
00035
00037
00038       void  getMinimalLengths( size_t &triStripLength, size_t &quadStripLength ) const;
00039
00041
00042       void  setMinimalLengths( size_t triStripLength, size_t quadStripLength );
00043
00044     protected:
00046       NVSG_API virtual ~StrippingTraverser(void);
00047
00049       NVSG_API virtual void  handleAnimatedQuads(
00050         const nvsg::AnimatedQuads *p
00051       );
00052
00054       NVSG_API virtual void  handleAnimatedTriangles(
00055         const nvsg::AnimatedTriangles *p
00056       );
00057
00059       NVSG_API virtual void  handleGeoNode(
00060         const nvsg::GeoNode *p
00061       );
00062
00064       NVSG_API virtual void  handleQuads(
00065         const nvsg::Quads *p
00066       );
00067
00069       NVSG_API virtual void  handleSkinnedTriangles(
00070         const nvsg::SkinnedTriangles *p
00071       );
00072
00074       NVSG_API virtual void  handleTriangles(
00075         const nvsg::Triangles *p
00076       );
00077
00078     private:
00079       void    addQuadStrip( const std::list<unsigned int> &vertexList );
00080       void    addTriangle( const nvsg::IndexSet &strip, size_t i0, size_t i1, size_t i2 );
00081       void    addTriStrip( const std::list<unsigned int> &vertexList );
00082       void    clearFaceData( void );
00083       void    connectFaces( const nvsg::Face3 *faces, size_t fi, size_t i0, size_t i1 );
00084       void    connectFaces( const nvsg::Face4 *faces, size_t fi, size_t i0, size_t i1 );
00085       void    copyVertexAttributeData( const nvsg::GeoSet *pFrom, nvsg::GeoSet *pTo );
00086       void    cutConnections( const std::list<size_t> &list, size_t vpf );
00087       void    determineList( const nvsg::Face3 *faces, size_t fi, size_t le, std::list<size_t> &faceList,
00088                              std::list<unsigned int> &vertexList );
00089       void    determineList( const nvsg::Face4 *faces, size_t fi, size_t le, std::list<size_t> &faceList,
00090                              std::list<unsigned int> &vertexList );
00091
00092     private:
00093       std::vector<size_t>                m_faceConnectionCounts;
00094       std::vector<size_t>                m_faceConnections;
00095       std::set<size_t>                   m_faceSets[5];
00096       size_t                             m_minimalQuadStrip;
00097       size_t                             m_minimalTriStrip;
00098       std::vector<nvsg::Face4>                 m_quads;
00099       std::vector<nvsg::IndexSet>              m_strips;
00100       std::vector<nvsg::Face3>                 m_triangles;
00101       std::vector<std::list<size_t> >    m_verticesToFaceLists;
00102
00103       std::vector<std::pair<const nvsg::Quads*,std::pair<const nvsg::QuadStrips*,const nvsg::Quads*> > >         m_quadReplaces;
00104       std::vector<std::pair<const nvsg::Triangles*,std::pair<const nvsg::TriStrips*,const nvsg::Triangles*> > >  m_triReplaces;
00105   };
00106
00107   inline  void StrippingTraverser::getMinimalLengths( size_t &triStripLength, size_t &quadStripLength ) const
00108   {
00109     triStripLength  = m_minimalTriStrip;
00110     quadStripLength = m_minimalQuadStrip;
00111   }
00112
00113   inline  void  StrippingTraverser::setMinimalLengths( size_t triStripLength, size_t quadStripLength )
00114   {
00115     m_minimalTriStrip   = triStripLength;
00116     m_minimalQuadStrip  = quadStripLength;
00117   }
00118 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Member List

bone_t Member List

This is the complete list of members for bone_t, including all inherited members.
animation | bone_t
weight | bone_t
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Member List

geometrySet_t Member List

This is the complete list of members for geometrySet_t, including all inherited members.
drawable | geometrySet_t
stateSet | geometrySet_t
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Member List

indexSet_t Member List

This is the complete list of members for indexSet_t, including all inherited members.
indices | indexSet_t
numIndices | indexSet_t
Generated on Fri Jan 28 09:20:08 2005 for NVSGSDK by NVIDIA


Member List

NBFAnimatedQuads Member List

This is the complete list of members for NBFAnimatedQuads, including all inherited members.
animation | NBFAnimatedQuads
colorDim | NBFGeoSet
colors | NBFGeoSet
faces | NBFQuads
fogCoords | NBFGeoSet
isShared | NBFObject
normals | NBFGeoSet
numColors | NBFGeoSet
numFaces | NBFQuads
numFogCoords | NBFGeoSet
numNormals | NBFGeoSet
numSecondaryColors | NBFGeoSet
numTexCoordsSets | NBFGeoSet
numVertices | NBFGeoSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFAnimatedQuads
NBFQuads::PADDING(3) | NBFObject
secondaryColorDim | NBFGeoSet
secondaryColors | NBFGeoSet
sourceObject | NBFObject
texCoordsSets | NBFGeoSet
vertices | NBFGeoSet
Generated on Fri Jan 28 09:20:09 2005 for NVSGSDK by NVIDIA


Member List

NBFAnimatedTransform Member List

This is the complete list of members for NBFAnimatedTransform, including all inherited members.
animation | NBFAnimatedTransform
annotation (defined in NBFNode) | NBFNode
children | NBFGroup
isShared | NBFObject
numChildren | NBFGroup
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFAnimatedTransform
NBFGroup::PADDING(3) | NBFObject
sourceObject | NBFObject
trafo (defined in NBFTransform) | NBFTransform
Generated on Fri Jan 28 09:20:10 2005 for NVSGSDK by NVIDIA


Member List

NBFAnimatedTriangles Member List

This is the complete list of members for NBFAnimatedTriangles, including all inherited members.
animation | NBFAnimatedTriangles
colorDim | NBFGeoSet
colors | NBFGeoSet
faces | NBFTriangles
fogCoords | NBFGeoSet
isShared | NBFObject
normals | NBFGeoSet
numColors | NBFGeoSet
numFaces | NBFTriangles
numFogCoords | NBFGeoSet
numNormals | NBFGeoSet
numSecondaryColors | NBFGeoSet
numTexCoordsSets | NBFGeoSet
numVertices | NBFGeoSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFAnimatedTriangles
NBFTriangles::PADDING(3) | NBFObject
secondaryColorDim | NBFGeoSet
secondaryColors | NBFGeoSet
sourceObject | NBFObject
texCoordsSets | NBFGeoSet
vertices | NBFGeoSet
Generated on Fri Jan 28 09:20:10 2005 for NVSGSDK by NVIDIA


Member List

NBFCamera Member List

This is the complete list of members for NBFCamera, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:11 2005 for NVSGSDK by NVIDIA


Member List

NBFCgFx Member List

This is the complete list of members for NBFCgFx, including all inherited members.
currTech | NBFCgFx
file | NBFCgFx
isShared | NBFObject
numTweaks | NBFCgFx
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFCgFx
NBFStateAttribute::PADDING(3) | NBFObject
sourceObject | NBFObject
tweaks | NBFCgFx
Generated on Fri Jan 28 09:20:11 2005 for NVSGSDK by NVIDIA


Member List

NBFDirectedLight Member List

This is the complete list of members for NBFDirectedLight, including all inherited members.
ambientColor | NBFLightSource
animation | NBFLightSource
annotation (defined in NBFNode) | NBFNode
diffuseColor | NBFLightSource
intensity | NBFLightSource
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
specularColor | NBFLightSource
trafo | NBFLightSource
Generated on Fri Jan 28 09:20:12 2005 for NVSGSDK by NVIDIA


Member List

NBFDrawable Member List

This is the complete list of members for NBFDrawable, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:13 2005 for NVSGSDK by NVIDIA


Member List

NBFFaceAttribute Member List

This is the complete list of members for NBFFaceAttribute, including all inherited members.
ambientColor | NBFFaceAttribute
backFaceCulling | NBFFaceAttribute
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(2) | NBFFaceAttribute
PADDING(7) | NBFFaceAttribute
NBFStateAttribute::PADDING(3) | NBFObject
NBFStateAttribute::PADDING(4) | NBFObject
polygonOffsetEnabled | NBFFaceAttribute
polygonOffsetFactor | NBFFaceAttribute
polygonOffsetUnits | NBFFaceAttribute
sourceObject | NBFObject
twoSidedLighting | NBFFaceAttribute
Generated on Fri Jan 28 09:20:13 2005 for NVSGSDK by NVIDIA


Member List

NBFFramedAnimation Member List

This is the complete list of members for NBFFramedAnimation, including all inherited members.
numFrames NBFFramedAnimation
Generated on Fri Jan 28 09:20:13 2005 for NVSGSDK by NVIDIA


Member List

NBFFramedTrafoAnimation Member List

This is the complete list of members for NBFFramedTrafoAnimation, including all inherited members.
isShared | NBFObject
numFrames | NBFFramedAnimation
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFFramedTrafoAnimation
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
trafos | NBFTrafoAnimation
Generated on Fri Jan 28 09:20:14 2005 for NVSGSDK by NVIDIA


Member List

NBFFramedVNVectorAnimation Member List

This is the complete list of members for NBFFramedVNVectorAnimation, including all inherited members.
isShared | NBFObject
normalSets | NBFVNVectorAnimation
numFrames | NBFFramedAnimation
numNormals | NBFVNVectorAnimation
numVertices | NBFVNVectorAnimation
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFFramedVNVectorAnimation
NBFVNVectorAnimation::PADDING(3) | NBFObject
sourceObject | NBFObject
vertexSets | NBFVNVectorAnimation
Generated on Fri Jan 28 09:20:14 2005 for NVSGSDK by NVIDIA


Member List

NBFGeoNode Member List

This is the complete list of members for NBFGeoNode, including all inherited members.
annotation (defined in NBFNode) | NBFNode
geometrySets (defined in NBFGeoNode) | NBFGeoNode
isShared | NBFObject
numGeometrySets (defined in NBFGeoNode) | NBFGeoNode
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:15 2005 for NVSGSDK by NVIDIA


Member List

NBFGeoSet Member List

This is the complete list of members for NBFGeoSet, including all inherited members.
colorDim | NBFGeoSet
colors | NBFGeoSet
fogCoords | NBFGeoSet
isShared | NBFObject
normals | NBFGeoSet
numColors | NBFGeoSet
numFogCoords | NBFGeoSet
numNormals | NBFGeoSet
numSecondaryColors | NBFGeoSet
numTexCoordsSets | NBFGeoSet
numVertices | NBFGeoSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
secondaryColorDim | NBFGeoSet
secondaryColors | NBFGeoSet
sourceObject | NBFObject
texCoordsSets | NBFGeoSet
vertices | NBFGeoSet
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


Member List

NBFGroup Member List

This is the complete list of members for NBFGroup, including all inherited members.
annotation (defined in NBFNode) | NBFNode
children | NBFGroup
isShared | NBFObject
numChildren | NBFGroup
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


Member List

NBFHeader Member List

This is the complete list of members for NBFHeader, including all inherited members.
byteOrder | NBFHeader
dayLastModified | NBFHeader
hourLastModified | NBFHeader
minuteLastModified | NBFHeader
monthLastModified | NBFHeader
nbfBugfixLevel | NBFHeader
nbfMajorVersion | NBFHeader
nbfMinorVersion | NBFHeader
nvsgBugfixLevel | NBFHeader
nvsgMajorVersion | NBFHeader
nvsgMinorVersion | NBFHeader
PADDING(2) | NBFHeader
reserved | NBFHeader
scene | NBFHeader
secondLastModified | NBFHeader
signature | NBFHeader
viewState | NBFHeader
yearLastModified | NBFHeader
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


Member List

NBFInterpolatedAnimation Member List

This is the complete list of members for NBFInterpolatedAnimation, including all inherited members.
keys | NBFInterpolatedAnimation
numKeys | NBFInterpolatedAnimation
Generated on Fri Jan 28 09:20:16 2005 for NVSGSDK by NVIDIA


Member List

NBFInterpolatedTrafoAnimation Member List

This is the complete list of members for NBFInterpolatedTrafoAnimation, including all inherited members.
isShared | NBFObject
keys | NBFInterpolatedAnimation
numKeys | NBFInterpolatedAnimation
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFTrafoAnimation
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
trafos | NBFTrafoAnimation
Generated on Fri Jan 28 09:20:17 2005 for NVSGSDK by NVIDIA


Member List

NBFInterpolatedVNVectorAnimation Member List

This is the complete list of members for NBFInterpolatedVNVectorAnimation, including all inherited members.
isShared | NBFObject
keys | NBFInterpolatedAnimation
normalSets | NBFVNVectorAnimation
numKeys | NBFInterpolatedAnimation
numNormals | NBFVNVectorAnimation
numVertices | NBFVNVectorAnimation
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
vertexSets | NBFVNVectorAnimation
Generated on Fri Jan 28 09:20:18 2005 for NVSGSDK by NVIDIA


Member List

NBFJitterCamera Member List

This is the complete list of members for NBFJitterCamera, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:18 2005 for NVSGSDK by NVIDIA


Member List

NBFLightSource Member List

This is the complete list of members for NBFLightSource, including all inherited members.
ambientColor | NBFLightSource
animation | NBFLightSource
annotation (defined in NBFNode) | NBFNode
diffuseColor | NBFLightSource
intensity | NBFLightSource
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
specularColor | NBFLightSource
trafo | NBFLightSource
Generated on Fri Jan 28 09:20:19 2005 for NVSGSDK by NVIDIA


Member List

NBFLOD Member List

This is the complete list of members for NBFLOD, including all inherited members.
annotation (defined in NBFNode) | NBFNode
center | NBFLOD
children | NBFGroup
isShared | NBFObject
numChildren | NBFGroup
numRanges | NBFLOD
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFLOD
NBFGroup::PADDING(3) | NBFObject
ranges | NBFLOD
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:20 2005 for NVSGSDK by NVIDIA


Member List

NBFMaterial Member List

This is the complete list of members for NBFMaterial, including all inherited members.
ambientColor | NBFMaterial
diffuseColor | NBFMaterial
emissiveColor | NBFMaterial
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
opacity | NBFMaterial
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
specularColor | NBFMaterial
specularExponent | NBFMaterial
Generated on Fri Jan 28 09:20:20 2005 for NVSGSDK by NVIDIA


Member List

NBFMonoCamera Member List

This is the complete list of members for NBFMonoCamera, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:21 2005 for NVSGSDK by NVIDIA


Member List

NBFNode Member List

This is the complete list of members for NBFNode, including all inherited members.
annotation (defined in NBFNode) | NBFNode
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:22 2005 for NVSGSDK by NVIDIA


Member List

NBFObject Member List

This is the complete list of members for NBFObject, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:22 2005 for NVSGSDK by NVIDIA


Member List

NBFParallelCamera Member List

This is the complete list of members for NBFParallelCamera, including all inherited members.
direction | NBFSimpleCamera
farDist | NBFSimpleCamera
headLights | NBFSimpleCamera
isAutoClipPlanes | NBFSimpleCamera
isShared | NBFObject
nearDist | NBFSimpleCamera
numHeadLights | NBFSimpleCamera
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFSimpleCamera
NBFMonoCamera::PADDING(4) | NBFObject
position | NBFSimpleCamera
projectionDx | NBFSimpleCamera
sourceObject | NBFObject
targDist | NBFSimpleCamera
upVector | NBFSimpleCamera
windowOffset | NBFSimpleCamera
windowSize | NBFSimpleCamera
Generated on Fri Jan 28 09:20:23 2005 for NVSGSDK by NVIDIA


Member List

NBFPerspectiveCamera Member List

This is the complete list of members for NBFPerspectiveCamera, including all inherited members.
direction | NBFSimpleCamera
farDist | NBFSimpleCamera
headLights | NBFSimpleCamera
isAutoClipPlanes | NBFSimpleCamera
isShared | NBFObject
nearDist | NBFSimpleCamera
numHeadLights | NBFSimpleCamera
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFSimpleCamera
NBFMonoCamera::PADDING(4) | NBFObject
position | NBFSimpleCamera
projectionDx | NBFSimpleCamera
sourceObject | NBFObject
targDist | NBFSimpleCamera
upVector | NBFSimpleCamera
windowOffset | NBFSimpleCamera
windowSize | NBFSimpleCamera
Generated on Fri Jan 28 09:20:24 2005 for NVSGSDK by NVIDIA


Member List

NBFPointLight Member List

This is the complete list of members for NBFPointLight, including all inherited members.
ambientColor | NBFLightSource
animation | NBFLightSource
annotation (defined in NBFNode) | NBFNode
attenuation | NBFPointLight
diffuseColor | NBFLightSource
intensity | NBFLightSource
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFPointLight
NBFLightSource::PADDING(3) | NBFObject
sourceObject | NBFObject
specularColor | NBFLightSource
trafo | NBFLightSource
Generated on Fri Jan 28 09:20:24 2005 for NVSGSDK by NVIDIA


Member List

NBFQuads Member List

This is the complete list of members for NBFQuads, including all inherited members.
colorDim | NBFGeoSet
colors | NBFGeoSet
faces | NBFQuads
fogCoords | NBFGeoSet
isShared | NBFObject
normals | NBFGeoSet
numColors | NBFGeoSet
numFaces | NBFQuads
numFogCoords | NBFGeoSet
numNormals | NBFGeoSet
numSecondaryColors | NBFGeoSet
numTexCoordsSets | NBFGeoSet
numVertices | NBFGeoSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
secondaryColorDim | NBFGeoSet
secondaryColors | NBFGeoSet
sourceObject | NBFObject
texCoordsSets | NBFGeoSet
vertices | NBFGeoSet
Generated on Fri Jan 28 09:20:25 2005 for NVSGSDK by NVIDIA


Member List

NBFScene Member List

This is the complete list of members for NBFScene, including all inherited members.
backColor | NBFScene
cameraAnimations | NBFScene
cameras | NBFScene
defaultStateSet | NBFScene
numberOfAnimationFrames | NBFScene
numCameraAnimations | NBFScene
numCameras | NBFScene
overrideStateSet | NBFScene
root | NBFScene
Generated on Fri Jan 28 09:20:27 2005 for NVSGSDK by NVIDIA


Member List

NBFSimpleCamera Member List

This is the complete list of members for NBFSimpleCamera, including all inherited members.
direction | NBFSimpleCamera
farDist | NBFSimpleCamera
headLights | NBFSimpleCamera
isAutoClipPlanes | NBFSimpleCamera
isShared | NBFObject
nearDist | NBFSimpleCamera
numHeadLights | NBFSimpleCamera
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFSimpleCamera
NBFMonoCamera::PADDING(4) | NBFObject
position | NBFSimpleCamera
projectionDx | NBFSimpleCamera
sourceObject | NBFObject
targDist | NBFSimpleCamera
upVector | NBFSimpleCamera
windowOffset | NBFSimpleCamera
windowSize | NBFSimpleCamera
Generated on Fri Jan 28 09:20:27 2005 for NVSGSDK by NVIDIA


Member List

NBFSkinnedTriangles Member List

This is the complete list of members for NBFSkinnedTriangles, including all inherited members.
colorDim | NBFGeoSet
colors | NBFGeoSet
faces | NBFTriangles
fogCoords | NBFGeoSet
isShared | NBFObject
normals | NBFGeoSet
numColors | NBFGeoSet
numFaces | NBFTriangles
numFogCoords | NBFGeoSet
numNormals | NBFGeoSet
numSecondaryColors | NBFGeoSet
numSkins | NBFSkinnedTriangles
numTexCoordsSets | NBFGeoSet
numVertices | NBFGeoSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
secondaryColorDim | NBFGeoSet
secondaryColors | NBFGeoSet
skins | NBFSkinnedTriangles
sourceObject | NBFObject
texCoordsSets | NBFGeoSet
vertices | NBFGeoSet
Generated on Fri Jan 28 09:20:28 2005 for NVSGSDK by NVIDIA


Member List

NBFSpotLight Member List

This is the complete list of members for NBFSpotLight, including all inherited members.
ambientColor | NBFLightSource
animation | NBFLightSource
annotation (defined in NBFNode) | NBFNode
attenuation | NBFSpotLight
cutoffAngle | NBFSpotLight
diffuseColor | NBFLightSource
falloffExponent | NBFSpotLight
intensity | NBFLightSource
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFSpotLight
NBFLightSource::PADDING(3) | NBFObject
sourceObject | NBFObject
specularColor | NBFLightSource
trafo | NBFLightSource
Generated on Fri Jan 28 09:20:29 2005 for NVSGSDK by NVIDIA


Member List

NBFStateAttribute Member List

This is the complete list of members for NBFStateAttribute, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:29 2005 for NVSGSDK by NVIDIA


Member List

NBFStateSet Member List

This is the complete list of members for NBFStateSet, including all inherited members.
isShared | NBFObject
numStateAttribs | NBFStateSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
stateAttribs | NBFStateSet
Generated on Fri Jan 28 09:20:30 2005 for NVSGSDK by NVIDIA


Member List

NBFStereoCamera Member List

This is the complete list of members for NBFStereoCamera, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:30 2005 for NVSGSDK by NVIDIA


Member List

NBFStrips Member List

This is the complete list of members for NBFStrips, including all inherited members.
colorDim | NBFGeoSet
colors | NBFGeoSet
fogCoords | NBFGeoSet
isShared | NBFObject
normals | NBFGeoSet
numColors | NBFGeoSet
numFogCoords | NBFGeoSet
numNormals | NBFGeoSet
numSecondaryColors | NBFGeoSet
numStrips | NBFStrips
numTexCoordsSets | NBFGeoSet
numVertices | NBFGeoSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
secondaryColorDim | NBFGeoSet
secondaryColors | NBFGeoSet
sourceObject | NBFObject
strips | NBFStrips
texCoordsSets | NBFGeoSet
vertices | NBFGeoSet
Generated on Fri Jan 28 09:20:31 2005 for NVSGSDK by NVIDIA


Member List

NBFSwitch Member List

This is the complete list of members for NBFSwitch, including all inherited members.
activeChildren | NBFSwitch
annotation (defined in NBFNode) | NBFNode
children | NBFGroup
isShared | NBFObject
numActiveChildren | NBFSwitch
numChildren | NBFGroup
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:31 2005 for NVSGSDK by NVIDIA


Member List

NBFTextureAttribute Member List

This is the complete list of members for NBFTextureAttribute, including all inherited members.
bindings | NBFTextureAttribute
isShared | NBFObject
numBindings | NBFTextureAttribute
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
Generated on Fri Jan 28 09:20:32 2005 for NVSGSDK by NVIDIA


Member List

NBFTextureAttributeItem Member List

This is the complete list of members for NBFTextureAttributeItem, including all inherited members.
file | NBFTextureAttributeItem
isShared | NBFObject
magFilter | NBFTextureAttributeItem
minFilter | NBFTextureAttributeItem
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
texBorderColor | NBFTextureAttributeItem
texEnvMode | NBFTextureAttributeItem
texGenMode | NBFTextureAttributeItem
texGenPlane | NBFTextureAttributeItem
texType | NBFTextureAttributeItem
texWrapR | NBFTextureAttributeItem
texWrapS | NBFTextureAttributeItem
texWrapT | NBFTextureAttributeItem
trafo | NBFTextureAttributeItem
Generated on Fri Jan 28 09:20:32 2005 for NVSGSDK by NVIDIA


Member List

NBFTrafoAnimation Member List

This is the complete list of members for NBFTrafoAnimation, including all inherited members.
isShared | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFTrafoAnimation
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
trafos | NBFTrafoAnimation
Generated on Fri Jan 28 09:20:33 2005 for NVSGSDK by NVIDIA


Member List

NBFTransform Member List

This is the complete list of members for NBFTransform, including all inherited members.
annotation (defined in NBFNode) | NBFNode
children | NBFGroup
isShared | NBFObject
numChildren | NBFGroup
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFTransform
NBFGroup::PADDING(3) | NBFObject
sourceObject | NBFObject
trafo (defined in NBFTransform) | NBFTransform
Generated on Fri Jan 28 09:20:33 2005 for NVSGSDK by NVIDIA


Member List

NBFTriangles Member List

This is the complete list of members for NBFTriangles, including all inherited members.
colorDim | NBFGeoSet
colors | NBFGeoSet
faces | NBFTriangles
fogCoords | NBFGeoSet
isShared | NBFObject
normals | NBFGeoSet
numColors | NBFGeoSet
numFaces | NBFTriangles
numFogCoords | NBFGeoSet
numNormals | NBFGeoSet
numSecondaryColors | NBFGeoSet
numTexCoordsSets | NBFGeoSet
numVertices | NBFGeoSet
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
secondaryColorDim | NBFGeoSet
secondaryColors | NBFGeoSet
sourceObject | NBFObject
texCoordsSets | NBFGeoSet
vertices | NBFGeoSet
Generated on Fri Jan 28 09:20:34 2005 for NVSGSDK by NVIDIA


Member List

NBFViewState Member List

This is the complete list of members for NBFViewState, including all inherited members.
camera | NBFViewState
objectCode | NBFViewState
Generated on Fri Jan 28 09:20:34 2005 for NVSGSDK by NVIDIA


Member List

NBFVNVectorAnimation Member List

This is the complete list of members for NBFVNVectorAnimation, including all inherited members.
isShared | NBFObject
normalSets | NBFVNVectorAnimation
numNormals | NBFVNVectorAnimation
numVertices | NBFVNVectorAnimation
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
PADDING(4) | NBFObject
sourceObject | NBFObject
vertexSets | NBFVNVectorAnimation
Generated on Fri Jan 28 09:20:34 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Face< n > Member List

This is the complete list of members for nvsg::Face< n >, including all inherited members.
indices | nvsg::Face< n > |
operator[](size_t i) | nvsg::Face< n > | [inline]
operator[](size_t i) const | nvsg::Face< n > | [inline]
Generated on Fri Jan 28 09:21:07 2005 for NVSGSDK by NVIDIA


Member List

nvsg::Skin Member List

This is the complete list of members for nvsg::Skin, including all inherited members.
m_bones | nvsg::Skin
m_normal | nvsg::Skin
m_vertex | nvsg::Skin
Generated on Fri Jan 28 09:21:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::addReference Member List

This is the complete list of members for nvutil::addReference, including all inherited members.
operator()(RCOBJPTR pRCObject) | nvutil::addReference
operator()(std::pair< AnyType, RCOBJPTR > &p) | nvutil::addReference
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::EmptyTokenInfo Member List

This is the complete list of members for nvutil::PlugInCallback::EmptyTokenInfo, including all inherited members.
context | nvutil::PlugInCallback::EmptyTokenInfo
position | nvutil::PlugInCallback::EmptyTokenInfo
token | nvutil::PlugInCallback::EmptyTokenInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::FileAccessFailedInfo Member List

This is the complete list of members for nvutil::PlugInCallback::FileAccessFailedInfo, including all inherited members.
file | nvutil::PlugInCallback::FileAccessFailedInfo
systemSpecificErrorCode | nvutil::PlugInCallback::FileAccessFailedInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::FileMappingFailedInfo Member List

This is the complete list of members for nvutil::PlugInCallback::FileMappingFailedInfo, including all inherited members.
systemSpecificErrorCode nvutil::PlugInCallback::FileMappingFailedInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::IncompatibleFileInfo Member List

This is the complete list of members for nvutil::PlugInCallback::IncompatibleFileInfo, including all inherited members.
context | nvutil::PlugInCallback::IncompatibleFileInfo
detectedVersion | nvutil::PlugInCallback::IncompatibleFileInfo
expectedVersion | nvutil::PlugInCallback::IncompatibleFileInfo
file | nvutil::PlugInCallback::IncompatibleFileInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::IncompatibleValueInfo Member List

This is the complete list of members for nvutil::PlugInCallback::IncompatibleValueInfo, including all inherited members.
context | nvutil::PlugInCallback::IncompatibleValueInfo
position | nvutil::PlugInCallback::IncompatibleValueInfo
value0 | nvutil::PlugInCallback::IncompatibleValueInfo
value0Name | nvutil::PlugInCallback::IncompatibleValueInfo
value1 | nvutil::PlugInCallback::IncompatibleValueInfo
value1Name | nvutil::PlugInCallback::IncompatibleValueInfo
valueType | nvutil::PlugInCallback::IncompatibleValueInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::InvalidFileInfo Member List

This is the complete list of members for nvutil::PlugInCallback::InvalidFileInfo, including all inherited members.
context | nvutil::PlugInCallback::InvalidFileInfo
file | nvutil::PlugInCallback::InvalidFileInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::InvalidValueInfo Member List

This is the complete list of members for nvutil::PlugInCallback::InvalidValueInfo, including all inherited members.
context | nvutil::PlugInCallback::InvalidValueInfo
position | nvutil::PlugInCallback::InvalidValueInfo
value | nvutil::PlugInCallback::InvalidValueInfo
valueName | nvutil::PlugInCallback::InvalidValueInfo
valueType | nvutil::PlugInCallback::InvalidValueInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::UndefinedTokenInfo Member List

This is the complete list of members for nvutil::PlugInCallback::UndefinedTokenInfo, including all inherited members.
context | nvutil::PlugInCallback::UndefinedTokenInfo
position | nvutil::PlugInCallback::UndefinedTokenInfo
token | nvutil::PlugInCallback::UndefinedTokenInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::UnexpectedTokenInfo Member List

This is the complete list of members for nvutil::PlugInCallback::UnexpectedTokenInfo, including all inherited members.
encountered | nvutil::PlugInCallback::UnexpectedTokenInfo
expected | nvutil::PlugInCallback::UnexpectedTokenInfo
position | nvutil::PlugInCallback::UnexpectedTokenInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::UnknownTokenInfo Member List

This is the complete list of members for nvutil::PlugInCallback::UnknownTokenInfo, including all inherited members.
context | nvutil::PlugInCallback::UnknownTokenInfo
position | nvutil::PlugInCallback::UnknownTokenInfo
token | nvutil::PlugInCallback::UnknownTokenInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::PlugInCallback::UnsupportedTokenInfo Member List

This is the complete list of members for nvutil::PlugInCallback::UnsupportedTokenInfo, including all inherited members.
context | nvutil::PlugInCallback::UnsupportedTokenInfo
position | nvutil::PlugInCallback::UnsupportedTokenInfo
token | nvutil::PlugInCallback::UnsupportedTokenInfo
Generated on Fri Jan 28 09:22:35 2005 for NVSGSDK by NVIDIA


Member List

nvutil::removeReference Member List

This is the complete list of members for nvutil::removeReference, including all inherited members.
operator()(RCOBJPTR pRCObject) | nvutil::removeReference | [inline]
operator()(std::pair< AnyType, RCOBJPTR > &p) | nvutil::removeReference | [inline]
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::traceConsoleDebugOutput Member List

This is the complete list of members for nvutil::traceConsoleDebugOutput, including all inherited members.
operator()(const char *str) nvutil::traceConsoleDebugOutput [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::traceConsoleOutput Member List

This is the complete list of members for nvutil::traceConsoleOutput, including all inherited members.
operator()(const char *str) nvutil::traceConsoleOutput [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::traceDebugOutput Member List

This is the complete list of members for nvutil::traceDebugOutput, including all inherited members.
operator()(const char *str) nvutil::traceDebugOutput [inline]
Generated on Fri Jan 28 09:22:39 2005 for NVSGSDK by NVIDIA


Member List

nvutil::traceFileConsoleOutput Member List

This is the complete list of members for nvutil::traceFileConsoleOutput, including all inherited members.
operator()(const char *str) nvutil::traceFileConsoleOutput [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::traceFileDebugOutput Member List

This is the complete list of members for nvutil::traceFileDebugOutput, including all inherited members.
operator()(const char *str) nvutil::traceFileDebugOutput [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::traceFileOutput Member List

This is the complete list of members for nvutil::traceFileOutput, including all inherited members.
operator()(const char *str) nvutil::traceFileOutput [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

nvutil::TraceFunctor< OutFunctor > Member List

This is the complete list of members for nvutil::TraceFunctor< OutFunctor >, including all inherited members.
format(const char *fmt,...) | nvutil::TraceFunctor< OutFunctor > | [inline]
operator()(const char *str) | nvutil::TraceFunctor< OutFunctor > | [inline]
Generated on Fri Jan 28 09:22:40 2005 for NVSGSDK by NVIDIA


Member List

skin_t Member List

This is the complete list of members for skin_t, including all inherited members.
bones | skin_t
normal | skin_t
numBones | skin_t
vertex | skin_t
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


Member List

str_t Member List

This is the complete list of members for str_t, including all inherited members.
chars | str_t
numChars | str_t
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


Member List

texBinding_t Member List

This is the complete list of members for texBinding_t, including all inherited members.
texAttribItem | texBinding_t
texUnit | texBinding_t
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


Member List

texCoordSet_t Member List

This is the complete list of members for texCoordSet_t, including all inherited members.
coordDim | texCoordSet_t
numTexCoords | texCoordSet_t
texCoords | texCoordSet_t
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


Member List

trafo_t Member List

This is the complete list of members for trafo_t, including all inherited members.
center | trafo_t
orientation | trafo_t
scaling | trafo_t
translation | trafo_t
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


Member List

tweak_t Member List

This is the complete list of members for tweak_t, including all inherited members.
name | tweak_t
strval | tweak_t
type | tweak_t
value | tweak_t
Generated on Fri Jan 28 09:20:40 2005 for NVSGSDK by NVIDIA


Switch.h Source File

Switch.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <set>
00018 #include "nvsg/Group.h"
00019
00020 namespace nvsg
00021 {
00023
00026   class Switch : public Group
00027   {
00028     public:
00030
00031       NVSG_API static const Switch * create( void );
00032
00034
00035       NVSG_API static const Switch * createFromBase( const Group &rhs );
00036
00038
00039       NVSG_API virtual const Switch * clone( void ) const;
00040
00042       NVSG_API void setActive( void );
00043
00045
00046       NVSG_API void setActive( size_t index
00047                              );
00048
00050       NVSG_API void setInactive( void );
00051
00053
00054       NVSG_API void setInactive( size_t index
00055                                );
00056
00058
00059       NVSG_API size_t getNumberOfActive( void ) const;
00060
00062
00067       NVSG_API size_t getActive( std::vector<size_t>& indices ) const;
00068
00070
00072       NVSG_API bool isActive( void ) const;
00073
00075
00077       NVSG_API bool isActive( size_t index
00078                             ) const;
00079
00080       NVSG_API virtual bool isDataShared( void ) const;
00081       NVSG_API virtual DataID getDataID( void ) const;
00082
00083     protected:
00085       NVSG_API Switch( void );
00086
00088       NVSG_API Switch( const Group &rhs );
00089
00091       NVSG_API Switch( const Switch &rhs );
00092
00094       NVSG_API virtual ~Switch( void );
00095
00097
00102       NVSG_API virtual bool calcBoundingSphere( void ) const;
00103
00104     private:
00106       std::set<size_t> m_activeChildren;
00107   };
00108
00109 } //  namespace nvsg
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


SWMRSync.h Source File

SWMRSync.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #if defined(_WIN32)
00018 # include "nvsgwindefs.h"
00019 # ifndef NOMINMAX
00020 #  define NOMINMAX // avoid problems with Microsoft definitions in windef.h and min/max from stl
00021 #  include <windows.h>
00022 #  include <winbase.h>
00023 #  undef NOMINMAX
00024 # else
00025 #  include <windows.h>
00026 #  include <winbase.h>
00027 # endif
00028 #endif
00029
00030 #if defined(LINUX)
00031 # include <pthread.h>
00032 #endif
00033
00034 namespace nvutil {
00035
00036 #if !defined(DOXYGEN_IGNORE)
00037 // Single write, multiple read synchronization interface.
00038 class ISWMRSync
00039 {
00040 public:
00041   NVSG_API virtual bool waitToWrite(size_t milliseconds = 0xFFFFFFFF) const = 0;
00042   NVSG_API virtual void doneWriting()                                 const = 0;
00043   NVSG_API virtual bool waitToRead(size_t milliseconds = 0xFFFFFFFF)  const = 0;
00044   NVSG_API virtual void doneReading()                                 const = 0;
00045 };
00046 #endif
00047
00049
00060 class SWMRSync
00061 {
00062 public:
00063 #if !defined(DOXYGEN_IGNORE)
00064   // Enables locking. This should be called once at initialization time of the nvsg library.
00065   // Sell also nvsg::nvsgInitialize
00066   static void enableLocking();
00067 #endif
00068
00070   SWMRSync(void);
00072   virtual ~SWMRSync(void);
00073
00075
00076   NVSG_API bool initialize(const char* name = NULL
00077
00078                           );
00079
00081
00091   NVSG_API bool waitToWrite( size_t milliseconds
00092                            , size_t& status
00093                            ) const;
00094
00096
00099   NVSG_API void doneWriting() const;
00100
00102
00117   NVSG_API bool waitToRead( size_t milliseconds
00118                           , size_t& status
00119                           ) const;
00120
00122
00126   NVSG_API void  doneReading() const;
00127
00128 private:
00129
00130 #if defined(MULTI_PROCESS_AWARE)
00131 #if defined(_WIN32)
00132   /* This mutex guards access to the other objects
00133    * managed by this data structure and also indicates
00134    * whether any writer threads are writing. */
00135   HANDLE m_hMutexNoWriter;
00136
00137   /* This manual-reset event is signaled when
00138    * no reader threads are reading. */
00139   HANDLE m_hEventNoReaders;
00140
00141   /* This semaphore is used simply as a counter that is
00142    * accessible between multiple processes. It is NOT
00143    * used for thread synchronization.
00144    * The count is the number of reader threads reading. */
00145   HANDLE m_hSemNumReaders;
00146
00147   /* Helper method to create a name for the semaphores and
00148    * mutexes, so we can use them over process boundaries */
00149   LPCTSTR constructObjName( LPCTSTR lpszPrefix, LPCTSTR lpszSuffix, LPTSTR lpszFullName, size_t cbFullName, bool &bOk) ;
00150 #endif // _WIN32
00151 #else // MULTI_PROCESS_AWARE
00152
00153   void enterCriticalSection() const;
00154   void leaveCriticalSection() const;
00155   void yield() const;
00156
00157 #if defined(_WIN32)
00158   typedef CRITICAL_SECTION SWMRCriticalSection;
00159 #elif defined(LINUX)
00160   typedef pthread_mutex_t  SWMRCriticalSection;
00161 #endif
00162
00163   mutable SWMRCriticalSection m_cs; // thread synchronization object
00164   mutable int m_sharedLockCount; // accessed only when inside critical section
00165 #endif
00166
00167   static bool m_lockingEnabled; // set via enableLocking; false by default
00168 };
00169
00170 }
00171
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Texture.h Source File

Texture.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvutil/RCObject.h"
00018 #include "nvsg/DAL.h"
00019
00020 namespace nvsg
00021 {
00022
00023
00025
00030   class Texture : public nvutil::RCObject
00031                 , public DALHost // an object can host a DAL
00032   {
00033     public:
00035       typedef enum
00036       {
00037         TFT_UNKNOWN = -1
00038       , TFT_DDS
00039       , TFT_JPG
00040       , TFT_TGA
00041       , TFT_BMP
00042       , TFT_TIF
00043       , TFT_RGB
00044       , TFT_GIF
00045       , TFT_PNG
00046       , TFT_HDR
00047       // to be continued
00048       } eTexFileType;
00049
00050     public:
00052       NVSG_API static const Texture * create( const std::string &fileName
00053                                             , bool flipImage = true
00054                                             );
00055
00057
00058       NVSG_API int getComponents( unsigned int image = 0
00059                                 , unsigned int mipmap = 0
00060                                 ) const;
00061
00063
00064       NVSG_API int getType( unsigned int image = 0
00065                           , unsigned int mipmap = 0
00066                           ) const;
00067
00069
00070       NVSG_API int getDepth( unsigned int image = 0
00071                            , unsigned int mipmap = 0
00072                            ) const;
00073
00075
00076       NVSG_API int getFormat( unsigned int image = 0
00077                             , unsigned int mipmap = 0
00078                             )  const;
00080
00081       std::string getFileName( void ) const;
00082
00084
00086       unsigned int getHandle( void ) const;
00087
00089
00090       NVSG_API int getHeight( unsigned int image = 0
00091                             , unsigned int mipmap = 0
00092                             ) const;
00093
00095
00096       unsigned int getNumberOfImages( void ) const;
00097
00099
00100       NVSG_API unsigned int getNumberOfMipmaps( unsigned int image = 0
00101                                               ) const;
00102
00104
00105       NVSG_API const void * getPixels( unsigned int image = 0
00106                                      , unsigned int mipmap = 0
00107                                      )  const;
00108
00110
00111       NVSG_API int getSize( unsigned int image = 0
00112                           , unsigned int mipmap = 0
00113                           ) const;
00114
00116
00118       NVSG_API unsigned long getTarget( void ) const;
00119
00121
00122       NVSG_API int getWidth( unsigned int image = 0
00123                            , unsigned int mipmap = 0
00124                            ) const;
00125
00127
00128       NVSG_API bool isCubeMap( void ) const;
00129
00131
00132       NVSG_API bool isFloatingPoint( void ) const;
00133
00135
00136       NVSG_API bool isTexFileType( eTexFileType tft
00137                                  ) const;
00138
00140
00141       NVSG_API bool load( void )  const;
00142
00144       NVSG_API void scale( unsigned int image = 0
00145
00146
00147                          , unsigned int width = 128
00148                          , unsigned int height = 128
00149                          , unsigned int depth = 1
00150                          ) const;
00151
00153       NVSG_API void setHandle( unsigned int handle
00154                              ) const;
00155
00157
00158       NVSG_API void setTarget( unsigned long target
00159                              ) const;
00160
00162       NVSG_API void unload( void ) const;
00163
00164     protected:
00166
00167       NVSG_API Texture( const std::string& fileName, bool flipImage = true );
00168
00170       NVSG_API virtual ~Texture( void );
00171
00172     protected:
00173       mutable bool          m_cube;
00174               std::string   m_fileName;
00175               bool          m_flipImage;
00176       mutable unsigned int  m_handle;
00177       mutable unsigned int  m_imageID;
00178       mutable unsigned int  m_numImages;
00179       mutable unsigned long m_target;
00180       mutable eTexFileType  m_texFileType;
00181
00182     private:
00183       // copying is not permitted
00184       Texture( const Texture& rhs );
00185   };
00186
00187   inline std::string Texture::getFileName( void ) const
00188   {
00189     __TRACE();
00190     return( m_fileName );
00191   }
00192   inline unsigned int Texture::getHandle( void ) const
00193   {
00194     __TRACE();
00195     return( m_handle );
00196   }
00197
00198   inline bool Texture::isCubeMap() const
00199   {
00200     __TRACE();
00201     return m_cube;
00202   }
00203
00204   inline bool Texture::isTexFileType( eTexFileType tft ) const
00205   {
00206     __TRACE();
00207     return( m_texFileType == tft );
00208   }
00209
00210   inline unsigned int Texture::getNumberOfImages( void ) const
00211   {
00212     __TRACE();
00213     return m_numImages;
00214   }
00215
00216   inline void Texture::setHandle( unsigned int handle ) const
00217   {
00218     __TRACE();
00219     m_handle = handle;
00220   }
00221
00222   inline void Texture::setTarget( unsigned long target ) const
00223   {
00224     __TRACE();
00225     m_target = target;
00226   }
00227
00228   inline unsigned long Texture::getTarget( void ) const
00229   {
00230     __TRACE();
00231     return( m_target );
00232   }
00233
00234 } //  namespace nvsg
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


TextureAttribute.h Source File

TextureAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <map>
00018 #include "nvmath/Plane3f.h"
00019 #include "nvmath/Trafo.h"
00020 #include "nvsg/StateAttribute.h"
00021 #include "nvsg/Texture.h"
00022
00023 namespace nvsg
00024 {
00026   typedef enum
00027   {
00028     TT_INVALID     = 0,
00029     TT_TRANSPARENT = 1,
00030     TT_DIFFUSE     = 3,
00031   } TextureType;
00032
00034   typedef enum
00035   {
00036     TCA_S = 0
00037   , TCA_T
00038   , TCA_R
00039   , TCA_Q
00040   } TexCoordAxis;
00041
00043   typedef enum
00044   {
00045     TEM_REPLACE = 0
00046   , TEM_MODULATE
00047   , TEM_DECAL
00048   , TEM_BLEND
00049   , TEM_ADD
00050   } TextureEnvMode;
00051
00053   typedef enum
00054   {
00055     TGML_OBJECT = 0
00056   , TGML_EYE
00057   } TexGenLinearMode;
00058
00060   typedef enum
00061   {
00062     TGM_OFF           = -1
00063   , TGM_OBJECT_LINEAR = TGML_OBJECT
00064   , TGM_EYE_LINEAR    = TGML_EYE
00065   , TGM_SPHERE_MAP
00066   //, TGM_REFLECTION_MAP
00067   //, TGM_NORMAL_MAP
00068   } TexGenMode;
00069
00071   typedef enum
00072   {
00073     TWM_REPEAT = 0
00074   , TWM_CLAMP
00075   , TWM_MIRROR
00076   } TextureWrapMode;
00077
00079   typedef enum
00080   {
00081     TFM_MIN_NEAREST = 0
00082   , TFM_MIN_BILINEAR
00083   , TFM_MIN_TRILINEAR
00084   } TextureMinFilterMode;
00085
00087   typedef enum
00088   {
00089     TFM_MAG_NEAREST = 0
00090   , TFM_MAG_BILINEAR
00091   } TextureMagFilterMode;
00092
00094   class TextureAttributeItemData : public nvutil::RCObject
00095   {
00096       friend class TextureAttributeItem;
00097     public:
00099
00100       NVSG_API TextureAttributeItemData(const TextureAttributeItemData& rhs);
00101
00102     private:
00103       // instantiation on stack is not permitted.
00104       TextureAttributeItemData();
00105       ~TextureAttributeItemData();
00106       // assignment also not permitted
00107       TextureAttributeItemData& operator=(const TextureAttributeItemData& rhs) {}
00108
00109       std::string           m_fileName;           // texture source file
00110       nvmath::Vec4f         m_borderColor;
00111       TextureEnvMode        m_envMode;            // enum environment mode to use with rasterization
00112       TextureMagFilterMode  m_magFilterMode;
00113       TextureMinFilterMode  m_minFilterMode;
00114       TextureType           m_type;               // enum type of the texture
00115       nvmath::Trafo         m_trafo;              // texture coordinate transformation
00116       TextureWrapMode       m_wrapMode[3];
00117       TexGenMode            m_texGenMode[4];
00118       nvmath::Plane3f       m_texGenPlane[4];
00119   };
00120
00122
00126   class TextureAttributeItem : public Object
00127   {
00128     friend class TextureAttribute;
00129
00130   public:
00132
00133     NVSG_API static const TextureAttributeItem * create( void );
00134
00136
00137     NVSG_API static const TextureAttributeItem * createFromBase( const Object &rhs
00138                                                                );
00139
00141
00142     NVSG_API virtual const TextureAttributeItem * clone( void ) const;
00143
00145
00146     NVSG_API virtual bool isDataShared(void) const;
00147
00149
00150     NVSG_API virtual DataID getDataID(void) const;
00151
00153
00154     NVSG_API void setFileName( const std::string& fname
00155                              );
00156
00158
00159     NVSG_API const std::string& getFileName( void ) const;
00160
00162
00163     NVSG_API const Texture * getTexture( void ) const;
00164
00166
00170     NVSG_API void setTexture( const Texture *p
00171                             ) const;
00172
00174     NVSG_API void setBorderColor( const nvmath::Vec4f &color );
00175
00177     NVSG_API const nvmath::Vec4f& getBorderColor( void ) const;
00178
00180
00181     NVSG_API TextureEnvMode getEnvMode( void ) const;
00182
00184
00185     NVSG_API void setEnvMode( TextureEnvMode mode
00186                             );
00187
00189
00191     NVSG_API void setMagFilterMode( TextureMagFilterMode mode
00192                                   );
00193
00195
00196     NVSG_API TextureMagFilterMode getMagFilterMode( void ) const;
00197
00199
00202     NVSG_API void setMinFilterMode( TextureMinFilterMode mode
00203                                   );
00204
00206
00207     NVSG_API TextureMinFilterMode getMinFilterMode( void ) const;
00208
00210
00213     NVSG_API TextureWrapMode getWrapMode( TexCoordAxis target
00214                                         ) const;
00215
00217
00220     NVSG_API void setWrapMode( TexCoordAxis target
00221                              , TextureWrapMode mode
00222                              );
00223
00225
00227     NVSG_API TextureType getType( void ) const;
00228
00230
00232     NVSG_API void setType( TextureType tt
00233                          );
00234
00236
00238     NVSG_API nvmath::Mat44f getMatrix( void ) const;
00239
00241
00243     NVSG_API const nvmath::Quatf & getOrientation( void ) const;
00244
00246
00247     NVSG_API void setOrientation( const nvmath::Quatf & orientation
00248                                 );
00249
00251
00253     NVSG_API const nvmath::Vec3f & getScaling( void ) const;
00254
00256
00257     NVSG_API void setScaling( const nvmath::Vec3f &scale
00258                             );
00259
00261
00263     NVSG_API const nvmath::Vec3f & getTranslation( void ) const;
00264
00266
00267     NVSG_API void setTranslation( const nvmath::Vec3f &trans
00268                                 );
00269
00271
00273     NVSG_API bool isLookupRequired( void ) const;
00274
00276     NVSG_API void setTexGenEnvironmentMapping( bool sAxis = true
00277                                              , bool tAxis = true
00278                                              );
00279
00281     NVSG_API void setTexGenLinearMapping( TexCoordAxis            axis
00282                                         , TexGenLinearMode        mode
00283                                         , const nvmath::Plane3f & plane
00284                                         );
00285
00287     NVSG_API void disableTexGen( TexCoordAxis axis
00288                                );
00289
00291     NVSG_API TexGenMode getTexGenMode( TexCoordAxis axis
00292                                      ) const;
00293
00295     NVSG_API const nvmath::Plane3f &getTexGenPlane( TexCoordAxis axis
00296                                                   ) const;
00297
00298   protected:
00300     NVSG_API TextureAttributeItem( void );
00301
00303     NVSG_API TextureAttributeItem( const Object &rhs );
00304
00306     NVSG_API TextureAttributeItem( const TextureAttributeItem& rhs );
00307
00308     // prohibit explicit creation on stack by making the destructor protected
00309     NVSG_API virtual ~TextureAttributeItem();
00310
00311
00312   private:
00313     void addOwner( const TextureAttribute * pAttrib );
00314     void removeOwner( const TextureAttribute * pAttrib );
00315
00316   private:
00317     std::vector<const TextureAttribute*>  m_owners;       // owners of this texture attribute item are collected here
00318
00319     nvutil::RCPtr<TextureAttributeItemData>   m_sharedData; // reference to embedded data that might be shared between different items
00320     mutable const Texture * m_texture; // device dependent texture object
00321     mutable bool      m_lookupRequired; // assigns wether a texture lookup is required with the very next rendering step
00322   };
00323
00325
00332   class TextureAttribute : public StateAttribute
00333   {
00334     public:
00335
00336       enum {
00337         INVALID_ITEM = 0xFFFFFFFF
00338       };
00339
00341
00342       NVSG_API static const TextureAttribute * create( void );
00343
00345
00346       NVSG_API static const TextureAttribute * createFromBase( const StateAttribute &rhs );
00347
00349
00350       NVSG_API virtual const TextureAttribute * clone( void ) const;
00351
00353
00354       NVSG_API virtual bool isDataShared( void ) const;
00355
00357
00358       NVSG_API virtual DataID getDataID( void ) const;
00359
00361
00364       NVSG_API void bindTextureAttributeItem( const TextureAttributeItem* item
00365                                             , size_t unit
00366                                             );
00367
00369
00372       NVSG_API void unbindTextureAttributeItem( size_t unit
00373                                               );
00374
00376
00382       NVSG_API size_t getFirstItem( void ) const;
00383
00385
00392       NVSG_API size_t getNextItem( void ) const;
00393
00395
00405       NVSG_API size_t getNumberOfItems( void ) const;
00406
00408
00411       NVSG_API const TextureAttributeItem * getTextureAttributeItem( size_t unit
00412                                                              ) const;
00413
00414     protected:
00416       NVSG_API TextureAttribute( void );
00417
00419       NVSG_API TextureAttribute( const StateAttribute &rhs );
00420
00422       NVSG_API TextureAttribute( const TextureAttribute& rhs );
00423
00425       NVSG_API virtual ~TextureAttribute( void );
00426
00427     private:
00428       std::map<size_t, const TextureAttributeItem*> m_bindings; // item bindings
00429       mutable size_t                     m_currItem; // used with iterating items
00430   };
00431
00432
00433   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TextureAttribute
00434   inline size_t TextureAttribute::getFirstItem( void ) const
00435   {
00436     __TRACE();
00437     m_currItem = !m_bindings.empty() ? m_bindings.begin()->first : INVALID_ITEM;
00438     return m_currItem;
00439   }
00440
00441   inline size_t TextureAttribute::getNextItem( void ) const
00442   {
00443     __TRACE();
00444     if (m_currItem!=INVALID_ITEM)
00445     {
00446       std::map<size_t, const TextureAttributeItem*>::const_iterator ci = m_bindings.upper_bound(m_currItem);
00447       m_currItem = ci!=m_bindings.end() ? ci->first : INVALID_ITEM;
00448     }
00449     return m_currItem;
00450   }
00451
00452   inline size_t TextureAttribute::getNumberOfItems( void ) const
00453   {
00454     __TRACE();
00455     return m_bindings.size();
00456   }
00457
00458   inline const TextureAttributeItem* TextureAttribute::getTextureAttributeItem( size_t unit ) const
00459   {
00460     __TRACE();
00461     std::map<size_t, const TextureAttributeItem*>::const_iterator ci = m_bindings.find(unit);
00462     return ci!=m_bindings.end() ? (*ci).second : NULL;
00463   }
00464
00465   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TextureAttributeItem
00466   inline const std::string& TextureAttributeItem::getFileName() const
00467   {
00468     __TRACE();
00469     return ( m_sharedData->m_fileName );
00470   }
00471
00472   inline void TextureAttributeItem::setFileName( const std::string& fname )
00473   {
00474     __TRACE();
00475
00476     if ( fname == m_sharedData->m_fileName )
00477     { // nothing to do if filename doesn't change
00478       return;
00479     }
00480
00481     // nvutil::writeAccess performs a deep copy if necessary
00482     nvutil::writeAccess( m_sharedData );
00483
00484     // unreference old texture object
00485     setTexture(NULL);
00486
00487     m_sharedData->m_fileName = fname;
00488     m_lookupRequired = true; // new image file requires new texture upload
00489   }
00490
00491   inline const Texture * TextureAttributeItem::getTexture( void ) const
00492   {
00493     __TRACE();
00494     return( m_texture );
00495   }
00496
00497   inline void TextureAttributeItem::setTexture( const Texture *p ) const
00498   {
00499     __TRACE();
00500     if ( m_texture )
00501     {
00502       m_texture->removeRef();
00503     }
00504     m_texture = p;
00505     if ( m_texture )
00506     {
00507       m_texture->addRef();
00508     }
00509     m_lookupRequired = ! m_texture;
00510   }
00511
00512   inline void TextureAttributeItem::setBorderColor( const nvmath::Vec4f &color )
00513   {
00514     m_sharedData->m_borderColor = color;
00515   }
00516
00517   inline const nvmath::Vec4f& TextureAttributeItem::getBorderColor( void ) const
00518   {
00519     return( m_sharedData->m_borderColor );
00520   }
00521
00522   inline TextureEnvMode TextureAttributeItem::getEnvMode( void ) const
00523   {
00524     __TRACE();
00525     return( m_sharedData->m_envMode );
00526   }
00527
00528   inline void TextureAttributeItem::setEnvMode( TextureEnvMode mode )
00529   {
00530     __TRACE();
00531     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if neccessary
00532     m_sharedData->m_envMode = mode;
00533   }
00534
00535   inline TextureWrapMode TextureAttributeItem::getWrapMode( TexCoordAxis target ) const
00536   {
00537     __TRACE();
00538     return( m_sharedData->m_wrapMode[target] );
00539   }
00540
00541   inline void TextureAttributeItem::setWrapMode( TexCoordAxis target, TextureWrapMode mode )
00542   {
00543     __TRACE();
00544     m_sharedData->m_wrapMode[target] = mode;
00545   }
00546
00547   inline TextureMinFilterMode TextureAttributeItem::getMinFilterMode( void ) const
00548   {
00549     __TRACE();
00550     return( m_sharedData->m_minFilterMode );
00551   }
00552
00553   inline void TextureAttributeItem::setMinFilterMode( TextureMinFilterMode mode )
00554   {
00555     __TRACE();
00556     m_sharedData->m_minFilterMode = mode;
00557   }
00558
00559   inline TextureMagFilterMode TextureAttributeItem::getMagFilterMode( void ) const
00560   {
00561     __TRACE();
00562     return( m_sharedData->m_magFilterMode );
00563   }
00564
00565   inline void TextureAttributeItem::setMagFilterMode( TextureMagFilterMode mode )
00566   {
00567     __TRACE();
00568     m_sharedData->m_magFilterMode = mode;
00569   }
00570
00571   inline  TextureType TextureAttributeItem::getType( void ) const
00572   {
00573     __TRACE();
00574     return( m_sharedData->m_type );
00575   }
00576
00577   inline void TextureAttributeItem::setType( TextureType tt )
00578   {
00579     __TRACE();
00580     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if neccessary
00581     if (tt == TT_TRANSPARENT)
00582     {
00583       std::vector<const TextureAttribute*>::const_iterator ci = m_owners.begin();
00584       while (ci != m_owners.end())
00585       {
00586         TextureAttribute * pAttrib = beginEdit(*ci);
00587         pAttrib->invalidateTransparentTextureContainment();
00588         endEdit(pAttrib);
00589
00590         ci++;
00591       }
00592     }
00593     m_sharedData->m_type = tt;
00594   }
00595
00596   inline  nvmath::Mat44f  TextureAttributeItem::getMatrix( void ) const
00597   {
00598     __TRACE();
00599     return( m_sharedData->m_trafo.getMatrix() );
00600   }
00601
00602   inline const nvmath::Quatf & TextureAttributeItem::getOrientation( void ) const
00603   {
00604     __TRACE();
00605     return( m_sharedData->m_trafo.getOrientation() );
00606   }
00607
00608   inline void TextureAttributeItem::setOrientation( const nvmath::Quatf &orientation )
00609   {
00610     __TRACE();
00611     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if neccessary
00612     m_sharedData->m_trafo.setOrientation(orientation);
00613   }
00614
00615   inline const nvmath::Vec3f & TextureAttributeItem::getScaling( void ) const
00616   {
00617     __TRACE();
00618     return( m_sharedData->m_trafo.getScaling() );
00619   }
00620
00621   inline void TextureAttributeItem::setScaling( const nvmath::Vec3f &scale )
00622   {
00623     __TRACE();
00624     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if neccessary
00625     m_sharedData->m_trafo.setScaling(scale);
00626   }
00627
00628   inline const nvmath::Vec3f & TextureAttributeItem::getTranslation( void ) const
00629   {
00630     __TRACE();
00631     return( m_sharedData->m_trafo.getTranslation() );
00632   }
00633
00634   inline void TextureAttributeItem::setTranslation( const nvmath::Vec3f &trans )
00635   {
00636     __TRACE();
00637     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if neccessary
00638     //  just translate in x and y, don't translate in z
00639     m_sharedData->m_trafo.setTranslation(trans);
00640   }
00641
00642   inline bool TextureAttributeItem::isLookupRequired( void ) const
00643   {
00644     __TRACE();
00645     __ASSERT((m_lookupRequired==false)==(m_texture!=NULL));
00646     return m_lookupRequired || !m_texture->getHandle();
00647   }
00648
00649   inline void TextureAttributeItem::setTexGenEnvironmentMapping( bool sAxis, bool tAxis )
00650   {
00651     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if necessary
00652     if ( sAxis )
00653     {
00654       m_sharedData->m_texGenMode[TCA_S] = TGM_SPHERE_MAP;
00655     }
00656     if ( tAxis )
00657     {
00658       m_sharedData->m_texGenMode[TCA_T] = TGM_SPHERE_MAP;
00659     }
00660   }
00661
00662   inline void TextureAttributeItem::setTexGenLinearMapping( TexCoordAxis axis, TexGenLinearMode mode, const nvmath::Plane3f &plane )
00663   {
00664     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if necessary
00665     m_sharedData->m_texGenMode[axis] = (TexGenMode) mode;
00666     m_sharedData->m_texGenPlane[axis] = plane;
00667   }
00668
00669   inline void TextureAttributeItem::disableTexGen( TexCoordAxis axis )
00670   {
00671     nvutil::writeAccess(m_sharedData);   //  nvutil::writeAccess performs a deep copy if necessary
00672     m_sharedData->m_texGenMode[axis] = TGM_OFF;
00673   }
00674
00675   inline TexGenMode TextureAttributeItem::getTexGenMode( TexCoordAxis axis ) const
00676   {
00677     return( m_sharedData->m_texGenMode[axis] );
00678   }
00679
00680   inline const nvmath::Plane3f &TextureAttributeItem::getTexGenPlane( TexCoordAxis axis ) const
00681   {
00682     return( m_sharedData->m_texGenPlane[axis] );
00683   }
00684 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Tools.h Source File

Tools.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <vector>
00018 // __WIN64__wa__XXX macros to workaround some win64 issues
00019 #include "__WIN64__workarounds.h"
00020
00021 namespace nvutil
00022 {
00023
00025
00040   extern NVSG_API bool FindFile( const std::string &mask
00041                                , const std::vector<std::string> &searchPaths
00042                                , std::vector<std::string> &results
00043                                , bool recursive=false
00044                                );
00045
00047
00049   extern NVSG_API bool FindFileFirst( const std::string &mask
00050                                     , const std::vector<std::string> &searchPaths
00051                                     , std::string &nameOut
00052                                     , bool recursive=false
00053                                     );
00054
00056   extern NVSG_API bool FileExists( const std::string &filepath  //<! Input (path+)filename.
00057                                  );
00058
00060
00062   extern NVSG_API void GetFileNameFromPath( const std::string& path
00063                                           , std::string& fname
00064                                           );
00066
00068   extern NVSG_API void GetFileExtFromPath( const std::string& path
00069                                          , std::string& fext
00070                                          );
00072
00074   extern NVSG_API void GetDirFromPath( const std::string& path
00075                                      , std::string& dir
00076                                      );
00078
00080   extern NVSG_API void GetDrvFromPath( const std::string& path
00081                                      , std::string& drv
00082                                      );
00084
00086   extern NVSG_API void GetDrvAndDirFromPath(const std::string& path
00087                                            , std::string& dir
00088                                            );
00089 #if defined(_WIN32)
00090
00091
00093   extern NVSG_API void GetModulePath( const std::string& module
00094                                     , std::string& path
00095                                     );
00096 #elif defined(LINUX)
00097
00098
00100   extern NVSG_API void GetModulePath( std::string& path );
00101 #endif
00102
00103 #if defined(_WIN32)
00104
00105
00107   extern NVSG_API void GetModulePath( const HMODULE hModule
00108                                     , std::string& path
00109                                     );
00110 #endif
00111
00113
00116   extern NVSG_API bool GetCurrentDir( std::string& path
00117                                     );
00118
00119   template<typename T>  T Maximum( T a, T b, T c )
00120   {
00121     return( ( a < b ) ? __WIN64__wa__std_max( b, c ) : __WIN64__wa__std_max( a, c ) );
00122   }
00123
00124   template<typename T>  T Minimum( T a, T b, T c )
00125   {
00126     return( ( a < b ) ? __WIN64__wa__std_min( a, c ) : __WIN64__wa__std_min( b, c ) );
00127   }
00128
00130
00133   extern NVSG_API std::string SetCurrentDir( const std::string& dir
00134                                       );
00135
00136 } // namespace nvutil
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Trace.h Source File

Trace.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 #include "nvutil/nvutil.h"
00018
00019 #include <string>
00020
00021 #ifndef LINUX
00022 # include <conio.h>
00023 # include "nvutil/Registry.h"
00024 #else
00025 # include <stdio.h>
00026 # include <stdarg.h>
00027 #endif
00028
00030 extern NVSG_API const char * REG_NV_TRACE_SUBKEY; // "Software\\NVIDIA Corporation\\QuadroVR\\Debug"
00031
00032 namespace nvutil {
00033
00034
00036 #define TRACE_LOG_FILE       "QuadroVR.log" /* log file for debug printouts */
00037
00038   //
00039   // a certain output functors
00040   //
00041
00043   struct traceDebugOutput
00044   {
00046     void operator()(const char * str)
00047     {
00048 #ifdef _WIN32
00049 #ifndef UNICODE
00050       OutputDebugStringA(str);
00051 #endif
00052 #elif defined(LINUX)
00053       printf("%s", str);
00054 #endif
00055     }
00056   };
00057
00059   struct traceConsoleOutput
00060   {
00062     void operator()(const char * str)
00063     {
00064 #ifdef _WIN32
00065       _cputs(str);
00066 #endif
00067     }
00068   };
00069
00071   struct traceConsoleDebugOutput
00072   {
00074     void operator()(const char * str)
00075     {
00076 #ifdef _WIN32
00077       traceDebugOutput()(str);
00078       traceConsoleOutput()(str);
00079 #endif
00080     }
00081   };
00082
00084   struct traceFileOutput
00085   {
00087     void operator()(const char * str)
00088     {
00089 #ifdef _WIN32
00090       FILE * fp = fopen(TRACE_LOG_FILE, "a");
00091       if ( fp )
00092       {
00093         fputs(str, fp);
00094         fclose(fp);
00095       }
00096 #endif
00097     }
00098   };
00099
00101   struct traceFileDebugOutput
00102   {
00104     void operator()(const char * str)
00105     {
00106 #ifdef _WIN32
00107       traceFileOutput()(str);
00108       traceDebugOutput()(str);
00109 #endif
00110     }
00111   };
00112
00114   struct traceFileConsoleOutput
00115   {
00117     void operator()(const char * str)
00118     {
00119 #ifdef _WIN32
00120       traceFileOutput()(str);
00121       traceConsoleOutput()(str);
00122 #endif
00123     }
00124   };
00125
00127   template <typename Functor>
00128   class Trace
00129   {
00130   public:
00132     Trace(const char * fn, bool traceOut) : m_fn(fn), m_traceOut(traceOut) { if (m_traceOut) { enter(); } }
00133
00135     ~Trace() { if (m_traceOut) { leave(); } }
00136
00137   private:
00138     void enter()
00139     {
00140       std::string outstr(">>>> Enter ");
00141       outstr += m_fn.c_str();
00142       outstr += "\n";
00143       Functor()(outstr.c_str());
00144     }
00145
00146     void leave()
00147     {
00148       std::string outstr("<<<< Leave ");
00149       outstr += m_fn.c_str();
00150       outstr += "\n";
00151       Functor()(outstr.c_str());
00152     }
00153
00154     std::string m_fn;
00155     bool m_traceOut;
00156   };
00157
00159   template <typename OutFunctor>
00160   struct TraceFunctor
00161   {
00163     void operator()(const char* str) { OutFunctor()(str); }
00164
00166     void format(const char* fmt, ...)
00167     {
00168       const int bufSize = 1024;
00169       char outBuf[bufSize];
00170
00171       va_list ap;
00172       va_start(ap, fmt);
00173       vsnprintf(outBuf, bufSize-1, fmt, ap);
00174       va_end(ap);
00175
00176       OutFunctor()(outBuf);
00177     }
00178   };
00179
00180
00181 #if defined(_DEBUG) && defined(_WIN32) && !defined(UNICODE)
00182   // uncomment one of the following for desired tracing
00183 # define OutputString traceDebugOutput
00184   //# define OutputString traceConsoleOutput
00185   //# define OutputString traceConsoleDebugOutput
00186   //# define OutputString traceFileOutput
00187   //# define OutputString traceFileDebugOutput
00188   //# define OutputString traceFileConsoleOutput
00189 # define __TRACE()                                                       \
00190   static DWORD dwTraceEnabled = RegVal<DWORD>( __FUNCTION__              \
00191   , REG_NV_TRACE_SUBKEY       \
00192   , REG_DWORD_LITTLE_ENDIAN   \
00193   , HKEY_LOCAL_MACHINE        \
00194   , DWORD(0) );               \
00195   Trace<TraceFunctor<OutputString> >  traceObject(__FUNCTION__, dwTraceEnabled!=0);
00196   // __TRACE_OUT(s) - string output
00197   // requires TRACE() macro to be expanded before within the same function
00198 # define __TRACE_OUT(s)   \
00199   if ( dwTraceEnabled ) { TraceFunctor<OutputString>()(s); }
00200   // __TRACE_OUT_F(s) - formatted string output
00201   // USAGE: __TRACE_OUT_F((const char* fmt, ...))
00202   //                      ^                    ^
00203   // requires TRACE() macro to be expanded before within the same function
00204 # define __TRACE_OUT_F(s) \
00205   if ( dwTraceEnabled ) { TraceFunctor<OutputString>().format s; }
00206
00207 #else // defined(_DEBUG) && defined(_WIN32)
00208
00209 # define __TRACE()
00210 # define __TRACE_OUT(s)
00211 # define __TRACE_OUT_F(s)
00212
00213 #endif // _DEBUG
00214
00215 } // namespace nvutil
00216
00217 // avoid tedious, repeated qualification of namespace scope
00218 #if defined(_DEBUG) && defined(_WIN32)
00219
00220 using nvutil::RegVal;
00221 using nvutil::traceConsoleDebugOutput;
00222 using nvutil::traceConsoleOutput;
00223 using nvutil::traceDebugOutput;
00224 using nvutil::traceFileConsoleOutput;
00225 using nvutil::traceFileDebugOutput;
00226 using nvutil::traceFileOutput;
00227 using nvutil::TraceFunctor;
00228 using nvutil::Trace;
00229
00230 #endif // defined(_DEBUG) && defined(_WIN32)
00231
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Trackball.h Source File

Trackball.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vec2f.h"
00018 #include "nvmath/Vec3f.h"
00019
00020 namespace nvutil
00021 {
00022
00024
00029   class Trackball
00030   {
00031     public:
00033       Trackball(void);
00034
00036       virtual ~Trackball(void);
00037
00039
00048       void  apply( const nvmath::Vec2f &p0
00049                  , const nvmath::Vec2f &p1
00050                  , nvmath::Vec3f & axis
00051                  , float & rad
00052                  );
00053
00055
00060       void  setSize( float size
00061                    );
00062
00064
00066       float getSize( void );
00067
00068     protected:
00070
00073       float projectOntoTBSphere( const nvmath::Vec2f & p );
00074
00075       float m_tbsize;
00076   };
00077
00078   inline  void  Trackball::setSize( float size )
00079   {
00080     __ASSERT( m_tbsize > 0.f );
00081     m_tbsize = size;
00082   }
00083
00084   inline float Trackball::getSize( void )
00085   {
00086     return( m_tbsize );
00087   }
00088
00089 } //  namespace nvui
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


TrackballCamManip.h Source File

TrackballCamManip.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 #include "nvui/CameraManipulator.h"
00017 #include "nvutil/Trackball.h"
00018
00021 namespace nvui
00022 {
00023
00025
00032   class TrackballCamManip : public CameraManipulator
00033   {
00034     public:
00036       NVSG_API TrackballCamManip(void);
00037
00039       NVSG_API virtual ~TrackballCamManip(void);
00040
00042
00043       NVSG_API virtual void apply();
00044
00046
00049       NVSG_API virtual void  setViewportSize( size_t x
00050                                             , size_t y
00051                                             );
00052
00054
00059       bool  isDolly( void );
00060
00062
00067       bool  isPan( void );
00068
00070
00075       bool  isRotate( void );
00076
00077     protected:
00078       static NVSG_API const UINT DOLLY1;
00079       static NVSG_API const UINT DOLLY2;
00080       static NVSG_API const UINT PAN1;
00081       static NVSG_API const UINT PAN2;
00082       static NVSG_API const UINT ROTATE1;
00083
00084       nvutil::Trackball m_trackball;
00085
00087
00089       NVSG_API virtual void rotate(void);
00090
00092
00094       NVSG_API virtual void pan(void);
00095
00097
00099       NVSG_API virtual void dolly(void);
00100
00101   };
00102
00103   inline  bool  TrackballCamManip::isRotate( void )
00104   {
00105     return( ROTATE1 == (m_buttonState | m_keyState));
00106   }
00107
00108   inline  bool  TrackballCamManip::isPan( void )
00109   {
00110     return( PAN1 == (m_buttonState | m_keyState) || PAN2 == (m_buttonState | m_keyState) );
00111   }
00112
00113   inline  bool  TrackballCamManip::isDolly( void )
00114   {
00115     return( DOLLY1 == (m_buttonState | m_keyState) || DOLLY2 == (m_buttonState | m_keyState) );
00116   }
00117
00118 } //  namespace nvui
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Trafo.h Source File

Trafo.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Mat44f.h"
00018 #include "nvmath/Quatf.h"
00019
00020 namespace nvmath
00021 {
00023
00025   class Trafo
00026   {
00027     public:
00029       NVSG_API Trafo( void );
00030
00032
00033       NVSG_API Mat44f getInverse( void ) const;
00034
00036
00037       NVSG_API const Vec3f & getCenter( void ) const;
00038
00040
00041       NVSG_API const Quatf & getOrientation( void ) const;
00042
00044
00045       NVSG_API const Vec3f & getScaling( void ) const;
00046
00048
00049       NVSG_API Mat44f getMatrix( void ) const;
00050
00052
00053       NVSG_API const Vec3f & getTranslation( void ) const;
00054
00056       NVSG_API void setCenter( const Vec3f &center
00057                              );
00058
00060       NVSG_API void setIdentity( void );
00061
00063       NVSG_API void setOrientation( const Quatf &orientation
00064                                   );
00065
00067       NVSG_API void setScaling( const Vec3f &scaling
00068                               );
00069
00071       NVSG_API void setTranslation( const Vec3f &translation
00072                                   );
00073
00074     private:
00075       Vec3f   m_center;
00076       Quatf   m_orientation;
00077       Vec3f   m_scaling;
00078       Vec3f   m_translation;
00079   };
00080
00081   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00082   // non-member functions
00083   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00087   inline Trafo lerp( float alpha
00088                    , const Trafo &t0
00089                    , const Trafo &t1
00090                    )
00091   {
00092     Trafo t;
00093     t.setCenter( lerp( alpha, t0.getCenter(), t1.getCenter() ) );
00094     t.setOrientation( lerp( alpha, t0.getOrientation(), t1.getOrientation() ) );
00095     t.setScaling( lerp( alpha, t0.getScaling(), t1.getScaling() ) );
00096     t.setTranslation( lerp( alpha, t0.getTranslation(), t1.getTranslation() ) );
00097     return( t );
00098   }
00099
00100   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00101   // inlines
00102   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00103   inline Trafo::Trafo( void )
00104     : m_center( Vec3f( 0.0f, 0.0f, 0.0f ) )
00105     , m_orientation( Quatf( 0.0f, 0.0f, 0.0f, 1.0f ) )
00106     , m_scaling( Vec3f( 1.0f, 1.0f, 1.0f ) )
00107     , m_translation( Vec3f( 0.0f, 0.0f, 0.0f ) )
00108   {
00109   };
00110
00111   inline const Vec3f & Trafo::getCenter( void ) const
00112   {
00113     return( m_center );
00114   }
00115
00116   inline const Quatf & Trafo::getOrientation( void ) const
00117   {
00118     return( m_orientation );
00119   }
00120
00121   inline const Vec3f & Trafo::getScaling( void ) const
00122   {
00123     return( m_scaling );
00124   }
00125
00126   inline const Vec3f & Trafo::getTranslation( void ) const
00127   {
00128     return( m_translation );
00129   }
00130
00131   inline void Trafo::setCenter( const Vec3f &center )
00132   {
00133     m_center = center;
00134   }
00135
00136   inline void Trafo::setIdentity( void )
00137   {
00138     m_center = Vec3f( 0.0f, 0.0f, 0.0f );
00139     m_orientation = Quatf( 0.0f, 0.0f, 0.0f, 1.0f );
00140     m_scaling = Vec3f( 1.0f, 1.0f, 1.0f );
00141     m_translation = Vec3f( 0.0f, 0.0f, 0.0f );
00142   }
00143
00144   inline void Trafo::setOrientation( const Quatf &orientation )
00145   {
00146     __ASSERT( isNormalized( orientation ) );
00147     m_orientation = orientation;
00148   }
00149
00150   inline void Trafo::setScaling( const Vec3f &scaling )
00151   {
00152     m_scaling = scaling;
00153   }
00154
00155   inline void Trafo::setTranslation( const Vec3f &translation )
00156   {
00157     m_translation = translation;
00158   }
00159 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Transform.h Source File

Transform.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Trafo.h"
00018 #include "nvsg/Group.h"
00019
00020 namespace nvsg
00021 {
00022
00024
00027   class Transform : public Group
00028   {
00029     public:
00031
00032       NVSG_API static const Transform * create( void );
00033
00035
00036       NVSG_API static const Transform * createFromBase( const Group &rhs );
00037
00039
00040       NVSG_API virtual const Transform * clone( void ) const;
00041
00043
00044       NVSG_API virtual bool    isDataShared( void )  const;
00045
00047
00048       NVSG_API virtual DataID  getDataID( void )     const;
00049
00051
00052       nvmath::Mat44f  getInverse( void )            const;
00053
00055
00056       const nvmath::Vec3f & getCenter( void )       const;
00057
00059
00060       const nvmath::Quatf & getOrientation( void )  const;
00061
00063
00064       const nvmath::Vec3f & getScaling( void )      const;
00065
00067
00068       nvmath::Mat44f  getMatrix( void  )             const;
00069
00071
00072       const nvmath::Vec3f & getTranslation( void )  const;
00073
00075
00076       NVSG_API bool isIdentity( void ) const;
00077
00079       NVSG_API virtual void  setCenter( const nvmath::Vec3f &center
00080                                       );
00081
00083       NVSG_API virtual void setIdentity( void );
00084
00086       NVSG_API virtual void  setOrientation( const nvmath::Quatf &orientation
00087                                            );
00088
00090       NVSG_API virtual void  setScaling( const nvmath::Vec3f &scaling
00091                                        );
00092
00094       NVSG_API virtual void  setTranslation( const nvmath::Vec3f &translation
00095
00096                                            );
00097
00098     protected:
00100       NVSG_API Transform(void);
00101
00103       NVSG_API Transform( const Group &rhs );
00104
00106       NVSG_API Transform( const Transform &rhs );
00107
00109       NVSG_API virtual ~Transform(void);
00110
00112
00114       NVSG_API virtual bool calcBoundingSphere( void ) const;
00115
00116     private:
00117       nvmath::Trafo m_trafo;
00118   };
00119
00120   inline  nvmath::Mat44f  Transform::getInverse( void ) const
00121   {
00122     return( m_trafo.getInverse() );
00123   }
00124
00125   inline  const nvmath::Vec3f & Transform::getCenter( void ) const
00126   {
00127     return( m_trafo.getCenter() );
00128   }
00129
00130   inline  const nvmath::Quatf & Transform::getOrientation( void ) const
00131   {
00132     return( m_trafo.getOrientation() );
00133   }
00134
00135   inline  const nvmath::Vec3f & Transform::getScaling( void ) const
00136   {
00137     return( m_trafo.getScaling() );
00138   }
00139
00140   inline  nvmath::Mat44f  Transform::getMatrix( void  ) const
00141   {
00142     return( m_trafo.getMatrix() );
00143   }
00144
00145   inline  const nvmath::Vec3f & Transform::getTranslation( void ) const
00146   {
00147     return( m_trafo.getTranslation() );
00148   }
00149
00150   inline  bool Transform::isIdentity( void ) const
00151   {
00152     return( nvmath::isIdentity( m_trafo.getMatrix() ) );
00153   }
00154 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


TransformStack.h Source File

TransformStack.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <stack>
00018 #include "nvmath/Mat44f.h"
00019
00020 namespace nvutil
00021 {
00023
00039   class TransformStack
00040   {
00041     public:
00043
00044       TransformStack();
00045
00046     public:
00048       NVSG_API const nvmath::Mat44f    getClipToModel( void )  const;
00049
00051       NVSG_API const nvmath::Mat44f  & getClipToView( void )   const;
00052
00054       NVSG_API const nvmath::Mat44f    getModelToClip( void )  const;
00055
00057       NVSG_API const nvmath::Mat44f    getModelToView( void )  const;
00058
00060       NVSG_API const nvmath::Mat44f  & getModelToWorld( void ) const;
00061
00063       NVSG_API const nvmath::Mat44f  & getViewToClip( void )   const;
00064
00066       NVSG_API const nvmath::Mat44f    getViewToModel( void )  const;
00067
00069       NVSG_API const nvmath::Mat44f  & getViewToWorld( void )  const;
00070
00072       NVSG_API const nvmath::Mat44f  & getWorldToModel( void ) const;
00073
00075       NVSG_API const nvmath::Mat44f  & getWorldToView( void )  const;
00076
00078       NVSG_API size_t    getStackDepth( void )   const;
00079
00081       NVSG_API void      popModelToWorld( void );
00082
00084
00085       NVSG_API void      pushModelToWorld( const nvmath::Mat44f &modelWorld
00086                                          , const nvmath::Mat44f &worldModel
00087                                          );
00088
00090
00091       NVSG_API void      setViewToClip( const nvmath::Mat44f &viewClip
00092                                       , const nvmath::Mat44f &clipView
00093                                       );
00094
00096
00097       NVSG_API void      setWorldToView( const nvmath::Mat44f &worldView
00098                                        , const nvmath::Mat44f &viewWorld
00099                                        );
00100
00101     private :
00102       std::stack<nvmath::Mat44f> m_modelWorld;
00103       std::stack<nvmath::Mat44f> m_worldModel;
00104       nvmath::Mat44f        m_worldView;
00105       nvmath::Mat44f        m_viewWorld;
00106       nvmath::Mat44f        m_viewClip;
00107       nvmath::Mat44f        m_clipView;
00108   };
00109
00110
00111   inline  TransformStack::TransformStack()
00112   {
00113     m_modelWorld.push( nvmath::cIdentity44f );
00114     m_worldModel.push( nvmath::cIdentity44f );
00115   }
00116
00117   inline  const nvmath::Mat44f    TransformStack::getClipToModel( void )  const
00118   {
00119     return( m_worldModel.top() * m_viewWorld * m_clipView );
00120   }
00121
00122   inline  const nvmath::Mat44f  & TransformStack::getClipToView( void )   const
00123   {
00124     return( m_clipView );
00125   }
00126
00127   inline  const nvmath::Mat44f    TransformStack::getModelToClip( void )  const
00128   {
00129     return( m_viewClip * m_worldView * m_modelWorld.top() );
00130   }
00131
00132   inline  const nvmath::Mat44f    TransformStack::getModelToView( void )  const
00133   {
00134     return( m_worldView * m_modelWorld.top() );
00135   }
00136
00137   inline  const nvmath::Mat44f  & TransformStack::getModelToWorld( void ) const
00138   {
00139     return( m_modelWorld.top() );
00140   }
00141
00142   inline  const nvmath::Mat44f  & TransformStack::getViewToClip( void )   const
00143   {
00144     return( m_viewClip );
00145   }
00146
00147   inline  const nvmath::Mat44f    TransformStack::getViewToModel( void )  const
00148   {
00149     return( m_worldModel.top() * m_viewWorld );
00150   }
00151
00152   inline  const nvmath::Mat44f  & TransformStack::getViewToWorld( void )  const
00153   {
00154     return( m_viewWorld );
00155   }
00156
00157   inline  const nvmath::Mat44f  & TransformStack::getWorldToModel( void ) const
00158   {
00159     return( m_worldModel.top() );
00160   }
00161
00162   inline  const nvmath::Mat44f  & TransformStack::getWorldToView( void )  const
00163   {
00164     return( m_worldView );
00165   }
00166
00167   inline  size_t  TransformStack::getStackDepth( void ) const
00168   {
00169     __ASSERT( m_modelWorld.size() == m_worldModel.size() );
00170     return( m_modelWorld.size() );
00171   }
00172
00173   inline  void  TransformStack::popModelToWorld( void )
00174   {
00175     m_modelWorld.pop();
00176     m_worldModel.pop();
00177   }
00178
00179   inline  void  TransformStack::pushModelToWorld( const nvmath::Mat44f &modelWorld, const nvmath::Mat44f &worldModel )
00180   {
00181     m_modelWorld.push( m_modelWorld.top() * modelWorld );
00182     m_worldModel.push( worldModel * m_worldModel.top() );
00183   }
00184
00185   inline  void  TransformStack::setViewToClip( const nvmath::Mat44f &viewClip, const nvmath::Mat44f &clipView )
00186   {
00187     m_viewClip = viewClip;
00188     m_clipView = clipView;
00189   }
00190
00191   inline  void  TransformStack::setWorldToView( const nvmath::Mat44f &worldView, const nvmath::Mat44f &viewWorld )
00192   {
00193     m_worldView = worldView;
00194     m_viewWorld = viewWorld;
00195   }
00196 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


TransformUnifyTraverser.h Source File

TransformUnifyTraverser.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #include <list>
00013
00014 #include "nvsgcommon.h"
00015
00016 #include "nvtraverser/Traverser.h"
00017
00018 namespace nvtraverser
00019 {
00021
00025   class TransformUnifyTraverser : public Traverser
00026   {
00027     public:
00029       NVSG_API TransformUnifyTraverser( void );
00030
00031     public:
00033
00035       NVSG_API bool getIgnoreNames( void ) const;
00036
00038
00039       NVSG_API void setIgnoreNames( bool ignore
00040                                   );
00041
00042     protected:
00044       NVSG_API virtual ~TransformUnifyTraverser( void );
00045
00047       NVSG_API virtual void doApply( const nvsg::ViewState *viewState, const nvsg::Scene *scene );
00048
00050
00052       NVSG_API virtual void handleTransform( const nvsg::Transform * p
00053                                            );
00054
00056
00058       NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform * p
00059                                                    );
00060
00062
00064       NVSG_API virtual void preTraverseGroup(
00065         const nvsg::Group *p
00066       );
00067
00069
00071       NVSG_API virtual void postTraverseGroup(
00072         const nvsg::Group *p
00073       );
00074
00075     private:
00076       bool                                                    m_ignoreLights;
00077       bool                                                    m_ignoreNames;
00078       std::stack<std::list<const nvsg::Transform*>*>          m_toDeleteTransform;
00079       std::stack<std::list<const nvsg::Transform*>*>          m_toKeepTransform;
00080       std::stack<std::list<const nvsg::AnimatedTransform*>*>  m_toDeleteAnimatedTransform;
00081       std::stack<std::list<const nvsg::AnimatedTransform*>*>  m_toKeepAnimatedTransform;
00082   };
00083
00084   inline bool TransformUnifyTraverser::getIgnoreNames( void ) const
00085   {
00086     return( m_ignoreNames );
00087   }
00088
00089   inline void TransformUnifyTraverser::setIgnoreNames( bool ignore )
00090   {
00091     m_ignoreNames = ignore;
00092   }
00093
00094 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Traverser.h Source File

Traverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <stack>
00016
00017 #include "nvsgcommon.h"
00018
00019 #include "nvsg/Object.h"
00020 #include "nvutil/MemFunTbl.h"
00021 #include "nvutil/SWMRSync.h"
00022
00023 // forward declarations
00024 namespace nvmath
00025 {
00026   class Trafo;
00027 }
00028 namespace nvsg
00029 {
00030   class AnimatedQuads;
00031   class AnimatedTransform;
00032   class AnimatedTriangles;
00033   class CgFx;
00034   class CullData;
00035   class DirectedLight;
00036   class Drawable;
00037   class FaceAttribute;
00038   class GeoNode;
00039   class GeoSet;
00040   class Group;
00041   class HighlightBox;
00042   class HighlightEdges;
00043   class JitterCamera;
00044   class LightSource;
00045   class LOD;
00046   class Material;
00047   class Node;
00048   class ParallelCamera;
00049   class PerspectiveCamera;
00050   class PointLight;
00051   class Quads;
00052   class QuadStrips;
00053   class SimpleCamera;
00054   class SkinnedTriangles;
00055   class SpotLight;
00056   class StateSet;
00057   class StereoCamera;
00058   class TextureAttribute;
00059   class TextureAttributeItem;
00060   class Transform;
00061   class Triangles;
00062   class TriStrips;
00063   class Switch;
00064   class Scene;
00065   class ViewState;
00066   class VNVector;
00067   template<typename T> class FramedAnimation;
00068   template<typename T> class LinearInterpolatedAnimation;
00069 }
00070
00071 namespace nvtraverser
00072 {
00073
00075
00089 class Traverser : public nvutil::RCObject
00090 {
00091 public:
00092
00094
00104   NVSG_API void apply(
00105     const nvsg::ViewState * viewState
00106   , const nvsg::Scene * scene
00107   );
00108
00109 protected:
00110
00112
00114   NVSG_API Traverser( bool readOnly = true );
00115
00117   NVSG_API virtual ~Traverser(void);
00118
00120
00128   NVSG_API virtual void  doApply(
00129     const nvsg::ViewState * viewState
00130   , const nvsg::Scene * scene
00131   );
00132
00134
00151   template<typename HandlerType>
00152   void addObjectHandler(
00153     unsigned int objectCode
00154   , HandlerType handler
00155   );
00156
00158
00162   void traverseObject(
00163     const nvsg::Object* object
00164   );
00165
00167
00172   template <typename T>
00173   void traverseObject(
00174     const nvsg::Object* object
00175   , T arg
00176   );
00177
00178   //
00179   // Routines to handle concrete Node objects while traversing the tree
00180   //
00181
00183
00188   NVSG_API virtual void handleGeoNode(
00189     const nvsg::GeoNode * p
00190   );
00191
00193
00198   NVSG_API virtual void handleGroup(
00199     const nvsg::Group * p
00200   );
00201
00203
00208   NVSG_API virtual void handleLOD(
00209     const nvsg::LOD * p
00210   );
00211
00213
00218   NVSG_API virtual void handleSwitch(
00219     const nvsg::Switch * p
00220   );
00221
00223
00228   NVSG_API virtual void handleTransform(
00229     const nvsg::Transform * p
00230   );
00231
00233
00238   NVSG_API virtual void handleAnimatedTransform(
00239     const nvsg::AnimatedTransform * p
00240   );
00241
00243
00248   NVSG_API virtual void handleDirectedLight(
00249     const nvsg::DirectedLight * p
00250   );
00251
00253
00258   NVSG_API virtual void handlePointLight(
00259     const nvsg::PointLight * p
00260   );
00261
00263
00268   NVSG_API virtual void handleSpotLight(
00269     const nvsg::SpotLight * p
00270   );
00271
00272   //
00273   // Routines to handle concrete Drawable objects while traversing the tree
00274   //
00275
00277
00282   NVSG_API virtual void handleQuads(
00283     const nvsg::Quads * p
00284   );
00285
00287
00292   NVSG_API virtual void handleAnimatedQuads(
00293     const nvsg::AnimatedQuads * p
00294   );
00295
00297
00302   NVSG_API virtual void handleQuadStrips(
00303     const nvsg::QuadStrips * p
00304   );
00305
00307
00312   NVSG_API virtual void handleTriangles(
00313     const nvsg::Triangles * p
00314   );
00315
00317
00322   NVSG_API virtual void handleAnimatedTriangles(
00323     const nvsg::AnimatedTriangles * p
00324   );
00325
00327
00332   NVSG_API virtual void handleSkinnedTriangles(
00333     const nvsg::SkinnedTriangles * p
00334   );
00335
00337
00342   NVSG_API virtual void handleTriStrips(
00343     const nvsg::TriStrips * p
00344   );
00345
00346   //
00347   // Routines to handle either a StateSet or concrete StateAttribute objects while traversing the tree
00348   //
00349
00351
00356   NVSG_API virtual void handleStateSet(
00357     const nvsg::StateSet * p
00358   );
00359
00361
00366   NVSG_API virtual void handleCgFx(
00367     const nvsg::CgFx * p
00368   );
00369
00371
00376   NVSG_API virtual void handleFaceAttribute(
00377     const nvsg::FaceAttribute * p
00378   );
00379
00381
00386   NVSG_API virtual void handleMaterial(
00387     const nvsg::Material * p
00388   );
00389
00391
00396   NVSG_API virtual void handleTextureAttribute(
00397     const nvsg::TextureAttribute * p
00398   );
00399
00401
00406   NVSG_API virtual void handleTextureAttributeItem(
00407     const nvsg::TextureAttributeItem * p
00408   , size_t tu
00409   );
00410
00411   //
00412   // Routines to handle Camera objects while traversing the tree
00413   //
00414
00416
00423   NVSG_API virtual void handleJitterCamera(
00424     const nvsg::JitterCamera * p
00425   , const nvsg::Node * root
00426   );
00427
00429
00436   NVSG_API virtual void handleParallelCamera(
00437     const nvsg::ParallelCamera * p
00438   , const nvsg::Node * root
00439   );
00440
00442
00449   NVSG_API virtual void handlePerspectiveCamera(
00450     const nvsg::PerspectiveCamera * p
00451   , const nvsg::Node * root
00452   );
00453
00455
00462   NVSG_API virtual void handleStereoCamera(
00463     const nvsg::StereoCamera * p
00464   , const nvsg::Node * root
00465   );
00466
00467   //
00468   // Routines to handle Animation objects while traversing the tree
00469   //
00470
00472
00477   NVSG_API virtual void handleFramedTrafoAnimation(
00478     const nvsg::FramedAnimation<nvmath::Trafo> * p
00479   );
00480
00482
00487   NVSG_API virtual void handleFramedVNVectorAnimation(
00488     const nvsg::FramedAnimation<nvsg::VNVector> * p
00489   );
00490
00492
00498   NVSG_API virtual void handleLinearInterpolatedTrafoAnimation(
00499     const nvsg::LinearInterpolatedAnimation<nvmath::Trafo> * p
00500   );
00501
00503
00509   NVSG_API virtual void handleLinearInterpolatedVNVectorAnimation(
00510     const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> * p
00511   );
00512
00513   //
00514   // Routines to handle Highlight objects while traversing the tree
00515   //
00516
00518
00523   NVSG_API virtual void handleHighlightBox(
00524     const nvsg::HighlightBox * p
00525   , const nvsg::GeoSet * geoSet
00526   );
00527
00529
00534   NVSG_API virtual void handleHighlightEdges(
00535     const nvsg::HighlightEdges * p
00536   , const nvsg::GeoSet * geoSet
00537   );
00538
00539
00541
00544   NVSG_API virtual bool preTraverseRoot(
00545     const nvsg::SimpleCamera *p
00546   , const nvsg::Node *root
00547   );
00548
00550
00552   NVSG_API virtual void postTraverseRoot(
00553     const nvsg::SimpleCamera *p
00554   , const nvsg::Node *root
00555   );
00556
00558
00560   NVSG_API virtual void preTraverseGroup(
00561     const nvsg::Group *p
00562   );
00563
00565
00567   NVSG_API virtual void postTraverseGroup(
00568     const nvsg::Group *p
00569   );
00570
00572
00575   NVSG_API virtual bool preTraverseDrawable( const nvsg::Drawable *p
00576                                            );
00577
00579
00581   NVSG_API virtual void traverseLight(
00582     const nvsg::LightSource * p
00583   );
00584
00586
00588   template<typename T>
00589   T * beginEdit( const T * obj
00590                ) const
00591   {
00592     __TRACE();
00593     __ASSERT( ! m_readOnly );   // only non-readOnly traverser are allowed to edit
00594     return const_cast<T *>(obj);
00595   }
00596
00598
00600   template<typename T>
00601   const T * endEdit( const T * obj
00602                    ) const
00603   {
00604     __TRACE();
00605     return( obj );
00606   }
00607
00608 protected:
00609   std::stack<size_t>            m_lodStack;
00610   std::stack<const nvsg::CullData *>  m_cullStack;
00611   std::stack<const nvsg::Group *>     m_groupStack;
00612
00613   const nvsg::StateSet * m_defaultStateSet;
00614   const nvsg::StateSet * m_overrideStateSet;
00615
00616
00617 private:
00618   // geonode handling helper
00619   void traverse(const nvsg::GeoNode * p);
00620   void traverse(const nvsg::GeoNode * p, size_t i);
00621   // group handling helper
00622   template <typename GrpType>
00623   void traverseGroup(const GrpType * p);
00624   // general
00625   void traverse(const nvsg::Group * p);
00626   void traverse(const nvsg::Group * p, const nvsg::CullData * cd);
00627   // LOD specialization
00628   void traverse(const nvsg::LOD * p);
00629   void traverse(const nvsg::LOD * p, const nvsg::CullData * cd);
00630   // Switch specialization
00631   void traverse(const nvsg::Switch * p);
00632   void traverse(const nvsg::Switch * p, const nvsg::CullData * cd);
00633   // traverse a root node with a camera applied
00634   void traverse(const nvsg::SimpleCamera *p, const nvsg::Node *root);
00635
00636   bool waitToRead( const nvutil::ISWMRSync *obj ) const;
00637   void doneReading( const nvutil::ISWMRSync *obj ) const;
00638   bool waitToWrite( const nvutil::ISWMRSync *obj ) const;
00639   void doneWriting( const nvutil::ISWMRSync *obj ) const;
00640
00641 private:
00642   nvutil::MemFunTbl<Traverser> * m_mftbl; // member function table
00643                                   // accesible for derived classes via addObjectHandler API
00644   bool m_readOnly;
00645   bool (Traverser::*m_pfnLock)( const nvutil::ISWMRSync  *obj ) const;
00646   void (Traverser::*m_pfnUnlock)( const nvutil::ISWMRSync  *obj ) const;
00647 };
00648
00649 template<typename HandlerType>
00650 inline void Traverser::addObjectHandler(unsigned int objectCode, HandlerType handler)
00651 {
00652   m_mftbl->addEntry(objectCode, handler);
00653 }
00654
00655 inline bool Traverser::waitToRead( const nvutil::ISWMRSync *obj ) const
00656 {
00657   return( obj->waitToRead() );
00658 }
00659
00660 inline void Traverser::doneReading( const nvutil::ISWMRSync  *obj ) const
00661 {
00662   return( obj->doneReading() );
00663 }
00664
00665 inline bool Traverser::waitToWrite( const nvutil::ISWMRSync  *obj ) const
00666 {
00667   return( obj->waitToWrite() );
00668 }
00669
00670 inline void Traverser::doneWriting( const nvutil::ISWMRSync  *obj ) const
00671 {
00672   return( obj->doneWriting() );
00673 }
00674
00675 inline void Traverser::traverseObject(const nvsg::Object* object)
00676 {
00677   __TRACE();
00678   __ASSERT(object->getObjectCode()!=nvsg::OC_INVALID);
00679   unsigned int oc = object->getObjectCode();
00680
00681   if ( m_mftbl->testEntry(oc) && (this->*m_pfnLock)( object ) )
00682   {
00683 #if !defined(_WIN64) && defined(_WIN32) && defined(_DEBUG)
00684     void * __esp__0;
00685     void * __esp__1;
00686     __asm mov __esp__0, esp
00687 #endif
00688     (this->*(void (Traverser::*)(const nvsg::Object*))(*m_mftbl)[oc])(object);
00689 #if !defined(_WIN64) && defined(_WIN32) && defined(_DEBUG)
00690     __asm mov __esp__1, esp
00691     __ASSERT(__esp__1==__esp__0);
00692 #endif
00693     (this->*m_pfnUnlock)( object );
00694   }
00695 }
00696
00697 template <typename T>
00698 inline void Traverser::traverseObject( const nvsg::Object* object, T arg)
00699 {
00700   __TRACE();
00701   __ASSERT(object->getObjectCode()!=nvsg::OC_INVALID);
00702   unsigned int oc = object->getObjectCode();
00703
00704   if ( m_mftbl->testEntry(oc) && (this->*m_pfnLock)( object ) )
00705   {
00706 #if !defined(_WIN64) && defined(_WIN32) && defined(_DEBUG)
00707     void * __esp__0;
00708     void * __esp__1;
00709     __asm mov __esp__0, esp
00710 #endif
00711     (this->*(void (Traverser::*)(const nvsg::Object*, T))(*m_mftbl)[oc])(object, arg);
00712 #if !defined(_WIN64) && defined(_WIN32) && defined(_DEBUG)
00713     __asm mov __esp__1, esp
00714     __ASSERT(__esp__1==__esp__0);
00715 #endif
00716     (this->*m_pfnUnlock)( object );
00717   }
00718 }
00719
00720 } // namespace
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


Triangles.h Source File

Triangles.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/Face.h"
00018 #include  "nvsg/GeoSet.h"
00019
00020 namespace nvsg
00021 {
00023
00027   class Triangles : public GeoSet
00028   {
00029     public:
00031
00032       NVSG_API static const Triangles * create( void );
00033
00035
00036       NVSG_API static const Triangles * createFromBase( const GeoSet &rhs
00037                                                       );
00038
00040
00041       NVSG_API virtual const Triangles * clone( void ) const;
00042
00044
00045       NVSG_API virtual bool isDataShared( void )  const;
00046
00048
00049       NVSG_API virtual DataID getDataID( void ) const;
00050
00052
00053       NVSG_API bool hasFaces( void ) const;
00054
00056
00057       NVSG_API size_t getNumberOfFaces( void ) const;
00058
00060
00061       NVSG_API const Face3 * getFaces( void ) const;
00062
00064
00066       NVSG_API void setFaces( const Face3* pFaces
00067                             , size_t numFaces
00068                             );
00069
00071
00083       NVSG_API void setFaces( size_t pos
00084                             , const Face3* pFaces
00085                             , size_t numFaces
00086                             );
00087
00089
00092       NVSG_API virtual void  calculateTangentSpace( size_t tu = 0
00093                                                   , size_t tg = 1
00094                                                   , size_t bn = 2
00095                                                   );
00096
00097     protected:
00099       NVSG_API Triangles(void);
00100
00102       NVSG_API Triangles( const GeoSet &rhs );
00103
00105       NVSG_API Triangles( const Triangles &rhs );
00106
00108       NVSG_API virtual ~Triangles(void);
00109
00110     private:
00111       nvutil::RCPtr<nvutil::RCVector<Face3> >  m_faces; // triangle faces
00112   };
00113
00114   // - - - - - - - - - - - - - - - - - - - - - - - - -
00115   // inlines
00116   // - - - - - - - - - - - - - - - - - - - - - - - - -
00117
00118   inline bool Triangles::hasFaces()  const
00119   {
00120     return( !m_faces->empty() );
00121   }
00122
00123   inline size_t Triangles::getNumberOfFaces()  const
00124   {
00125     return( m_faces->size() );
00126   }
00127
00128   inline const Face3 * Triangles::getFaces( void ) const
00129   {
00130     return( &(*m_faces)[0] );
00131   }
00132 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


TriangulateTraverser.h Source File

TriangulateTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvtraverser/Traverser.h"
00018
00019 namespace nvtraverser
00020 {
00021
00023
00024 class TriangulateTraverser : public Traverser
00025 {
00026   public:
00028     NVSG_API TriangulateTraverser(void);
00029
00030   protected:
00032     NVSG_API virtual ~TriangulateTraverser(void);
00033
00035
00036     NVSG_API virtual void  handleAnimatedQuads(
00037       const nvsg::AnimatedQuads *p
00038     );
00039
00041
00042     NVSG_API virtual void  handleGeoNode(
00043       const nvsg::GeoNode *p
00044     );
00045
00047
00048     NVSG_API virtual void  handleQuads(
00049       const nvsg::Quads *p
00050     );
00051
00053
00054     NVSG_API virtual void  handleQuadStrips(
00055       const nvsg::QuadStrips *p
00056     );
00057
00058   private:
00059     std::vector<std::pair<const nvsg::GeoSet*,const nvsg::GeoSet*> >  m_geoSetReplaces;
00060 };
00061
00062 }
Generated on Fri Jan 28 09:17:52 2005 for NVSGSDK by NVIDIA


TriStrips.h Source File

TriStrips.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvsg/nvsg.h"
00018 #include "nvsg/GeoSet.h"
00019
00020 namespace nvsg
00021 {
00023
00036   class TriStrips : public GeoSet
00037   {
00038     public:
00040
00041       NVSG_API static const TriStrips * create( void );
00042
00044
00045       NVSG_API static const TriStrips * createFromBase( const GeoSet &rhs );
00046
00048
00049       NVSG_API virtual const TriStrips * clone() const;
00050
00052
00053       NVSG_API virtual bool    isDataShared( void )  const;
00054
00056
00057       NVSG_API virtual DataID  getDataID( void )     const;
00058
00060
00061       NVSG_API bool  hasStrips( void )  const;
00062
00064
00065       NVSG_API size_t  getNumberOfStrips( void )  const;
00066
00068
00069       NVSG_API const IndexSet * getStrips() const;
00070
00072
00073       NVSG_API void setStrips( const IndexSet* pStrips
00074                              , size_t numStrips
00075                              );
00076
00078
00090       NVSG_API void setStrips( size_t pos
00091                              , const IndexSet* pStrips
00092                              , size_t numStrips
00093                              );
00094
00096
00099       NVSG_API virtual void  calculateTangentSpace( size_t tu = 0
00100                                                   , size_t tg = 1
00101                                                   , size_t bn = 2
00102                                                   );
00103
00104     protected:
00106       NVSG_API TriStrips(void);
00107
00109       NVSG_API TriStrips( const GeoSet &rhs );
00110
00112       NVSG_API TriStrips( const TriStrips &rhs );
00113
00115       NVSG_API virtual ~TriStrips(void);
00116
00117     private:
00118       void  calculateTangentBinormal( size_t tu, size_t i, size_t i1, size_t i2, nvmath::Vec3f &tangent, nvmath::Vec3f &binormal );
00119
00120       nvutil::RCPtr<nvutil::RCVector<IndexSet> > m_triStrips; // tristrip indices
00121   };
00122
00123   // - - - - - - - - - - - - - - - - - - - - - - - - -
00124   // inlines
00125   // - - - - - - - - - - - - - - - - - - - - - - - - -
00126
00127   inline bool TriStrips::hasStrips()  const
00128   {
00129     return( !m_triStrips->empty() );
00130   }
00131
00132   inline size_t TriStrips::getNumberOfStrips()  const
00133   {
00134     return( m_triStrips->size() );
00135   }
00136
00137   inline const IndexSet * TriStrips::getStrips( void ) const
00138   {
00139     __TRACE();
00140     return( &(*m_triStrips)[0] );
00141   }
00142
00143 }
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


Vec2f.h Source File

Vec2f.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvmath/Vecnf.h"
00018
00019 namespace nvmath
00020 {
00022   class Vec2f : public Vecnf<2>
00023   {
00024     public:
00026
00027       NVSG_API Vec2f( void );
00028
00030
00031       NVSG_API Vec2f( float x
00032                     , float y
00033                     );
00034
00036       NVSG_API Vec2f( const Vecnf<2> & v );
00037
00039       NVSG_API void set( float x
00040                        , float y
00041                        );
00042   };
00043
00044   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00045   // non-member functions
00046   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00050   inline Vec2f operator*( float f
00051                         , const Vec2f &v
00052                         )
00053   {
00054     return( v * f );
00055   }
00056
00057   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00058   // inlines
00059   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00060   inline Vec2f::Vec2f( void )
00061   {
00062   }
00063
00064   inline Vec2f::Vec2f( float x, float y )
00065   {
00066     (*this)[0] = x;
00067     (*this)[1] = y;
00068   }
00069
00070   inline Vec2f::Vec2f( const Vecnf<2> &v )
00071     : Vecnf<2>( v )
00072   {
00073   }
00074
00075   inline void Vec2f::set( float x, float y )
00076   {
00077     (*this)[0]=x;
00078     (*this)[1]=y;
00079   }
00080
00081 } // end namspace nvmath
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


Vec3f.h Source File

Vec3f.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  <algorithm>
00018 #include  <vector>
00019 #include  "nvmath/Vecnf.h"
00020
00021 // __WIN64__wa__XXX macros to workaround some win64 issues
00022 #include "__WIN64__workarounds.h"
00023
00024 namespace nvmath
00025 {
00026   class Sphere3f;
00027   class Vec4f;
00028
00030   class Vec3f : public Vecnf<3>
00031   {
00032     public:
00034
00035       NVSG_API Vec3f( void );
00036
00038
00039       NVSG_API Vec3f( float x
00040                     , float y
00041                     , float z
00042                     );
00043
00045       NVSG_API Vec3f( const Vecnf<3> &v
00046                     );
00047
00049
00050       NVSG_API Vec3f( const Vecnf<4> &v
00051                     );
00052
00054
00056       NVSG_API Vec3f& operator=( const Vec4f &v
00057                                );
00058
00060
00061       NVSG_API Vec3f operator-(void) const;
00062       // don't hide base class' operator-
00063       using Vecnf<3>::operator-;
00064
00066       NVSG_API void set( float x
00067                        , float y
00068                        , float z
00069                        );
00070   };
00071
00072   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00073   // non-member functions
00074   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00078   inline Vec3f normalize( const Vec3f& v
00079                         )
00080   {
00081     float norm = __WIN64__wa__std_max( length(v), FLT_EPSILON );
00082     // return value optimization: safe construction/destruction of a temporary object
00083     return( Vec3f( v[0]/norm, v[1]/norm, v[2]/norm ) );
00084   }
00085
00088   inline  void  normalizeV( const std::vector<Vec3f> &vecIn, std::vector<Vec3f> &vecOut )
00089   {
00090     // std::transform (the MS implementation) is not intelligent enough. It does not reserve enough memory
00091     // to hold the transformed elements from input, but reallocates memory with every single element copied.
00092     // Reserving memory on our own will spare us the insert iterator here :-)
00093     vecOut.reserve( vecIn.size() );
00094     std::transform( vecIn.begin(), vecIn.end(), vecOut.begin(), &normalize );
00095   }
00096
00100   inline Vec3f operator*( float f
00101                         , const Vec3f &v
00102                         )
00103   {
00104     return( v * f );
00105   }
00106
00111   inline Vec3f  operator^( const Vecnf<3> &v0, const Vecnf<3> &v1 )
00112   {
00113     return( Vec3f( v0[1] * v1[2] - v0[2] * v1[1],
00114                    v0[2] * v1[0] - v0[0] * v1[2],
00115                    v0[0] * v1[1] - v0[1] * v1[0]
00116                 )
00117           );
00118   }
00119
00124   inline bool areCollinear( const Vec3f &v0
00125                           , const Vec3f &v1
00126                           )
00127   {
00128     return( length( v0 ^ v1 ) <= FLT_EPSILON );
00129   }
00130
00133   NVSG_API void  smoothNormals( const std::vector<Vec3f> &vertices, const Sphere3f &sphere, float creaseAngle,
00134                                 std::vector<Vec3f> &normals );
00135
00136   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00137   // inlines
00138   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00139   inline Vec3f::Vec3f( void )
00140   {
00141   }
00142
00143   inline Vec3f::Vec3f( float x, float y, float z )
00144   {
00145     (*this)[0]=x;
00146     (*this)[1]=y;
00147     (*this)[2]=z;
00148   }
00149
00150   inline Vec3f::Vec3f( const Vecnf<3> &v )
00151     : Vecnf<3>( v )
00152   {
00153   }
00154
00155   inline Vec3f::Vec3f( const Vecnf<4> &v )
00156   {
00157     (*this)[0] = v[0];
00158     (*this)[1] = v[1];
00159     (*this)[2] = v[2];
00160   }
00161
00162   inline void Vec3f::set( float x, float y, float z )
00163   {
00164     (*this)[0]=x;
00165     (*this)[1]=y;
00166     (*this)[2]=z;
00167   }
00168
00169   inline Vec3f Vec3f::operator-(void) const
00170   {
00171     return (Vec3f(-m_vec[0], -m_vec[1], -m_vec[2]));
00172   }
00173
00174 } // end namspace nvmath
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


Vec4f.h Source File

Vec4f.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvmath/Vec3f.h"
00018 #include "nvmath/Vecnf.h"
00019
00020 namespace nvmath
00021 {
00023   class Vec4f : public Vecnf<4>
00024   {
00025     public:
00027
00028       NVSG_API Vec4f( void );
00029
00031
00032       NVSG_API Vec4f( float x
00033                     , float y
00034                     , float z
00035                     , float w
00036                     );
00037
00039       NVSG_API Vec4f( const Vec3f &v3
00040                     , float w
00041                     );
00042
00044       NVSG_API Vec4f( const Vecnf<4> &v
00045                     );
00046
00048       NVSG_API void set( float x
00049                        , float y
00050                        , float z
00051                        , float w
00052                        );
00053   };
00054
00055   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00056   // non-member functions
00057   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00061   inline Vec4f operator*( float f
00062                         , const Vec4f &v
00063                         )
00064   {
00065     return( v * f );
00066   }
00067
00068   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00069   // inlines
00070   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00071   inline Vec4f::Vec4f( void )
00072   {
00073   }
00074
00075   inline Vec4f::Vec4f( float x, float y, float z, float w )
00076   {
00077     (*this)[0]=x;
00078     (*this)[1]=y;
00079     (*this)[2]=z;
00080     (*this)[3]=w;
00081   }
00082
00083   inline Vec4f::Vec4f( const Vec3f &v3, float w )
00084   {
00085     (*this)[0] = v3[0];
00086     (*this)[1] = v3[1];
00087     (*this)[2] = v3[2];
00088     (*this)[3] = w;
00089   }
00090
00091   inline Vec4f::Vec4f( const Vecnf<4> &v )
00092     : Vecnf<4>( v )
00093   {
00094   }
00095
00096   inline void Vec4f::set( float x, float y, float z, float w )
00097   {
00098     (*this)[0]=x;
00099     (*this)[1]=y;
00100     (*this)[2]=z;
00101     (*this)[3]=w;
00102   }
00103
00104 } // end namspace nvmath
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


Vecnf.h Source File

Vecnf.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvutil/Assert.h"
00018 #include  <float.h>
00019 #include  <math.h>
00020
00021 namespace nvmath
00022 {
00024   template<unsigned char n> class Vecnf
00025   {
00026     public:
00028
00029       Vecnf<n>( void );
00030
00032       Vecnf<n>( const Vecnf<n> & v
00033               );
00034
00036
00037       float& operator[]( size_t i
00038                        );
00039
00041
00042       const float& operator[]( size_t i
00043                              ) const;
00044
00046
00047       Vecnf<n> operator-( void ) const;
00048
00050
00051       Vecnf<n> operator*( float  f
00052                         ) const;
00053
00055
00056       float operator*( const Vecnf<n> &v
00057                      ) const;
00058
00060
00061       Vecnf<n> operator/( float f
00062                         ) const;
00063
00065
00066       Vecnf<n> operator+( const Vecnf<n> &v
00067                         ) const;
00068
00070
00071       Vecnf<n> operator-( const Vecnf<n> &v
00072                         ) const;
00073
00075
00076       bool operator==( const Vecnf<n> &v
00077                      ) const;
00078
00080
00081       bool operator!=( const Vecnf<n> &v
00082                      ) const;
00083
00085
00086       Vecnf<n> & operator=( const Vecnf<n> &v
00087                           );
00088
00090
00091       Vecnf<n> & operator*=( float f
00092                            );
00093
00095
00096       Vecnf<n> & operator/=( float f
00097                            );
00098
00100
00101       Vecnf<n> & operator+=( const Vecnf<n> &v
00102                            );
00103
00105
00106       Vecnf<n> & operator-=( const Vecnf<n> &v
00107                            );
00108
00110
00111       const float* getPtr( void ) const;
00112
00114
00115       float normalize( void );
00116
00118
00119       void orthogonalize( const Vecnf<n> &v
00120                         );
00121
00123
00124       void orthonormalize( const Vecnf<n>& v
00125                          );
00126
00127     protected:
00128       float m_vec[n];
00129   };
00130
00131   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00132   // non-member functions
00133   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00137   template<unsigned char n> bool areOrthogonal( const Vecnf<n> &v0
00138                                               , const Vecnf<n> &v1
00139                                               )
00140   {
00141     return( fabs( v0 * v1 ) <= FLT_EPSILON );
00142   }
00143
00148   template<unsigned char n> bool areOrthonormal( const Vecnf<n> &v0
00149                                                , const Vecnf<n> &v1
00150                                                )
00151   {
00152     return( areOrthogonal( v0, v1 ) && isNormalized( v0 ) && isNormalized( v1 ) );
00153   }
00154
00159   template<unsigned char n> bool areSimilar( const Vecnf<n> &v0
00160                                            , const Vecnf<n> &v1
00161                                            , float tol = FLT_EPSILON
00162                                            )
00163   {
00164     __ASSERT( 0.0f <= tol );
00165     bool similar = true;
00166     for ( size_t i=0 ; similar && i<n ; i++ )
00167     {
00168       similar = ( fabs( v0[i] - v1[i] ) <= tol );
00169     }
00170     return( similar );
00171   }
00172
00176   template<unsigned char n> float distance( const Vecnf<n> &p0
00177                                           , const Vecnf<n> &p1
00178                                           )
00179   {
00180     return( length( p0 - p1 ) );
00181   }
00182
00187   template<unsigned char n> bool isNormalized( const Vecnf<n> &v
00188                                              )
00189   {
00190     return( fabs( length( v ) - 1.0f ) < 2 * FLT_EPSILON );
00191   }
00192
00197   template<unsigned char n> bool isNull( const Vecnf<n> &v
00198                                        )
00199   {
00200     return( length( v ) <= FLT_EPSILON );
00201   }
00202
00206   template<unsigned char n> float length( const Vecnf<n> &v
00207                                         )
00208   {
00209     return( sqrtf( lengthSquared( v ) ) );
00210   }
00211
00215   template<unsigned char n> float lengthSquared( const Vecnf<n> &v
00216                                                )
00217   {
00218     return( v * v );
00219   }
00220
00224   template<unsigned char n> float maxElement( const Vecnf<n> &v
00225                                             )
00226   {
00227     float f = fabsf( v[0] );
00228     for ( size_t i=1 ; i<n ; i++ )
00229     {
00230       float t = fabsf( v[i] );
00231       if ( f < t )
00232       {
00233         f = t;
00234       }
00235     }
00236     return( f );
00237   }
00238
00242   template<unsigned char n> float minElement( const Vecnf<n> &v
00243                                             )
00244   {
00245     float f = v[0];
00246     for ( size_t i=1 ; i<n ; i++ )
00247     {
00248       if ( v[i] < f )
00249       {
00250         f = v[i];
00251       }
00252     }
00253     return( f );
00254   }
00255
00259   template<unsigned char n> Vecnf<n>  operator*( float f
00260                                                , const Vecnf<n> &v
00261                                                )
00262   {
00263     return( v * f );
00264   }
00265
00266   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00267   // "inlines"
00268   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00269   template<unsigned char n> Vecnf<n>::Vecnf( void )
00270   {
00271   }
00272
00273   template<unsigned char n> Vecnf<n>::Vecnf( const Vecnf<n> &v )
00274   {
00275     for ( size_t i=0 ; i<n ; i++ )
00276     {
00277       m_vec[i] = v[i];
00278     }
00279   }
00280
00281   template<unsigned char n> float& Vecnf<n>::operator[]( size_t i )
00282   {
00283     __ASSERT( 0 <= i && i < n );
00284     return( m_vec[i] );
00285   }
00286
00287   template<unsigned char n> const float& Vecnf<n>::operator[]( size_t i ) const
00288   {
00289     __ASSERT( 0 <= i && i < n );
00290     return( m_vec[i] );
00291   }
00292
00293   template<unsigned char n> Vecnf<n> Vecnf<n>::operator-( void ) const
00294   {
00295     Vecnf<n> v;
00296     for ( size_t i=0 ; i<n ; i++ )
00297     {
00298       v[i] = -m_vec[i];
00299     }
00300     return( v );
00301   }
00302
00303   template<unsigned char n> Vecnf<n> Vecnf<n>::operator*( float f ) const
00304   {
00305     Vecnf<n> ret( *this );
00306     return( ret *= f );
00307   }
00308
00309   template<unsigned char n> float Vecnf<n>::operator*( const Vecnf<n> &v ) const
00310   {
00311     float f = 0.0f;
00312     for ( size_t i=0 ; i<n ; i++ )
00313     {
00314       f += m_vec[i] * v[i];
00315     }
00316     return( f );
00317   }
00318
00319   template<unsigned char n> Vecnf<n> Vecnf<n>::operator/( float f ) const
00320   {
00321     __ASSERT( fabs( f ) > FLT_EPSILON );
00322     Vecnf<n> ret( *this );
00323     return( ret /= f );
00324   }
00325
00326   template<unsigned char n> Vecnf<n> Vecnf<n>::operator+( const Vecnf<n> &v ) const
00327   {
00328     Vecnf<n> ret( *this );
00329     return( ret += v );
00330   }
00331
00332   template<unsigned char n> Vecnf<n> Vecnf<n>::operator-( const Vecnf<n> &v ) const
00333   {
00334     Vecnf<n> ret( *this );
00335     return( ret -= v );
00336   }
00337
00338   template<unsigned char n> bool Vecnf<n>::operator==( const Vecnf<n> &v ) const
00339   {
00340     bool equal = true;
00341     for ( unsigned char i=0 ; equal && i<n ; i++ )
00342     {
00343       equal = ( fabs( m_vec[i] - v[i] ) < FLT_EPSILON );
00344     }
00345     return( equal );
00346   }
00347
00348   template<unsigned char n> bool Vecnf<n>::operator!=( const Vecnf<n> &v ) const
00349   {
00350     return( ! ( *this == v ) );
00351   }
00352
00353   template<unsigned char n> Vecnf<n> & Vecnf<n>::operator=( const Vecnf<n> &v )
00354   {
00355     for ( size_t i=0 ; i<n ; i++ )
00356     {
00357       m_vec[i] = v[i];
00358     }
00359     return( *this );
00360   }
00361
00362   template<unsigned char n> Vecnf<n> & Vecnf<n>::operator*=( float f )
00363   {
00364     for ( size_t i=0 ; i<n ; i++ )
00365     {
00366       m_vec[i] *= f;
00367     }
00368     return( *this );
00369   }
00370
00371   template<unsigned char n> Vecnf<n> & Vecnf<n>::operator/=( float f )
00372   {
00373     __ASSERT( fabs( f ) > FLT_EPSILON );
00374     for ( size_t i=0 ; i<n ; i++ )
00375     {
00376       m_vec[i] /= f;
00377     }
00378     return( *this );
00379   }
00380
00381   template<unsigned char n> Vecnf<n> & Vecnf<n>::operator+=( const Vecnf<n> &v )
00382   {
00383     for ( size_t i=0 ; i<n ; i++ )
00384     {
00385       m_vec[i] += v[i];
00386     }
00387     return( *this );
00388   }
00389
00390   template<unsigned char n> Vecnf<n> & Vecnf<n>::operator-=( const Vecnf<n> &v )
00391   {
00392     for ( size_t i=0 ; i<n ; i++ )
00393     {
00394       m_vec[i] -= v[i];
00395     }
00396     return( *this );
00397   }
00398
00399   template<unsigned char n> const float* Vecnf<n>::getPtr( void ) const
00400   {
00401     return( &m_vec[0] );
00402   }
00403
00404   template<unsigned char n> float Vecnf<n>::normalize( void )
00405   {
00406     float norm = length( *this );
00407     if ( FLT_EPSILON < norm )
00408     {
00409       *this /= norm;
00410     }
00411     return( norm );
00412   }
00413
00414   template<unsigned char n> void Vecnf<n>::orthogonalize( const Vecnf<n> &v )
00415   {
00416     //  determine the orthogonal projection of this on v : ( v * this ) * v
00417     //  and subtract it from this resulting in the orthogonalized this
00418     *this = *this - ( v * *this ) * v;
00419   }
00420
00421   template<unsigned char n> void Vecnf<n>::orthonormalize( const Vecnf<n> &v )
00422   {
00423     __ASSERT( isNormalized( v ) );
00424     //  determine the orthogonal projection of this on v : ( v * this ) * v
00425     //  and subtract it from this resulting in the orthogonalized this
00426     orthogonalize( v );
00427     normalize();    //  and normalize it
00428   }
00429
00430 }
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


ViewState.h Source File

ViewState.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvsg/nvsg.h"
00018 #include  "nvsg/Camera.h"
00019
00020 namespace nvsg
00021 {
00022   class CullData;
00023
00025   class ViewState : public nvutil::RCObject
00026                   , public nvutil::ISWMRSync
00027   {
00028     public:
00030
00031       NVSG_API static const ViewState * create();
00032
00034
00037       NVSG_API const ViewState * clone() const;
00038
00040
00041       NVSG_API size_t getAnimationFrame( void ) const;
00042
00044
00045       NVSG_API const Camera * getCamera( void ) const;
00046
00048
00049       NVSG_API bool isAnimating( void ) const;
00050
00052
00053       NVSG_API bool isStereo( void )  const;
00054
00056       NVSG_API void setAnimationFrame( size_t frame
00057                                      );
00058
00060       NVSG_API void setAnimation( bool state
00061                                 );
00062
00064       NVSG_API void setCamera( const Camera * pCamera
00065                              );
00066
00068       NVSG_API void setStereo( bool state
00069                              );
00070
00072       NVSG_API void clearCullTree( void ) const ;
00073
00075       NVSG_API const CullData * getCullTree( void ) const;
00076
00078       NVSG_API void setCullTree( const CullData *cullTree );
00079
00081
00087       NVSG_API bool waitToRead( size_t milliseconds = 0xFFFFFFFF //<! Time-out interval, in milliseconds.
00088                               ) const;
00089
00091
00093       NVSG_API void doneReading( void ) const;
00094
00096
00102       NVSG_API bool waitToWrite( size_t milliseconds = 0xFFFFFFFF
00103                                ) const;
00104
00106
00108       NVSG_API void doneWriting( void ) const;
00109
00110     protected:
00112
00113       NVSG_API ViewState( void );
00114
00116
00118       NVSG_API ViewState( const ViewState& rhs );
00119
00121       NVSG_API virtual ~ViewState(void);
00122
00123     private:
00124       // assigning a ViewState is not permitted!
00125       ViewState& operator=(const ViewState&);
00126
00127     private:
00128       size_t          m_animationFrame;
00129       const Camera  * m_camera;
00130       bool            m_stereoState;
00131       // the animation state might be modified by concurrently executing threads,
00132       // declare it as volatile for this reason
00133       volatile bool   m_animationState;
00134
00135       mutable const CullData  * m_cullTree;
00136
00137       nvutil::SWMRSync  m_lock;
00138   };
00139
00140
00141   inline size_t ViewState::getAnimationFrame( void ) const
00142   {
00143     return( m_animationFrame );
00144   }
00145
00146   inline bool ViewState::isAnimating( void ) const
00147   {
00148     return( m_animationState );
00149   }
00150
00151   inline const Camera * ViewState::getCamera( void ) const
00152   {
00153     return( m_camera );
00154   }
00155
00156   inline bool ViewState::isStereo( void ) const
00157   {
00158     return( m_stereoState );
00159   }
00160
00161   inline void ViewState::setAnimationFrame( size_t frame )
00162   {
00163     if ( m_animationFrame != frame )
00164     {
00165       m_animationFrame = frame;
00166     }
00167   }
00168
00169   inline void ViewState::setAnimation( bool state )
00170   {
00171     m_animationState = state;
00172   }
00173
00174   inline void ViewState::setCamera( const Camera * pCamera )
00175   {
00176     if ( m_camera != pCamera )
00177     {
00178       if ( m_camera )
00179       {
00180         m_camera->removeRef();
00181       }
00182       m_camera = pCamera;
00183       if ( m_camera )
00184       {
00185         m_camera->addRef();
00186       }
00187     }
00188   }
00189
00190   inline void ViewState::setStereo( bool state )
00191   {
00192     m_stereoState = state;
00193   }
00194
00195   inline const CullData * ViewState::getCullTree( void ) const
00196   {
00197     return( m_cullTree );
00198   }
00199
00200   inline void ViewState::setCullTree( const CullData *cullTree )
00201   {
00202     clearCullTree();
00203     m_cullTree = cullTree;
00204   }
00205
00206   inline bool ViewState::waitToRead( size_t milliseconds ) const
00207   {
00208     size_t status;
00209     return m_lock.waitToRead(milliseconds, status);
00210   }
00211
00212   inline void ViewState::doneReading( void ) const
00213   {
00214     m_lock.doneReading();
00215   }
00216
00217   inline bool ViewState::waitToWrite( size_t milliseconds ) const
00218   {
00219     size_t status;
00220     return m_lock.waitToWrite(milliseconds, status);
00221   }
00222
00223   inline void ViewState::doneWriting( void ) const
00224   {
00225     m_lock.doneWriting();
00226   }
00227 } // namespace
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


VNVector.h Source File

VNVector.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvmath/nvmath.h"
00018 #include  "nvmath/Vec3f.h"
00019
00020 namespace nvsg
00021 {
00022
00024
00026   class VNVector
00027   {
00028     public:
00029       std::vector<nvmath::Vec3f> normals;
00030       std::vector<nvmath::Vec3f> vertices;
00031   };
00032
00034
00038   inline VNVector lerp( float alpha
00039                       , const VNVector &v0
00040                       , const VNVector &v1
00041                       )
00042   {
00043     VNVector  vnv;
00044
00045     __ASSERT( v0.vertices.size() == v1.vertices.size() );
00046     vnv.vertices.resize( v0.vertices.size() );
00047     for ( size_t i=0 ; i<v0.vertices.size() ; i++ )
00048     {
00049       vnv.vertices[i] = nvmath::lerp( alpha, v0.vertices[i], v1.vertices[i] );
00050     }
00051
00052     __ASSERT( v0.normals.size()  == v1.normals.size() );
00053     vnv.normals.resize( v0.normals.size() );
00054     for ( size_t i=0 ; i<v0.normals.size() ; i++ )
00055     {
00056       vnv.normals[i] = normalize( lerp( alpha, v0.normals[i], v1.normals[i] ) );
00057     }
00058
00059     return( vnv );
00060   }
00061
00062 }
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


VRMLTypes.h Source File

VRMLTypes.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  "nvutil/Assert.h"
00016 #include  "nvmath/Quatf.h"
00017 #include  "nvmath/Vec2f.h"
00018 #include  "nvsg/Object.h"
00019
00020 namespace nvsg
00021 {
00022   class DirectedLight;
00023   class GeoNode;
00024   class Group;
00025   class LOD;
00026   class Material;
00027   class Node;
00028   class PointLight;
00029   class Quads;
00030   class SpotLight;
00031   class StateSet;
00032   class Switch;
00033   class TextureAttribute;
00034   class Transform;
00035   class Triangles;
00036 }
00037
00038 namespace vrml
00039 {
00040
00041   //  it's not neccessary to document all these helper classes !
00042 #if ! defined( DOXYGEN_IGNORE )
00043
00044   class Object : public nvsg::Object
00045   {
00046     public:
00047       virtual ~Object() {}
00048       virtual const std::string & getType( void ) const;
00049   };
00050
00051   typedef bool                SFBool;
00052   typedef nvmath::Vec3f               SFColor;
00053   typedef std::vector<SFColor>     MFColor;
00054   typedef float               SFFloat;
00055   typedef std::vector<SFFloat>     MFFloat;
00056   typedef char                SFInt8;
00057   typedef int                 SFInt32;
00058   typedef std::vector<SFInt32>     MFInt32;
00059   typedef vrml::Object  *     SFNode;
00060   typedef std::vector<SFNode>      MFNode;
00061   typedef std::string              SFString;
00062   typedef std::vector<SFString>    MFString;
00063   typedef double              SFTime;
00064   typedef std::vector<SFTime>      MFTime;
00065   typedef nvmath::Vec2f               SFVec2f;
00066   typedef std::vector<SFVec2f>     MFVec2f;
00067   typedef nvmath::Vec3f               SFVec3f;
00068   typedef std::vector<SFVec3f>     MFVec3f;
00069
00070   class SFImage
00071   {
00072     public:
00073       SFImage();
00074       ~SFImage();
00075
00076     public:
00077       SFInt32   width;
00078       SFInt32   height;
00079       SFInt32   numComponents;
00080       SFInt8  * pixelsValues;
00081   };
00082
00083   class SFRotation : public nvmath::Vec4f
00084   {
00085     public:
00086       SFRotation()  {}
00087       SFRotation( const SFVec3f &axis, SFFloat angle );
00088       SFRotation( const nvmath::Vec4f &v )
00089         : nvmath::Vec4f( v )
00090       {
00091       }
00092   };
00093   typedef std::vector<SFRotation>  MFRotation;
00094
00095   class Geometry : public Object
00096   {
00097     public:
00098       virtual ~Geometry() {}
00099       virtual const std::string & getType( void ) const;
00100   };
00101
00102   class Group : public Object
00103   {
00104     public:
00105       Group();
00106       virtual ~Group();
00107       virtual const std::string & getType( void ) const;
00108
00109     public:
00110       MFNode  children;
00111
00112       const nvsg::Group * pGroup;
00113   };
00114
00115   class Interpolator : public Object
00116   {
00117     public:
00118       virtual ~Interpolator()  {}
00119       virtual const std::string & getType( void ) const;
00120
00121     public:
00122       MFFloat key;
00123   };
00124
00125   class Light : public Object
00126   {
00127     public:
00128       Light();
00129       virtual ~Light()  {}
00130       virtual const std::string & getType( void ) const;
00131
00132     public:
00133       SFFloat ambientIntensity;
00134       SFColor color;
00135       SFFloat intensity;
00136       SFBool  on;
00137   };
00138
00139   class Sensor : public Object
00140   {
00141     public:
00142       Sensor();
00143       virtual ~Sensor()  {}
00144       virtual const std::string & getType( void ) const;
00145
00146     public:
00147       SFBool  enabled;
00148   };
00149
00150   class Texture : public Object
00151   {
00152     public:
00153       Texture();
00154       virtual ~Texture()  {}
00155       virtual const std::string & getType( void ) const;
00156
00157     public:
00158       SFBool  repeatS;
00159       SFBool  repeatT;
00160   };
00161
00162   class Anchor : public Group
00163   {
00164     public:
00165       virtual ~Anchor() {}
00166       virtual const std::string & getType( void ) const;
00167
00168     public:
00169       SFString  description;
00170       MFString  parameter;
00171       MFString  url;
00172   };
00173
00174   class Appearance : public Object
00175   {
00176     public:
00177       Appearance();
00178       virtual ~Appearance();
00179       virtual const std::string & getType( void ) const;
00180
00181     public:
00182       SFNode  material;
00183       SFNode  texture;
00184       SFNode  textureTransform;
00185
00186       const nvsg::StateSet  * pStateSet;
00187   };
00188
00189   class AudioClip : public Object
00190   {
00191     public:
00192       AudioClip();
00193       virtual ~AudioClip()  {}
00194       virtual const std::string & getType( void ) const;
00195
00196     public:
00197       SFString  description;
00198       SFBool    loop;
00199       SFFloat   pitch;
00200       SFTime    startTime;
00201       SFTime    stopTime;
00202       MFString  url;
00203   };
00204
00205   class Background : public Object
00206   {
00207     public:
00208       Background();
00209       virtual ~Background() {}
00210       virtual const std::string & getType( void ) const;
00211
00212     public:
00213       MFFloat   groundAngle;
00214       MFColor   groundColor;
00215       MFString  backUrl;
00216       MFString  bottomUrl;
00217       MFString  frontUrl;
00218       MFString  leftUrl;
00219       MFString  rightUrl;
00220       MFString  topUrl;
00221       MFFloat   skyAngle;
00222       MFColor   skyColor;
00223   };
00224
00225   class Billboard : public Group
00226   {
00227     public:
00228       Billboard();
00229       virtual ~Billboard() {}
00230       virtual const std::string & getType( void ) const;
00231
00232     public:
00233       SFVec3f axisOfRotation;
00234   };
00235
00236   class Box : public Geometry
00237   {
00238     public:
00239       Box();
00240       virtual ~Box();
00241       virtual const std::string & getType( void ) const;
00242
00243     public:
00244       SFVec3f size;
00245
00246       const nvsg::Triangles * pTriangles;
00247       const nvsg::Quads     * pQuads;
00248   };
00249
00250   class Collision : public Group
00251   {
00252     public:
00253       Collision();
00254       virtual ~Collision();
00255       virtual const std::string & getType( void ) const;
00256
00257     public:
00258       SFBool  collide;
00259       SFNode  proxy;
00260   };
00261
00262   class Color : public Object
00263   {
00264     public:
00265       virtual ~Color() {}
00266       virtual const std::string & getType( void ) const;
00267
00268     public:
00269       MFColor color;
00270   };
00271
00272   class ColorInterpolator : public Interpolator
00273   {
00274     public:
00275       virtual ~ColorInterpolator()  {}
00276       virtual const std::string & getType( void ) const;
00277
00278     public:
00279       MFColor keyValue;
00280   };
00281
00282   class Cone : public Geometry
00283   {
00284     public:
00285       Cone();
00286       virtual ~Cone() {}
00287       virtual const std::string & getType( void ) const;
00288
00289     public:
00290       SFBool  bottom;
00291       SFFloat bottomRadius;
00292       SFFloat height;
00293       SFBool  side;
00294   };
00295
00296   class CoordinateInterpolator : public Interpolator
00297   {
00298     public:
00299       virtual ~CoordinateInterpolator()  {}
00300       virtual const std::string & getType( void ) const;
00301
00302     public:
00303       MFVec3f keyValue;
00304   };
00305
00306   class Coordinate : public Object
00307   {
00308     public:
00309       Coordinate();
00310       virtual ~Coordinate();
00311       virtual const std::string & getType( void ) const;
00312
00313     public:
00314       MFVec3f point;
00315
00316       CoordinateInterpolator  * set_point;
00317   };
00318
00319   class Cylinder : public Geometry
00320   {
00321     public:
00322       Cylinder();
00323       virtual ~Cylinder() {}
00324       virtual const std::string & getType( void ) const;
00325
00326     public:
00327       SFBool  bottom;
00328       SFFloat height;
00329       SFFloat radius;
00330       SFBool  side;
00331       SFBool  top;
00332   };
00333
00334   class CylinderSensor : public Sensor
00335   {
00336     public:
00337       CylinderSensor();
00338       virtual ~CylinderSensor()  {}
00339       virtual const std::string & getType( void ) const;
00340
00341     public:
00342       SFBool  autoOffset;
00343       SFFloat diskAngle;
00344       SFFloat maxAngle;
00345       SFFloat minAngle;
00346       SFFloat offset;
00347   };
00348
00349   class DirectionalLight : public Light
00350   {
00351     public:
00352       DirectionalLight();
00353       virtual ~DirectionalLight();
00354       virtual const std::string & getType( void ) const;
00355
00356     public:
00357       SFVec3f direction;
00358
00359       const nvsg::DirectedLight * pDirectedLight;
00360   };
00361
00362   class ElevationGrid : public Geometry
00363   {
00364     public:
00365       ElevationGrid();
00366       virtual ~ElevationGrid();
00367       virtual const std::string & getType( void ) const;
00368
00369     public:
00370       SFNode  color;
00371       SFNode  normal;
00372       SFNode  texCoord;
00373       MFFloat height;
00374       SFBool  ccw;
00375       SFBool  colorPerVertex;
00376       SFFloat creaseAngle;
00377       SFBool  normalPerVertex;
00378       SFBool  solid;
00379       SFInt32 xDimension;
00380       SFFloat xSpacing;
00381       SFInt32 zDimension;
00382       SFFloat zSpacing;
00383
00384       const nvsg::Triangles * pTriangles;
00385       const nvsg::Quads     * pQuads;
00386   };
00387
00388   class Extrusion : public Geometry
00389   {
00390     public:
00391       Extrusion();
00392       virtual ~Extrusion()  {}
00393       virtual const std::string & getType( void ) const;
00394
00395     public:
00396       SFBool      beginCap;
00397       SFBool      ccw;
00398       SFBool      convex;
00399       SFFloat     creaseAngle;
00400       MFVec2f     crossSection;
00401       SFBool      endCap;
00402       MFRotation  orientation;
00403       MFVec2f     scale;
00404       SFBool      solid;
00405       MFVec3f     spine;
00406   };
00407
00408   class Fog : public Object
00409   {
00410     public:
00411       Fog();
00412       virtual ~Fog()  {}
00413       virtual const std::string & getType( void ) const;
00414
00415     public:
00416       SFColor   color;
00417       SFString  fogType;
00418       SFFloat   visibilityRange;
00419   };
00420
00421   class FontStyle : public Object
00422   {
00423     public:
00424       FontStyle();
00425       virtual ~FontStyle()  {}
00426       virtual const std::string & getType( void ) const;
00427
00428     public:
00429       MFString  family;
00430       SFBool    horizontal;
00431       MFString  justify;
00432       SFString  language;
00433       SFBool    leftToRight;
00434       SFFloat   size;
00435       SFFloat   spacing;
00436       SFString  style;
00437       SFBool    topToBottom;
00438   };
00439
00440   class ImageTexture : public Texture
00441   {
00442     public:
00443       ImageTexture();
00444       virtual ~ImageTexture();
00445       virtual const std::string & getType( void ) const;
00446
00447     public:
00448       MFString  url;
00449
00450       const nvsg::TextureAttribute  * pTextureAttribute;
00451   };
00452
00453   class IndexedFaceSet : public Geometry
00454   {
00455     public:
00456       IndexedFaceSet();
00457       virtual ~IndexedFaceSet();
00458       virtual const std::string & getType( void ) const;
00459
00460     public:
00461       SFNode  color;
00462       SFNode  coord;
00463       SFNode  normal;
00464       SFNode  texCoord;
00465       SFBool  ccw;
00466       MFInt32 colorIndex;
00467       SFBool  colorPerVertex;
00468       SFBool  convex;
00469       MFInt32 coordIndex;
00470       SFFloat creaseAngle;
00471       MFInt32 normalIndex;
00472       SFBool  normalPerVertex;
00473       SFBool  solid;
00474       MFInt32 texCoordIndex;
00475
00476       const nvsg::Triangles * pTriangles;
00477       const nvsg::Quads     * pQuads;
00478   };
00479
00480   class IndexedLineSet : public Geometry
00481   {
00482     public:
00483       IndexedLineSet();
00484       virtual ~IndexedLineSet();
00485       virtual const std::string & getType( void ) const;
00486
00487     public:
00488       SFNode  color;
00489       SFNode  coord;
00490       MFInt32 colorIndex;
00491       SFBool  colorPerVertex;
00492       MFInt32 coordIndex;
00493   };
00494
00495   class Inline : public Object
00496   {
00497     public:
00498       Inline();
00499       virtual ~Inline();
00500       virtual const std::string & getType( void ) const;
00501
00502     public:
00503       MFString  url;
00504       SFVec3f   bboxCenter;
00505       SFVec3f   bboxSize;
00506
00507       const nvsg::Node  * pNode;
00508   };
00509
00510   class LOD : public Group
00511   {
00512     public:
00513       LOD();
00514       virtual ~LOD();
00515       virtual const std::string & getType( void ) const;
00516
00517     public:
00518       SFVec3f center;
00519       MFFloat range;
00520
00521       const nvsg::LOD * pLOD;
00522   };
00523
00524   class Material : public Object
00525   {
00526     public:
00527       Material();
00528       virtual ~Material();
00529       virtual const std::string & getType( void ) const;
00530
00531     public:
00532       SFFloat ambientIntensity;
00533       SFColor diffuseColor;
00534       SFColor emissiveColor;
00535       SFFloat shininess;
00536       SFColor specularColor;
00537       SFFloat transparency;
00538
00539       const nvsg::Material *pMaterial;
00540   };
00541
00542   class MovieTexture : public Texture
00543   {
00544     public:
00545       MovieTexture();
00546       virtual ~MovieTexture()  {}
00547       virtual const std::string & getType( void ) const;
00548
00549     public:
00550       SFBool    loop;
00551       SFFloat   speed;
00552       SFTime    startTime;
00553       SFTime    stopTime;
00554       MFString  url;
00555   };
00556
00557   class NavigationInfo : public Object
00558   {
00559     public:
00560       NavigationInfo();
00561       virtual ~NavigationInfo() {}
00562       virtual const std::string & getType( void ) const;
00563
00564     public:
00565       MFFloat   avatarSize;
00566       SFBool    headlight;
00567       SFFloat   speed;
00568       MFString  type;
00569       SFFloat   visibilityLimit;
00570   };
00571
00572   class NormalInterpolator : public Interpolator
00573   {
00574     public:
00575       virtual ~NormalInterpolator()  {}
00576       virtual const std::string & getType( void ) const;
00577
00578     public:
00579       MFVec3f keyValue;
00580   };
00581
00582   class Normal : public Object
00583   {
00584     public:
00585       Normal();
00586       virtual ~Normal();
00587       virtual const std::string & getType( void ) const;
00588
00589     public:
00590       MFVec3f vector;
00591
00592       NormalInterpolator  * set_vector;
00593   };
00594
00595   class OrientationInterpolator : public Interpolator
00596   {
00597     public:
00598       virtual ~OrientationInterpolator()  {}
00599       virtual const std::string & getType( void ) const;
00600
00601     public:
00602       MFRotation  keyValue;
00603
00604       std::vector<nvmath::Quatf> keyValueQuatf;
00605   };
00606
00607   class PixelTexture : public Texture
00608   {
00609     public:
00610       PixelTexture();
00611       virtual ~PixelTexture()  {}
00612       virtual const std::string & getType( void ) const;
00613
00614     public:
00615       SFImage image;
00616   };
00617
00618   class PlaneSensor : public Sensor
00619   {
00620     public:
00621       PlaneSensor();
00622       virtual ~PlaneSensor()  {}
00623       virtual const std::string & getType( void ) const;
00624
00625     public:
00626       SFBool  autoOffset;
00627       SFVec2f maxPosition;
00628       SFVec2f minPosition;
00629       SFVec3f offset;
00630   };
00631
00632   class PointLight : public Light
00633   {
00634     public:
00635       PointLight();
00636       virtual ~PointLight();
00637       virtual const std::string & getType( void ) const;
00638
00639     public:
00640       SFVec3f attenuation;
00641       SFVec3f location;
00642       SFFloat radius;
00643
00644       const nvsg::PointLight  * pPointLight;
00645   };
00646
00647   class PointSet : public Object
00648   {
00649     public:
00650       PointSet();
00651       virtual ~PointSet();
00652       virtual const std::string & getType( void ) const;
00653
00654     public:
00655       SFNode  color;
00656       SFNode  coord;
00657   };
00658
00659   class PositionInterpolator : public Interpolator
00660   {
00661     public:
00662       virtual ~PositionInterpolator()  {}
00663       virtual const std::string & getType( void ) const;
00664
00665     public:
00666       MFVec3f keyValue;
00667   };
00668
00669   class ProximitySensor : public Sensor
00670   {
00671     public:
00672       ProximitySensor();
00673       virtual ~ProximitySensor()  {}
00674       virtual const std::string & getType( void ) const;
00675
00676     public:
00677       SFVec3f center;
00678       SFVec3f size;
00679   };
00680
00681   class ScalarInterpolator : public Interpolator
00682   {
00683     public:
00684       virtual ~ScalarInterpolator()  {}
00685       virtual const std::string & getType( void ) const;
00686
00687     public:
00688       MFFloat keyValue;
00689   };
00690
00691   class Script : public Object
00692   {
00693     public:
00694       Script();
00695       virtual ~Script() {}
00696       virtual const std::string & getType( void ) const;
00697
00698     public:
00699       MFString  url;
00700       SFBool    directOutput;
00701       SFBool    mustEvaluate;
00702   };
00703
00704   class Shape : public Object
00705   {
00706     public:
00707       Shape();
00708       virtual ~Shape();
00709       virtual const std::string & getType( void ) const;
00710
00711     public:
00712       SFNode  appearance;
00713       SFNode  geometry;
00714
00715       const nvsg::GeoNode * pGeoNode;
00716   };
00717
00718   class Sound : public Object
00719   {
00720     public:
00721       Sound();
00722       virtual ~Sound();
00723       virtual const std::string & getType( void ) const;
00724
00725     public:
00726       SFVec3f direction;
00727       SFFloat intensity;
00728       SFVec3f location;
00729       SFFloat maxBack;
00730       SFFloat maxFront;
00731       SFFloat minBack;
00732       SFFloat minFront;
00733       SFFloat priority;
00734       SFNode  source;
00735       SFBool  spatialize;
00736   };
00737
00738   class Sphere : public Geometry
00739   {
00740     public:
00741       Sphere();
00742       virtual ~Sphere() {}
00743       virtual const std::string & getType( void ) const;
00744
00745     public:
00746       SFFloat radius;
00747   };
00748
00749   class SphereSensor : public Sensor
00750   {
00751     public:
00752       SphereSensor();
00753       virtual ~SphereSensor()  {}
00754       virtual const std::string & getType( void ) const;
00755
00756     public:
00757       SFBool      autoOffset;
00758       SFRotation  offset;
00759   };
00760
00761   class SpotLight : public Light
00762   {
00763     public:
00764       SpotLight();
00765       virtual ~SpotLight();
00766       virtual const std::string & getType( void ) const;
00767
00768     public:
00769       SFVec3f attenuation;
00770       SFFloat beamWidth;
00771       SFFloat cutOffAngle;
00772       SFVec3f direction;
00773       SFVec3f location;
00774       SFFloat radius;
00775
00776       const nvsg::SpotLight * pSpotLight;
00777   };
00778
00779   class Switch : public Group
00780   {
00781     public:
00782       Switch();
00783       virtual ~Switch();
00784       virtual const std::string & getType( void ) const;
00785
00786     public:
00787       SFInt32 whichChoice;
00788
00789       const nvsg::Switch  * pSwitch;
00790   };
00791
00792   class Text : public Geometry
00793   {
00794     public:
00795       Text();
00796       virtual ~Text();
00797       virtual const std::string & getType( void ) const;
00798
00799     public:
00800       MFString  string;
00801       SFNode    fontStyle;
00802       MFFloat   length;
00803       SFFloat   maxExtent;
00804   };
00805
00806   class TextureCoordinate : public Object
00807   {
00808     public:
00809       virtual ~TextureCoordinate()  {}
00810       virtual const std::string & getType( void ) const;
00811
00812     public:
00813       MFVec2f point;
00814   };
00815
00816   class TextureTransform : public Object
00817   {
00818     public:
00819       TextureTransform();
00820       virtual ~TextureTransform()  {}
00821       virtual const std::string & getType( void ) const;
00822
00823     public:
00824       SFVec2f center;
00825       SFFloat rotation;
00826       SFVec2f scale;
00827       SFVec2f translation;
00828   };
00829
00830   class TimeSensor : public Sensor
00831   {
00832     public:
00833       TimeSensor();
00834       virtual ~TimeSensor()  {}
00835       virtual const std::string & getType( void ) const;
00836
00837     public:
00838       SFTime  cycleInterval;
00839       SFBool  loop;
00840       SFTime  startTime;
00841       SFTime  stopTime;
00842   };
00843
00844   class TouchSensor : public Sensor
00845   {
00846     public:
00847       virtual ~TouchSensor()  {}
00848       virtual const std::string & getType( void ) const;
00849   };
00850
00851   class Transform : public Group
00852   {
00853     public:
00854       Transform();
00855       virtual ~Transform();
00856       virtual const std::string & getType( void ) const;
00857
00858     public:
00859       SFVec3f     center;
00860       SFRotation  rotation;
00861       SFVec3f     scale;
00862       SFRotation  scaleOrientation;
00863       SFVec3f     translation;
00864
00865       PositionInterpolator    * set_center;
00866       OrientationInterpolator * set_rotation;
00867       PositionInterpolator    * set_scale;
00868       PositionInterpolator    * set_translation;
00869
00870       const nvsg::Transform * pTransform;
00871   };
00872
00873   class Viewpoint : public Object
00874   {
00875     public:
00876       Viewpoint();
00877       virtual ~Viewpoint();
00878       virtual const std::string & getType( void ) const;
00879
00880     public:
00881       SFFloat     fieldOfView;
00882       SFBool      jump;
00883       SFRotation  orientation;
00884       SFVec3f     position;
00885       SFString    description;
00886
00887       OrientationInterpolator * set_orientation;
00888       PositionInterpolator    * set_position;
00889   };
00890
00891   class VisibilitySensor : public Sensor
00892   {
00893     public:
00894       VisibilitySensor();
00895       virtual ~VisibilitySensor()  {}
00896       virtual const std::string & getType( void ) const;
00897
00898     public:
00899       SFVec3f center;
00900       SFVec3f size;
00901   };
00902
00903   class WorldInfo : public Object
00904   {
00905     public:
00906       virtual ~WorldInfo()  {}
00907       virtual const std::string & getType( void ) const;
00908
00909     public:
00910       MFString  info;
00911       SFString  title;
00912   };
00913
00914
00915   class ROUTE
00916   {
00917     public:
00918       ROUTE();
00919       ~ROUTE();
00920
00921     public:
00922       SFNode  fromNode;
00923       std::string  fromAction;
00924       SFNode  toNode;
00925       std::string  toAction;
00926   };
00927
00928
00929   template  <typename T>  inline  bool  is( const Object *p )
00930   {
00931     return( dynamic_cast<const T *>( p ) != NULL );
00932   }
00933
00934 #endif  //  DOXYGEN_IGNORE
00935
00936 } //  namespace vrml
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


WalkCamManip.h Source File

WalkCamManip.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvui/CameraManipulator.h"
00018
00019 namespace nvui
00020 {
00021
00023
00040   class WalkCamManip : public CameraManipulator
00041   {
00042     public:
00044       NVSG_API WalkCamManip(void);
00046       NVSG_API ~WalkCamManip(void);
00047
00049       enum
00050       { _W_KEY        = 0x0400
00051       , _S_KEY        = 0x0800
00052       };
00053
00055
00056       NVSG_API virtual void keyRepeat();
00057
00059
00060       NVSG_API virtual void apply();
00061
00063
00068       bool isWalk(void);
00069
00071
00076       bool isTranslate(void);
00077
00079
00084       bool isTilt(void);
00085
00087
00089       void setScreenSize( UINT x
00090                         , UINT y
00091                         );
00092
00094
00095       void setWorldUpVector( nvmath::Vec3f up
00096                            );
00098
00099       const nvmath::Vec3f& getWorldUpVector();
00100
00102
00103       void setSpeedIncreaseFactor(float factor
00104                                  );
00105
00107
00108       float getSpeedIncreaseFactor();
00109
00111
00113       void setHSensitivity(float sensitivity
00114                           );
00115
00117
00118       float getHSensitivity();
00119
00121
00122       void setSpeed(float speed
00123                    );
00124
00126
00127       float getSpeed();
00128
00129   protected:
00130       UINT  m_ScreenSizeX;
00131       UINT  m_ScreenSizeY;
00132
00133       nvmath::Vec3f m_worldUpVector;
00134
00135       float m_speedIncreaseFactor;
00136       float m_hSensitivity;
00137
00138       float m_speed;
00139
00140       static NVSG_API const UINT WALKFORWARD;
00141       static NVSG_API const UINT WALKBACKWARD;
00142       static NVSG_API const UINT TRANSLATE;
00143       static NVSG_API const UINT TILT;
00144       static NVSG_API const UINT INCREASESPEED;
00145       static NVSG_API const UINT DECREASESPEED;
00146
00147       static NVSG_API const UINT AREAOFPEACE;
00148
00150
00151       NVSG_API virtual UINT convertKey(UINT key
00152                                       );
00153
00155
00160       bool isWalkForward( void );
00161
00163
00168       bool isWalkBackward( void );
00169
00171
00173       NVSG_API virtual void walk( void );
00174
00176
00179       NVSG_API virtual void translate( void );
00180
00182
00185       NVSG_API virtual void tilt( void );
00186   };
00187
00188   inline bool WalkCamManip::isWalk( void )
00189   {
00190     return( isWalkForward() || isWalkBackward() );
00191   }
00192
00193   inline bool WalkCamManip::isWalkForward( void )
00194   {
00195     return(WALKFORWARD == m_buttonState && (  m_keyState == 0
00196                                            || m_keyState == INCREASESPEED
00197                                            || m_keyState == DECREASESPEED));
00198   }
00199
00200   inline bool WalkCamManip::isWalkBackward( void )
00201   {
00202     return(WALKBACKWARD == m_buttonState && (  m_keyState == 0
00203                                             || m_keyState == INCREASESPEED
00204                                             || m_keyState == DECREASESPEED));
00205   }
00206
00207   inline bool WalkCamManip::isTranslate( void )
00208   {
00209     return( TRANSLATE == ((m_buttonState | m_keyState)) );
00210   }
00211
00212   inline bool WalkCamManip::isTilt( void )
00213   {
00214     return( TILT == ((m_buttonState | m_keyState)) );
00215   }
00216
00217   inline void WalkCamManip::setScreenSize(UINT x, UINT y)
00218   {
00219     __ASSERT(x>0);
00220     __ASSERT(y>0);
00221     m_ScreenSizeX = x;
00222     m_ScreenSizeX = y;
00223   }
00224
00225   inline void WalkCamManip::setWorldUpVector( nvmath::Vec3f up )
00226   {
00227     m_worldUpVector = up;
00228   }
00229
00230   inline const nvmath::Vec3f& WalkCamManip::getWorldUpVector()
00231   {
00232     return m_worldUpVector;
00233   }
00234
00235   inline void WalkCamManip::setSpeedIncreaseFactor(float factor)
00236   {
00237     __ASSERT(fabs(factor) > FLT_EPSILON);
00238     m_speedIncreaseFactor = factor;
00239   }
00240
00241   inline float WalkCamManip::getSpeedIncreaseFactor()
00242   {
00243     return m_speedIncreaseFactor;
00244   }
00245
00246   inline void WalkCamManip::setHSensitivity(float sensitivity)
00247   {
00248     m_hSensitivity = sensitivity;
00249   }
00250
00251   inline float WalkCamManip::getHSensitivity()
00252   {
00253     return m_hSensitivity;
00254   }
00255
00256   inline void WalkCamManip::setSpeed(float speed)
00257   {
00258     m_speed = speed;
00259   }
00260
00261   inline float WalkCamManip::getSpeed()
00262   {
00263     return m_speed;
00264   }
00265 } //  namespace nvui
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


wglext.h Source File

wglext.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017
00018 /*
00019 ** Copyright 1998-2002, NVIDIA Corporation.
00020 ** All Rights Reserved.
00021 **
00022 ** THE INFORMATION CONTAINED HEREIN IS PROPRIETARY AND CONFIDENTIAL TO
00023 ** NVIDIA, CORPORATION.  USE, REPRODUCTION OR DISCLOSURE TO ANY THIRD PARTY
00024 ** IS SUBJECT TO WRITTEN PRE-APPROVAL BY NVIDIA, CORPORATION.
00025 **
00026 **
00027 ** Copyright 1992-1999, Silicon Graphics, Inc.
00028 ** All Rights Reserved.
00029 **
00030 ** Portions of this file are UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon
00031 ** Graphics, Inc.; the contents of this file may not be disclosed to third
00032 ** parties, copied or duplicated in any form, in whole or in part, without
00033 ** the prior written permission of Silicon Graphics, Inc.
00034 **
00035 ** RESTRICTED RIGHTS LEGEND:
00036 ** Use, duplication or disclosure by the Government is subject to
00037 ** restrictions as set forth in subdivision (c)(1)(ii) of the Rights in
00038 ** Technical Data and Computer Software clause at DFARS 252.227-7013,
00039 ** and/or in similar or successor clauses in the FAR, DOD or NASA FAR
00040 ** Supplement.  Unpublished - rights reserved under the Copyright Laws of
00041 ** the United States.
00042 */
00043
00044 #ifdef _WIN32
00045 # include "nvsgwindefs.h"
00046 # ifndef NOMINMAX
00047 #  define NOMINMAX // avoid problems with Microsoft definitions in windef.h and min/max from stl
00048 #  include <windows.h>
00049 #  undef NOMINMAX
00050 # else
00051 #  include <windows.h>
00052 # endif
00053 #endif
00054
00055 #ifndef GLAPI
00056 # define GLAPI __stdcall
00057 # define __DEFINED_GLAPI
00058 #endif
00059
00060 DECLARE_HANDLE(HPBUFFERARB);
00061 DECLARE_HANDLE(HPVIDEODEVICE);
00062
00063 /*************************************************************/
00064
00065 /* Extensions */
00066 #define WGL_ARB_buffer_region              1
00067 #define WGL_ARB_extensions_string          1
00068 #define WGL_ARB_make_current_read          1
00069 #define WGL_ARB_multisample                1
00070 #define WGL_ARB_pbuffer                    1
00071 #define WGL_ARB_pixel_format               1
00072 #define WGL_ARB_render_texture             1
00073 #define WGL_ATI_pixel_format_float         1
00074 #define WGL_EXT_extensions_string          1
00075 #define WGL_EXT_swap_control               1
00076 #define WGL_NV_allocate_memory             1
00077 #define WGL_NV_float_buffer                1
00078 #define WGL_NV_render_depth_texture        1
00079 #define WGL_NV_render_texture_rectangle    1
00080 #define WGL_NV_video_output                1
00081 #define WGL_KTX_buffer_region              1
00082 #define WGL_I3D_genlock                    1
00083 #define WGL_NV_swap_group                  1
00084
00085 /* ARB_buffer_region */
00086 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB     0x00000001
00087 #define WGL_BACK_COLOR_BUFFER_BIT_ARB      0x00000002
00088 #define WGL_DEPTH_BUFFER_BIT_ARB           0x00000004
00089 #define WGL_STENCIL_BUFFER_BIT_ARB         0x00000008
00090
00091 /* ARB_pixel_format */
00092 #define WGL_NUMBER_PIXEL_FORMATS_ARB       0x2000
00093 #define WGL_DRAW_TO_WINDOW_ARB             0x2001
00094 #define WGL_DRAW_TO_BITMAP_ARB             0x2002
00095 #define WGL_ACCELERATION_ARB               0x2003
00096 #define WGL_NEED_PALETTE_ARB               0x2004
00097 #define WGL_NEED_SYSTEM_PALETTE_ARB        0x2005
00098 #define WGL_SWAP_LAYER_BUFFERS_ARB         0x2006
00099 #define WGL_SWAP_METHOD_ARB                0x2007
00100 #define WGL_NUMBER_OVERLAYS_ARB            0x2008
00101 #define WGL_NUMBER_UNDERLAYS_ARB           0x2009
00102 #define WGL_TRANSPARENT_ARB                0x200A
00103 #define WGL_SHARE_DEPTH_ARB                0x200C
00104 #define WGL_SHARE_STENCIL_ARB              0x200D
00105 #define WGL_SHARE_ACCUM_ARB                0x200E
00106 #define WGL_SUPPORT_GDI_ARB                0x200F
00107 #define WGL_SUPPORT_OPENGL_ARB             0x2010
00108 #define WGL_DOUBLE_BUFFER_ARB              0x2011
00109 #define WGL_STEREO_ARB                     0x2012
00110 #define WGL_PIXEL_TYPE_ARB                 0x2013
00111 #define WGL_COLOR_BITS_ARB                 0x2014
00112 #define WGL_RED_BITS_ARB                   0x2015
00113 #define WGL_RED_SHIFT_ARB                  0x2016
00114 #define WGL_GREEN_BITS_ARB                 0x2017
00115 #define WGL_GREEN_SHIFT_ARB                0x2018
00116 #define WGL_BLUE_BITS_ARB                  0x2019
00117 #define WGL_BLUE_SHIFT_ARB                 0x201A
00118 #define WGL_ALPHA_BITS_ARB                 0x201B
00119 #define WGL_ALPHA_SHIFT_ARB                0x201C
00120 #define WGL_ACCUM_BITS_ARB                 0x201D
00121 #define WGL_ACCUM_RED_BITS_ARB             0x201E
00122 #define WGL_ACCUM_GREEN_BITS_ARB           0x201F
00123 #define WGL_ACCUM_BLUE_BITS_ARB            0x2020
00124 #define WGL_ACCUM_ALPHA_BITS_ARB           0x2021
00125 #define WGL_DEPTH_BITS_ARB                 0x2022
00126 #define WGL_STENCIL_BITS_ARB               0x2023
00127 #define WGL_AUX_BUFFERS_ARB                0x2024
00128 #define WGL_NO_ACCELERATION_ARB            0x2025
00129 #define WGL_GENERIC_ACCELERATION_ARB       0x2026
00130 #define WGL_FULL_ACCELERATION_ARB          0x2027
00131 #define WGL_SWAP_EXCHANGE_ARB              0x2028
00132 #define WGL_SWAP_COPY_ARB                  0x2029
00133 #define WGL_SWAP_UNDEFINED_ARB             0x202A
00134 #define WGL_TYPE_RGBA_ARB                  0x202B
00135 #define WGL_TYPE_COLORINDEX_ARB            0x202C
00136 #define WGL_TRANSPARENT_RED_VALUE_ARB      0x2037
00137 #define WGL_TRANSPARENT_GREEN_VALUE_ARB    0x2038
00138 #define WGL_TRANSPARENT_BLUE_VALUE_ARB     0x2039
00139 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB    0x203A
00140 #define WGL_TRANSPARENT_INDEX_VALUE_ARB    0x203B
00141
00142 /* ARB_pbuffer */
00143 #define WGL_DRAW_TO_PBUFFER_ARB            0x202D
00144 #define WGL_MAX_PBUFFER_PIXELS_ARB         0x202E
00145 #define WGL_MAX_PBUFFER_WIDTH_ARB          0x202F
00146 #define WGL_MAX_PBUFFER_HEIGHT_ARB         0x2030
00147 #define WGL_PBUFFER_LARGEST_ARB            0x2033
00148 #define WGL_PBUFFER_WIDTH_ARB              0x2034
00149 #define WGL_PBUFFER_HEIGHT_ARB             0x2035
00150 #define WGL_PBUFFER_LOST_ARB               0x2036
00151
00152 /* ARB_multisample */
00153 #define WGL_SAMPLE_BUFFERS_ARB             0x2041
00154 #define WGL_SAMPLES_ARB                    0x2042
00155
00156 /* I3D_genlock */
00157 #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D   0x2044
00158 #define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
00159 #define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
00160 #define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
00161 #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
00162 #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
00163 #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
00164 #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
00165 #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D   0x204C
00166
00167 /* ARB_render_texture */
00168 #define WGL_BIND_TO_TEXTURE_RGB_ARB        0x2070
00169 #define WGL_BIND_TO_TEXTURE_RGBA_ARB       0x2071
00170 #define WGL_TEXTURE_FORMAT_ARB             0x2072
00171 #define WGL_TEXTURE_TARGET_ARB             0x2073
00172 #define WGL_MIPMAP_TEXTURE_ARB             0x2074
00173 #define WGL_TEXTURE_RGB_ARB                0x2075
00174 #define WGL_TEXTURE_RGBA_ARB               0x2076
00175 #define WGL_NO_TEXTURE_ARB                 0x2077
00176 #define WGL_TEXTURE_CUBE_MAP_ARB           0x2078
00177 #define WGL_TEXTURE_1D_ARB                 0x2079
00178 #define WGL_TEXTURE_2D_ARB                 0x207A
00179 #define WGL_MIPMAP_LEVEL_ARB               0x207B
00180 #define WGL_CUBE_MAP_FACE_ARB              0x207C
00181 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
00182 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
00183 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
00184 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
00185 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
00186 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
00187 #define WGL_FRONT_LEFT_ARB                 0x2083
00188 #define WGL_FRONT_RIGHT_ARB                0x2084
00189 #define WGL_BACK_LEFT_ARB                  0x2085
00190 #define WGL_BACK_RIGHT_ARB                 0x2086
00191 #define WGL_AUX0_ARB                       0x2087
00192 #define WGL_AUX1_ARB                       0x2088
00193 #define WGL_AUX2_ARB                       0x2089
00194 #define WGL_AUX3_ARB                       0x208A
00195 #define WGL_AUX4_ARB                       0x208B
00196 #define WGL_AUX5_ARB                       0x208C
00197 #define WGL_AUX6_ARB                       0x208D
00198 #define WGL_AUX7_ARB                       0x208E
00199 #define WGL_AUX8_ARB                       0x208F
00200 #define WGL_AUX9_ARB                       0x2090
00201
00202 /* NV_render_depth_texture */
00203 #define WGL_BIND_TO_TEXTURE_DEPTH_NV       0x20A3
00204 #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
00205 #define WGL_DEPTH_TEXTURE_FORMAT_NV        0x20A5
00206 #define WGL_TEXTURE_DEPTH_COMPONENT_NV     0x20A6
00207 #define WGL_DEPTH_COMPONENT_NV             0x20A7
00208
00209 /* NV_float_buffer */
00210 #define WGL_FLOAT_COMPONENTS_NV            0x20B0
00211 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
00212 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
00213 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
00214 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
00215 #define WGL_TEXTURE_FLOAT_R_NV             0x20B5
00216 #define WGL_TEXTURE_FLOAT_RG_NV            0x20B6
00217 #define WGL_TEXTURE_FLOAT_RGB_NV           0x20B7
00218 #define WGL_TEXTURE_FLOAT_RGBA_NV          0x20B8
00219
00220 /* NV_render_texture_rectangle */
00221 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
00222 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
00223 #define WGL_TEXTURE_RECTANGLE_NV           0x20A2
00224
00225 /* ARB_make_current_read */
00226 #define WGL_ERROR_INVALID_PIXEL_TYPE_ARB   0x2043
00227 #define WGL_ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
00228
00229 /* ATI_pixel_format_float */
00230 #define WGL_TYPE_RGBA_FLOAT_ATI            0x21A0
00231
00232 /* WGL_NV_video_output */
00233 #define WGL_BIND_TO_VIDEO_RGB_NV           0x20C0
00234 #define WGL_BIND_TO_VIDEO_RGBA_NV          0x20C1
00235 #define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
00236 #define WGL_VIDEO_OUT_COLOR_NV             0x20C3
00237 #define WGL_VIDEO_OUT_ALPHA_NV             0x20C4
00238 #define WGL_VIDEO_OUT_DEPTH_NV             0x20C5
00239 #define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV   0x20C6
00240 #define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV   0x20C7
00241 #define WGL_VIDEO_OUT_FRAME_NV             0x20C8
00242 #define WGL_VIDEO_OUT_FIELD_1_NV           0x20C9
00243 #define WGL_VIDEO_OUT_FIELD_2_NV           0x20CA
00244
00245 /*************************************************************/
00246
00247
00248 /* WGL_ARB_buffer_region */
00249 typedef HANDLE (GLAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hdc, int iLayerPlane, UINT uType);
00250 typedef void (GLAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
00251 typedef BOOL (GLAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
00252 typedef BOOL (GLAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
00253
00254 /* WGL_ARB_extensions_string */
00255 typedef const char * (GLAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
00256
00257 /* WGL_ARB_pbuffer */
00258 typedef HPBUFFERARB (GLAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hdc, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
00259 typedef HDC (GLAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
00260 typedef int (GLAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hdc);
00261 typedef BOOL (GLAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
00262 typedef BOOL (GLAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
00263
00264 /* WGL_ARB_render_texture */
00265 typedef BOOL (GLAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
00266 typedef BOOL (GLAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
00267 typedef BOOL (GLAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int * piAttribList);
00268
00269 /* WGL_NV_video_output */
00270 typedef BOOL (GLAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, INT iVideoStreams, HPVIDEODEVICE* phpVideoDevice);
00271 typedef BOOL (GLAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEVICE hpVideoDevice);
00272 typedef BOOL (GLAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEVICE hpVideoDevice, HPBUFFERARB hPbuffer, INT iVideoBuffer);
00273 typedef BOOL (GLAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, INT iVideoBuffer);
00274 typedef BOOL (GLAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, INT iBufferType, unsigned long * pulCounterPbuffer, BOOL bBlock);
00275 typedef BOOL (GLAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEVICE hpVideoDevice, unsigned long * pulCounterOutputVideo, unsigned long * pulCounterOutputPbuffer);
00276
00277 /* WGL_ARB_pixel_format */
00278 typedef BOOL (GLAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
00279 typedef BOOL (GLAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
00280 typedef BOOL (GLAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
00281
00282 /* WGL_EXT_extensions_string */
00283 typedef const char * (GLAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
00284
00285 /* WGL_EXT_swap_control */
00286 typedef int (GLAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
00287 typedef int (GLAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
00288
00289 /* WGL_NV_allocate_memory */
00290 typedef void * (GLAPI * PFNWGLALLOCATEMEMORYNVPROC) (int size, float readfreq, float writefreq, float priority);
00291 typedef void (GLAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
00292
00293 /* WGL_KTX_buffer_region */
00294 typedef UINT (GLAPI * PFNWGLNEWBUFFERREGIONPROC) (UINT type);
00295 typedef void (GLAPI * PFNWGLDELETEBUFFERREGIONPROC) (UINT region);
00296 typedef void (GLAPI * PFNWGLREADBUFFERREGIONPROC) (UINT region, int x, int y, GLint width, GLint height);
00297 typedef void (GLAPI * PFNWGLDRAWBUFFERREGIONPROC) (UINT region, int x, int y, GLint width, GLint height, int xDest, int yDest);
00298 typedef UINT (GLAPI * PFNWGLBUFFERREGIONENABLEDPROC) (void);
00299
00300 /* WGL_I3D_genlock */
00301 typedef BOOL (GLAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hdc);
00302 typedef BOOL (GLAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hdc);
00303 typedef BOOL (GLAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hdc, BOOL * pFlag);
00304 typedef BOOL (GLAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hdc, UINT uSource);
00305 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hdc, UINT * uSource);
00306 typedef BOOL (GLAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hdc, UINT uEdge);
00307 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hdc, UINT * uEdge);
00308 typedef BOOL (GLAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hdc, UINT uRate);
00309 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hdc, UINT * uRate);
00310 typedef BOOL (GLAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hdc, UINT uDelay);
00311 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hdc, UINT * uDelay);
00312 typedef BOOL (GLAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hdc, UINT * uMaxLineDelay, UINT * uMaxPixelDelay);
00313
00314 /* WGL_NV_swap_group */
00315 typedef BOOL (GLAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
00316 typedef BOOL (GLAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
00317 typedef BOOL (GLAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint * group, GLuint * barrier);
00318 typedef BOOL (GLAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint * maxGroups, GLuint * maxBarriers);
00319 typedef BOOL (GLAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint * count);
00320 typedef BOOL (GLAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
00321
00322 /* WGL_ARB_make_current_read */
00323 typedef BOOL (GLAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
00324 typedef HDC (GLAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
00325
00326 /* WGL_EXT_swap_frame_lock */
00327 typedef BOOL (GLAPI * PFNWGLENABLEFRAMELOCKEXTPROC) (void);
00328 typedef BOOL (GLAPI * PFNWGLDISABLEFRAMELOCKEXTPROC) (void);
00329 typedef BOOL (GLAPI * PFNWGLISENABLEDFRAMELOCKEXTPROC) (BOOL * pFlag);
00330 typedef BOOL (GLAPI * PFNWGLQUERYFRAMELOCKMASTEREXTPROC) (BOOL * pFlag);
00331
00332 /* WGL_EXT_genlock */
00333 #define WGL_GENLOCK_SOURCE_MULTIVIEW_EXT   0x2044
00334 #define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_EXT 0x2045
00335 #define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_EXT 0x2046
00336 #define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_EXT 0x2047
00337 #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_EXT 0x2048
00338 #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_EXT 0x2049
00339 #define WGL_GENLOCK_SOURCE_EDGE_FALLING_EXT 0x204A
00340 #define WGL_GENLOCK_SOURCE_EDGE_RISING_EXT 0x204B
00341 #define WGL_GENLOCK_SOURCE_EDGE_BOTH_EXT   0x204C
00342
00343 typedef BOOL (GLAPI * PFNWGLENABLEGENLOCKEXTPROC) (HDC hdc);
00344 typedef BOOL (GLAPI * PFNWGLDISABLEGENLOCKEXTPROC) (HDC hdc);
00345 typedef BOOL (GLAPI * PFNWGLISENABLEDGENLOCKEXTPROC) (HDC hdc, BOOL * pFlag);
00346 typedef BOOL (GLAPI * PFNWGLGENLOCKSOURCEEXTPROC) (HDC hdc, UINT uSource);
00347 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSOURCEEXTPROC) (HDC hdc, UINT * uSource);
00348 typedef BOOL (GLAPI * PFNWGLGENLOCKSOURCEEDGEEXTPROC) (HDC hdc, UINT uEdge);
00349 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSOURCEEDGEEXTPROC) (HDC hdc, UINT * uEdge);
00350 typedef BOOL (GLAPI * PFNWGLGENLOCKSAMPLERATEEXTPROC) (HDC hdc, UINT uRate);
00351 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSAMPLERATEEXTPROC) (HDC hdc, UINT * uRate);
00352 typedef BOOL (GLAPI * PFNWGLGENLOCKSOURCEDELAYEXTPROC) (HDC hdc, UINT uDelay);
00353 typedef BOOL (GLAPI * PFNWGLGETGENLOCKSOURCEDELAYEXTPROC) (HDC hdc, UINT * uDelay);
00354 typedef BOOL (GLAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYEXTPROC) (HDC hdc, UINT * uMaxLineDelay, UINT * uMaxPixelDelay);
00355
00356 #ifdef __DEFINED_GLAPI
00357 # undef GLAPI
00358 # undef __DEFINED_GLAPI
00359 #endif
00360
00361 #ifdef __cplusplus
00362 }
00363 #endif
00364
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


WRLLoader.h Source File

WRLLoader.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #if defined(_WIN32) || defined(_WIN64)
00016 # define WIN32_LEAN_AND_MEAN    // Exclude rarely-used stuff from Windows headers
00017 # include <windows.h>         // MFC core and standard components
00018 #endif
00019
00020 #include  <fstream>
00021 #include  <set>
00022 #include  "nvsg/nvsg.h"
00023 #include  "nvsg/PlugInterface.h"
00024 #include  "VRMLTypes.h"
00025
00026 // Forward declarartions
00027 namespace nvsg
00028 {
00029   class DirectedLight;
00030   class Drawable;
00031   class GeoNode;
00032   class GeoSet;
00033   class Group;
00034   class LOD;
00035   class Material;
00036   class PointLight;
00037   class SpotLight;
00038   class StateSet;
00039   class Switch;
00040   class TextureAttribute;
00041   class Transform;
00042   class VNVector;
00043   template<typename T> class LinearInterpolatedAnimation;
00044 }
00045
00046 //  Don't need to document the API specifier
00047 #if ! defined( DOXYGEN_IGNORE ) && defined(_WIN32)
00048 # ifdef WRLLOADER_EXPORTS
00049 # define WRLLOADER_API __declspec(dllexport)
00050 # else
00051 # define WRLLOADER_API __declspec(dllimport)
00052 # endif
00053 #else
00054 # define WRLLOADER_API
00055 #endif
00056
00057 #if defined(LINUX)
00058 void lib_init() __attribute__ ((constructor));   // will be called before dlopen() returns
00059 #endif
00060
00061 #if defined(LINUX)
00062 extern "C"
00063 {
00064 #endif
00065
00066
00070   WRLLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00071
00073
00078   WRLLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00079 #if defined(LINUX)
00080 }
00081 #endif
00082
00084 class WRLLoader : public nvsg::SceneLoader
00085 {
00086   public :
00087     //  Default constructor.
00088     WRLLoader();
00089
00090   public :
00092
00093     void deleteThis( void );
00094
00096
00101     const nvsg::Scene * load( const std::string& filename
00102                             , const std::vector<std::string> &searchPaths
00103                             , const nvsg::ViewState *& viewState
00105                             );
00106
00107   private :
00108     void                            calculateNormals( vrml::IndexedFaceSet * pIndexedFaceSet,
00109                                                       const nvsg::IndexSet &triVerts, const nvsg::IndexSet &triFaces,
00110                                                       const nvsg::IndexSet &quadVerts, const nvsg::IndexSet &quadFaces );
00111     template<typename T>
00112       void                          combine( vrml::MFFloat &combinedKey, vrml::MFFloat &key, std::vector<T> &value );
00113     void                            determineTexGen( vrml::ElevationGrid * pElevationGrid, const nvsg::StateSet *pStateSet );
00114     void                            determineTexGen( vrml::IndexedFaceSet * pIndexedFaceSet, const nvsg::StateSet *pStateSet );
00115     template<typename VType>
00116       void                          eraseIndex( size_t f, size_t i, size_t count, bool perVertex, vrml::MFInt32 &index,
00117                                                 VType &vec );
00118     template<typename VType>
00119       void                          filterZeroIntervals( vrml::MFFloat &key, std::vector<VType> &value );
00120     vrml::SFNode                    findNode( const vrml::SFNode currentNode, std::string name );
00121     size_t                          getKeyCount( vrml::MFFloat &key );
00122     void                            getKeyRange( vrml::MFFloat &key );
00123     bool                            getNextLine( void );
00124     std::string                     getNextToken( void );
00125     vrml::SFNode                    getNode( const std::string &nodeName );
00126     void                            ignoreBlock( const std::string &open, const std::string &close );
00127     const nvsg::Scene             * import( const std::string &filename );
00128     const nvsg::StateSet          * interpretAppearance( vrml::Appearance *pAppearance );
00129     void                            interpretChildren( vrml::MFNode &children, nvsg::Group *pNVSGGroup );
00130     void                            interpretBackground( const vrml::Background *pBackground );
00131     void                            interpretBox( vrml::Box *pBox, std::vector<const nvsg::Drawable*> &drawables, bool textured = false );
00132     const nvsg::DirectedLight     * interpretDirectionalLight( vrml::DirectionalLight *pDirectionalLight );
00133     void                            interpretElevationGrid( vrml::ElevationGrid * pElevationGrid,
00134                                                             std::vector<const nvsg::Drawable*> &drawables );
00135     void                            interpretGeometry( vrml::Geometry *pGeometry,
00136                                                        std::vector<const nvsg::Drawable*> &drawables, bool textured = false );
00137     const nvsg::Group             * interpretGroup( vrml::Group *pGroup );
00138     const nvsg::TextureAttribute  * interpretImageTexture( vrml::ImageTexture *pImageTexture );
00139     void                            interpretIndexedFaceSet( vrml::IndexedFaceSet *pIndexedFaceSet,
00140                                                              std::vector<const nvsg::Drawable*> &drawables );
00141     void                            interpretIndexedFaceSetGeoSet( vrml::IndexedFaceSet *pIndexedFaceSet,
00142                                                                    const nvsg::GeoSet *pGeoSet,
00143                                                                    const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> *pAnimation,
00144
00145                                                                    size_t vpf, size_t faceCount,
00146                                                                    nvsg::IndexSet startIndices, nvsg::IndexSet faceIndices );
00147     const nvsg::Node              * interpretInline( vrml::Inline * pInline );
00148     const nvsg::LOD               * interpretLOD( vrml::LOD *pVRMLLOD );
00149     const nvsg::Material          * interpretMaterial( vrml::Material * pVRMLMaterial );
00150     void                            interpretOrientationInterpolator( vrml::OrientationInterpolator *pOI );
00151     nvsg::TextureAttribute        * interpretPixelTexture( const vrml::PixelTexture *pPixelTexture );
00152     const nvsg::PointLight        * interpretPointLight( vrml::PointLight *pVRMLPointLight );
00153     nvmath::Vec3f                   interpretSFColor( const vrml::SFColor &c );
00154     const nvsg::Object            * interpretSFNode( const vrml::SFNode n );
00155     nvmath::Quatf                   interpretSFRotation( const vrml::SFRotation &r );
00156     const nvsg::GeoNode           * interpretShape( vrml::Shape *pShape );
00157     const nvsg::SpotLight         * interpretSpotLight( vrml::SpotLight *pVRMLSpotLight );
00158     const nvsg::Switch            * interpretSwitch( vrml::Switch *pVRMLSwitch );
00159     const nvsg::TextureAttribute  * interpretTexture( vrml::Texture *pTexture );
00160     void                            interpretTextureTransform( const vrml::TextureTransform *pTextureTransform,
00161                                                                const nvsg::TextureAttribute *pTextureAttribute );
00162     const nvsg::Transform         * interpretTransform( vrml::Transform *pVRMLTransform );
00163     bool                            interpretURL( const vrml::MFString &url, std::string &fileName );
00164     nvsg::Object                  * interpretViewpoint( const vrml::Viewpoint *pViewpoint );
00165     void                            interpretVRMLTree( void );
00166     bool                            isValidScaling( const vrml::PositionInterpolator *pPositionInterpolator ) const;
00167     bool                            isValidScaling( const vrml::SFVec3f &sfVec3f ) const;
00168     void                            makeCompatible( vrml::CoordinateInterpolator *points, size_t ps,
00169                                                     vrml::NormalInterpolator *normals, size_t ns );
00170     vrml::MFFloat                 * makeCompatible( vrml::PositionInterpolator *center,
00171                                                     vrml::OrientationInterpolator *rotation,
00172                                                     vrml::PositionInterpolator *scale,
00173                                                     vrml::PositionInterpolator *translation );
00174     bool                            onIncompatibleValues( int value0, int value1, const std::string &node,
00175                                                           const std::string &field0, const std::string &field1 ) const;
00176     template<typename T>
00177       bool                          onInvalidValue( T value, const std::string &node, const std::string &field ) const;
00178     bool                            onEmptyToken( const std::string &tokenType, const std::string &token ) const;
00179     bool                            onFileNotFound( const vrml::SFString &url ) const;
00180     bool                            onFilesNotFound( bool found, const vrml::MFString &url ) const;
00181     void                            onUnexpectedEndOfFile( bool error ) const;
00182     void                            onUnexpectedToken( const std::string &expected, const std::string &token ) const;
00183     void                            onUnknownToken( const std::string &tokenType, const std::string &token ) const;
00184     bool                            onUndefinedToken( const std::string &tokenType, const std::string &token ) const;
00185     bool                            onUnsupportedToken( const std::string &tokenType, const std::string &token ) const;
00186     vrml::Anchor                  * readAnchor( const std::string &nodeName );
00187     vrml::Appearance              * readAppearance( const std::string &nodeName );
00188     vrml::AudioClip               * readAudioClip( const std::string &nodeName );
00189     vrml::Background              * readBackground( const std::string &nodeName );
00190     vrml::Billboard               * readBillboard( const std::string &nodeName );
00191     vrml::Box                     * readBox( const std::string &nodeName );
00192     vrml::Collision               * readCollision( const std::string &nodeName );
00193     vrml::Color                   * readColor( const std::string &nodeName );
00194     vrml::ColorInterpolator       * readColorInterpolator( const std::string &nodeName );
00195     vrml::Cone                    * readCone( const std::string &nodeName );
00196     vrml::Coordinate              * readCoordinate( const std::string &nodeName );
00197     vrml::CoordinateInterpolator  * readCoordinateInterpolator( const std::string &nodeName );
00198     vrml::Cylinder                * readCylinder( const std::string &nodeName );
00199     vrml::CylinderSensor          * readCylinderSensor( const std::string &nodeName );
00200     vrml::DirectionalLight        * readDirectionalLight( const std::string &nodeName );
00201     vrml::ElevationGrid           * readElevationGrid( const std::string &nodeName );
00202     void                            readEXTERNPROTO( void );
00203     vrml::Extrusion               * readExtrusion( const std::string &nodeName );
00204     vrml::Fog                     * readFog( const std::string &nodeName );
00205     vrml::FontStyle               * readFontStyle( const std::string &nodeName );
00206     vrml::Group                   * readGroup( const std::string &nodeName );
00207     vrml::ImageTexture            * readImageTexture( const std::string &nodeName );
00208     void                            readIndex( std::vector<vrml::SFInt32> &mf );
00209     vrml::IndexedFaceSet          * readIndexedFaceSet( const std::string &nodeName );
00210     vrml::IndexedLineSet          * readIndexedLineSet( const std::string &nodeName );
00211     vrml::Inline                  * readInline( const std::string &nodeName );
00212     vrml::LOD                     * readLOD( const std::string &nodeName );
00213     vrml::Material                * readMaterial( const std::string &nodeName );
00214     void                            readMFNode( vrml::Group * fatherNode );
00215     template<typename SFType>
00216       void                          readMFType( std::vector<SFType> &mf, void (WRLLoader::*readSFType)( SFType &sf ) );
00217     vrml::MovieTexture            * readMovieTexture( const std::string &nodeName );
00218     vrml::NavigationInfo          * readNavigationInfo( const std::string &nodeName );
00219     vrml::Normal                  * readNormal( const std::string &nodeName );
00220     vrml::NormalInterpolator      * readNormalInterpolator( const std::string &nodeName );
00221     vrml::OrientationInterpolator * readOrientationInterpolator( const std::string &nodeName );
00222     vrml::PixelTexture            * readPixelTexture( const std::string &nodeName );
00223     vrml::PlaneSensor             * readPlaneSensor( const std::string &nodeName );
00224     vrml::PointLight              * readPointLight( const std::string &nodeName );
00225     vrml::PointSet                * readPointSet( const std::string &nodeName );
00226     vrml::PositionInterpolator    * readPositionInterpolator( const std::string &nodeName );
00227     void                            readPROTO( void );
00228     vrml::ProximitySensor         * readProximitySensor( const std::string &nodeName );
00229     void                            readROUTE( const vrml::SFNode currentNode );
00230     vrml::ScalarInterpolator      * readScalarInterpolator( const std::string &nodeName );
00231     vrml::Script                  * readScript( const std::string &nodeName );
00232     void                            readSFBool( vrml::SFBool &b );
00233     void                            readSFColor( vrml::SFColor &c );
00234     void                            readSFFloat( vrml::SFFloat &f );
00235     void                            readSFImage( vrml::SFImage &i );
00236     void                            readSFInt8( vrml::SFInt8 &i );
00237     void                            readSFInt32( vrml::SFInt32 &i );
00238     void                            readSFNode( const vrml::SFNode fatherNode, vrml::SFNode &n );
00239     void                            readSFRotation( vrml::SFRotation &r );
00240     void                            readSFString( vrml::SFString &s );
00241     void                            readSFTime( vrml::SFTime &t );
00242     void                            readSFVec2f( vrml::SFVec2f &v );
00243     void                            readSFVec3f( vrml::SFVec3f &v );
00244     vrml::Shape                   * readShape( const std::string &nodeName );
00245     vrml::Sound                   * readSound( const std::string &nodeName );
00246     vrml::Sphere                  * readSphere( const std::string &nodeName );
00247     vrml::SphereSensor            * readSphereSensor( const std::string &nodeName );
00248     vrml::SpotLight               * readSpotLight( const std::string &nodeName );
00249     void                            readStatements( void );
00250     vrml::Switch                  * readSwitch( const std::string &nodeName );
00251     vrml::Text                    * readText( const std::string &nodeName );
00252     vrml::TextureCoordinate       * readTextureCoordinate( const std::string &nodeName );
00253     vrml::TextureTransform        * readTextureTransform( const std::string &nodeName );
00254     vrml::TimeSensor              * readTimeSensor( const std::string &nodeName );
00255     vrml::TouchSensor             * readTouchSensor( const std::string &nodeName );
00256     vrml::Transform               * readTransform( const std::string &nodeName );
00257     vrml::Viewpoint               * readViewpoint( const std::string &nodeName );
00258     vrml::VisibilitySensor        * readVisibilitySensor( const std::string &nodeName );
00259     vrml::WorldInfo               * readWorldInfo( const std::string &nodeName );
00260     void                            setAnimationData( const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> *pAnimation,
00261                                                       vrml::Coordinate *pCoordinate );
00262     void                            setAnimationData( const nvsg::LinearInterpolatedAnimation<nvsg::VNVector> *pAnimation,
00263                                                       vrml::Coordinate *pCoordinate, vrml::MFInt32 coordIndex,
00264                                                       size_t faceCount, size_t verticesPerFace, nvsg::IndexSet indices );
00265     void                            skipLine( void );
00266     bool                            testWRLVersion( void );
00267     void                            ungetToken( std::string token );
00268
00269   private :
00270     std::string                           m_currentString;
00271     char                                * m_currentLine;
00272     size_t                                m_currentLineLength;
00273     std::string                           m_currentToken;
00274     std::map<std::string,vrml::SFNode>    m_defNodes;
00275     bool                                  m_eof;
00276     std::ifstream                         m_ifs;
00277     std::vector<vrml::SFNode>             m_inlines;
00278     vrml::SFFloat                         m_keyMin;
00279     vrml::SFFloat                         m_keyMax;
00280     vrml::SFFloat                         m_keyStep;
00281     size_t                                m_keyFrames;
00282     size_t                                m_line;
00283     char                                * m_nextToken;
00284     std::vector<vrml::SFNode>             m_openNodes;
00285     std::set<std::string>                 m_PROTONames;
00286     const nvsg::Group                   * m_rootNode;
00287     const nvsg::Scene                   * m_scene;
00288     std::vector<std::string>              m_searchPaths;
00289     vrml::Group                         * m_topLevelGroup;
00290     bool                                  m_strict;
00291     std::string                           m_ungetToken;
00292 };
00293
00294 inline void WRLLoader::deleteThis( void )
00295 {
00296   delete this;
00297 }
00298
00299 inline  nvmath::Vec3f WRLLoader::interpretSFColor( const vrml::SFColor &c )
00300 {
00301   return( * (nvmath::Vec3f *) &c );
00302 }
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA


WRLLoadTraverser.h Source File

WRLLoadTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  "nvutil/Assert.h"
00016 #include  "nvtraverser/Traverser.h"
00017
00018
00020 class WRLLoadTraverser : public nvtraverser::Traverser
00021 {
00022   public:
00024     WRLLoadTraverser();
00025
00027     virtual ~WRLLoadTraverser(void);
00028
00029   protected:
00031
00033     virtual void  doApply( const nvsg::ViewState *pViewState, const nvsg::Scene *pScene );
00034
00036
00037     virtual void  handleGeoNode( const nvsg::GeoNode *p );
00038
00040
00042     virtual void  handleTransform( const nvsg::Transform *p );
00043
00044   private:
00045     std::vector<nvsg::LightSource *> m_lights;
00046 };
Generated on Fri Jan 28 09:17:53 2005 for NVSGSDK by NVIDIA