dtCore Namespace Reference

The dtCore namespace contains basic, low-level functionality which is mostly required for all 3D applications. More...


Classes

class  Base
 Base class to support naming and message passing. More...
class  BatchIsector
 To search the whole Scene for the height of terrain at a given xyz:. More...
class  BoundingBoxVisitor
class  Camera
 A dtCore::Camera is a view into the Scene. More...
class  CloudDome
 CloudDome: This class can be used to generate procedural cloud cover. More...
class  CloudPlane
 This class can be used to simulate cloud cover it derives from EnvEffect. More...
class  CollisionMotionModel
 Collision Motion Model uses ode collision meshes to allow typical FPS Camera interaction with the environment. More...
class  Compass
 A special visual Object which constantly aligns with the world axes. More...
class  DeltaDrawable
 A renderable object. More...
class  DeltaWin
 The rendering area that a dtCore::Camera will render to. More...
class  EffectManager
 An effect manager. More...
class  EffectListener
 An interface for objects interested in the addition and removal of effects from the manager. More...
class  Effect
 The base class of all effects. More...
class  Detonation
 A detonation effect. More...
class  EnvEffect
 A base class for all Environmental Effects. More...
class  Environment
 A unique environment which controls lighting and visibility. More...
class  ExceptionEnum
 Exceptions for the dtCore namespace. More...
class  FlyMotionModel
 A motion model that simulates the action of flying. More...
class  FPSCollider
 This class uses ode to simulate fps movement on collision meshes note: this is a simplified physical model and has a few caveats listed below. More...
class  FPSMotionModel
 A motion model used for typical First Person Shooter motion. More...
class  GenericKeyboardListener
 Provides generic callback support for Keyboard events. More...
class  GenericMouseListener
 Provides generic callback support for Mouse events. More...
class  HotSpotAttachment
 maintains a mapping from HotSpotData instances to Transformable instances. More...
class  InfiniteLight
 Light located an infinite distance from origin and therefore only has direction. More...
class  InfiniteTerrain
 An infinite terrain surface. More...
class  InputDevice
 Represents an input device. More...
class  InputDeviceFeature
 The base class of all input device features: buttons, axes, etc. More...
class  Button
 Buttons are features with binary state. More...
class  ButtonListener
 An interface for objects interested in button state changes. More...
class  Axis
 Axes are features with double-valued state. More...
class  AxisListener
 An interface for objects interested in changes to axes. More...
class  InputMapper
 Acquires mappings for logical input device features by listening to a set of devices. More...
class  InputMapperCallback
 The input mapper callback interface. More...
class  Isector
 This class is used to check for intersections of a line segment with geometry. More...
class  Keyboard
 The model of the keyboard used throughout Delta3D. More...
class  KeyboardListener
 An interface for objects interested in receiving keyboard events. More...
class  KeyboardMouseHandler
class  Light
 An abstract class declaring the base functionality for a vertex light. More...
class  Loadable
 The Loadable class is a simple mechanism for loading files. More...
class  LogicalInputDevice
 A logical input device. More...
class  LogicalButton
 A logical button. More...
class  ButtonMapping
 A mapping for a logical button. More...
class  ButtonToButton
 Maps a button to a logical button. More...
class  LogicalAxis
 A logical axis. More...
class  AxisMapping
 A mapping for a logical axis. More...
class  AxisToAxis
 Maps an axis to a logical axis with an optional linear transformation. More...
class  AxesToAxis
 Maps any number of source axes to a single target axis. More...
class  ButtonsToAxis
 Maps two buttons to a logical axis. More...
class  ButtonAxisToAxis
 Maps a button and an axis to an axis, so that the value of the target axis is equal to the value of the source axis when the source button is pressed (the value is zero otherwise). More...
class  MakeSkyDome
 Internal class used by dtCore::SkyDome to create the actual geometry. More...
class  MotionModel
 The base class for all motion models: objects that update the transforms of Transformable objects according to input gathered from physical or logical input devices. More...
class  Mouse
 The model of the mouse used throughout Delta3D. More...
class  MouseListener
 An interface for objects interested in mouse events. More...
class  MoveEarthySkyWithEyePointTransform
class  MoveEarthySkyWithEyePointTransformAzimuth
class  NodeCollector
class  Object
 A visual Object with physical properties. More...
class  ObserverPtr
class  OrbitMotionModel
 A motion model that causes its target to orbit around a point (initially its local origin). More...
class  ParticleLayer
class  ParticleSystem
 A particle system. More...
class  Physical
 A rigid body object which can behave with realistic physical properties. More...
class  PointAxis
 creates a visible xyz axis which can be placed anywhere in the scene More...
class  PositionalLight
 A transformable light. More...
class  Recorder
 A generic utility for recording frame information. More...
class  RefPtr
 Smart pointer for handling referenced counted objects. More...
class  ConvertToPointerUnary
class  Scene
 Scene: This class encapsulates the root of the delta scene graph. More...
class  ShaderGroup
 This class is a container for shaders. More...
class  ShaderException
 Defines the various exceptions that may be thrown when working with the shaders in the Shader Manager. More...
class  ShaderManager
 This class manages the currently loaded and/or active shaders in the current game. More...
class  ShaderParameterException
 Exceptions a shader parameter may throw. More...
class  ShaderParameter
 This class wraps parameters that may be passed on to Delta3D shaders. More...
class  ShaderParamFloat
 This class is a shader parameter containing a single floating point value. More...
class  ShaderParamInt
 This class is a shader parameter containing a single integer value. More...
class  ShaderParamOscillator
 This class is a shader parameter that has an oscillating parameter. More...
class  ShaderParamTexture
 This class contains the logic and attributes necessary to contain a Texture shader parameter. More...
class  ShaderParamTexture2D
 This class represents a 2D texture parameter. More...
class  ShaderProgram
 This class represents a single shader or rendering effect. More...
class  ShaderXML
class  SkyBox
 A six-sided textured cube to represent distant scenery. More...
class  SkyDome
 A rendered dome that represents the sky. More...
class  SkyDomeShader
 A light scattering pixel shader for use with dtCore::Environment. More...
class  SpotLight
 A light that has a position in the scene and also spotlight properties. More...
class  StateAttributeCollector
class  StatsHandler
 Used by dtABC::Application to render application statistics. More...
class  SunlightShader
 A light scattering pixel shader for use with dtCore::Environment. More...
class  System
 Performs high-level frame coordination. More...
class  TangentSpaceVisitor
 This visitor is used to generate tangents for your node. More...
class  Timer
 High-level wrapper for osg::Timer. More...
class  Transform
class  Transformable
 The Transformable class is the base class of anything that can move in the virtual world and can be added to the Scene. More...
class  Tripod
 A Tripod is used to attach a Camera to a Transformable. More...
class  UFOMotionModel
 A motion model that simulates the action of flying in a UFO. More...
class  UniqueId
 Conforms to OSF DCE 1.1. More...
class  View
class  WalkMotionModel
 A motion model that simulates the action of walking or driving. More...

Namespaces

namespace  CollectorUtil

Typedefs

typedef osg::Timer_t Timer_t

Enumerations

enum  DetonationType {
  HighExplosiveDetonation = 1000, SmokeDetonation = 2000, WP = 3000, VT = 4000,
  ICM = 5000, M825 = 6000
}
 Detonation types. More...
enum  NotifySeverity {
  ALWAYS = 0, FATAL = 1, WARN = 2, NOTICE = 3,
  INFO = 4, DEBUG_INFO = 5
}
 Range of notify levels from DEBUG_INFO through to FATAL, ALWAYS is reserved for forcing the absorption of all messages. More...

Functions

DetonationType StringToDetonationType (const std::string &stringType)
std::string DetonationTypeToString (DetonationType detonationType)
DT_CORE_EXPORT void GetSunPos (time_t time, double lat, double lon, double elev, double *sun_alt, double *sun_az)
 Get the Sun's alt and azimuth based on date/time, eyepoint lat,long, elev.
DT_CORE_EXPORT time_t GetGMT (int year, int month, int day, int hour, int min, int sec)
 Get the Greenwich Mean Time for the give day and time.
DT_CORE_EXPORT void SetDataFilePathList (const std::string &pathList)
 Set the list of data file paths.
DT_CORE_EXPORT std::string GetDataFilePathList ()
 Get the list of data file paths.
DT_CORE_EXPORT std::string GetDeltaDataPathList ()
 Get the Delta Data path list (equivalent to the DELTA_DATA environment).
DT_CORE_EXPORT std::string GetDeltaRootPath ()
 Get the root path to Delta3D (equivalent to the DELTA_ROOT environment).
DT_CORE_EXPORT std::string GetEnvironment (const std::string &env)
 Convienence method to get the supplied environment variable.
DT_CORE_EXPORT void SetEnvironment (const std::string &name, const std::string &value)
 Sets an environment variable.
DT_CORE_EXPORT std::string FindFileInPathList (const std::string &fileName)
 Searches for a file in the list of paths found by calling dtCore::GetDataFilePathList().
DT_CORE_EXPORT void SetNotifyLevel (NotifySeverity severity, NotifySeverity osgSeverity=FATAL)
 Deprecated 8/23/05.
DT_CORE_EXPORT void Notify (NotifySeverity level, const char *fmt,...)
 Deprecated 8/23/05.
DT_CORE_EXPORT std::ostream & Notify (const NotifySeverity severity)
 Deprecated 8/23/05.
std::ostream & operator<< (std::ostream &o, const UniqueId &id)
std::istream & operator>> (std::istream &i, UniqueId &id)
dtUtil::DataStreamoperator<< (dtUtil::DataStream &ds, const UniqueId &id)
dtUtil::DataStreamoperator>> (dtUtil::DataStream &ds, UniqueId &id)
 IMPLEMENT_MANAGEMENT_LAYER (CollisionMotionModel)
static double FindMaximumParticleLifeTime (osg::Node *effectNode)
 Finds and returns the maximimum lifetime of the particles whose systems lie under the specified node.
static void DeleteParticleEmitters (osg::Node *effectNode)
 Deletes all particle emitters under the specified node.
void ODEMessageHandler (int errnum, const char *msg, va_list ap)
void ODEDebugHandler (int errnum, const char *msg, va_list ap)
void ODEErrorHandler (int errnum, const char *msg, va_list ap)

Variables

const int MAX_LIGHTS = 8
static int dInfiniteTerrainClass = 0
 The ODE InfiniteTerrain class identifier.


Detailed Description

The dtCore namespace contains basic, low-level functionality which is mostly required for all 3D applications.

From osghangglide.


Typedef Documentation

typedef osg::Timer_t dtCore::Timer_t


Enumeration Type Documentation

enum dtCore::DetonationType

Detonation types.

Note: This may be deprecated in the future, use string functionality instead.

Enumerator:
HighExplosiveDetonation 
SmokeDetonation 
WP 
VT 
ICM 
M825 

enum dtCore::NotifySeverity

Range of notify levels from DEBUG_INFO through to FATAL, ALWAYS is reserved for forcing the absorption of all messages.

Enumerator:
ALWAYS 
FATAL 
WARN 
NOTICE 
INFO 
DEBUG_INFO 


Function Documentation

static void dtCore::DeleteParticleEmitters ( osg::Node *  effectNode  )  [static]

Deletes all particle emitters under the specified node.

Parameters:
effectNode the effect node to modify

std::string dtCore::DetonationTypeToString ( DetonationType  detonationType  ) 

std::string dtCore::FindFileInPathList ( const std::string &  fileName  ) 

Searches for a file in the list of paths found by calling dtCore::GetDataFilePathList().

Parameters:
fileName Can be a single filename or a path and file name relative to the current Delta3D data path list.
Returns:
The full path to the file requested or empty string if it's not found.

std::vector<std::string> pathList; std::vector<std::string>::const_iterator itor;

if defined(_WIN32) || defined(WIN32) || defined(__WIN32__) dtUtil::IsDelimeter delimCheck(';'); else dtUtil::IsDelimeter delimCheck(':'); endif

dtUtil::StringTokenizer<dtUtil::IsDelimeter>::tokenize(pathList, GetDataFilePathList(),delimCheck);

dtUtil::FileUtils& fileUtils = dtUtil::FileUtils::GetInstance();

std::string path; for (itor=pathList.begin(); itor!=pathList.end(); ++itor) { path = *itor; Make sure we remove any trailing slashes from the cache path. if (path[path.length()-1] == '/' || path[path.length()-1] == '\') path = path.substr(0,path.length()-1);

if (fileUtils.FileExists(path + dtUtil::FileUtils::PATH_SEPARATOR + fileName)) return path + dtUtil::FileUtils::PATH_SEPARATOR + fileName; }

return std::string();

static double dtCore::FindMaximumParticleLifeTime ( osg::Node *  effectNode  )  [static]

Finds and returns the maximimum lifetime of the particles whose systems lie under the specified node.

Parameters:
effectNode the effect node to search
Returns:
the maximum particle lifetime, or 0.0 if no particle systems lie under the node

std::string dtCore::GetDataFilePathList (  ) 

Get the list of data file paths.

Get the list of paths that dtCore should use to search for files to load.

Paths are separated with a single ";" on Win32 and a single ":" on Linux.

See also:
SetDataFilePathList()

std::string dtCore::GetDeltaDataPathList (  ) 

Get the Delta Data path list (equivalent to the DELTA_DATA environment).

Get the Delta Data file path.

This comes directly from the environment variable "DELTA_DATA". If the environment variable is not set, the local directory will be returned.

std::string dtCore::GetDeltaRootPath (  ) 

Get the root path to Delta3D (equivalent to the DELTA_ROOT environment).

If the DELTA_ROOT environment is not set, the local directory will be returned.

std::string dtCore::GetEnvironment ( const std::string &  env  ) 

Convienence method to get the supplied environment variable.

Simple method to return the system environment variable.

If the env var is not set, the local path will be returned.

Parameters:
env The system environment variable to be queried
Returns:
The value of the environment variable

time_t dtCore::GetGMT ( int  year,
int  month,
int  day,
int  hour,
int  min,
int  sec 
)

Get the Greenwich Mean Time for the give day and time.

Return time_t for Sat Mar 21 12:00:00 GMT.

On many systems it is ambiguous if mktime() assumes the input is in GMT, or local timezone. To address this, a new function called timegm() is appearing. It works exactly like mktime() but explicitely interprets the input as GMT.

timegm() is available and documented under FreeBSD. It is available, but completely undocumented on my current Debian 2.1 distribution.

In the absence of timegm() we have to guess what mktime() might do.

Many older BSD style systems have a mktime() that assumes the input time in GMT. But FreeBSD explicitly states that mktime() assumes local time zone

The mktime() on many SYSV style systems (such as Linux) usually returns its result assuming you have specified the input time in your local timezone. Therefore, in the absence if timegm() you have to go to extra trouble to convert back to GMT.

If you are having problems with incorrectly positioned astronomical bodies, this is a really good place to start looking.

Parameters:
year current GMT year
month current GMT month
day current GMT day
hour current GMT hour
min current minute
sec current second
Returns:
The number of seconds past midnight (00:00:00), January 1, 1970, coordinated universal time (UTC)

void dtCore::GetSunPos ( time_t  time,
double  lat,
double  lon,
double  elev,
double *  sun_alt,
double *  sun_az 
)

Get the Sun's alt and azimuth based on date/time, eyepoint lat,long, elev.

Get the altitude and azimuth of the Sun given the GMT time/date, a reference Latitude/longitude/elevation.

Parameters:
time : the GMT time
lat : Reference latitude (in degrees, positive = northern hemisphere)
lon : Reference longitude (in degrees, negative = west)
elev : Reference elevation (in Earth radii, 1 = Earth surface)
sun_alt : The output sun altitude (in degrees above the horizon)
sun_az : The output sun Azimuth (in degrees (from North?))

dtCore::IMPLEMENT_MANAGEMENT_LAYER ( CollisionMotionModel   ) 

std::ostream & dtCore::Notify ( const NotifySeverity  severity  ) 

Deprecated 8/23/05.

void dtCore::Notify ( dtCore::NotifySeverity  level,
const char *  fmt,
  ... 
)

Deprecated 8/23/05.

void dtCore::ODEDebugHandler ( int  errnum,
const char *  msg,
va_list  ap 
)

void dtCore::ODEErrorHandler ( int  errnum,
const char *  msg,
va_list  ap 
)

void dtCore::ODEMessageHandler ( int  errnum,
const char *  msg,
va_list  ap 
)

dtUtil::DataStream& dtCore::operator<< ( dtUtil::DataStream ds,
const UniqueId &  id 
) [inline]

std::ostream& dtCore::operator<< ( std::ostream &  o,
const UniqueId &  id 
) [inline]

dtUtil::DataStream& dtCore::operator>> ( dtUtil::DataStream ds,
UniqueId &  id 
) [inline]

std::istream& dtCore::operator>> ( std::istream &  i,
UniqueId &  id 
) [inline]

void dtCore::SetDataFilePathList ( const std::string &  pathList  ) 

Set the list of data file paths.

Set the list of paths that dtCore should use to search for files to load.

Paths are separated with a single ";" on Win32 and a single ":" on Linux. Remember to double-up your backslashes, lest they be escaped.

Parameters:
pathList : The list of all paths to be used to find data files

void dtCore::SetEnvironment ( const std::string &  name,
const std::string &  value 
)

Sets an environment variable.

Parameters:
name the name of the variable to set.
value the value of the environment variable to set.

void dtCore::SetNotifyLevel ( dtCore::NotifySeverity  severity,
NotifySeverity  osgSeverity = FATAL 
)

Deprecated 8/23/05.

DetonationType dtCore::StringToDetonationType ( const std::string &  stringType  ) 


Variable Documentation

int dtCore::dInfiniteTerrainClass = 0 [static]

The ODE InfiniteTerrain class identifier.

const int dtCore::MAX_LIGHTS = 8


http://www.delta3d.org
2.0.0 generated 14 Feb 2008