.TH "SoPendulum" 3 "Thu May 29 2014" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoPendulum \- .PP The \fBSoPendulum\fP class is used to create oscillating rotations\&. .PP A smooth transition between rotation0 and rotation1 is created using a cosine function\&. In the beginning of the cycle, rotation0 is used\&. Halfway through the cycle, the resulting rotation equals rotation1, and at the end of the cycle, we're at rotation0 again\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoRotation\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 "\fBSoPendulum\fP (void)" .br .ti -1c .RI "virtual void \fBwrite\fP (\fBSoWriteAction\fP *action)" .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 "Public Attributes" .in +1c .ti -1c .RI "\fBSoSFRotation\fP \fBrotation0\fP" .br .ti -1c .RI "\fBSoSFRotation\fP \fBrotation1\fP" .br .ti -1c .RI "\fBSoSFFloat\fP \fBspeed\fP" .br .ti -1c .RI "\fBSoSFBool\fP \fBon\fP" .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~SoPendulum\fP ()" .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 \fBSoPendulum\fP class is used to create oscillating rotations\&. .PP A smooth transition between rotation0 and rotation1 is created using a cosine function\&. In the beginning of the cycle, rotation0 is used\&. Halfway through the cycle, the resulting rotation equals rotation1, and at the end of the cycle, we're at rotation0 again\&. \fBFILE FORMAT/DEFAULTS:\fP .PP .nf Pendulum { rotation 0 0 1 0 rotation0 0 0 1 0 rotation1 0 0 1 0 speed 1 on TRUE } .fi .PP .SH "Constructor & Destructor Documentation" .PP .SS "SoPendulum::SoPendulum (void)" Constructor\&. .SS "SoPendulum::~SoPendulum ()\fC [protected]\fP, \fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoPendulum::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 \fBSoRotation\fP\&. .SS "const \fBSoFieldData\fP * SoPendulum::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 \fBSoRotation\fP\&. .SS "void SoPendulum::write (\fBSoWriteAction\fP *action)\fC [virtual]\fP" Action method for \fBSoWriteAction\fP\&. .PP Writes out a node object, and any connected nodes, engines etc, if necessary\&. .PP Reimplemented from \fBSoNode\fP\&. .SH "Member Data Documentation" .PP .SS "\fBSoSFRotation\fP SoPendulum::rotation0" The first rotation limit of the interpolation\&. .SS "\fBSoSFRotation\fP SoPendulum::rotation1" The other rotation limit of the interpolation\&. .SS "\fBSoSFFloat\fP SoPendulum::speed" Speed in cycles per second\&. Defaults to 1\&. .SS "\fBSoSFBool\fP SoPendulum::on" Toggles animation on or off\&. Defaults to being \fCon\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.