.TH "SoGLViewingMatrixElement" 3 "Tue Dec 26 2023 17:59:22" "Version 4.0.2" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoGLViewingMatrixElement \- The \fBSoGLViewingMatrixElement\fP class is used to store the current viewing matrix\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoViewingMatrixElement\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBinit\fP (\fBSoState\fP *state)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBpush\fP (\fBSoState\fP *state)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBpop\fP (\fBSoState\fP *state, \fBconst\fP \fBSoElement\fP *\fBprevTopElement\fP)" .br .in -1c Public Member Functions inherited from \fBSoReplacedElement\fP .in +1c .ti -1c .RI "\fBvirtual\fP SbBool \fBmatches\fP (\fBconst\fP \fBSoElement\fP *element) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBSoElement\fP * \fBcopyMatchInfo\fP () \fBconst\fP" .br .ti -1c .RI "SbUniqueId \fBgetNodeId\fP () \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBprint\fP (\fBFILE\fP *\fBfile\fP) \fBconst\fP" .br .in -1c Public Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBconst\fP \fBSoType\fP \fBgetTypeId\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "int \fBgetStackIndex\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetDepth\fP (\fBconst\fP int \fBdepth\fP)" .br .ti -1c .RI "int \fBgetDepth\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fB~SoElement\fP ()" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP int \fBgetClassStackIndex\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP * \fBcreateInstance\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP SbUniqueId \fBgetNodeId\fP (\fBSoState\fP *\fBconst\fP state)" .br .ti -1c .RI "\fBstatic\fP \fBSbMatrix\fP \fBgetResetMatrix\fP (\fBSoState\fP *state)" .br .in -1c Static Public Member Functions inherited from \fBSoViewingMatrixElement\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP int \fBgetClassStackIndex\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP * \fBcreateInstance\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBset\fP (\fBSoState\fP *\fBconst\fP state, \fBSoNode\fP *\fBconst\fP node, \fBconst\fP \fBSbMatrix\fP &\fBViewingMatrix\fP)" .br .RI "FIXME: write doc\&. " .ti -1c .RI "\fBstatic\fP \fBconst\fP \fBSbMatrix\fP & \fBget\fP (\fBSoState\fP *\fBconst\fP state)" .br .RI "FIXME: write doc\&. " .in -1c Static Public Member Functions inherited from \fBSoReplacedElement\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP int \fBgetClassStackIndex\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .in -1c Static Public Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP int \fBgetClassStackIndex\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitElements\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP int \fBgetNumStackIndices\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetIdFromStackIndex\fP (\fBconst\fP int \fBstackIndex\fP)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fB~SoGLViewingMatrixElement\fP ()" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBsetElt\fP (\fBconst\fP \fBSbMatrix\fP &matrix)" .br .in -1c Protected Member Functions inherited from \fBSoViewingMatrixElement\fP .in +1c .ti -1c .RI "\fBvirtual\fP \fB~SoViewingMatrixElement\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoReplacedElement\fP .in +1c .ti -1c .RI "\fBvirtual\fP \fB~SoReplacedElement\fP ()" .br .in -1c Protected Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBSoElement\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBcapture\fP (\fBSoState\fP *\fBconst\fP state) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBcaptureThis\fP (\fBSoState\fP *state) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetTypeId\fP (\fBconst\fP \fBSoType\fP \fBtypeId\fP)" .br .ti -1c .RI "\fBvoid\fP \fBsetStackIndex\fP (\fBconst\fP int index)" .br .ti -1c .RI "\fBSoElement\fP * \fBgetNextInStack\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoElement\fP * \fBgetNextFree\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c .SS "Additional Inherited Members" Static Protected Member Functions inherited from \fBSoReplacedElement\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoElement\fP * \fBgetElement\fP (\fBSoState\fP *\fBconst\fP state, \fBconst\fP int \fBstackIndex\fP, \fBSoNode\fP *\fBconst\fP node)" .br .in -1c Static Protected Member Functions inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoElement\fP * \fBgetElement\fP (\fBSoState\fP *\fBconst\fP state, \fBconst\fP int \fBstackIndex\fP)" .br .ti -1c .RI "\fBstatic\fP \fBconst\fP \fBSoElement\fP * \fBgetConstElement\fP (\fBSoState\fP *\fBconst\fP state, \fBconst\fP int \fBstackIndex\fP)" .br .ti -1c .RI "\fBstatic\fP int \fBcreateStackIndex\fP (\fBconst\fP \fBSoType\fP id)" .br .in -1c Protected Attributes inherited from \fBSoViewingMatrixElement\fP .in +1c .ti -1c .RI "\fBSbMatrix\fP \fBviewingMatrix\fP" .br .in -1c Protected Attributes inherited from \fBSoReplacedElement\fP .in +1c .ti -1c .RI "SbUniqueId \fBnodeId\fP" .br .in -1c Protected Attributes inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBSoType\fP \fBtypeId\fP" .br .ti -1c .RI "int \fBstackIndex\fP" .br .ti -1c .RI "int \fBdepth\fP" .br .in -1c Static Protected Attributes inherited from \fBSoElement\fP .in +1c .ti -1c .RI "\fBstatic\fP int \fBclassStackIndex\fP" .br .ti -1c .RI "\fBstatic\fP \fBSoTypeList\fP * \fBstackToType\fP" .br .in -1c .SH "Detailed Description" .PP The \fBSoGLViewingMatrixElement\fP class is used to store the current viewing matrix\&. The viewing matrix contains the inverse camera coordinate system matrix\&. The camera coordinate system is built from the field values in the current \fBSoCamera\fP (currently either \fBSoPerspectiveCamera\fP or \fBSoOrthographicCamera\fP) and any transformations prior to the camera in the scene graph\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoGLViewingMatrixElement::~SoGLViewingMatrixElement (\fBvoid\fP)\fC [protected]\fP, \fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoGLViewingMatrixElement::getClassTypeId (\fBvoid\fP)\fC [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "int SoGLViewingMatrixElement::getClassStackIndex (\fBvoid\fP)\fC [static]\fP" This static method returns the state stack index for the class\&. .br .SS "\fBvoid\fP * SoGLViewingMatrixElement::createInstance (\fBvoid\fP)\fC [static]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br Creates a new instance of the class type corresponding to the \fBSoType\fP object\&. .br .SS "\fBvoid\fP SoGLViewingMatrixElement::initClass (\fBvoid\fP)\fC [static]\fP" Initialize relevant common data for all instances, like the type system\&. .SS "\fBvoid\fP SoGLViewingMatrixElement::init (\fBSoState\fP * state)\fC [virtual]\fP" Initializes the element to its default value\&. The default value is the identity matrix\&. .PP Reimplemented from \fBSoViewingMatrixElement\fP\&. .SS "\fBvoid\fP SoGLViewingMatrixElement::push (\fBSoState\fP * state)\fC [virtual]\fP" This method is called every time a new element is required in one of the stacks\&. This happens when a writable element is requested, using \fBSoState::getElement()\fP or indirectly \fBSoElement::getElement()\fP, and the depth of the current element is less than the state depth\&. .PP Override this method if your element needs to copy data from the previous top of stack\&. The \fBpush()\fP method is called on the new element, and the previous element can be found using \fBSoElement::getNextInStack()\fP\&. .PP Reimplemented from \fBSoElement\fP\&. .SS "\fBvoid\fP SoGLViewingMatrixElement::pop (\fBSoState\fP * state, \fBconst\fP \fBSoElement\fP * prevTopElement)\fC [virtual]\fP" This method is called when the state is popped, and the depth of the element is bigger than the current state depth\&. \fBpop()\fP is called on the new top of stack, and a pointer to the previous top of stack is passed in \fIprevTopElement\fP\&. .PP Override this method if you need to copy some state information from the previous top of stack\&. .PP Reimplemented from \fBSoElement\fP\&. .SS "SbUniqueId SoGLViewingMatrixElement::getNodeId (\fBSoState\fP *\fBconst\fP state)\fC [static]\fP" Returns the node id of the current camera node\&. This is used by \fBSoGLModelMatrixElement\fP to detect a change in the viewing matrix inside an \fBSoTransformSeparator\fP node\&. .SS "\fBSbMatrix\fP SoGLViewingMatrixElement::getResetMatrix (\fBSoState\fP * state)\fC [static]\fP" Returns the matrix that should be used by \fBSoGLModelMatrixElement\fP when the transformation should be reset during traversal (typically when encountering an \fBSoResetTransform\fP node)\&. It is not sufficient to simply load the viewing matrix, since the transformations that were applied before the camera needs to be accounted for\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvoid\fP SoGLViewingMatrixElement::setElt (\fBconst\fP \fBSbMatrix\fP & matrix)\fC [protected]\fP, \fC [virtual]\fP" Sets the current viewing matrix\&. .PP Reimplemented from \fBSoViewingMatrixElement\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.