.TH "SoGLLazyElement" 3 "Thu May 29 2014" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoGLLazyElement \- .PP The \fBSoGLLazyElement\fP class is meant to optimize GL rendering\&. .PP This is just a wrap-around implementation for compatibility\&. It should (hopefully) work in the same way as the Inventor class though\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoLazyElement\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual void \fBinit\fP (\fBSoState\fP *state)" .br .ti -1c .RI "virtual void \fBpush\fP (\fBSoState\fP *state)" .br .ti -1c .RI "virtual void \fBpop\fP (\fBSoState\fP *state, const \fBSoElement\fP *prevtopelement)" .br .ti -1c .RI "void \fBsendDiffuseByIndex\fP (const int index) const " .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "void \fBsend\fP (const \fBSoState\fP *state, uint32_t mask) const " .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "void \fBsendVPPacked\fP (\fBSoState\fP *state, const unsigned char *pcolor)" .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "void \fBreset\fP (\fBSoState\fP *state, uint32_t bitmask) const " .br .ti -1c .RI "virtual void \fBsetDiffuseElt\fP (\fBSoNode\fP *, int32_t numcolors, const \fBSbColor\fP *colors, SoColorPacker *packer)" .br .ti -1c .RI "virtual void \fBsetPackedElt\fP (\fBSoNode\fP *node, int32_t numcolors, const uint32_t *colors, const SbBool packedtransparency)" .br .ti -1c .RI "virtual void \fBsetColorIndexElt\fP (\fBSoNode\fP *node, int32_t numindices, const int32_t *indices)" .br .ti -1c .RI "virtual void \fBsetTranspElt\fP (\fBSoNode\fP *node, int32_t numtransp, const float *transp, SoColorPacker *packer)" .br .ti -1c .RI "virtual void \fBsetTranspTypeElt\fP (int32_t type)" .br .ti -1c .RI "virtual void \fBsetAmbientElt\fP (const \fBSbColor\fP *color)" .br .ti -1c .RI "virtual void \fBsetEmissiveElt\fP (const \fBSbColor\fP *color)" .br .ti -1c .RI "virtual void \fBsetSpecularElt\fP (const \fBSbColor\fP *color)" .br .ti -1c .RI "virtual void \fBsetShininessElt\fP (float value)" .br .ti -1c .RI "virtual void \fBsetColorMaterialElt\fP (SbBool value)" .br .ti -1c .RI "virtual void \fBenableBlendingElt\fP (int sfactor, int dfactor, int alpha_sfactor, int alpha_dfactor)" .br .ti -1c .RI "virtual void \fBdisableBlendingElt\fP (void)" .br .ti -1c .RI "virtual void \fBsetLightModelElt\fP (\fBSoState\fP *state, int32_t model)" .br .ti -1c .RI "virtual void \fBsetMaterialElt\fP (\fBSoNode\fP *node, uint32_t bitmask, SoColorPacker *packer, const \fBSbColor\fP *diffuse, const int numdiffuse, const float *transp, const int numtransp, const \fBSbColor\fP &ambient, const \fBSbColor\fP &emissive, const \fBSbColor\fP &specular, const float shininess, const SbBool istransparent)" .br .ti -1c .RI "virtual void \fBsetVertexOrderingElt\fP (VertexOrdering ordering)" .br .ti -1c .RI "virtual void \fBsetBackfaceCullingElt\fP (SbBool onoff)" .br .ti -1c .RI "virtual void \fBsetTwosideLightingElt\fP (SbBool onoff)" .br .ti -1c .RI "virtual void \fBsetShadeModelElt\fP (SbBool flatshading)" .br .ti -1c .RI "virtual void \fBsetAlphaTestElt\fP (int func, float value)" .br .ti -1c .RI "void \fBupdateColorVBO\fP (SoVBO *vbo)" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static int \fBgetClassStackIndex\fP (void)" .br .ti -1c .RI "static void * \fBcreateInstance\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP ()" .br .ti -1c .RI "static void \fBsendAllMaterial\fP (\fBSoState\fP *state)" .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "static void \fBsendNoMaterial\fP (\fBSoState\fP *state)" .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "static void \fBsendOnlyDiffuseColor\fP (\fBSoState\fP *state)" .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "static void \fBsendLightModel\fP (\fBSoState\fP *state, const int32_t model)" .br .ti -1c .RI "static void \fBsendPackedDiffuse\fP (\fBSoState\fP *state, const uint32_t diffuse)" .br .ti -1c .RI "static void \fBsendFlatshading\fP (\fBSoState\fP *state, const SbBool onoff)" .br .ti -1c .RI "static void \fBsendVertexOrdering\fP (\fBSoState\fP *state, const VertexOrdering ordering)" .br .ti -1c .RI "static void \fBsendTwosideLighting\fP (\fBSoState\fP *state, const SbBool onoff)" .br .ti -1c .RI "static void \fBsendBackfaceCulling\fP (\fBSoState\fP *state, const SbBool onoff)" .br .ti -1c .RI "static SbBool \fBisColorIndex\fP (\fBSoState\fP *state)" .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "static \fBSoGLLazyElement\fP * \fBgetInstance\fP (const \fBSoState\fP *state)" .br .RI "\fIFIXME: write doc\&. \fP" .ti -1c .RI "static void \fBbeginCaching\fP (\fBSoState\fP *state, SoGLLazyElement::GLState *prestate, SoGLLazyElement::GLState *poststate)" .br .ti -1c .RI "static void \fBendCaching\fP (\fBSoState\fP *state)" .br .ti -1c .RI "static SbBool \fBpreCacheCall\fP (const \fBSoState\fP *state, const SoGLLazyElement::GLState *prestate)" .br .ti -1c .RI "static void \fBpostCacheCall\fP (const \fBSoState\fP *state, const SoGLLazyElement::GLState *poststate)" .br .ti -1c .RI "static void \fBmergeCacheInfo\fP (\fBSoState\fP *state, SoGLLazyElement::GLState *childprestate, SoGLLazyElement::GLState *childpoststate)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual void \fBlazyDidSet\fP (uint32_t mask)" .br .ti -1c .RI "virtual void \fBlazyDidntSet\fP (uint32_t mask)" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSoGLLazyElement\fP class is meant to optimize GL rendering\&. .PP This is just a wrap-around implementation for compatibility\&. It should (hopefully) work in the same way as the Inventor class though\&. .SH "Member Function Documentation" .PP .SS "void * SoGLLazyElement::createInstance (void)\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 .SS "void SoGLLazyElement::initClass (void)\fC [static]\fP" This static method initializes static data for the \fBSoDiffuseColorElement\fP class\&. .SS "void SoGLLazyElement::init (\fBSoState\fP *state)\fC [virtual]\fP" This function initializes the element type in the given \fBSoState\fP\&. It is called for the first element of each enabled element type in \fBSoState\fP objects\&. .PP Reimplemented from \fBSoLazyElement\fP\&. .SS "void SoGLLazyElement::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 \fBSoLazyElement\fP\&. .SS "void SoGLLazyElement::pop (\fBSoState\fP *state, const \fBSoElement\fP *prevTopElement)\fC [virtual]\fP" This method is callled 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 "void SoGLLazyElement::reset (\fBSoState\fP *stateptr, uint32_tmask) const" Reset element GL state (set state to invalid)\&. Use this method to notify this element when you use your own GL code that changes the OpenGL state\&. .SS "void SoGLLazyElement::mergeCacheInfo (\fBSoState\fP *state, SoGLLazyElement::GLState *childprestate, SoGLLazyElement::GLState *childpoststate)\fC [static]\fP" Merge cache info from a child cache (when doing nested caching) into the current cache\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.