class pfMCS : public pfGroup, public CAVERNmisc_observer_c

Manipulative coordinate system class

Inheritance:


Public Methods

static void init()
Performer class initialization. MUST be called before pfInit()!
pfMCS()
constructor takes no arguments.
virtual ~pfMCS()
virtual destructor.
void setStrategy( ManipStrategy *strat )
Assign a strategy to this manipulator
ManipStrategy* getStrategy() const
Returns a constant reference to this manipulator's strategy
virtual int attachManip( pfNetDCS *dcs )
Attach the manipulator to a pfNetDCS in the scene graph
virtual int detatchManip()
Removes the manipulator from the scene graph
virtual void update( CAVERNmisc_subject_c *subj )
Update for receiving new data

Documentation

Manipulative coordinate system class. Coordinate systems incorpate a transformation matrix for a particular portion of the scene graph. Manipulation of the DCS is usually done with some external piece of code that operates outside the scene graph. This Manipulable Coordinate System class is a node inserted into the scene graph for the purpose of encapsulating modifications and changes to the coordinate system.

Using this class places elements of the interaction and manipulation directly into the scene graph. The MCS is considered a manipulator which is attached and detatched to and from a particular pfNetDCS node. Once attached, the MCS will use an instance of an evaluation strategy to modify the transformation matrix.

The pfMCS is attached to the NetDCS being manipulated as a means to activate the manipulation. A subclassed instance of ManipStrategy which has been assigned to the pfMCS is used to evaluate the output of the manipulation.

static void init()
Performer class initialization. MUST be called before pfInit()!

pfMCS()
constructor takes no arguments.

virtual ~pfMCS()
virtual destructor.

void setStrategy( ManipStrategy *strat )
Assign a strategy to this manipulator. Manipulation of the coordinate system is handled by an instance of strategy. This function will assign a strategy to the MCS.
Parameters:
strat - reference to an instance of a ManipStrategy

ManipStrategy* getStrategy() const
Returns a constant reference to this manipulator's strategy. This function can be used to return a constant reference of the strategy used by this manipulator. Note however, that the stragety cannot be modified since the pointer is constant.

virtual int attachManip( pfNetDCS *dcs )
Attach the manipulator to a pfNetDCS in the scene graph. The MCS does nothing until it has become part of the scene graph. The target NetDCS must already be in the scene graph, as the MCS must be able to obtain parent and child information about that node. After this function has been called, the manipulation strategy will be evaluted during each app traversal by Performer.

virtual int detatchManip()
Removes the manipulator from the scene graph. After manipulation is complete, the original structure of the scene graph must be restored with the manipulator removed from the scene graph. This function will remove the MCS and reattach the original structure.

virtual void update( CAVERNmisc_subject_c *subj )
Update for receiving new data. When notified by a subject which it observes--typically the instance of its manipulation strategy it uses--the MCS will detatch itself from the NetDCS being modified.


This class has no child classes.
Author:
Chris Scharver, Electronic Visualization Laboratory

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de