Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
SoOverrideElement.h
Go to the documentation of this file.
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-2023 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
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
93
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 { SO_GET_OVERRIDE(POLYGON_OFFSET); }
281
286 { SO_GET_OVERRIDE(PATTERN_OFFSET); }
287
292 { SO_GET_OVERRIDE(FULL_SCENE_ANTIALIASING); }
293
298 { SO_GET_OVERRIDE(DEPTH_BUFFER_RANGE); }
299
304 { SO_GET_OVERRIDE(DEPTH_BUFFER_FUNCTION); }
305
310 { SO_GET_OVERRIDE(BBOX_TYPE); }
311
312
313 //
314 // "set" methods for each element which can be overridden.
315 //
316
320 static void setAmbientColorOverride(SoState *state, SoNode *, SbBool override)
321 { SO_SET_OVERRIDE(AMBIENT_COLOR); }
322
326 static void setColorIndexOverride(SoState *state, SoNode *, SbBool override)
327 { SO_SET_OVERRIDE(COLOR_INDEX); }
328
332 static void setComplexityOverride(SoState *state, SoNode *, SbBool override)
333 { SO_SET_OVERRIDE(COMPLEXITY); }
334
338 static void setComplexityTypeOverride(SoState *state, SoNode *, SbBool override)
339 { SO_SET_OVERRIDE(COMPLEXITY_TYPE); }
340
344 static void setCreaseAngleOverride(SoState *state, SoNode *, SbBool override)
345 { SO_SET_OVERRIDE(CREASE_ANGLE); }
346
350 static void setNeighborToleranceOverride(SoState *state, SoNode *, SbBool override)
351 { SO_SET_OVERRIDE(NEIGHBOR_TOLERANCE); }
352
356 static void setDiffuseColorOverride(SoState *state, SoNode *, SbBool override);
357
361 static void setDrawStyleOverride(SoState *state, SoNode *, SbBool override)
362 { SO_SET_OVERRIDE(DRAW_STYLE); }
363
367 static void setEmissiveColorOverride(SoState *state, SoNode *, SbBool override)
368 { SO_SET_OVERRIDE(EMISSIVE_COLOR); }
369
373 static void setFontNameOverride(SoState *state, SoNode *, SbBool override)
374 { SO_SET_OVERRIDE(FONT_NAME); }
375
379 static void setFontSizeOverride(SoState *state, SoNode *, SbBool override)
380 { SO_SET_OVERRIDE(FONT_SIZE); }
381
385 static void setFontRenderStyleOverride(SoState *state, SoNode *, SbBool override)
386 { SO_SET_OVERRIDE(FONT_RENDERSTYLE); }
387
391 static void setLightModelOverride(SoState *state, SoNode *, SbBool override)
392 { SO_SET_OVERRIDE(LIGHT_MODEL); }
393
397 static void setLinePatternOverride(SoState *state, SoNode *, SbBool override)
398 { SO_SET_OVERRIDE(LINE_PATTERN); }
399
403 static void setLineWidthOverride(SoState *state, SoNode *, SbBool override)
404 { SO_SET_OVERRIDE(LINE_WIDTH); }
405
409 static void setMaterialBindingOverride(SoState *state, SoNode *, SbBool override);
410
414 static void setPickStyleOverride(SoState *state, SoNode *, SbBool override)
415 { SO_SET_OVERRIDE(PICK_STYLE); }
416
420 static void setPointSizeOverride(SoState *state, SoNode *, SbBool override)
421 { SO_SET_OVERRIDE(POINT_SIZE); }
422
426 static void setShapeHintsOverride(SoState *state, SoNode *, SbBool override)
427 { SO_SET_OVERRIDE(SHAPE_HINTS); }
428
432 static void setShininessOverride(SoState *state, SoNode *, SbBool override)
433 { SO_SET_OVERRIDE(SHININESS); }
434
438 static void setSpecularFactorOverride(SoState* state, SoNode*, SbBool override)
439 {
440 SO_SET_OVERRIDE(SPECULAR_FACTOR);
441 }
442
446 static void setRoughnessOverride(SoState* state, SoNode*, SbBool override)
447 {
448 SO_SET_OVERRIDE(ROUGHNESS);
449 }
450
454 static void setMetallicOverride(SoState* state, SoNode*, SbBool override)
455 {
456 SO_SET_OVERRIDE(METALLIC);
457 }
458
462 static void setSpecularColorOverride(SoState *state, SoNode *, SbBool override)
463 { SO_SET_OVERRIDE(SPECULAR_COLOR); }
464
468 static void setTransparencyOverride(SoState *state, SoNode *, SbBool override);
469
473 static void setTransparencyTypeOverride(SoState *state, SoNode *, SbBool override)
474 { SO_SET_OVERRIDE(TRANSPARENCY_TYPE); }
475
479 static void setEnvironmentOverride(SoState *state, SoNode *, SbBool override)
480 { SO_SET_OVERRIDE(ENVIRONMENT); }
481
485 static void setPolygonOffsetOverride(SoState *state, SoNode *, SbBool override)
486 { SO_SET_OVERRIDE(POLYGON_OFFSET); }
487
491 static void setPatternOverride(SoState *state, SoNode *, SbBool override)
492 { SO_SET_OVERRIDE(PATTERN_OFFSET); }
493
497 static void setFullSceneAntialiasingOverride(SoState *state, SoNode *, SbBool override)
498 { SO_SET_OVERRIDE(FULL_SCENE_ANTIALIASING); }
499
503 static void setDepthBufferRangeOverride(SoState *state, SoNode *, SbBool override)
504 { SO_SET_OVERRIDE(DEPTH_BUFFER_RANGE); }
505
509 static void setDepthBufferFunctionOverride(SoState *state, SoNode *, SbBool override)
510 { SO_SET_OVERRIDE(DEPTH_BUFFER_FUNCTION); }
511
515 static void setBBoxTypeOverride(SoState *state, SoNode *, SbBool override)
516 { SO_SET_OVERRIDE(BBOX_TYPE); }
517
521 virtual void print(FILE *fp) const;
522
523private:
524
526 virtual void init(SoState *state);
527
531 virtual SbBool matches(const SoElement* elt) const;
532
534 virtual SoElement* copyMatchInfo() const;
535
536 private:
537 enum Defined_Override_Bit {
538 AMBIENT_COLOR= 0,
539 COLOR_INDEX,
540 COMPLEXITY,
541 COMPLEXITY_TYPE,
542 CREASE_ANGLE,
543 DIFFUSE_COLOR,
544 TRANSPARENCY,
545 DRAW_STYLE,
546 EMISSIVE_COLOR,
547 FONT_NAME,
548 FONT_SIZE,
549 LIGHT_MODEL,
550 LINE_PATTERN,
551 LINE_WIDTH,
552 MATERIAL_BINDING,
553 POINT_SIZE,
554 PICK_STYLE,
555 PICK_METHOD,
556 SHAPE_HINTS,
557 SHININESS,
558 SPECULAR_FACTOR,
559 ROUGHNESS,
560 METALLIC,
561 SPECULAR_COLOR,
562 POLYGON_OFFSET,
563 PATTERN_OFFSET,
564 FONT_RENDERSTYLE,
565 FULL_SCENE_ANTIALIASING,
566 TRANSPARENCY_TYPE,
567 ENVIRONMENT,
568 DEPTH_BUFFER_RANGE,
569 DEPTH_BUFFER_FUNCTION,
570 BBOX_TYPE,
571 NEIGHBOR_TOLERANCE,
572 TEXTPRP_ANTIALIASING_FACTOR,
573 TEXTPRP_ALIGNEMENT_H,
574 TEXTPRP_ALIGNEMENT_V,
575 TEXTPRP_BACKFRAMELINE,
576 TEXTPRP_ORIENTATION,
577 TEXTPRP_KERNING,
578 TEXTPRP_TEXTUREQUALITY,
579 TEXTPRP_MARGIN,
580 TEXTPRP_STYLE,
581 TEXTPRP_STYLECOLORS,
582 TEXTPRP_STYLECOLORS_USE_CURRENT_MATERIAL,
583 TEXTPRP_CHARACTER_SPACING,
584 LAST_OVERRIDE_BIT,
585 };
586
587 typedef std::bitset<LAST_OVERRIDE_BIT> BitSetType;
588
589 // Initializes the SoOverrideElement class
590 static void initClass();
591 static void exitClass();
592
594 static void setOverrideFlag(SoState* state, SoNode* SO_UNUSED_PARAM(node), Defined_Override_Bit flag, bool override)
595 {
596 SO_SET_OVERRIDE(flag);
597 }
598
599 // Compares input SoOverrideElement with this object
600 // possibly using testBitMask to filter some bits
601 // returns true if all bits are set in both SoOverrideElement
602 bool compareWithMask( const SoOverrideElement& in, const BitSetType* testBitMask = NULL ) const;
603
604 // helper class to test several bit of the bitset without
605 // getting the State element more than once
606 class BitSetGetter
607 {
608 public:
609 explicit BitSetGetter( SoState* state )
610 : m_BufferedFlags( SoElement::getConstElement<SoOverrideElement>( state )->m_flags )
611 {
612 }
613
614 virtual ~BitSetGetter()
615 {
616 }
617
618 // this is not requiring the getConstElement that can be costly
619 inline bool testBit( int i ) const
620 {
621 return m_BufferedFlags.test(i);
622 }
623
624 private:
625 BitSetGetter & operator=( const BitSetGetter & ) { return *this; }
626 const BitSetType& m_BufferedFlags;
627 };
628
629 // helper class to test several bit of the bitset without
630 // getting the State element more than once
631 class BitSetSetter
632 {
633 public:
634 explicit BitSetSetter( SoState* state )
635 : m_BufferedFlags( SoElement::getElement<SoOverrideElement>( state )->m_flags )
636 {
637 }
638
639 virtual ~BitSetSetter()
640 {
641 }
642
643 // this is not requiring the getConstElement that can be costly
644 inline void setBit( size_t i, bool value )
645 {
646 m_BufferedFlags.set(i, value);
647 }
648
649 private:
650 BitSetSetter & operator=( const BitSetSetter & );
651 BitSetType& m_BufferedFlags;
652 };
653
655 static void resetOverrideFlag(SoState* state);
656
657 private:
658 // Used by ::print method
659 void pFlag(FILE *, int) const;
660
661 BitSetType m_flags;
662
663};
664
665#endif /* _SO_OVERRIDE_ELEMENT */
666
#define SoEXTENDER_Documented
#define SO_GET_OVERRIDE(flag)
#define SO_SET_OVERRIDE(flag)
static void init()
#define SO_ELEMENT_HEADER(className)
valueRef operator=(valueRef newValue)
Sets this field to newValue.
Definition SoSubField.h:242
Abstract base class for all state elements.
Definition SoElement.h:102
Abstract base class for all database nodes.
Definition SoNode.h:145
Stores a flag for each type of element which can be overridden.
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 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 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