VR-Forces 4.1 Class Documentation
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
makVrf::DtVrfObjectManipulationManager Class Reference

The Master Scenario Settings Dialog. More...

Inheritance diagram for makVrf::DtVrfObjectManipulationManager:
Inheritance graph
[legend]

Public Types

enum  DtEditingType { Mouse = 0, Context, MousePositionOrigin }

Public Member Functions

 DtVrfObjectManipulationManager (makVrv::DtDe &)
virtual ~DtVrfObjectManipulationManager ()
bool creatingObject () const
DtVrfObjectManipulationHandlerBaseClasscurrentObjectManipulationHandler ()
virtual void addObjectManipulationHandler (const DtEntityType &, DtVrfObjectManipulationHandlerCreatorInterface *)
 Adds an object manipulation handler by entity type.
virtual void removeObjectManipulationHandler (const DtEntityType &)
virtual
makVrv::DtElementEntry::ElementType 
mapKindToType (int) const
 Maps the entity kind to the particular element type. Used to create a manipulation handler if specific type does not exist.
virtual void addKindToTypeMapping (int, const makVrv::DtElementEntry::ElementType &)
 Adds a mapping of kind to type.
virtual bool hasTypeToKindMapping (const makVrv::DtElementEntry::ElementType &) const
 Returns true if there is an element type to kind mapping.
virtual void addObjectManipulationHandler (const makVrv::DtElementEntry::ElementType &, DtVrfObjectManipulationHandlerCreatorInterface *)
 Adds an object manipulation handler by element type.
virtual void removeObjectManipulationHandler (const makVrv::DtElementEntry::ElementType &)
virtual bool isEditable (const makVrv::DtUniqueID &) const
 Returns whether or not the item is editable.
virtual void setEditable (const makVrv::DtUniqueID &, bool)
virtual std::vector< DtVectorconvertToLocal (const std::vector< DtVector > &geocentric) const
 Takes a list of points in geocentric and returns a list of points in local coordinates.
virtual bool isEditingOrCreating () const
 Returns true if in editing or creating mode.
virtual void createObject (const DtEntityType &, int force, DtCreationSignalType creationSignal=DtNoCreationSignal, const std::string &keywords="")
 Starts the process of object creation.
virtual void setLocation (const DtVector &loc)
 Tells the creation handler to move its facade to the given location.
virtual void createTerrainProp (const DtString &propType, const DtString &propModelDef)
 Starts the process of prop creation.
virtual void stop ()
 If current handler, then stop it.
bool editingObjects () const
void setAllowEditing (bool b)
bool allowEditing () const
virtual void editSelectedObjects (const makVrv::DtUniqueID &principalID, makVrv::DtChannel &initiatingChannel, const DtEditingType &edtype=Mouse)
 Starts the process of object editing.
virtual void deleteSelected ()
 delete the current selection(s)
virtual void deleteProp (makVrv::DtUniqueID id)
virtual void deleteVertex (const makVrv::DtUniqueID &vertexId)
virtual void deleteVertex (const makVrv::DtUniqueID &shapeId, const DtVector &dbLocation)
virtual void addVertexBefore (const makVrv::DtUniqueID &vertexId)
virtual void addVertexBefore (const makVrv::DtUniqueID &shapeId, const DtVector &dbLocation)
virtual void addVertexBeforeSelected ()
virtual void addVertexAfter (const makVrv::DtUniqueID &vertexId)
virtual void addVertexAfter (const makVrv::DtUniqueID &shapeId, const DtVector &dbLocation)
virtual void addVertexAfterSelected ()
virtual int indexOfVertex (DtEnvironmentStateView *shapeStateView, const DtVector &dbVtxLocation) const
 Get the index of a vertex in its parent shape, given its location.
virtual bool getVertexLocation (const makVrv::DtUniqueID &vertexId, DtVector &dbLocation) const
 get the (local, database) location of the specified vertexId.
virtual void requestAndProcessEnvState (const makVrv::DtUniqueID &sceneId, ProcessEnvStateFunction *processor)
 Request and env process state, and when the signal fires that it is available, call the function pointed to be processor.
virtual void setWaitTimeAfterComplete (double)
 Set the time to wait to show objects after complete editing. Default is .3 seconds.
virtual double waitTimeAfterComplete () const
virtual bool canDeleteAPoint (DtEnvironmentStateView *shapeStateView) const
virtual bool shapeAtMinimum (DtEnvironmentStateView *shapeStateView) const
virtual bool shapeAtMaximum (DtEnvironmentStateView *shapeStateView) const
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor.
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor.

Static Public Member Functions

static
DtVrfObjectManipulationManager
instance (makVrv::DtDe &de)
 Returns instance of the messager.

Public Attributes

boost::signal< void()> signal_stopped
boost::signal< void(const
DtEntityType &, int,
makVrf::DtCreationSignalType)> 
signal_creatingObject
boost::signal< void(const
DtEntityType &, std::string,
int, const std::vector
< DtVector > &, double, bool,
bool, std::string)> 
signal_createObject
boost::signal< void()> signal_creatingTerrainProp
boost::signal< void(const
DtString &, const DtString &)> 
signal_createTerrainProp
boost::signal< void(DtVrfObjectFacadeInterface
*, bool)> 
signal_objectFacadeCreated
boost::signal< void(DtVrfObjectFacadeInterface *)> signal_objectFacadeAboutToBeRemoved
boost::signal< void(makVrv::DtElementID)> signal_unhandledEdit
boost::signal< void(const
makVrv::DtUniqueID
&, DtEditingType)> 
signal_editingObject
boost::signal< void(const
makVrv::DtUniqueID
&, DtEditingType)> 
signal_editingTerrainProp
boost::signal< void(const
makVrv::DtSelectionManager::IdSet
&, DtEditingType)> 
signal_editingObjects
boost::signal< void(const
makVrv::DtSelectionManager::IdSet
&, DtEditingType)> 
signal_editingTerrainProps
boost::signal< void()> signal_editStopped
boost::signal< void()> signal_editingNotAllowed

Protected Types

typedef
DtOrderedEntityTypeList
< DtVrfObjectManipulationHandlerCreatorInterface * > 
VrfObjectManipulationCreators
typedef boost::function< void(DtEnvironmentStateView *)> ProcessEnvStateFunction
typedef boost::unordered_map
< makVrv::DtUniqueID, bool
EditableMap
typedef boost::unordered_map
< int,
makVrv::DtElementEntry::ElementType
KindToTypeMap
typedef boost::unordered_map
< makVrv::DtElementEntry::ElementType,
DtVrfObjectManipulationHandlerCreatorInterface * > 
TypeCreatorMap

Protected Member Functions

virtual void slot_onCreationStopped (DtVrfObjectManipulationHandlerBaseClass *)
virtual void slot_onTerrainPropCreationStopped (DtVrfObjectManipulationHandlerBaseClass *)
 This get called when the manipulationHandler signals the signal_stopped signal.
virtual void slot_onCreateObject (const DtEntityType &, std::string, int, const std::vector< DtVector > &, double entityHeading, bool clamp, bool isAggregated, std::string userData)
virtual void slot_onCreateTerrainProp (const DtString &propType, const DtString &propModelDef)
 This gets called when the manipulationHandler signals the signal_createTerrainProp signal.
virtual
DtVrfObjectManipulationHandlerBaseClass
manipulationHandlerFor (const DtEntityType &) const
 Will return a new manipulation handler based on the supplied type. Caller must delete handler when complete.
virtual
DtVrfObjectManipulationHandlerBaseClass
manipulationHandlerFor (const makVrv::DtElementEntry::ElementType &) const
virtual void onInputDriverToBeDestroyed (makVrv::DtInputDriver *inputDriver)
virtual void cleanup ()
virtual void onObjectFacadeCreated (DtVrfObjectFacadeInterface *, bool editing)
 Called when a handler creates an object facade, resend the signal from this manager.
virtual void onObjectFacadeAboutToBeRemoved (DtVrfObjectFacadeInterface *)
 Called when a handler is about to remove a facade, resend the signal from this manager.
virtual void slot_editStopped (DtVrfObjectManipulationHandlerBaseClass *)
virtual void slot_stateReturned (DtEnvironmentStateView *shapeStateView, const makVrv::DtUniqueID &shapeId, ProcessEnvStateFunction *processor)
virtual void deleteVertexUsingState (DtEnvironmentStateView *shapeStateView, const makVrv::DtUniqueID &shapeId, const DtVector &dbVtxLocation)
virtual void addVertexUsingState (DtEnvironmentStateView *shapeStateView, const makVrv::DtUniqueID &shapeId, const DtVector &dbVtxLocation, bool before)
virtual void restoreSelectionState (DtVrfObjectManipulationHandlerBaseClass *handler)
virtual void slot_onTick ()
virtual void slot_onAttributesChanged (const makVrv::DtElementData::EntryAttributesList &signalList)
virtual bool isOnIdList (makVrv::DtUniqueID id, const makVrv::DtSelectionManager::IdSet &list)
virtual void addHandlerToBeCleanedUp (DtVrfObjectManipulationHandlerBaseClass *)

Protected Attributes

makVrv::DtDemyDe
VrfObjectManipulationCreators myManipulationHandlers
DtVrfObjectManipulationHandlerBaseClassmyCurrentObjectManipulationHandler
DtVrfEditManagerEventProcessormyEventProcessor
makVrv::DtSelectionManager::IdSet mySavedSelectionState
makVrv::DtSelectionManager::IdSet myRemainingSavedSelections
EditableMap myEditableMap
KindToTypeMap myKindToTypeMap
TypeCreatorMap myTypeCreators
double myWaitTimeAfterComplete
std::vector
< DtVrfObjectManipulationHandlerBaseClass * > 
myHandlersToBeCleanedUp

Detailed Description

The Master Scenario Settings Dialog.

Member Typedef Documentation

Member Enumeration Documentation

Enumerator:
Mouse 
Context 
MousePositionOrigin 

Constructor & Destructor Documentation

makVrf::DtVrfObjectManipulationManager::DtVrfObjectManipulationManager ( makVrv::DtDe )
virtual makVrf::DtVrfObjectManipulationManager::~DtVrfObjectManipulationManager ( )
virtual

Member Function Documentation

bool makVrf::DtVrfObjectManipulationManager::creatingObject ( ) const
DtVrfObjectManipulationHandlerBaseClass* makVrf::DtVrfObjectManipulationManager::currentObjectManipulationHandler ( )
static DtVrfObjectManipulationManager& makVrf::DtVrfObjectManipulationManager::instance ( makVrv::DtDe de)
static

Returns instance of the messager.

virtual void makVrf::DtVrfObjectManipulationManager::addObjectManipulationHandler ( const DtEntityType &  ,
DtVrfObjectManipulationHandlerCreatorInterface  
)
virtual

Adds an object manipulation handler by entity type.

If type does not exist in map will map to element type and attempt to use that

virtual void makVrf::DtVrfObjectManipulationManager::removeObjectManipulationHandler ( const DtEntityType &  )
virtual
virtual makVrv::DtElementEntry::ElementType makVrf::DtVrfObjectManipulationManager::mapKindToType ( int  ) const
virtual

Maps the entity kind to the particular element type. Used to create a manipulation handler if specific type does not exist.

virtual void makVrf::DtVrfObjectManipulationManager::addKindToTypeMapping ( int  ,
const makVrv::DtElementEntry::ElementType  
)
virtual

Adds a mapping of kind to type.

virtual bool makVrf::DtVrfObjectManipulationManager::hasTypeToKindMapping ( const makVrv::DtElementEntry::ElementType ) const
virtual

Returns true if there is an element type to kind mapping.

virtual void makVrf::DtVrfObjectManipulationManager::addObjectManipulationHandler ( const makVrv::DtElementEntry::ElementType ,
DtVrfObjectManipulationHandlerCreatorInterface  
)
virtual

Adds an object manipulation handler by element type.

If type does not exist will not start creation/editing process

virtual void makVrf::DtVrfObjectManipulationManager::removeObjectManipulationHandler ( const makVrv::DtElementEntry::ElementType )
virtual
virtual bool makVrf::DtVrfObjectManipulationManager::isEditable ( const makVrv::DtUniqueID ) const
virtual

Returns whether or not the item is editable.

This is the element id of the item in question. It will look up the state view information based on the id and check as to whether or not the item with the given ID is editable

virtual void makVrf::DtVrfObjectManipulationManager::setEditable ( const makVrv::DtUniqueID ,
bool   
)
virtual
virtual std::vector<DtVector> makVrf::DtVrfObjectManipulationManager::convertToLocal ( const std::vector< DtVector > &  geocentric) const
virtual

Takes a list of points in geocentric and returns a list of points in local coordinates.

virtual bool makVrf::DtVrfObjectManipulationManager::isEditingOrCreating ( ) const
virtual

Returns true if in editing or creating mode.

virtual void makVrf::DtVrfObjectManipulationManager::slot_onCreationStopped ( DtVrfObjectManipulationHandlerBaseClass )
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::slot_onTerrainPropCreationStopped ( DtVrfObjectManipulationHandlerBaseClass )
protectedvirtual

This get called when the manipulationHandler signals the signal_stopped signal.

virtual void makVrf::DtVrfObjectManipulationManager::slot_onCreateObject ( const DtEntityType &  ,
std::string  ,
int  ,
const std::vector< DtVector > &  ,
double  entityHeading,
bool  clamp,
bool  isAggregated,
std::string  userData 
)
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::slot_onCreateTerrainProp ( const DtString propType,
const DtString propModelDef 
)
protectedvirtual

This gets called when the manipulationHandler signals the signal_createTerrainProp signal.

virtual DtVrfObjectManipulationHandlerBaseClass* makVrf::DtVrfObjectManipulationManager::manipulationHandlerFor ( const DtEntityType &  ) const
protectedvirtual

Will return a new manipulation handler based on the supplied type. Caller must delete handler when complete.

virtual DtVrfObjectManipulationHandlerBaseClass* makVrf::DtVrfObjectManipulationManager::manipulationHandlerFor ( const makVrv::DtElementEntry::ElementType ) const
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::onInputDriverToBeDestroyed ( makVrv::DtInputDriver inputDriver)
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::cleanup ( )
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::onObjectFacadeCreated ( DtVrfObjectFacadeInterface ,
bool  editing 
)
protectedvirtual

Called when a handler creates an object facade, resend the signal from this manager.

virtual void makVrf::DtVrfObjectManipulationManager::onObjectFacadeAboutToBeRemoved ( DtVrfObjectFacadeInterface )
protectedvirtual

Called when a handler is about to remove a facade, resend the signal from this manager.

virtual void makVrf::DtVrfObjectManipulationManager::createObject ( const DtEntityType &  ,
int  force,
DtCreationSignalType  creationSignal = DtNoCreationSignal,
const std::string &  keywords = "" 
)
virtual

Starts the process of object creation.

Uses the factory to figure out which handler should be used to create the object. If signalCreation is true, signals that the object should be created and where rather than actually creating it. Keywords are a semi-colon separated list of items that can be used to extend functionality for certain objects. Valid keywords are:

FREEHAND - Allow "freehand" drawing of lines only (meaning one point per mouse movement while left mouse button is pressed) NOPUBLISH - Set the publish flag to false

virtual void makVrf::DtVrfObjectManipulationManager::setLocation ( const DtVector loc)
virtual

Tells the creation handler to move its facade to the given location.

virtual void makVrf::DtVrfObjectManipulationManager::createTerrainProp ( const DtString propType,
const DtString propModelDef 
)
virtual

Starts the process of prop creation.

virtual void makVrf::DtVrfObjectManipulationManager::stop ( )
virtual

If current handler, then stop it.

bool makVrf::DtVrfObjectManipulationManager::editingObjects ( ) const
void makVrf::DtVrfObjectManipulationManager::setAllowEditing ( bool  b)
bool makVrf::DtVrfObjectManipulationManager::allowEditing ( ) const
virtual void makVrf::DtVrfObjectManipulationManager::editSelectedObjects ( const makVrv::DtUniqueID principalID,
makVrv::DtChannel initiatingChannel,
const DtEditingType edtype = Mouse 
)
virtual

Starts the process of object editing.

Uses the factory to figure out which handler should be used to edit the objects. The principal id is the ID of the object actually moused on

virtual void makVrf::DtVrfObjectManipulationManager::deleteSelected ( )
virtual

delete the current selection(s)

virtual void makVrf::DtVrfObjectManipulationManager::deleteProp ( makVrv::DtUniqueID  id)
virtual
virtual void makVrf::DtVrfObjectManipulationManager::deleteVertex ( const makVrv::DtUniqueID vertexId)
virtual
virtual void makVrf::DtVrfObjectManipulationManager::deleteVertex ( const makVrv::DtUniqueID shapeId,
const DtVector dbLocation 
)
virtual
virtual void makVrf::DtVrfObjectManipulationManager::addVertexBefore ( const makVrv::DtUniqueID vertexId)
virtual
virtual void makVrf::DtVrfObjectManipulationManager::addVertexBefore ( const makVrv::DtUniqueID shapeId,
const DtVector dbLocation 
)
virtual
virtual void makVrf::DtVrfObjectManipulationManager::addVertexBeforeSelected ( )
virtual
virtual void makVrf::DtVrfObjectManipulationManager::addVertexAfter ( const makVrv::DtUniqueID vertexId)
virtual
virtual void makVrf::DtVrfObjectManipulationManager::addVertexAfter ( const makVrv::DtUniqueID shapeId,
const DtVector dbLocation 
)
virtual
virtual void makVrf::DtVrfObjectManipulationManager::addVertexAfterSelected ( )
virtual
virtual int makVrf::DtVrfObjectManipulationManager::indexOfVertex ( DtEnvironmentStateView shapeStateView,
const DtVector dbVtxLocation 
) const
virtual

Get the index of a vertex in its parent shape, given its location.

virtual bool makVrf::DtVrfObjectManipulationManager::getVertexLocation ( const makVrv::DtUniqueID vertexId,
DtVector dbLocation 
) const
virtual

get the (local, database) location of the specified vertexId.

Returns false if a scene object can't be found with vertexId

virtual void makVrf::DtVrfObjectManipulationManager::requestAndProcessEnvState ( const makVrv::DtUniqueID sceneId,
ProcessEnvStateFunction processor 
)
virtual

Request and env process state, and when the signal fires that it is available, call the function pointed to be processor.

Note that the processor function must be allocated on the heap; requestAndProcessEnvState will delete it when finished with it

virtual void makVrf::DtVrfObjectManipulationManager::setWaitTimeAfterComplete ( double  )
virtual

Set the time to wait to show objects after complete editing. Default is .3 seconds.

virtual double makVrf::DtVrfObjectManipulationManager::waitTimeAfterComplete ( ) const
virtual
virtual void makVrf::DtVrfObjectManipulationManager::slot_editStopped ( DtVrfObjectManipulationHandlerBaseClass )
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::slot_stateReturned ( DtEnvironmentStateView shapeStateView,
const makVrv::DtUniqueID shapeId,
ProcessEnvStateFunction processor 
)
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::deleteVertexUsingState ( DtEnvironmentStateView shapeStateView,
const makVrv::DtUniqueID shapeId,
const DtVector dbVtxLocation 
)
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::addVertexUsingState ( DtEnvironmentStateView shapeStateView,
const makVrv::DtUniqueID shapeId,
const DtVector dbVtxLocation,
bool  before 
)
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::restoreSelectionState ( DtVrfObjectManipulationHandlerBaseClass handler)
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::slot_onTick ( )
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::slot_onAttributesChanged ( const makVrv::DtElementData::EntryAttributesList signalList)
protectedvirtual
virtual bool makVrf::DtVrfObjectManipulationManager::isOnIdList ( makVrv::DtUniqueID  id,
const makVrv::DtSelectionManager::IdSet list 
)
protectedvirtual
virtual void makVrf::DtVrfObjectManipulationManager::addHandlerToBeCleanedUp ( DtVrfObjectManipulationHandlerBaseClass )
protectedvirtual
virtual bool makVrf::DtVrfObjectManipulationManager::canDeleteAPoint ( DtEnvironmentStateView shapeStateView) const
virtual
virtual bool makVrf::DtVrfObjectManipulationManager::shapeAtMinimum ( DtEnvironmentStateView shapeStateView) const
virtual
virtual bool makVrf::DtVrfObjectManipulationManager::shapeAtMaximum ( DtEnvironmentStateView shapeStateView) const
virtual

Member Data Documentation

boost::signal<void ()> makVrf::DtVrfObjectManipulationManager::signal_stopped
boost::signal<void (const DtEntityType&, int, makVrf::DtCreationSignalType)> makVrf::DtVrfObjectManipulationManager::signal_creatingObject
boost::signal<void (const DtEntityType&, std::string, int, const std::vector<DtVector>&,double,bool, bool, std::string )> makVrf::DtVrfObjectManipulationManager::signal_createObject
boost::signal<void ()> makVrf::DtVrfObjectManipulationManager::signal_creatingTerrainProp
boost::signal<void (const DtString&, const DtString&)> makVrf::DtVrfObjectManipulationManager::signal_createTerrainProp
boost::signal<void (DtVrfObjectFacadeInterface*, bool)> makVrf::DtVrfObjectManipulationManager::signal_objectFacadeCreated
boost::signal<void (DtVrfObjectFacadeInterface*)> makVrf::DtVrfObjectManipulationManager::signal_objectFacadeAboutToBeRemoved
boost::signal<void (makVrv::DtElementID)> makVrf::DtVrfObjectManipulationManager::signal_unhandledEdit
boost::signal<void (const makVrv::DtUniqueID&, DtEditingType)> makVrf::DtVrfObjectManipulationManager::signal_editingObject
boost::signal<void (const makVrv::DtUniqueID&, DtEditingType)> makVrf::DtVrfObjectManipulationManager::signal_editingTerrainProp
boost::signal<void (const makVrv::DtSelectionManager::IdSet&, DtEditingType)> makVrf::DtVrfObjectManipulationManager::signal_editingObjects
boost::signal<void (const makVrv::DtSelectionManager::IdSet&, DtEditingType)> makVrf::DtVrfObjectManipulationManager::signal_editingTerrainProps
boost::signal<void ()> makVrf::DtVrfObjectManipulationManager::signal_editStopped
boost::signal<void ()> makVrf::DtVrfObjectManipulationManager::signal_editingNotAllowed
makVrv::DtDe& makVrf::DtVrfObjectManipulationManager::myDe
protected
VrfObjectManipulationCreators makVrf::DtVrfObjectManipulationManager::myManipulationHandlers
protected
DtVrfObjectManipulationHandlerBaseClass* makVrf::DtVrfObjectManipulationManager::myCurrentObjectManipulationHandler
protected
DtVrfEditManagerEventProcessor* makVrf::DtVrfObjectManipulationManager::myEventProcessor
protected
makVrv::DtSelectionManager::IdSet makVrf::DtVrfObjectManipulationManager::mySavedSelectionState
protected
makVrv::DtSelectionManager::IdSet makVrf::DtVrfObjectManipulationManager::myRemainingSavedSelections
protected
EditableMap makVrf::DtVrfObjectManipulationManager::myEditableMap
protected
KindToTypeMap makVrf::DtVrfObjectManipulationManager::myKindToTypeMap
protected
TypeCreatorMap makVrf::DtVrfObjectManipulationManager::myTypeCreators
protected
double makVrf::DtVrfObjectManipulationManager::myWaitTimeAfterComplete
protected
std::vector<DtVrfObjectManipulationHandlerBaseClass*> makVrf::DtVrfObjectManipulationManager::myHandlersToBeCleanedUp
protected

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

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)