.TH "SoTrackballManip" 3 "Thu May 29 2014" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoTrackballManip \- .PP The \fBSoTrackballManip\fP wraps an \fBSoTrackballDragger\fP for convenience\&. .PP .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoTransformManip\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const " .br .RI "\fIReturns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for run-time type checking and 'downward' casting\&. \fP" .ti -1c .RI "\fBSoTrackballManip\fP (void)" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual const \fBSoFieldData\fP * \fBgetFieldData\fP (void) const " .br .ti -1c .RI "virtual \fB~SoTrackballManip\fP (void)" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSoTrackballManip\fP wraps an \fBSoTrackballDragger\fP for convenience\&. .PP .PP The manipulator class takes care of wrapping up the \fBSoTrackballDragger\fP in a simple and convenient API for the application programmer, making it automatically surround the geometry it influences and taking care of the book-keeping routines for it's interaction with the relevant fields of an \fBSoTransformation\fP node\&. .PP Here's a dead simple, stand-alone example on how to set up an \fBSoTrackballManip\fP in a scenegraph: .PP .PP .nf #include #include #include #include #include int main(int argc, char* argv[]) { QWidget * mainwin = SoQt::init(argv[0]); SoSeparator * root = new SoSeparator; root->ref(); SoTrackballManip * manip = new SoTrackballManip; root->addChild(manip); root->addChild(new SoCone); SoQtExaminerViewer * viewer = new SoQtExaminerViewer(mainwin); viewer->setSceneGraph(root); SoQt::show(mainwin); SoQt::mainLoop(); root->unref(); return 0; } .fi .PP .PP Compile and hit 'ESC' to go into scenegraph interaction mode in the examinerviewer, then change the rotation of the cone by interacting with the dragger bands\&. .PP .SH "Constructor & Destructor Documentation" .PP .SS "SoTrackballManip::SoTrackballManip (void)" Default constructor\&. Allocates an \fBSoTrackballDragger\fP and an \fBSoSurroundScale\fP node to surround the geometry within our part of the scenegraph\&. .SS "SoTrackballManip::~SoTrackballManip (void)\fC [protected]\fP, \fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoTrackballManip::getTypeId (void) const\fC [virtual]\fP" .PP Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for run-time type checking and 'downward' casting\&. Usage example: .PP .PP .nf void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } } .fi .PP .PP For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in \fIall\fP subclasses\&. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance \fBInventor/nodes/SoSubNode\&.h\fP (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine\&.h (for engine classes) and so on\&. .PP For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups\&. .PP Reimplemented from \fBSoTransformManip\fP\&. .SS "const \fBSoFieldData\fP * SoTrackballManip::getFieldData (void) const\fC [protected]\fP, \fC [virtual]\fP" Returns a pointer to the class-wide field data storage object for this instance\&. If no fields are present, returns \fCNULL\fP\&. .PP Reimplemented from \fBSoTransformManip\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.