VR-Forces 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)
 
virtual ~DynamicFeature () override
 
virtual DtString description () const override
 
virtual bool matches (const makVrv::DtDynamicTerrainChange &, bool useOriginalGeometry=false) const override
 
virtual bool matches (const makVrv::DtDynamicTerrainGeometry &, bool useOriginalGeometry=false) const override
 
virtual const
makVrv::DtDynamicTerrainGeometry
geometry () const override
 
virtual const
makVrv::DtDynamicTerrainGeometry
originalGeometry () const override
 
virtual bool isInDefaultState () const override
 
virtual bool lastStateWasDefaultState () const override
 
virtual void changeState (const makVrv::DtDynamicTerrainChanges &history) override
 
virtual void iterateCommands (const boost::function< void(const makVrv::DtDynamicTerrainChange &)> &) const override
 
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
 
std::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 std::shared_ptr< DtDynamicTerrainFeature > &featureInfo, const std::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
virtual DtDynamicTerrainGeometryHandle::DynamicFeature::~DynamicFeature ( )
overridevirtual

Member Function Documentation

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

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.

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

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.

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

Geometry which represents this feature.

Implements makVrv::DtDynamicTerrainFeature.

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

Unprocessed geometry.

Reimplemented from makVrv::DtDynamicTerrainFeature.

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

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

Implements makVrv::DtDynamicTerrainFeature.

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

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

Implements makVrv::DtDynamicTerrainFeature.

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

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.

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

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
std::atomic<bool> DtDynamicTerrainGeometryHandle::DynamicFeature::myDefaultStateFlag
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)