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

Public Member Functions

 DynamicFeature (const DtPoint &location, double radius)
 ~DynamicFeature ()
DtString description () const
 Feature description functions Allows feature to describe itself (for a gui mostly).
bool matches (const makVrv::DtDynamicTerrainChange &, bool useOriginalGeometry=false) const
 Matching functions.
bool matches (const makVrv::DtDynamicTerrainGeometry &, bool useOriginalGeometry=false) const
const
makVrv::DtDynamicTerrainGeometry
geometry () const
 Geometry which represents this feature.
const
makVrv::DtDynamicTerrainGeometry
originalGeometry () const
 Unprocessed geometry.
bool isInDefaultState () const
 Is this feature in it's default (i.e. unchanged) state?
bool lastStateWasDefaultState () const
 Was the previous state the feature was in immediately before the current state the default state?
void changeState (const makVrv::DtDynamicTerrainChanges &history)
 Called by the dynamic terrain system in order to notify a feature that it should change its state.
void iterateCommands (const boost::function< void(const makVrv::DtDynamicTerrainChange &)> &) const
 Call the supplied callback on commands which represent the commands a feature can respond to.
void setToDefaultState ()
makVrv::DtDynamicTerrainChangecreateChange () const
- Public Member Functions inherited from makVrv::DtDynamicTerrainFeature
 DtDynamicTerrainFeature ()
 Default Constructor.
virtual ~DtDynamicTerrainFeature ()
 Virtual destructor.
virtual boost::optional< DtStringfeatureAttribute (const DtString &key) const
 Access attribute values encoded into features.
void changed ()
 Calls changeState and all attached query callbacks.
bool pageOut ()
 Remove all change requests links and remove feature from dynamic terrain world.
void changes (const boost::function< void(const DtDynamicTerrainChanges &)> &callback) const
 Calls supplied callback on this features DtDynamicTerrainChanges interface.
RequestHandle addChangeRequest (DtDynamicTerrainChange *change)
 Add a change request directly to this feature.
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::signals2::connection connectToChangeSignal (const ChangeCallback &callback) const
 Call callback when feature state is changed.
virtual boost::signals2::connection connectToPageOutSignal (const Callback &callback) const
 Call callback when feature is removed.
- Public Member Functions inherited from makVrv::DtDisconnectable
 DtDisconnectable ()
 Default constructor.
virtual ~DtDisconnectable ()
 Destructor.
virtual boost::signals2::connection addDisconnectFunction (const boost::function< void()> &callback)
 Add a function to be called when callDisconnectFunctions is called.
virtual bool callDisconnectFunctions ()
 Atomically call all the disconnect functions and mark this object as disconnected.

Protected Attributes

makVrv::DtDynamicTerrainGeometrymyGeometry
makVrv::DtDynamicTerrainGeometrymyOriginalGeometry
tbb::atomic< boolmyDefaultStateFlag

Additional Inherited Members

- Public Types inherited from makVrv::DtDynamicTerrainFeature
typedef boost::function< void(const
DtDynamicTerrainFeature &)> 
Callback
 Signal notification.
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
void indexDoubleAscending (const DtString &key)
 Key/value attribute indexing.
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

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

Member Function Documentation

DtString DtEntityTerrainGeometryHandle::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 DtEntityTerrainGeometryHandle::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 DtEntityTerrainGeometryHandle::DynamicFeature::matches ( const makVrv::DtDynamicTerrainGeometry ,
bool  useOriginalGeometry = false 
) const
virtual
const makVrv::DtDynamicTerrainGeometry* DtEntityTerrainGeometryHandle::DynamicFeature::geometry ( ) const
virtual

Geometry which represents this feature.

Implements makVrv::DtDynamicTerrainFeature.

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

Unprocessed geometry.

Reimplemented from makVrv::DtDynamicTerrainFeature.

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

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

Implements makVrv::DtDynamicTerrainFeature.

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

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

Implements makVrv::DtDynamicTerrainFeature.

void DtEntityTerrainGeometryHandle::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 DtEntityTerrainGeometryHandle::DynamicFeature::iterateCommands ( const boost::function< void(const makVrv::DtDynamicTerrainChange &)> &  ) 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 DtEntityTerrainGeometryHandle::DynamicFeature::setToDefaultState ( )
makVrv::DtDynamicTerrainChange* DtEntityTerrainGeometryHandle::DynamicFeature::createChange ( ) const

Member Data Documentation

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

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)