VR-Forces 4.0.4 Class Documentation
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]

List of all members.

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.
bool canCopy () const
int numCopying () const
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 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)

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

Detailed Description

The Master DtVrfCopyPasteManagerHandler.


Member Typedef Documentation

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

Constructor & Destructor Documentation


Member Function Documentation

Returns the paste data currently in paste buffer.

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 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.

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.

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.

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

Returns true if currently pasting.

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.

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.

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.

virtual void makVrf::DtVrfCopyPasteHandler::setPasteData ( const std::string &  name,
int  type,
const std::string &  pasteBuffer 
) [virtual]
virtual void makVrf::DtVrfCopyPasteHandler::pasted ( DtCopyObject ) [protected, virtual]

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 ) [protected, virtual]

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 ( ) [protected, virtual]

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   
) [protected, virtual]

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 &   
) [protected, virtual]

Called when a paste operation is pending, emits signal_pasteOperationPending.

virtual void makVrf::DtVrfCopyPasteHandler::pasteCancelled ( DtCopyObject ) [protected, virtual]

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 ) [protected, virtual]

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


Member Data Documentation

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

boost::signal<void (DtCopyObject*, const std::string&)> makVrf::DtVrfCopyPasteHandler::signal_copied

Buffer is a map of object name to data.

DtGeodeticCoord makVrf::DtVrfCopyPasteHandler::myOrigin [protected]
DtReferenceEllipsoid makVrf::DtVrfCopyPasteHandler::myReferenceEllipsoid [protected]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)