VR-Forces 4.0.4 Class Documentation
Public Member Functions | Protected Member Functions | Protected Attributes
makVrf::DtVrfCircleManipulationHandler Class Reference

The handler for creating and manipulating circles/ellipses. More...

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

List of all members.

Public Member Functions

 DtVrfCircleManipulationHandler (makVrv::DtDe &)
virtual ~DtVrfCircleManipulationHandler ()
virtual void setXRadius (double)
 Sets the xRadius of the circle. Will interally update the second point of the listener.
virtual void setXRadiusWithHeading (double, double)
 If heading is defined will use that when setting to X point to also rotate to that heading.
virtual double xRadius () const
virtual void setYRadius (double)
 Sets the yRadius of the circle. Will internally update the third point of the listener.
virtual double yRadius () const
virtual void setHeading (double)
 Sets the orientation of the circle.
virtual double heading () const
virtual bool isCircle () const
 Returns true if this object is a circle.
virtual bool isEllipse () const
 Returns true if this object is an ellipse.
virtual void setFreeRotate (bool)
 Set to allow free rotate of the circle.
virtual bool freeRotate () const

Protected Member Functions

virtual void initializeEventProcessor ()
virtual void setLocation (int index, const DtVector &location, bool resetOrigin=true)
 Overridden to rework given point to account for radius and orientation.
virtual void slot_onHeadingChanged (double heading)
virtual void slot_onPrincipalStateViewUpdated (DtVrlinkSimulatedBaseStateView *principalStateView, const makVrv::DtUniqueID &principalSceneObjectId)
 Override to center on principal object.
virtual void moveSelectedPoint (const DtVector &location, double altAboveGround)
 Override to only allow during free rotate.
virtual
DtVrfObjectFacadeInterface
createLocalRepresentation (DtVrlinkSimulatedBaseStateView *editStateView, makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView *principalStateView)
virtual void objectCreated (DtVrfObjectFacadeInterface *, DtVrlinkSimulatedBaseStateView *editStateView)
 Called when an object is created, if state view is present will set to be projected if projected.
virtual void setAttachObjectToMouse (bool flag)
 Override to set to free rotate if editing and not attached to mouse.
virtual DtVector setAltitudeToOrigin (const DtVector &) const
 Sets the altitude of the supplied point (local) to the same altitude as the origin and returns that new point.
virtual void slot_onPlace (makVrv::DtUniqueID id, const DtVector &location, double altAboveGround)
 Override to allow completion finish on left click as well as right click (left click seems more natural with circles)

Protected Attributes

bool myFreeRotate

Detailed Description

The handler for creating and manipulating circles/ellipses.


Constructor & Destructor Documentation


Member Function Documentation

virtual void makVrf::DtVrfCircleManipulationHandler::setXRadius ( double  ) [virtual]

Sets the xRadius of the circle. Will interally update the second point of the listener.

virtual void makVrf::DtVrfCircleManipulationHandler::setXRadiusWithHeading ( double  ,
double   
) [virtual]

If heading is defined will use that when setting to X point to also rotate to that heading.

virtual double makVrf::DtVrfCircleManipulationHandler::xRadius ( ) const [virtual]
virtual void makVrf::DtVrfCircleManipulationHandler::setYRadius ( double  ) [virtual]

Sets the yRadius of the circle. Will internally update the third point of the listener.

virtual double makVrf::DtVrfCircleManipulationHandler::yRadius ( ) const [virtual]
virtual void makVrf::DtVrfCircleManipulationHandler::setHeading ( double  ) [virtual]

Sets the orientation of the circle.

Will internally update the second point to be the angle offset from the origin. Heading is in radians

Reimplemented from makVrf::DtVrfObjectManipulationHandlerBaseClass.

virtual double makVrf::DtVrfCircleManipulationHandler::heading ( ) const [virtual]

Returns true if this object is a circle.

Returns true if this object is an ellipse.

Set to allow free rotate of the circle.

Free rotate means that as the X point changes the circle orientation will also change. By default this is false and the user must use shift+mouse move to change the circle orientation

virtual void makVrf::DtVrfCircleManipulationHandler::setLocation ( int  index,
const DtVector location,
bool  resetOrigin = true 
) [protected, virtual]

Overridden to rework given point to account for radius and orientation.

Reimplemented from makVrf::DtVrfShapeManipulationHandler.

Reimplemented in makVrf::DtVrfCircleVertexManipulationHandler.

virtual void makVrf::DtVrfCircleManipulationHandler::slot_onHeadingChanged ( double  heading) [protected, virtual]
virtual void makVrf::DtVrfCircleManipulationHandler::slot_onPrincipalStateViewUpdated ( DtVrlinkSimulatedBaseStateView principalStateView,
const makVrv::DtUniqueID principalSceneObjectId 
) [protected, virtual]

Override to center on principal object.

Reimplemented from makVrf::DtVrfObjectManipulationHandlerBaseClass.

Reimplemented in makVrf::DtVrfIndirectFireManipulationHandler.

virtual void makVrf::DtVrfCircleManipulationHandler::moveSelectedPoint ( const DtVector location,
double  altAboveGround 
) [protected, virtual]

Override to only allow during free rotate.

Reimplemented from makVrf::DtVrfShapeManipulationHandler.

Called when an object is created, if state view is present will set to be projected if projected.

Reimplemented in makVrf::DtVrfIndirectFireManipulationHandler.

virtual void makVrf::DtVrfCircleManipulationHandler::setAttachObjectToMouse ( bool  flag) [protected, virtual]

Override to set to free rotate if editing and not attached to mouse.

Reimplemented from makVrf::DtVrfObjectManipulationHandlerBaseClass.

virtual DtVector makVrf::DtVrfCircleManipulationHandler::setAltitudeToOrigin ( const DtVector ) const [protected, virtual]

Sets the altitude of the supplied point (local) to the same altitude as the origin and returns that new point.

virtual void makVrf::DtVrfCircleManipulationHandler::slot_onPlace ( makVrv::DtUniqueID  id,
const DtVector location,
double  altAboveGround 
) [protected, virtual]

Override to allow completion finish on left click as well as right click (left click seems more natural with circles)

Reimplemented from makVrf::DtVrfShapeManipulationHandler.


Member Data Documentation


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)