SoOverrideElement - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 2.5.0
Note : Coin
NAMESoOverrideElement − The SoOverrideElement maintains a list of overridable elements and a list over which elements should be overridden.
SYNOPSIS
#include <Inventor/elements/SoOverrideElement.h> Inherits SoElement.
Public Typesenum FlagBits { AMBIENT_COLOR = 0x00000001, COLOR_INDEX = 0x00000002, COMPLEXITY = 0x00000004, COMPLEXITY_TYPE = 0x00000008, CREASE_ANGLE = 0x00000010, DIFFUSE_COLOR = 0x00000020, DRAW_STYLE = 0x00000040, EMISSIVE_COLOR = 0x00000080, FONT_NAME = 0x00000100, FONT_SIZE = 0x00000200, LIGHT_MODEL = 0x00000400, LINE_PATTERN = 0x00000800, LINE_WIDTH = 0x00001000, MATERIAL_BINDING = 0x00002000, POINT_SIZE = 0x00004000, PICK_STYLE = 0x00008000, SHAPE_HINTS = 0x00010000, SHININESS = 0x00020000, SPECULAR_COLOR = 0x00040000, POLYGON_OFFSET = 0x00080000, TRANSPARENCY = 0x00100000, TRANSPARENCY_TYPE = 0x00200000, NORMAL_VECTOR = 0x00400000, NORMAL_BINDING = 0x00800000 }
Public Member Functionsvirtual void init (SoState *state)
FIXME: write doc. virtual void push (SoState *state)
FIXME: write doc. virtual SbBool matches (const SoElement *element) const
FIXME: write doc. virtual SoElement * copyMatchInfo (void) const
FIXME: write doc. virtual void print (FILE *file) const
FIXME: write doc.
Static Public Member Functionsstatic SoType getClassTypeId (void)
static int getClassStackIndex (void)
static void * createInstance (void)
static void initClass (void)
static uint32_t getFlags (SoState *const state)
static SbBool getAmbientColorOverride (SoState *const state)
static SbBool getColorIndexOverride (SoState *const state)
static SbBool getComplexityOverride (SoState *const state)
static SbBool getComplexityTypeOverride (SoState *const state)
static SbBool getCreaseAngleOverride (SoState *const state)
static SbBool getDiffuseColorOverride (SoState *const state)
static SbBool getDrawStyleOverride (SoState *const state)
static SbBool getEmissiveColorOverride (SoState *const state)
static SbBool getFontNameOverride (SoState *const state)
static SbBool getFontSizeOverride (SoState *const state)
static SbBool getLightModelOverride (SoState *const state)
static SbBool getLinePatternOverride (SoState *const state)
static SbBool getLineWidthOverride (SoState *const state)
static SbBool getMaterialBindingOverride (SoState *const state)
static SbBool getPickStyleOverride (SoState *const state)
static SbBool getPointSizeOverride (SoState *const state)
static SbBool getPolygonOffsetOverride (SoState *const state)
static SbBool getShapeHintsOverride (SoState *const state)
static SbBool getShininessOverride (SoState *const state)
static SbBool getSpecularColorOverride (SoState *const state)
static SbBool getTransparencyOverride (SoState *const state)
static SbBool getTransparencyTypeOverride (SoState *const state)
static SbBool getNormalVectorOverride (SoState *const state)
static SbBool getNormalBindingOverride (SoState *const state)
static void setAmbientColorOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setColorIndexOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setComplexityOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setComplexityTypeOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setCreaseAngleOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setDiffuseColorOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setDrawStyleOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setEmissiveColorOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setFontNameOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setFontSizeOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setLightModelOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setLinePatternOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setLineWidthOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setMaterialBindingOverride (SoState *const state, SoNode *const node, const SbBool override)
FIXME: write doc. static void setPickStyleOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setPointSizeOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setPolygonOffsetOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setShapeHintsOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setShininessOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setSpecularColorOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setTransparencyOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setTransparencyTypeOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setNormalVectorOverride (SoState *const state, SoNode *const node, const SbBool override)
static void setNormalBindingOverride (SoState *const state, SoNode *const node, const SbBool override)
Protected Member Functionsvirtual ~SoOverrideElement ()
Additional Inherited Members
Detailed DescriptionThe SoOverrideElement maintains a list of overridable elements and a list over which elements should be overridden. Only certain elements can be overridden. The remaining class documentation describes a single, special case: A common request for functionality is to override only the transparency of the full scene graph, or parts of the scene graph. In the original SGI Inventor, this is nigh impossible, as the API was designed to only make it possible to override all or none of the fields of a node. So calling SoNode::setOverride() on an SoMaterial node will cause all material settings of that node to override all material settings further on in the scene graph, and there is no way to override only the transparency settings. In Coin, we have added in a little hack to overcome this problem, since it is such a common request for functionality: to have separate transparency override settings, set the environment variable COIN_SEPARATE_DIFFUSE_TRANSPARENCY_OVERRIDE to '1' to enable this hack. (Do however note that this will not work when the SoPackedColor or SoVertexProperty node is used to specify diffuse color and transparency -- only with the SoMaterial node.) Here is a complete, stand-alone example which demonstrates how to accomplish this: #include <Inventor/Qt/SoQt.h>
#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
#include <Inventor/nodes/SoSeparator.h>
#include <Inventor/nodes/SoMaterial.h>
// *************************************************************************
const char * scene = "#Inventor V2.1 asci\n"
"\n"
"Separator {"
" Cone { }"
" Translation { translation 1 0 5 }"
""
" DEF OVERRIDEMATERIAL Material { transparency 0.5 }"
""
" DEF OBJMATERIAL Material {"
" diffuseColor 0.5 0 0"
" transparency 0"
" }"
" Sphere { }"
"}"
;
int
main(int argc, char ** argv)
{
QWidget * window = SoQt::init(argv[0]);
(void)coin_setenv("COIN_SEPARATE_DIFFUSE_TRANSPARENCY_OVERRIDE", "1", TRUE);
SoInput * in = new SoInput;
in->setBuffer((void *)scene, strlen(scene));
SoSeparator * root = SoDB::readAll(in);
assert(root);
delete in;
root->ref();
SoMaterial * overridemat = (SoMaterial *)
SoBase::getNamedBase("OVERRIDEMATERIAL", SoMaterial::getClassTypeId());
assert(overridemat);
overridemat->diffuseColor.setIgnored(TRUE);
overridemat->setOverride(TRUE);
SoQtExaminerViewer * viewer = new SoQtExaminerViewer(window);
viewer->setSceneGraph(root);
viewer->show();
SoQt::show(window);
SoQt::mainLoop();
delete viewer;
root->unref();
return 0;
}
Member Enumeration Documentation
enum SoOverrideElement::FlagBitsFIXME: write doc.
Constructor & Destructor Documentation
SoOverrideElement::~SoOverrideElement (void) [protected], [virtual]The destructor.
Member Function Documentation
void * SoOverrideElement::createInstance (void) [static]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
void SoOverrideElement::initClass (void) [static]This static method initializes static data for the SoOverrideElement class. Referenced by SoElement::initElements().
SbBool SoOverrideElement::getAmbientColorOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getColorIndexOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoColorIndex::GLRender().
SbBool SoOverrideElement::getComplexityOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoComplexity::doAction(), and SoComplexity::getPrimitiveCount().
SbBool SoOverrideElement::getComplexityTypeOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoComplexity::doAction().
SbBool SoOverrideElement::getCreaseAngleOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getDiffuseColorOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoBaseColor::doAction(), SoPackedColor::doAction(), and SoVRMLColor::doAction().
SbBool SoOverrideElement::getDrawStyleOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getEmissiveColorOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getFontNameOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getFontSizeOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getLightModelOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoLightModel::doAction().
SbBool SoOverrideElement::getLinePatternOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getLineWidthOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getMaterialBindingOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoMaterialBinding::doAction().
SbBool SoOverrideElement::getPickStyleOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoPickStyle::doAction().
SbBool SoOverrideElement::getPointSizeOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getPolygonOffsetOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoPolygonOffset::doAction().
SbBool SoOverrideElement::getShapeHintsOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getShininessOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getSpecularColorOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getTransparencyOverride (SoState *const state) [static]FIXME: write doc.
SbBool SoOverrideElement::getTransparencyTypeOverride (SoState *const state) [static]FIXME: write doc. Referenced by SoTransparencyType::doAction().
SbBool SoOverrideElement::getNormalVectorOverride (SoState *const state) [static]Returns normal vector override value. \CLASS_FUNCTION_EXTENSION Since Coin 2.0 Referenced by SoNormal::doAction().
SbBool SoOverrideElement::getNormalBindingOverride (SoState *const state) [static]Returns normal binding override value. \CLASS_FUNCTION_EXTENSION Since Coin 2.0 Referenced by SoNormalBinding::doAction().
void SoOverrideElement::setAmbientColorOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoMaterial::doAction(), and SoVRMLMaterial::doAction().
void SoOverrideElement::setColorIndexOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoColorIndex::GLRender().
void SoOverrideElement::setComplexityOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoComplexity::doAction().
void SoOverrideElement::setComplexityTypeOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoComplexity::doAction().
void SoOverrideElement::setCreaseAngleOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoShapeHints::doAction().
void SoOverrideElement::setDiffuseColorOverride (SoState *const state, SoNode *const node, const SbBool override) [static]Can be used to set diffuse color override. This will also set the transparency override. Since we feel this is a design flaw, it is possible to override this behaviour by setting an environement value called COIN_SEPARATE_DIFFUSE_TRANSPARENCY_OVERRIDE to 1. Please note that separate override will not work for the PackedColor or SoVertexProperty nodes. Referenced by SoBaseColor::doAction(), SoMaterial::doAction(), SoPackedColor::doAction(), SoVertexProperty::doAction(), SoVRMLColor::doAction(), and SoVRMLMaterial::doAction().
void SoOverrideElement::setDrawStyleOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoDrawStyle::doAction().
void SoOverrideElement::setEmissiveColorOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoMaterial::doAction(), and SoVRMLMaterial::doAction().
void SoOverrideElement::setFontNameOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoFont::doAction(), and SoFontStyle::doAction().
void SoOverrideElement::setFontSizeOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoFont::doAction(), and SoFontStyle::doAction().
void SoOverrideElement::setLightModelOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoLightModel::doAction().
void SoOverrideElement::setLinePatternOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoDrawStyle::doAction().
void SoOverrideElement::setLineWidthOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoDrawStyle::doAction().
void SoOverrideElement::setPickStyleOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoPickStyle::doAction().
void SoOverrideElement::setPointSizeOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoDrawStyle::doAction().
void SoOverrideElement::setPolygonOffsetOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoPolygonOffset::doAction().
void SoOverrideElement::setShapeHintsOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoShapeHints::doAction(), and SoShadowCulling::GLRender().
void SoOverrideElement::setShininessOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoMaterial::doAction(), and SoVRMLMaterial::doAction().
void SoOverrideElement::setSpecularColorOverride (SoState *const state, SoNode *const node, const SbBool override) [static]FIXME: write doc. Referenced by SoMaterial::doAction(), and SoVRMLMaterial::doAction().
void SoOverrideElement::setTransparencyOverride (SoState *const state, SoNode *const node, const SbBool override) [static]Can be used to set the transparency override. See also setDiffuseColorOverride(). Referenced by SoMaterial::doAction(), and SoVRMLMaterial::doAction().
void SoOverrideElement::setTransparencyTypeOverride (SoState *const state, SoNode *const node, const SbBool override) [static]Can be used to set the transparency type override. See also setDiffuseColorOverride(). Referenced by SoTransparencyType::doAction().
void SoOverrideElement::setNormalVectorOverride (SoState *const state, SoNode *const node, const SbBool override) [static]Can be used to set normal vector override. \CLASS_FUNCTION_EXTENSION Since Coin 2.0 Referenced by SoNormal::doAction(), and SoVertexProperty::doAction().
void SoOverrideElement::setNormalBindingOverride (SoState *const state, SoNode *const node, const SbBool override) [static]Can be used to set normal binding override. \CLASS_FUNCTION_EXTENSION Since Coin 2.0 Referenced by SoNormalBinding::doAction(), and SoVertexProperty::doAction().
AuthorGenerated automatically by Doxygen for Coin from the source code. 0
Johanes Gumabo
Data Size : 86,164 byte
man-SoOverrideElement.3coin2Build : 2024-12-05, 20:55 :
Visitor Screen : x
Visitor Counter ( page / site ) : 2 / 201,797
Visitor ID : :
Visitor IP : 3.144.15.34 :
Visitor Provider : AMAZON-02 :
Provider Position ( lat x lon ) : 39.962500 x -83.006100 : x
Provider Accuracy Radius ( km ) : 1000 :
Provider City : Columbus :
Provider Province : Ohio , : ,
Provider Country : United States :
Provider Continent : North America :
Visitor Recorder : Version :
Visitor Recorder : Library :
Online Linux Manual Page : Version : Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page : Library : lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page : Library : lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base : Version : Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base : Library : lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36
Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.
ERROR : Need New Coding : (rof_nr_x|149|SoOverrideElement.3coin2|244|\n"|const char * scene = "#Inventor V2\&.1 asci\n"
) (rof_nr_x|149|SoOverrideElement.3coin2|245|\n"|"\n"
) (rof_escape_sequence|91|SoOverrideElement.3coin2|382|\CLASS_FUNCTION_EXTENSION |\\CLASS_FUNCTION_EXTENSION
) (rof_escape_sequence|91|SoOverrideElement.3coin2|395|\CLASS_FUNCTION_EXTENSION |\\CLASS_FUNCTION_EXTENSION
) (rof_escape_sequence|91|SoOverrideElement.3coin2|508|\CLASS_FUNCTION_EXTENSION |\\CLASS_FUNCTION_EXTENSION
) (rof_escape_sequence|91|SoOverrideElement.3coin2|521|\CLASS_FUNCTION_EXTENSION |\\CLASS_FUNCTION_EXTENSION
)