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 Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
makVrf::DtVrfCopyPasteHandler Class Reference

The Master DtVrfCopyPasteManagerHandler. More...

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

Public Types

typedef std::pair< std::string,
int
DtPasteInformation
typedef std::map< std::string,
DtPasteInformation
DtPasteData
typedef std::map< DtCopyObject
*, int
DtObjectsCopying
typedef std::vector
< DtCopyObject * > 
DtObjectsDeleting
typedef std::vector
< DtCopyObject * > 
DtObjectsPasting

Public Member Functions

 DtVrfCopyPasteHandler (makVrv::DtDe &)
virtual ~DtVrfCopyPasteHandler ()
const DtPasteDatapasteData () const
 Returns the paste data currently in paste buffer.
virtual void clearPasteData ()
 Clears out paste data and emits signal that system can no longer paste.
virtual void copy (const makVrv::DtUniqueID &id)
 Finds out information about and copies data for the specifie item.
virtual bool canCopy () const
int numCopying () const
virtual bool canPaste () const
virtual void stop ()
 Stops any pending copies or pasted and sends out signal for each one stopped, then, final stop signal with 0 as the parameter for what is being cancelled.
virtual void cancelPaste ()
 Cancels paste operation.
virtual void cancelled (DtCopyObject *)
 Called when a copy is cancelled.
virtual void copied (DtCopyObject *, const std::string &)
 Called when object has successfully copied.
virtual void tick ()
 Called when de ticks, delete any objects in the myToDelete buffer.
virtual void copyOperationPending (DtCopyObject *, const std::string &)
 Reemits copy operation pending signal.
virtual DtCopyObjectcreateCopyObject (const makVrv::DtElementEntry &) const
 Creates a copy object based on object state (calls createCopyObject(state.type()))
virtual DtCopyObjectcreateCopyObject (int type) const =0
 Creates a copy object based on object state. Returns 0 if no creator registered.
void setPasteFlags (int f)
int pasteFlags () const
bool hasObjectsToPaste () const
virtual void setPreserveOffsets (bool)
 If true preserve the offsets from a potential aggregate this handler might be part of. Default is false (i.e. respect mouse placement)
virtual bool preserveOffsets () const
virtual void paste (const DtVector &at=DtVector(), int flags=DtCopyObject::DtAllPasteFlags)
 Starts paste operation by creating copy objects that will represent information stored in the paste buffer.
bool pasting () const
 Returns true if currently pasting.
void setMaximumToProcessInPastePass (int i)
 Maximum number of objects to try and paste in a single pass.
int maximumToProcessInPastePass () const
virtual void cleanup ()
 Cleanup objects to delete.
virtual DtCopyObjectcreateObjectFromPasteData (int type, const std::string &buffer) const
 Creates a copy object and recreates from the paste buffer.
virtual void queueObjectsToPaste ()
 Queues up objects for paste as to the maximum number of objects to paste at a single time.
virtual void slot_onPaste ()
 Pastes all objects centered around the last location changed to.
const DtObjectsPastingobjectsPasting () const
virtual void setPasteData (const std::string &name, int type, const std::string &pasteBuffer)
virtual void registerName (const DtString &)
virtual bool nameIsRegistered (const DtString &) const

Public Attributes

boost::signal< void(bool)> signal_hasPasteData
 Emitted when state of whether or not can paste has changed.
boost::signal< void()> signal_stopped
boost::signal< void(DtCopyObject *)> signal_copyCancelled
boost::signal< void(DtCopyObject
*, const std::string &)> 
signal_copied
boost::signal< void()> signal_copyComplete
boost::signal< void(DtCopyObject
*, const std::string &)> 
signal_copyOperationPending
boost::signal< void()> signal_pasting
boost::signal< void()> signal_pasteComplete
boost::signal< void(DtCopyObject *)> signal_pasted
boost::signal< void(DtCopyObject *)> signal_pasteCancelled
boost::signal< void(DtCopyObject
*, const std::string &)> 
signal_pasteOperationPending

Protected Member Functions

virtual void pasted (DtCopyObject *)
 Called when paste operation has completed for this object.
virtual void removeFromCopying (DtCopyObject *)
 Removes an object from being copied and places it on the toDelete list.
virtual void cleanupEventProcessor ()
 Called to cleanup the event processor.
virtual void slot_onLocationChanged (const DtVector &, double)
 Called for each mouse move, will move all facades to be relative to this new location.
virtual void pasteOperationPending (DtCopyObject *, const std::string &)
 Called when a paste operation is pending, emits signal_pasteOperationPending.
virtual void pasteCancelled (DtCopyObject *)
 Called when a paste operation is cancelled.
virtual void removeFromBeingPasted (DtCopyObject *)
 Called from pasted and pasteCancelled, will remove object from being pasted and signal if all paste operations are complete.

Protected Attributes

makVrv::DtDemyDe
DtPasteData myPasteData
 Buffer is a map of object name to data.
DtObjectsCopying myObjectsCopying
DtObjectsPasting myObjectsPasting
DtObjectsPasting myObjectsBeingPasted
DtObjectsPasting myObjectsToPaste
DtObjectsDeleting myToDelete
DtVrfObjectManipulationEventProcessormyEventProcessor
int myMaximumToProcessInPastePass
int myPasteFlags
bool myQueueing
DtGeodeticCoord myOrigin
DtReferenceEllipsoid myReferenceEllipsoid
bool myPreserveOffsets
std::set< DtStringmyRegisteredNames

Detailed Description

The Master DtVrfCopyPasteManagerHandler.

Member Typedef Documentation

typedef std::pair<std::string, int> makVrf::DtVrfCopyPasteHandler::DtPasteInformation

Constructor & Destructor Documentation

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

Member Function Documentation

const DtPasteData& makVrf::DtVrfCopyPasteHandler::pasteData ( ) const
inline

Returns the paste data currently in paste buffer.

virtual void makVrf::DtVrfCopyPasteHandler::clearPasteData ( )
virtual

Clears out paste data and emits signal that system can no longer paste.

virtual void makVrf::DtVrfCopyPasteHandler::copy ( const makVrv::DtUniqueID id)
virtual

Finds out information about and copies data for the specifie item.

Will call routines for specific types (aggregate, environmental, entity)

virtual bool makVrf::DtVrfCopyPasteHandler::canCopy ( ) const
inlinevirtual
int makVrf::DtVrfCopyPasteHandler::numCopying ( ) const
inline
virtual bool makVrf::DtVrfCopyPasteHandler::canPaste ( ) const
inlinevirtual
virtual void makVrf::DtVrfCopyPasteHandler::stop ( )
virtual

Stops any pending copies or pasted and sends out signal for each one stopped, then, final stop signal with 0 as the parameter for what is being cancelled.

virtual void makVrf::DtVrfCopyPasteHandler::cancelPaste ( )
virtual

Cancels paste operation.

virtual void makVrf::DtVrfCopyPasteHandler::cancelled ( DtCopyObject )
virtual

Called when a copy is cancelled.

Remove from internal queue and emit signal that item was cancelled. Move object to "toDelete" pile to remove during next de tick

virtual void makVrf::DtVrfCopyPasteHandler::copied ( DtCopyObject ,
const std::string &   
)
virtual

Called when object has successfully copied.

Sends out signal and then adds object to "toDelete" buffer;

virtual void makVrf::DtVrfCopyPasteHandler::tick ( )
virtual

Called when de ticks, delete any objects in the myToDelete buffer.

virtual void makVrf::DtVrfCopyPasteHandler::copyOperationPending ( DtCopyObject ,
const std::string &   
)
virtual

Reemits copy operation pending signal.

virtual DtCopyObject* makVrf::DtVrfCopyPasteHandler::createCopyObject ( const makVrv::DtElementEntry ) const
virtual

Creates a copy object based on object state (calls createCopyObject(state.type()))

virtual DtCopyObject* makVrf::DtVrfCopyPasteHandler::createCopyObject ( int  type) const
pure virtual

Creates a copy object based on object state. Returns 0 if no creator registered.

Implemented in makVrf::DtVrfCopyPasteManager, and makVrf::DtVrfAggregateCopyPasteHandler.

void makVrf::DtVrfCopyPasteHandler::setPasteFlags ( int  f)
inline
int makVrf::DtVrfCopyPasteHandler::pasteFlags ( ) const
inline
bool makVrf::DtVrfCopyPasteHandler::hasObjectsToPaste ( ) const
inline
virtual void makVrf::DtVrfCopyPasteHandler::setPreserveOffsets ( bool  )
virtual

If true preserve the offsets from a potential aggregate this handler might be part of. Default is false (i.e. respect mouse placement)

virtual bool makVrf::DtVrfCopyPasteHandler::preserveOffsets ( ) const
virtual
virtual void makVrf::DtVrfCopyPasteHandler::paste ( const DtVector at = DtVector(),
int  flags = DtCopyObject::DtAllPasteFlags 
)
virtual

Starts paste operation by creating copy objects that will represent information stored in the paste buffer.

Will then let the user press the left mouse button to create these objects centered around the clicked position. Right click will stop the paste process. Emits signal_pasting signal

bool makVrf::DtVrfCopyPasteHandler::pasting ( ) const
inline

Returns true if currently pasting.

void makVrf::DtVrfCopyPasteHandler::setMaximumToProcessInPastePass ( int  i)
inline

Maximum number of objects to try and paste in a single pass.

This is to try and prevent network message flooding. Default is 10. -1 means process all.

int makVrf::DtVrfCopyPasteHandler::maximumToProcessInPastePass ( ) const
inline
virtual void makVrf::DtVrfCopyPasteHandler::cleanup ( )
virtual

Cleanup objects to delete.

virtual DtCopyObject* makVrf::DtVrfCopyPasteHandler::createObjectFromPasteData ( int  type,
const std::string &  buffer 
) const
virtual

Creates a copy object and recreates from the paste buffer.

virtual void makVrf::DtVrfCopyPasteHandler::queueObjectsToPaste ( )
virtual

Queues up objects for paste as to the maximum number of objects to paste at a single time.

virtual void makVrf::DtVrfCopyPasteHandler::slot_onPaste ( )
virtual

Pastes all objects centered around the last location changed to.

const DtObjectsPasting& makVrf::DtVrfCopyPasteHandler::objectsPasting ( ) const
inline
virtual void makVrf::DtVrfCopyPasteHandler::setPasteData ( const std::string &  name,
int  type,
const std::string &  pasteBuffer 
)
virtual
virtual void makVrf::DtVrfCopyPasteHandler::registerName ( const DtString )
virtual

When pasting objects that depend on a unique name, register the name here and then check on subsequent pastes of other objects to see if the name wanting to be created is registered. Used for scenario events

virtual bool makVrf::DtVrfCopyPasteHandler::nameIsRegistered ( const DtString ) const
virtual
virtual void makVrf::DtVrfCopyPasteHandler::pasted ( DtCopyObject )
protectedvirtual

Called when paste operation has completed for this object.

Will emit signal that paste operation is complete for this. If all operations are complete, will emit the pasteComplete signal

virtual void makVrf::DtVrfCopyPasteHandler::removeFromCopying ( DtCopyObject )
protectedvirtual

Removes an object from being copied and places it on the toDelete list.

Also hooks up signal to be notified of de tick

virtual void makVrf::DtVrfCopyPasteHandler::cleanupEventProcessor ( )
protectedvirtual

Called to cleanup the event processor.

Called in a tick to make sure that there is not invalid access to the processor

virtual void makVrf::DtVrfCopyPasteHandler::slot_onLocationChanged ( const DtVector ,
double   
)
protectedvirtual

Called for each mouse move, will move all facades to be relative to this new location.

virtual void makVrf::DtVrfCopyPasteHandler::pasteOperationPending ( DtCopyObject ,
const std::string &   
)
protectedvirtual

Called when a paste operation is pending, emits signal_pasteOperationPending.

virtual void makVrf::DtVrfCopyPasteHandler::pasteCancelled ( DtCopyObject )
protectedvirtual

Called when a paste operation is cancelled.

Will remove from objectsBeingPasted list, and, if list is empty, signals pasteComplete message

virtual void makVrf::DtVrfCopyPasteHandler::removeFromBeingPasted ( DtCopyObject )
protectedvirtual

Called from pasted and pasteCancelled, will remove object from being pasted and signal if all paste operations are complete.

Member Data Documentation

boost::signal<void (bool)> makVrf::DtVrfCopyPasteHandler::signal_hasPasteData

Emitted when state of whether or not can paste has changed.

boost::signal<void ()> makVrf::DtVrfCopyPasteHandler::signal_stopped
boost::signal<void (DtCopyObject*)> makVrf::DtVrfCopyPasteHandler::signal_copyCancelled
boost::signal<void (DtCopyObject*, const std::string&)> makVrf::DtVrfCopyPasteHandler::signal_copied
boost::signal<void ()> makVrf::DtVrfCopyPasteHandler::signal_copyComplete
boost::signal<void (DtCopyObject*, const std::string&)> makVrf::DtVrfCopyPasteHandler::signal_copyOperationPending
boost::signal<void ()> makVrf::DtVrfCopyPasteHandler::signal_pasting
boost::signal<void ()> makVrf::DtVrfCopyPasteHandler::signal_pasteComplete
boost::signal<void (DtCopyObject*)> makVrf::DtVrfCopyPasteHandler::signal_pasted
boost::signal<void (DtCopyObject*)> makVrf::DtVrfCopyPasteHandler::signal_pasteCancelled
boost::signal<void (DtCopyObject*, const std::string&)> makVrf::DtVrfCopyPasteHandler::signal_pasteOperationPending
makVrv::DtDe& makVrf::DtVrfCopyPasteHandler::myDe
protected
DtPasteData makVrf::DtVrfCopyPasteHandler::myPasteData
protected

Buffer is a map of object name to data.

DtObjectsCopying makVrf::DtVrfCopyPasteHandler::myObjectsCopying
protected
DtObjectsPasting makVrf::DtVrfCopyPasteHandler::myObjectsPasting
protected
DtObjectsPasting makVrf::DtVrfCopyPasteHandler::myObjectsBeingPasted
protected
DtObjectsPasting makVrf::DtVrfCopyPasteHandler::myObjectsToPaste
protected
DtObjectsDeleting makVrf::DtVrfCopyPasteHandler::myToDelete
protected
DtVrfObjectManipulationEventProcessor* makVrf::DtVrfCopyPasteHandler::myEventProcessor
protected
int makVrf::DtVrfCopyPasteHandler::myMaximumToProcessInPastePass
protected
int makVrf::DtVrfCopyPasteHandler::myPasteFlags
protected
bool makVrf::DtVrfCopyPasteHandler::myQueueing
protected
DtGeodeticCoord makVrf::DtVrfCopyPasteHandler::myOrigin
protected
DtReferenceEllipsoid makVrf::DtVrfCopyPasteHandler::myReferenceEllipsoid
protected
bool makVrf::DtVrfCopyPasteHandler::myPreserveOffsets
protected
std::set<DtString> makVrf::DtVrfCopyPasteHandler::myRegisteredNames
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)