Open Inventor Release 2025.1.0
 
Loading...
Searching...
No Matches
SoOverrideElement.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : Roger Chickering (MMM yyyy)
25** Modified by : Gavin Bell (MMM yyyy)
26**=======================================================================*/
27/*=======================================================================
28 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
29 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
30 *** ***
31 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
32 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
33 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
34 *** ***
35 *** RESTRICTED RIGHTS LEGEND ***
36 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
37 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
38 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
39 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
40 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
41 *** ***
42 *** COPYRIGHT (C) 1996-2024 BY FEI S.A.S, ***
43 *** BORDEAUX, FRANCE ***
44 *** ALL RIGHTS RESERVED ***
45**=======================================================================*/
46/*=======================================================================
47** Modified by : VSG (MMM YYYY)
48**=======================================================================*/
49
50
51#ifndef _SO_OVERRIDE_ELEMENT
52#define _SO_OVERRIDE_ELEMENT
53
54#include <Inventor/elements/SoSubElement.h>
55#include <Inventor/STL/bitset>
56
57//
58// Macro to implement get*Override inline methods. There are a lot of
59// these methods, each of which has an identical implementation and
60// which needs to be inline to keep traversal fast.
61#define SO_GET_OVERRIDE(flag) \
62 const SoOverrideElement *elt; \
63 elt = SoElement::getConstElement<SoOverrideElement>(state); \
64 return (elt->m_flags.test(flag));
65
66//
67// Implement set*Override methods.
68//
69#define SO_SET_OVERRIDE(flag) \
70 SoOverrideElement *elt; \
71 elt = SoElement::getElement<SoOverrideElement>(state); \
72 if (override) \
73 elt->m_flags.set(flag); \
74 else \
75 elt->m_flags.reset(flag);
76
91
92SoEXTENDER_Documented class SoOverrideElement : public SoElement {
93
94 SO_ELEMENT_HEADER(SoOverrideElement);
95
96 public:
97
102 virtual void push(SoState *state);
103
104 //
105 // "get" methods for each element which can be overridden.
106 //
107
112 { SO_GET_OVERRIDE(AMBIENT_COLOR); }
113
118 { SO_GET_OVERRIDE(COLOR_INDEX); }
119
124 { SO_GET_OVERRIDE(COMPLEXITY); }
125
130 { SO_GET_OVERRIDE(COMPLEXITY_TYPE); }
131
136 { SO_GET_OVERRIDE(CREASE_ANGLE); }
137
142 { SO_GET_OVERRIDE(NEIGHBOR_TOLERANCE); }
143
148 { SO_GET_OVERRIDE(DIFFUSE_COLOR); }
149
154 { SO_GET_OVERRIDE(DRAW_STYLE); }
155
160 { SO_GET_OVERRIDE(EMISSIVE_COLOR); }
161
166 { SO_GET_OVERRIDE(FONT_NAME); }
167
172 { SO_GET_OVERRIDE(FONT_SIZE); }
173
178 { SO_GET_OVERRIDE(FONT_RENDERSTYLE); }
179
184 { SO_GET_OVERRIDE(LIGHT_MODEL); }
185
190 { SO_GET_OVERRIDE(LINE_PATTERN); }
191
196 { SO_GET_OVERRIDE(LINE_WIDTH); }
197
202 { SO_GET_OVERRIDE(MATERIAL_BINDING); }
203
208 { SO_GET_OVERRIDE(POINT_SIZE); }
209
214 { SO_GET_OVERRIDE(PICK_STYLE); }
215
220 { SO_GET_OVERRIDE(SHAPE_HINTS); }
221
226 { SO_GET_OVERRIDE(SHININESS); }
227
232 {
233 SO_GET_OVERRIDE(SPECULAR_FACTOR);
234 }
235
240 {
241 SO_GET_OVERRIDE(ROUGHNESS);
242 }
243
248 {
249 SO_GET_OVERRIDE(METALLIC);
250 }
251
256 { SO_GET_OVERRIDE(SPECULAR_COLOR); }
257
262 { SO_GET_OVERRIDE(TRANSPARENCY); }
263
268 { SO_GET_OVERRIDE(TRANSPARENCY_TYPE); }
269
274 { SO_GET_OVERRIDE(ENVIRONMENT); }
275
280 {
281 SO_GET_OVERRIDE(ENVIRONMENT_MAP);
282 }
283
288 { SO_GET_OVERRIDE(POLYGON_OFFSET); }
289
294 { SO_GET_OVERRIDE(PATTERN_OFFSET); }
295
300 { SO_GET_OVERRIDE(FULL_SCENE_ANTIALIASING); }
301
306 { SO_GET_OVERRIDE(DEPTH_BUFFER_RANGE); }
307
312 { SO_GET_OVERRIDE(DEPTH_BUFFER_FUNCTION); }
313
318 { SO_GET_OVERRIDE(BBOX_TYPE); }
319
320
321 //
322 // "set" methods for each element which can be overridden.
323 //
324
328 static void setAmbientColorOverride(SoState *state, SoNode *, SbBool override)
329 { SO_SET_OVERRIDE(AMBIENT_COLOR); }
330
334 static void setColorIndexOverride(SoState *state, SoNode *, SbBool override)
335 { SO_SET_OVERRIDE(COLOR_INDEX); }
336
340 static void setComplexityOverride(SoState *state, SoNode *, SbBool override)
341 { SO_SET_OVERRIDE(COMPLEXITY); }
342
346 static void setComplexityTypeOverride(SoState *state, SoNode *, SbBool override)
347 { SO_SET_OVERRIDE(COMPLEXITY_TYPE); }
348
352 static void setCreaseAngleOverride(SoState *state, SoNode *, SbBool override)
353 { SO_SET_OVERRIDE(CREASE_ANGLE); }
354
358 static void setNeighborToleranceOverride(SoState *state, SoNode *, SbBool override)
359 { SO_SET_OVERRIDE(NEIGHBOR_TOLERANCE); }
360
364 static void setDiffuseColorOverride(SoState *state, SoNode *, SbBool override);
365
369 static void setDrawStyleOverride(SoState *state, SoNode *, SbBool override)
370 { SO_SET_OVERRIDE(DRAW_STYLE); }
371
375 static void setEmissiveColorOverride(SoState *state, SoNode *, SbBool override)
376 { SO_SET_OVERRIDE(EMISSIVE_COLOR); }
377
381 static void setFontNameOverride(SoState *state, SoNode *, SbBool override)
382 { SO_SET_OVERRIDE(FONT_NAME); }
383
387 static void setFontSizeOverride(SoState *state, SoNode *, SbBool override)
388 { SO_SET_OVERRIDE(FONT_SIZE); }
389
393 static void setFontRenderStyleOverride(SoState *state, SoNode *, SbBool override)
394 { SO_SET_OVERRIDE(FONT_RENDERSTYLE); }
395
399 static void setLightModelOverride(SoState *state, SoNode *, SbBool override)
400 { SO_SET_OVERRIDE(LIGHT_MODEL); }
401
405 static void setLinePatternOverride(SoState *state, SoNode *, SbBool override)
406 { SO_SET_OVERRIDE(LINE_PATTERN); }
407
411 static void setLineWidthOverride(SoState *state, SoNode *, SbBool override)
412 { SO_SET_OVERRIDE(LINE_WIDTH); }
413
417 static void setMaterialBindingOverride(SoState *state, SoNode *, SbBool override);
418
422 static void setPickStyleOverride(SoState *state, SoNode *, SbBool override)
423 { SO_SET_OVERRIDE(PICK_STYLE); }
424
428 static void setPointSizeOverride(SoState *state, SoNode *, SbBool override)
429 { SO_SET_OVERRIDE(POINT_SIZE); }
430
434 static void setShapeHintsOverride(SoState *state, SoNode *, SbBool override)
435 { SO_SET_OVERRIDE(SHAPE_HINTS); }
436
440 static void setShininessOverride(SoState *state, SoNode *, SbBool override)
441 { SO_SET_OVERRIDE(SHININESS); }
442
446 static void setSpecularFactorOverride(SoState* state, SoNode*, SbBool override)
447 {
448 SO_SET_OVERRIDE(SPECULAR_FACTOR);
449 }
450
454 static void setRoughnessOverride(SoState* state, SoNode*, SbBool override)
455 {
456 SO_SET_OVERRIDE(ROUGHNESS);
457 }
458
462 static void setMetallicOverride(SoState* state, SoNode*, SbBool override)
463 {
464 SO_SET_OVERRIDE(METALLIC);
465 }
466
470 static void setSpecularColorOverride(SoState *state, SoNode *, SbBool override)
471 { SO_SET_OVERRIDE(SPECULAR_COLOR); }
472
476 static void setTransparencyOverride(SoState *state, SoNode *, SbBool override);
477
481 static void setTransparencyTypeOverride(SoState *state, SoNode *, SbBool override)
482 { SO_SET_OVERRIDE(TRANSPARENCY_TYPE); }
483
487 static void setEnvironmentOverride(SoState *state, SoNode *, SbBool override)
488 { SO_SET_OVERRIDE(ENVIRONMENT); }
489
493 static void setEnvironmentMapOverride(SoState* state, SoNode*, SbBool override)
494 {
495 SO_SET_OVERRIDE(ENVIRONMENT_MAP);
496 }
497
501 static void setPolygonOffsetOverride(SoState *state, SoNode *, SbBool override)
502 { SO_SET_OVERRIDE(POLYGON_OFFSET); }
503
507 static void setPatternOverride(SoState *state, SoNode *, SbBool override)
508 { SO_SET_OVERRIDE(PATTERN_OFFSET); }
509
513 static void setFullSceneAntialiasingOverride(SoState *state, SoNode *, SbBool override)
514 { SO_SET_OVERRIDE(FULL_SCENE_ANTIALIASING); }
515
519 static void setDepthBufferRangeOverride(SoState *state, SoNode *, SbBool override)
520 { SO_SET_OVERRIDE(DEPTH_BUFFER_RANGE); }
521
525 static void setDepthBufferFunctionOverride(SoState *state, SoNode *, SbBool override)
526 { SO_SET_OVERRIDE(DEPTH_BUFFER_FUNCTION); }
527
531 static void setBBoxTypeOverride(SoState *state, SoNode *, SbBool override)
532 { SO_SET_OVERRIDE(BBOX_TYPE); }
533
537 virtual void print(FILE *fp) const;
538
539private:
540
542 virtual void init(SoState *state);
543
547 virtual SbBool matches(const SoElement* elt) const;
548
550 virtual SoElement* copyMatchInfo() const;
551
552 private:
553 enum Defined_Override_Bit {
554 AMBIENT_COLOR= 0,
555 COLOR_INDEX,
556 COMPLEXITY,
557 COMPLEXITY_TYPE,
558 CREASE_ANGLE,
559 DIFFUSE_COLOR,
560 TRANSPARENCY,
561 DRAW_STYLE,
562 EMISSIVE_COLOR,
563 FONT_NAME,
564 FONT_SIZE,
565 LIGHT_MODEL,
566 LINE_PATTERN,
567 LINE_WIDTH,
568 MATERIAL_BINDING,
569 POINT_SIZE,
570 PICK_STYLE,
571 PICK_METHOD,
572 SHAPE_HINTS,
573 SHININESS,
574 SPECULAR_FACTOR,
575 ROUGHNESS,
576 METALLIC,
577 SPECULAR_COLOR,
578 POLYGON_OFFSET,
579 PATTERN_OFFSET,
580 FONT_RENDERSTYLE,
581 FULL_SCENE_ANTIALIASING,
582 TRANSPARENCY_TYPE,
583 ENVIRONMENT,
584 ENVIRONMENT_MAP,
585 DEPTH_BUFFER_RANGE,
586 DEPTH_BUFFER_FUNCTION,
587 BBOX_TYPE,
588 NEIGHBOR_TOLERANCE,
589 TEXTPRP_ANTIALIASING_FACTOR,
590 TEXTPRP_ALIGNEMENT_H,
591 TEXTPRP_ALIGNEMENT_V,
592 TEXTPRP_BACKFRAMELINE,
593 TEXTPRP_ORIENTATION,
594 TEXTPRP_KERNING,
595 TEXTPRP_TEXTUREQUALITY,
596 TEXTPRP_MARGIN,
597 TEXTPRP_STYLE,
598 TEXTPRP_STYLECOLORS,
599 TEXTPRP_STYLECOLORS_USE_CURRENT_MATERIAL,
600 TEXTPRP_CHARACTER_SPACING,
601 LAST_OVERRIDE_BIT,
602 };
603
604 typedef std::bitset<LAST_OVERRIDE_BIT> BitSetType;
605
606 // Initializes the SoOverrideElement class
607 static void initClass();
608 static void exitClass();
609
611 static void setOverrideFlag(SoState* state, SoNode* SO_UNUSED_PARAM(node), Defined_Override_Bit flag, bool override)
612 {
613 SO_SET_OVERRIDE(flag);
614 }
615
616 // Compares input SoOverrideElement with this object
617 // possibly using testBitMask to filter some bits
618 // returns true if all bits are set in both SoOverrideElement
619 bool compareWithMask( const SoOverrideElement& in, const BitSetType* testBitMask = NULL ) const;
620
621 // helper class to test several bit of the bitset without
622 // getting the State element more than once
623 class BitSetGetter
624 {
625 public:
626 explicit BitSetGetter( SoState* state )
627 : m_BufferedFlags( SoElement::getConstElement<SoOverrideElement>( state )->m_flags )
628 {
629 }
630
631 virtual ~BitSetGetter()
632 {
633 }
634
635 // this is not requiring the getConstElement that can be costly
636 inline bool testBit( int i ) const
637 {
638 return m_BufferedFlags.test(i);
639 }
640
641 private:
642 BitSetGetter & operator=( const BitSetGetter & ) { return *this; }
643 const BitSetType& m_BufferedFlags;
644 };
645
646 // helper class to test several bit of the bitset without
647 // getting the State element more than once
648 class BitSetSetter
649 {
650 public:
651 explicit BitSetSetter( SoState* state )
652 : m_BufferedFlags( SoElement::getElement<SoOverrideElement>( state )->m_flags )
653 {
654 }
655
656 virtual ~BitSetSetter()
657 {
658 }
659
660 // this is not requiring the getConstElement that can be costly
661 inline void setBit( size_t i, bool value )
662 {
663 m_BufferedFlags.set(i, value);
664 }
665
666 private:
667 BitSetSetter & operator=( const BitSetSetter & );
668 BitSetType& m_BufferedFlags;
669 };
670
672 static void resetOverrideFlag(SoState* state);
673
674 private:
675 // Used by ::print method
676 void pFlag(FILE *, int) const;
677
678 BitSetType m_flags;
679
680};
681
682#endif /* _SO_OVERRIDE_ELEMENT */
683
friend class SoState
Definition SoElement.h:406
Abstract base class for all database nodes.
Definition SoNode.h:145
static SbBool getMaterialBindingOverride(SoState *state)
Returns TRUE if SoMaterialBindingElement is overridden.
static SbBool getPatternOverride(SoState *state)
Returns TRUE if SoPatternElement is overriden.
static SbBool getShininessOverride(SoState *state)
Returns TRUE if SoShininessElement is overridden.
static SbBool getSpecularFactorOverride(SoState *state)
Returns TRUE if SoPhysicalMaterial::specular is overridden.
static void setLinePatternOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoLinePatternElement.
static void setFullSceneAntialiasingOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoFullSceneAntialiasingElement.
static void setShininessOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoShininessElement.
static void setComplexityTypeOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoComplexityTypeElement.
static void setPatternOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoPatternElement.
static void setLightModelOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoLightModelElement.
static SbBool getDrawStyleOverride(SoState *state)
Returns TRUE if SoDrawStyleElement is overridden.
static SbBool getTransparencyTypeOverride(SoState *state)
Returns TRUE if SoTransparencyTypeElement is overridden.
static SbBool getMetallicOverride(SoState *state)
Returns TRUE if SoPhysicalMaterial::metallic is overridden.
static void setMaterialBindingOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoMaterialBindingElement.
static void setColorIndexOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoColorIndexElement.
static void setTransparencyOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoTransparencyElement.
static SbBool getComplexityOverride(SoState *state)
Returns TRUE if SoComplexityElement is overridden.
static void setDiffuseColorOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoDiffuseColorElement.
static SbBool getNeighborToleranceOverride(SoState *state)
Returns TRUE if SoNeighborToleranceElement is overridden.
static SbBool getTransparencyOverride(SoState *state)
Returns TRUE if SoTransparencyElement is overridden.
static SbBool getFontSizeOverride(SoState *state)
Returns TRUE if SoFontSizeElement is overridden.
static void setEnvironmentMapOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoEnvironmentMap.
static void setLineWidthOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoLineWidthElement.
static SbBool getComplexityTypeOverride(SoState *state)
Returns TRUE if SoComplexityTypeElement is overridden.
static void setAmbientColorOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoAmbientColorElement.
static SbBool getLinePatternOverride(SoState *state)
Returns TRUE if SoLinePatternElement is overridden.
static SbBool getRoughnessOverride(SoState *state)
Returns TRUE if SoPhysicalMaterial::roughness is overridden.
static SbBool getLightModelOverride(SoState *state)
Returns TRUE if SoLightModelElement is overridden.
static void setSpecularFactorOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoPhysicalMaterial::specular.
static SbBool getCreaseAngleOverride(SoState *state)
Returns TRUE if SoCreaseAngleElement is overridden.
static void setComplexityOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoComplexityElement.
static SbBool getDepthBufferRangeOverride(SoState *state)
Returns TRUE if SoDepthBuffer::range is overridden.
static SbBool getPolygonOffsetOverride(SoState *state)
Returns TRUE if SoPolygonOffsetElement is overridden.
static void setEnvironmentOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoEnvironmentElement.
static void setSpecularColorOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoSpecularColorElement.
static SbBool getPointSizeOverride(SoState *state)
Returns TRUE if SoPointSizeElement is overridden.
virtual void push(SoState *state)
Overrides push() method to copy values from next instance in the stack, and set up cache dependencies...
static void setNeighborToleranceOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoNeighborToleranceElement.
static void setFontNameOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoFontNameElement.
static void setEmissiveColorOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoEmissiveColorElement.
static void setFontRenderStyleOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoFontRenderStyleElement.
static SbBool getSpecularColorOverride(SoState *state)
Returns TRUE if SoSpecularColorElement is overridden.
static void setMetallicOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoPhysicalMaterial::metallic.
static void setFontSizeOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoFontSizeElement.
static SbBool getPickStyleOverride(SoState *state)
Returns TRUE if SoPickStyleElement is overridden.
static SbBool getDepthBufferFunctionOverride(SoState *state)
Returns TRUE if SoDepthBuffer::function is overridden.
static SbBool getEmissiveColorOverride(SoState *state)
Returns TRUE if SoEmissiveColorElement is overridden.
static SbBool getFontRenderStyleOverride(SoState *state)
Returns TRUE if SoFontRenderStyleElement is overridden.
static void setDepthBufferRangeOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoDepthBuffer::range.
static void setRoughnessOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoPhysicalMaterial::roughness.
static SbBool getColorIndexOverride(SoState *state)
Returns TRUE if SoColorIndexElement is overridden.
static SbBool getBBoxTypeOverride(SoState *state)
Returns TRUE if SoComplexityType::bboxType is overridden.
static SbBool getFontNameOverride(SoState *state)
Returns TRUE if SoFontNameElement is overridden.
static SbBool getEnvironmentMapOverride(SoState *state)
Returns TRUE if SoEnvironmentMap is overridden.
static SbBool getEnvironmentOverride(SoState *state)
Returns TRUE if SoEnvironmentElement is overridden.
static SbBool getShapeHintsOverride(SoState *state)
Returns TRUE if SoShapeHintsElement is overridden.
static void setCreaseAngleOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoCreaseAngleElement.
static void setPickStyleOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoPickStyleElement.
static void setPolygonOffsetOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoPolygonOffsetElement.
static void setDepthBufferFunctionOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoDepthBuffer::function.
static void setPointSizeOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoPointSizeElement.
static SbBool getFullSceneAntialiasingOverride(SoState *state)
Returns TRUE if SoFullSceneAntialiasingElement is overridden.
static SbBool getAmbientColorOverride(SoState *state)
Returns TRUE if SoAmbientColorElement is overridden.
static SbBool getLineWidthOverride(SoState *state)
Returns TRUE if SoLineWidthElement is overridden.
virtual void print(FILE *fp) const
Prints element (for debugging).
static SbBool getDiffuseColorOverride(SoState *state)
Returns TRUE if SoDiffuseColorElement is overridden.
static void setShapeHintsOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoShapeHintsElement.
static void setDrawStyleOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoDrawStyleElement.
static void setBBoxTypeOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoComplexity::bboxType.
static void setTransparencyTypeOverride(SoState *state, SoNode *, SbBool override)
Set override flag for SoTransparencyTypeElement.
Traversal state.
Definition SoState.h:74
int SbBool
Boolean type.
Definition SbBase.h:87