VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
DtDynamicTerrainGeometryHandle::DynamicFeature Class Reference
Inheritance diagram for DtDynamicTerrainGeometryHandle::DynamicFeature:
Inheritance graph
[legend]

Public Member Functions

 DynamicFeature (const DtPoint &location, double radius)
 
 ~DynamicFeature ()
 
DtString description () const
 
bool matches (const makVrv::DtDynamicTerrainChange &, bool useOriginalGeometry=false) const
 
bool matches (const makVrv::DtDynamicTerrainGeometry &, bool useOriginalGeometry=false) const
 
const
makVrv::DtDynamicTerrainGeometry
geometry () const
 
const
makVrv::DtDynamicTerrainGeometry
originalGeometry () const
 
bool isInDefaultState () const
 
bool lastStateWasDefaultState () const
 
void changeState (const makVrv::DtDynamicTerrainChanges &history)
 
void iterateCommands (const boost::function< void(const makVrv::DtDynamicTerrainChange &)> &) const
 
void setToDefaultState ()
 
makVrv::DtDynamicTerrainChangecreateChange () const
 
- Public Member Functions inherited from makVrv::DtDynamicTerrainFeature
 DtDynamicTerrainFeature ()
 
virtual ~DtDynamicTerrainFeature ()
 
virtual boost::optional< DtStringfeatureAttribute (const DtString &key) const
 
virtual void iterateCommands (const boost::function< void(const DtDynamicTerrainChange &)> &callback, const DtString &key) const
 
void changed ()
 
bool pageOut ()
 
void changes (const boost::function< void(const DtDynamicTerrainChanges &)> &callback) const
 
RequestHandle addChangeRequest (DtDynamicTerrainChange *change)
 
RequestHandle addChangeRequest (double time, DtDynamicTerrainChange *change)
 
virtual ~Link ()
 
RequestInforequest ()
 
DtDynamicTerrainFeaturefeature ()
 
 RequestInfo (DtDynamicTerrainChange *command)
 
virtual ~RequestInfo ()
 
const DtDynamicTerrainChangecommand () const
 
void pageOut ()
 
virtual const
DtDynamicTerrainFeature
parentFeature () const
 
virtual
boost::signalslib::connection 
connectToChangeSignal (const ChangeCallback &callback) const
 
virtual
boost::signalslib::connection 
connectToPageOutSignal (const Callback &callback) const
 
- Public Member Functions inherited from makVrv::DtDisconnectable
 DtDisconnectable ()
 
virtual ~DtDisconnectable ()
 
virtual
boost::signalslib::connection 
addDisconnectFunction (const boost::function< void()> &callback)
 
virtual bool callDisconnectFunctions ()
 

Protected Attributes

makVrv::DtDynamicTerrainGeometrymyGeometry
 
makVrv::DtDynamicTerrainGeometrymyOriginalGeometry
 
tbb::atomic< boolmyDefaultStateFlag
 
- Protected Attributes inherited from makVrv::DtDisconnectable
Mutex myMutex
 
State myDisconnectedState
 
boost::signalslib::signal< void()> myDisconnectSignal
 

Additional Inherited Members

- Public Types inherited from makVrv::DtDynamicTerrainFeature
typedef boost::function< void(const
DtDynamicTerrainFeature &)> 
Callback
 
typedef boost::function< void(const
DtDynamicTerrainFeature
&, const
DtDynamicTerrainChanges &)> 
ChangeCallback
 
- Static Public Member Functions inherited from makVrv::DtDynamicTerrainFeature
static unsigned long long GetObjectCount ()
 
static unsigned long long GetObjectCount ()
 
static bool Create (const boost::shared_ptr< DtDynamicTerrainFeature > &featureInfo, const boost::shared_ptr< RequestInfo > &reqInfo)
 
static unsigned long long GetObjectCount ()
 
- Protected Types inherited from makVrv::DtDisconnectable
enum  State { NotUsed, InUse, Disconnected }
 
typedef tbb::spin_mutex Mutex
 
- Protected Member Functions inherited from makVrv::DtDynamicTerrainFeature
virtual void removeTerrainChange (const DtDynamicTerrainChange &change)
 
void indexDoubleAscending (const DtString &key)
 
void indexDoubleDescending (const DtString &key)
 
void indexIntAscending (const DtString &key)
 
void indexIntDescending (const DtString &key)
 
void indexStringAscending (const DtString &key)
 
void indexStringDescending (const DtString &key)
 
void setupIndex (const DtString &key, DtDynamicTerrainIndex *index)
 

Constructor & Destructor Documentation

DtDynamicTerrainGeometryHandle::DynamicFeature::DynamicFeature ( const DtPoint location,
double  radius 
)
explicit
DtDynamicTerrainGeometryHandle::DynamicFeature::~DynamicFeature ( )

Member Function Documentation

DtString DtDynamicTerrainGeometryHandle::DynamicFeature::description ( ) const
virtual

Feature description functions Allows feature to describe itself (for a gui mostly). These can all be called from query callbacks. None of the values returned by these functions have any meaning besides informational.

A description of what is in the feature, how it is setup, configuration, etc.

Implements makVrv::DtDynamicTerrainFeature.

bool DtDynamicTerrainGeometryHandle::DynamicFeature::matches ( const makVrv::DtDynamicTerrainChange ,
bool  useOriginalGeometry = false 
) const
virtual

Matching functions. Allow for arbitrary matching against requests, queries, and spatial index subspaces. Setting useOriginalGeometry will match against the geometry without any changes made by this system (i.e. uses the original geometry obtained from the parser).

Implements makVrv::DtDynamicTerrainFeature.

bool DtDynamicTerrainGeometryHandle::DynamicFeature::matches ( const makVrv::DtDynamicTerrainGeometry ,
bool  useOriginalGeometry = false 
) const
virtual
const makVrv::DtDynamicTerrainGeometry* DtDynamicTerrainGeometryHandle::DynamicFeature::geometry ( ) const
virtual

Geometry which represents this feature.

Implements makVrv::DtDynamicTerrainFeature.

const makVrv::DtDynamicTerrainGeometry* DtDynamicTerrainGeometryHandle::DynamicFeature::originalGeometry ( ) const
virtual

Unprocessed geometry.

Reimplemented from makVrv::DtDynamicTerrainFeature.

bool DtDynamicTerrainGeometryHandle::DynamicFeature::isInDefaultState ( ) const
virtual

Is this feature in it's default (i.e. unchanged) state?

Implements makVrv::DtDynamicTerrainFeature.

bool DtDynamicTerrainGeometryHandle::DynamicFeature::lastStateWasDefaultState ( ) const
virtual

Was the previous state the feature was in immediately before the current state the default state?

Implements makVrv::DtDynamicTerrainFeature.

void DtDynamicTerrainGeometryHandle::DynamicFeature::changeState ( const makVrv::DtDynamicTerrainChanges history)
virtual

Called by the dynamic terrain system in order to notify a feature that it should change its state. The history is an interface into the all of the terrain state changes. This function may be called concurrently from multiple threads.

Parameters
historyHistory interface.

Implements makVrv::DtDynamicTerrainFeature.

void DtDynamicTerrainGeometryHandle::DynamicFeature::iterateCommands ( const boost::function< void(const makVrv::DtDynamicTerrainChange &)> &  callback) const
virtual

Call the supplied callback on commands which represent the commands a feature can respond to.

This function is designed to be called from a query callback. The purpose of this function is supply a gui or other introspective tool with commands to issue (possibly modified) to this feature or to the terrain. A feature should create commands which they could respond to and would cause them to set themselves to the state they are in now. If there is some command a feature can respond to, outputting it in this function will allow a gui to do things like automatically create a menu with all the possibilities. The commands know the types of the attributes they contain, so the gui will know how to edit the values correctly in order to let the user change the commands before they are issued.

Reimplemented from makVrv::DtDynamicTerrainFeature.

void DtDynamicTerrainGeometryHandle::DynamicFeature::setToDefaultState ( )
makVrv::DtDynamicTerrainChange* DtDynamicTerrainGeometryHandle::DynamicFeature::createChange ( ) const

Member Data Documentation

makVrv::DtDynamicTerrainGeometry* DtDynamicTerrainGeometryHandle::DynamicFeature::myGeometry
protected
makVrv::DtDynamicTerrainGeometry* DtDynamicTerrainGeometryHandle::DynamicFeature::myOriginalGeometry
protected
tbb::atomic<bool> DtDynamicTerrainGeometryHandle::DynamicFeature::myDefaultStateFlag
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)