VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
makVrf::DtLocalObjectManager Class Reference

The DtLocalObjectManager is the interface to be used when creating objects that are not to be published as part of the simulation. More...

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

Classes

struct  LastCheckedGroundInformation

Public Member Functions

 DtLocalObjectManager (makVrv::DtDe &de)
virtual ~DtLocalObjectManager ()
virtual bool isCreating () const
 Returns true if the object manager is in creation mode.
virtual void tacticalGraphicsVertexSelected (const makVrv::DtUniqueID &selected, const makVrv::DtUniqueID &parentElementID)
 Called when a vertex is selected. Selects in local representation.
virtual void tacticalGraphicsVertexDeselected (const makVrv::DtUniqueID &deselected, const makVrv::DtUniqueID &parent)
 Called when a vertex is deselected. Deselects in local representation.
virtual void slot_onCurrentSelectionChanged (const makVrv::DtSelectionManager::IdSet &selected, const makVrv::DtSelectionManager::IdSet &deselected)
 Called when current selection changes. If selection contains a local object, selects that.
virtual
DtVrfObjectFacadeInterface
facadeForID (makVrv::DtUniqueID)
 Return the object for the given ID, or NULL if it does not exist.
virtual
DtEnvironmentalFacadeCollection
create (const DtVrlinkSimulatedEnvironmentProcess &)
 Create a tactical graphic from the supplied state.
virtual
DtEnvironmentalFacadeCollection
create (const DtEntityType &t, const std::vector< DtVector > &localPoints, int force, const DtEnvironmentalCreationData &, int modelSet=-1, bool keepName=false)
 Create a tactical graphic of type t with name, on first of:
virtual DtEntityFacadeCollectioncreate (const makVrv::DtVrlinkSimulatedEntityState &, const std::string &overlayParent="")
 Create a tactical graphic from the supplied state.
virtual DtEntityFacadeCollectioncreate (const DtEntityCreationData &, int modelSet=-1, bool keepName=false)
 Create a entity of type t with name, on first of:
virtual const
makVrv::DtTacticalGraphicOverlay
createOnLayer (const std::string &layerName="")
 Returns the layer to use for creating the local object.
virtual void completeStateUpdate (makVrv::DtUniqueID id)
 Called when editing of object is complete. Will update local representation.
virtual void setVisible (makVrv::DtUniqueID id, bool hide)
 Sets the specified local object to be shown or hidden.
virtual bool isLocal (makVrv::DtUniqueID id) const
 Determine whether we are looking at a stock or local object.
virtual void updateState (makVrv::DtUniqueID id)
virtual void setEditable (makVrv::DtUniqueID id, bool)
 Sets to be editable.
virtual bool isEditable (makVrv::DtUniqueID id) const
 Ask the tactical graphic overlay manager for the status of the overlay if it is 'locked' it should not be editable.
virtual bool isMemberOfLayer (makVrv::DtUniqueID id, const std::string &layername) const
 return true if given graphic ID is member of layer
virtual void deleteLocal (makVrv::DtUniqueID id)
 Deletes the specified local object.
virtual void deleteAll (std::vector< DtEntityType > except=std::vector< DtEntityType >())
 Deletes all local objects except for any object types specified.
virtual void deleteAllFromLayer (const std::string &layername)
 Deletes all the objects on the specified layer.
virtual void update (makVrv::DtElementID id, const std::string *name=0, const std::vector< DtVector > &points=std::vector< DtVector >(), int *force=0, const std::string *overlay=0, const std::string *userData=0, const std::map< std::string, std::string > *extendedData=0, const std::map< int, DtString > *extendedLabels=0, double *newHeading=0, int *color=0, int *appearance=0, const std::string *label=0, float *physicalLineHeight=0, float *physicalLineWidth=0, bool forceUpdate=true)
 Call to update state data of specified object and update it so local object will also be changed.
virtual DtVector getVertexPosition (makVrv::DtElementID parent, makVrv::DtUniqueID vertexId) const
 Given an element id and a vertex id, return the position of that vertex.
virtual void create (const DtEntityType &t, int force)
 Creates an object interactively, meaning it will bring up the create dialog, and, once complete, will create a new representation in this manager.
virtual bool allSelectionIsLocal () const
 Return true if the entire selection only contains local objects.
virtual void setCanCreateLocalObjects (bool)
 Set to false to disallow creation of local objects. Default is true.
virtual bool canCreateLocalObjects () const
 Return true if can create local objects instead of published ones via the create process. Default is true.
virtual void save (const std::string &)
 Saves contents of local object manager to file.
virtual bool load (const std::string &, bool removeAll=true)
 Loads and creates objects in file into local object manager. Deletes all local objects first before restoring.
virtual int numberOfLocalObjects () const
 Returns number of local objects.
virtual double groundHeight (const DtVector &lp, makVrv::DtIntersector::IntersectProperties props=makVrv::DtIntersector::SupportNodes, bool useHighest=true, DtVector *clampedPoint=0, const std::vector< makVrv::DtUniqueID > &ignore=std::vector< makVrv::DtUniqueID >(), makVrv::DtUniqueID *hitId=0) const
 Return the height of the ground at the current point.
virtual DtVector clampToGround (const DtVector &, makVrv::DtIntersector::IntersectProperties props=makVrv::DtIntersector::SupportNodes, const std::vector< makVrv::DtUniqueID > &ignore=std::vector< makVrv::DtUniqueID >(), bool useHighestLOD=false, bool ignoreDynamicOcean=false, bool useHighestPolygon=false, makVrv::DtUniqueID *hitId=0) const
 Return supplied local position as clamped to ground.
virtual DtGeodeticCoord clampToGround (const DtGeodeticCoord &, makVrv::DtIntersector::IntersectProperties props=makVrv::DtIntersector::SupportNodes, const std::vector< makVrv::DtUniqueID > &ignore=std::vector< makVrv::DtUniqueID >(), bool useHighestLOD=false, bool ignoreDynamicOcean=false, bool useHighestPolygon=false, makVrv::DtUniqueID *hitId=0) const
 Return supplied geocentric position as a geocentric clamped to ground position.
virtual std::string generateUniqueName (const std::string &base, bool addNumberToBegin=false) const
virtual void ignoreFromArchive (const DtEntityType &)
 Add an entity type to not be allowed to archive.
virtual void removeIgnoreFromArchive (const DtEntityType &)
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor.
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor.

Static Public Member Functions

static DtLocalObjectManagerinstance (makVrv::DtDe &de)
static void registerInstance (makVrv::DtDe &de, DtLocalObjectManager *)

Public Attributes

boost::signal< void(bool)> signal_creating
boost::signal< void(DtVrfObjectFacadeInterface
*, makVrv::DtVrlinkSimulatedBaseState *)> 
signal_objectCreated
 Sent when a local object is created.
boost::signal< void(DtVrfObjectFacadeInterface *)> signal_objectAboutToBeDeleted
 Sent when a local object is about to be deleted.
boost::signal< void(bool)> signal_loading
 Signal sent when loading the overlay file. True is before read, false after.
boost::signal< void(makVrv::DtUniqueID)> signal_objectDeleted
 Signal sent after the object has been fully removed.

Protected Types

typedef std::map
< makVrv::DtUniqueID,
DtVrfObjectFacadeInterface * > 
LocalObjects
 Collection of local Facades.
typedef std::map
< makVrv::DtUniqueID,
makVrv::DtVrlinkSimulatedBaseState * > 
LocalStateData

Protected Member Functions

virtual void slot_elementAttributeChangeRequested (makVrv::DtUniqueID id, makVrv::DtUniqueID parentId, DtBoost::shared_ptr< const makVrv::DtElementAttribute > atr)
 Called when an element attribute has changed, handle if a local object.
virtual void handleElementAttributeChanged (makVrv::DtUniqueID id, const makVrv::DtElementAttribute *attr)
virtual void slot_onStateViewUpdated (makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *)
 Called when state view is updated, will update local object.
virtual void completeStateViewUpdated (makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *, bool forceIfHidden=false)
 Called in pre-tick from a connection made in slot_onStateViewUpdated.
virtual void update (DtEnvironmentalFacadeCollection *, const DtVrlinkSimulatedEnvironmentProcess *)
 Updates facades based on state.
virtual void update (DtEntityFacadeCollection *, const makVrv::DtVrlinkSimulatedEntityState *)
virtual void finalizeObjectCreation (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData &)
 Called when interactive local object creation has been stopped or created.
virtual void slot_stoppedObjectCreation ()
virtual bool shouldArchive (makVrv::DtVrlinkSimulatedBaseState *) const
 Return true if this item should be archived.
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 When the class Archive corresponds to an output archive, the & operator is defined similar to <<.
virtual void write (boost::archive::xml_oarchive &out)
virtual void read (boost::archive::xml_iarchive &in)

Protected Attributes

makVrv::DtDemyDe
bool myIsCreating
LocalObjects myObjects
makVrv::DtSignalConnectionManager myConnections
LocalStateData myData
bool myCanCreateLocalObjects
std::vector< DtEntityType > myIgnoreFromArchive
LastCheckedGroundInformation myLastCheckedGroundInformation

Friends

class boost::serialization::access

Detailed Description

The DtLocalObjectManager is the interface to be used when creating objects that are not to be published as part of the simulation.

This manager will maintain all listeners and visualizers that are used for these objects.

Examples

Member Typedef Documentation

Collection of local Facades.

Constructor & Destructor Documentation

makVrf::DtLocalObjectManager::DtLocalObjectManager ( makVrv::DtDe de)
virtual makVrf::DtLocalObjectManager::~DtLocalObjectManager ( )
virtual

Member Function Documentation

static DtLocalObjectManager& makVrf::DtLocalObjectManager::instance ( makVrv::DtDe de)
static
static void makVrf::DtLocalObjectManager::registerInstance ( makVrv::DtDe de,
DtLocalObjectManager  
)
static
virtual bool makVrf::DtLocalObjectManager::isCreating ( ) const
virtual

Returns true if the object manager is in creation mode.

virtual void makVrf::DtLocalObjectManager::tacticalGraphicsVertexSelected ( const makVrv::DtUniqueID selected,
const makVrv::DtUniqueID parentElementID 
)
virtual

Called when a vertex is selected. Selects in local representation.

virtual void makVrf::DtLocalObjectManager::tacticalGraphicsVertexDeselected ( const makVrv::DtUniqueID deselected,
const makVrv::DtUniqueID parent 
)
virtual

Called when a vertex is deselected. Deselects in local representation.

virtual void makVrf::DtLocalObjectManager::slot_onCurrentSelectionChanged ( const makVrv::DtSelectionManager::IdSet selected,
const makVrv::DtSelectionManager::IdSet deselected 
)
virtual

Called when current selection changes. If selection contains a local object, selects that.

virtual DtVrfObjectFacadeInterface* makVrf::DtLocalObjectManager::facadeForID ( makVrv::DtUniqueID  )
virtual

Return the object for the given ID, or NULL if it does not exist.

virtual DtEnvironmentalFacadeCollection* makVrf::DtLocalObjectManager::create ( const DtVrlinkSimulatedEnvironmentProcess )
virtual

Create a tactical graphic from the supplied state.

Wrapper around create DtEnvironmentalCreationData version of this method

virtual DtEnvironmentalFacadeCollection* makVrf::DtLocalObjectManager::create ( const DtEntityType &  t,
const std::vector< DtVector > &  localPoints,
int  force,
const DtEnvironmentalCreationData ,
int  modelSet = -1,
bool  keepName = false 
)
virtual

Create a tactical graphic of type t with name, on first of:

  • currently selected layer
  • first layer in overlay layer list
  • a new layer with default name
  • specified layer in environmental creation data

Points are in local database coordinates. If modelSet is not -1, create only for the specified model set

virtual DtEntityFacadeCollection* makVrf::DtLocalObjectManager::create ( const makVrv::DtVrlinkSimulatedEntityState ,
const std::string &  overlayParent = "" 
)
virtual

Create a tactical graphic from the supplied state.

Wrapper around create DtEntityCreationData version of this method

virtual DtEntityFacadeCollection* makVrf::DtLocalObjectManager::create ( const DtEntityCreationData ,
int  modelSet = -1,
bool  keepName = false 
)
virtual

Create a entity of type t with name, on first of:

  • currently selected layer
  • first layer in overlay layer list
  • a new layer with default name
  • specified layer in environmental creation data

Origin is in local database coordinates. If modelSet is not -1, creaet only for the specified model set

virtual const makVrv::DtTacticalGraphicOverlay* makVrf::DtLocalObjectManager::createOnLayer ( const std::string &  layerName = "")
virtual

Returns the layer to use for creating the local object.

virtual void makVrf::DtLocalObjectManager::completeStateUpdate ( makVrv::DtUniqueID  id)
virtual

Called when editing of object is complete. Will update local representation.

virtual void makVrf::DtLocalObjectManager::setVisible ( makVrv::DtUniqueID  id,
bool  hide 
)
virtual

Sets the specified local object to be shown or hidden.

virtual bool makVrf::DtLocalObjectManager::isLocal ( makVrv::DtUniqueID  id) const
virtual

Determine whether we are looking at a stock or local object.

virtual void makVrf::DtLocalObjectManager::updateState ( makVrv::DtUniqueID  id)
virtual
virtual void makVrf::DtLocalObjectManager::setEditable ( makVrv::DtUniqueID  id,
bool   
)
virtual

Sets to be editable.

If on locked layer will still not be editable, however, set to false, and, on an unlocked layer will not be editable

virtual bool makVrf::DtLocalObjectManager::isEditable ( makVrv::DtUniqueID  id) const
virtual

Ask the tactical graphic overlay manager for the status of the overlay if it is 'locked' it should not be editable.

virtual bool makVrf::DtLocalObjectManager::isMemberOfLayer ( makVrv::DtUniqueID  id,
const std::string &  layername 
) const
virtual

return true if given graphic ID is member of layer

virtual void makVrf::DtLocalObjectManager::deleteLocal ( makVrv::DtUniqueID  id)
virtual

Deletes the specified local object.

virtual void makVrf::DtLocalObjectManager::deleteAll ( std::vector< DtEntityType >  except = std::vector< DtEntityType >())
virtual

Deletes all local objects except for any object types specified.

virtual void makVrf::DtLocalObjectManager::deleteAllFromLayer ( const std::string &  layername)
virtual

Deletes all the objects on the specified layer.

virtual void makVrf::DtLocalObjectManager::update ( makVrv::DtElementID  id,
const std::string *  name = 0,
const std::vector< DtVector > &  points = std::vector< DtVector >(),
int *  force = 0,
const std::string *  overlay = 0,
const std::string *  userData = 0,
const std::map< std::string, std::string > *  extendedData = 0,
const std::map< int, DtString > *  extendedLabels = 0,
double *  newHeading = 0,
int *  color = 0,
int *  appearance = 0,
const std::string *  label = 0,
float *  physicalLineHeight = 0,
float *  physicalLineWidth = 0,
bool  forceUpdate = true 
)
virtual

Call to update state data of specified object and update it so local object will also be changed.

Will end up calling slot_onStateViewUpdated. Set items to NULL to now update them. Point vector of 0 length will be considered NULL. Points must be in local database coordinates.

virtual DtVector makVrf::DtLocalObjectManager::getVertexPosition ( makVrv::DtElementID  parent,
makVrv::DtUniqueID  vertexId 
) const
virtual

Given an element id and a vertex id, return the position of that vertex.

virtual void makVrf::DtLocalObjectManager::create ( const DtEntityType &  t,
int  force 
)
virtual

Creates an object interactively, meaning it will bring up the create dialog, and, once complete, will create a new representation in this manager.

virtual bool makVrf::DtLocalObjectManager::allSelectionIsLocal ( ) const
virtual

Return true if the entire selection only contains local objects.

virtual void makVrf::DtLocalObjectManager::setCanCreateLocalObjects ( bool  )
virtual

Set to false to disallow creation of local objects. Default is true.

virtual bool makVrf::DtLocalObjectManager::canCreateLocalObjects ( ) const
virtual

Return true if can create local objects instead of published ones via the create process. Default is true.

virtual void makVrf::DtLocalObjectManager::save ( const std::string &  )
virtual

Saves contents of local object manager to file.

virtual bool makVrf::DtLocalObjectManager::load ( const std::string &  ,
bool  removeAll = true 
)
virtual

Loads and creates objects in file into local object manager. Deletes all local objects first before restoring.

virtual int makVrf::DtLocalObjectManager::numberOfLocalObjects ( ) const
virtual

Returns number of local objects.

virtual double makVrf::DtLocalObjectManager::groundHeight ( const DtVector lp,
makVrv::DtIntersector::IntersectProperties  props = makVrv::DtIntersector::SupportNodes,
bool  useHighest = true,
DtVector clampedPoint = 0,
const std::vector< makVrv::DtUniqueID > &  ignore = std::vector< makVrv::DtUniqueID >(),
makVrv::DtUniqueID hitId = 0 
) const
virtual

Return the height of the ground at the current point.

This will be the height at the highest polygon. If clamped point is supplied returns the local clamped point. The point supplied for intersection is a local database position

virtual DtVector makVrf::DtLocalObjectManager::clampToGround ( const DtVector ,
makVrv::DtIntersector::IntersectProperties  props = makVrv::DtIntersector::SupportNodes,
const std::vector< makVrv::DtUniqueID > &  ignore = std::vector< makVrv::DtUniqueID >(),
bool  useHighestLOD = false,
bool  ignoreDynamicOcean = false,
bool  useHighestPolygon = false,
makVrv::DtUniqueID hitId = 0 
) const
virtual

Return supplied local position as clamped to ground.

By using true for highest LOD the system will go to the terrain server to get the highest LOD value regardless of what is paged in. If useHighestPolygon is true will clamp to the highest polygon else will clamp to the closest polygon

virtual DtGeodeticCoord makVrf::DtLocalObjectManager::clampToGround ( const DtGeodeticCoord &  ,
makVrv::DtIntersector::IntersectProperties  props = makVrv::DtIntersector::SupportNodes,
const std::vector< makVrv::DtUniqueID > &  ignore = std::vector< makVrv::DtUniqueID >(),
bool  useHighestLOD = false,
bool  ignoreDynamicOcean = false,
bool  useHighestPolygon = false,
makVrv::DtUniqueID hitId = 0 
) const
virtual

Return supplied geocentric position as a geocentric clamped to ground position.

By using true for highest LOD the system will go to the terrain server to get the highest LOD value regardless of what is paged in

virtual std::string makVrf::DtLocalObjectManager::generateUniqueName ( const std::string &  base,
bool  addNumberToBegin = false 
) const
virtual
virtual void makVrf::DtLocalObjectManager::ignoreFromArchive ( const DtEntityType &  )
virtual

Add an entity type to not be allowed to archive.

virtual void makVrf::DtLocalObjectManager::removeIgnoreFromArchive ( const DtEntityType &  )
virtual
virtual void makVrf::DtLocalObjectManager::slot_elementAttributeChangeRequested ( makVrv::DtUniqueID  id,
makVrv::DtUniqueID  parentId,
DtBoost::shared_ptr< const makVrv::DtElementAttribute atr 
)
protectedvirtual

Called when an element attribute has changed, handle if a local object.

virtual void makVrf::DtLocalObjectManager::handleElementAttributeChanged ( makVrv::DtUniqueID  id,
const makVrv::DtElementAttribute attr 
)
protectedvirtual
virtual void makVrf::DtLocalObjectManager::slot_onStateViewUpdated ( makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  )
protectedvirtual

Called when state view is updated, will update local object.

virtual void makVrf::DtLocalObjectManager::completeStateViewUpdated ( makVrv::DtStateView< makVrv::DtVrlinkSimulatedBaseState > *  ,
bool  forceIfHidden = false 
)
protectedvirtual

Called in pre-tick from a connection made in slot_onStateViewUpdated.

virtual void makVrf::DtLocalObjectManager::update ( DtEnvironmentalFacadeCollection ,
const DtVrlinkSimulatedEnvironmentProcess  
)
protectedvirtual

Updates facades based on state.

virtual void makVrf::DtLocalObjectManager::update ( DtEntityFacadeCollection ,
const makVrv::DtVrlinkSimulatedEntityState  
)
protectedvirtual
virtual void makVrf::DtLocalObjectManager::finalizeObjectCreation ( const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData )
protectedvirtual

Called when interactive local object creation has been stopped or created.

virtual void makVrf::DtLocalObjectManager::slot_stoppedObjectCreation ( )
protectedvirtual
virtual bool makVrf::DtLocalObjectManager::shouldArchive ( makVrv::DtVrlinkSimulatedBaseState ) const
protectedvirtual

Return true if this item should be archived.

template<class Archive >
void makVrf::DtLocalObjectManager::serialize ( Archive &  ar,
const unsigned int  version 
)
inlineprotected

When the class Archive corresponds to an output archive, the & operator is defined similar to <<.

Likewise, when the class Archive is a type of input archive the & operator is defined similar to >>.

virtual void makVrf::DtLocalObjectManager::write ( boost::archive::xml_oarchive &  out)
protectedvirtual
virtual void makVrf::DtLocalObjectManager::read ( boost::archive::xml_iarchive &  in)
protectedvirtual

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Member Data Documentation

boost::signal<void (bool)> makVrf::DtLocalObjectManager::signal_creating

Signals for local object manager

Sent when local object manager starts creating an object

boost::signal<void (DtVrfObjectFacadeInterface*, makVrv::DtVrlinkSimulatedBaseState*)> makVrf::DtLocalObjectManager::signal_objectCreated

Sent when a local object is created.

boost::signal<void (DtVrfObjectFacadeInterface*)> makVrf::DtLocalObjectManager::signal_objectAboutToBeDeleted

Sent when a local object is about to be deleted.

boost::signal<void (bool)> makVrf::DtLocalObjectManager::signal_loading

Signal sent when loading the overlay file. True is before read, false after.

boost::signal<void (makVrv::DtUniqueID)> makVrf::DtLocalObjectManager::signal_objectDeleted

Signal sent after the object has been fully removed.

makVrv::DtDe& makVrf::DtLocalObjectManager::myDe
protected
bool makVrf::DtLocalObjectManager::myIsCreating
protected
LocalObjects makVrf::DtLocalObjectManager::myObjects
protected
makVrv::DtSignalConnectionManager makVrf::DtLocalObjectManager::myConnections
protected
LocalStateData makVrf::DtLocalObjectManager::myData
protected
bool makVrf::DtLocalObjectManager::myCanCreateLocalObjects
protected
std::vector<DtEntityType> makVrf::DtLocalObjectManager::myIgnoreFromArchive
protected
LastCheckedGroundInformation makVrf::DtLocalObjectManager::myLastCheckedGroundInformation
mutableprotected

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

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)