|
| | SoSpotLightDragger (void) |
| |
| const SoNodekitCatalog * | getNodekitCatalog (void) const override |
| |
| SoType | getTypeId (void) const override |
| |
| void | addFinishCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | addMotionCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | addOtherEventCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | addStartCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | addValueChangedCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | callback (SoCallbackAction *action) override |
| |
| SoPath * | createPathToThis (void) |
| |
| SbBool | enableValueChangedCallbacks (SbBool newval) |
| |
| const SoEvent * | getEvent (void) const |
| |
| ProjectorFrontSetting | getFrontOnProjector (void) const |
| |
| SoHandleEventAction * | getHandleEventAction (void) const |
| |
| SbVec3f | getLocalStartingPoint (void) |
| |
| SbMatrix | getLocalToWorldMatrix (void) |
| |
| void | getMatrix (SoGetMatrixAction *action) override |
| |
| int | getMinGesture (void) const |
| |
| const SbMatrix & | getMotionMatrix (void) |
| |
| void | getPartToLocalMatrix (const SbName &partname, SbMatrix &parttolocalmatrix, SbMatrix &localtopartmatrix) |
| |
| const SoPath * | getPickPath (void) const |
| |
| void | getPrimitiveCount (SoGetPrimitiveCountAction *action) override |
| |
|
float | getProjectorEpsilon (void) const |
| |
| const SbMatrix & | getStartMotionMatrix (void) |
| |
| const SbName & | getSurrogatePartPickedName (void) const |
| |
| const SoPath * | getSurrogatePartPickedOwner (void) const |
| |
| const SoPath * | getSurrogatePartPickedPath (void) const |
| |
| const SbViewportRegion & | getViewportRegion (void) |
| |
| const SbViewVolume & | getViewVolume (void) |
| |
| SbVec3f | getWorldStartingPoint (void) |
| |
| SbMatrix | getWorldToLocalMatrix (void) |
| |
| void | GLRender (SoGLRenderAction *action) override |
| |
| void | grabEventsCleanup (void) override |
| |
| void | grabEventsSetup (void) override |
| |
| void | rayPick (SoRayPickAction *action) override |
| |
| void | registerChildDragger (SoDragger *child) |
| |
| void | registerChildDraggerMovingIndependently (SoDragger *child) |
| |
| void | removeFinishCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | removeMotionCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | removeOtherEventCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | removeStartCallback (SoDraggerCB *func, void *data=NULL) |
| |
| void | removeValueChangedCallback (SoDraggerCB *func, void *data=NULL) |
| |
| virtual void | saveStartParameters (void) |
| |
| void | search (SoSearchAction *action) override |
| |
| void | setFrontOnProjector (ProjectorFrontSetting newval) |
| |
| void | setHandleEventAction (SoHandleEventAction *newAction) |
| |
| void | setMinGesture (int pixels) |
| |
| virtual void | setMotionMatrix (const SbMatrix &newmatrix) |
| |
| void | setProjectorEpsilon (const float epsilon) |
| |
| void | setStartingPoint (const SbVec3f &newpoint) |
| |
| void | setStartingPoint (const SoPickedPoint *newpoint) |
| |
| void | setTempPathToThis (const SoPath *somethingclose) |
| |
| void | setViewportRegion (const SbViewportRegion ®) |
| |
| void | setViewVolume (const SbViewVolume &vol) |
| |
| void | transformMatrixLocalToWorld (const SbMatrix &frommatrix, SbMatrix &tomatrix) |
| |
| void | transformMatrixToLocalSpace (const SbMatrix &frommatrix, SbMatrix &tomatrix, const SbName &fromspacepartname) |
| |
| void | transformMatrixWorldToLocal (const SbMatrix &frommatrix, SbMatrix &tomatrix) |
| |
| void | unregisterChildDragger (SoDragger *child) |
| |
| void | unregisterChildDraggerMovingIndependently (SoDragger *child) |
| |
| void | valueChanged (void) |
| |
| void | workFieldsIntoTransform (SbMatrix &mtx) |
| |
| void | write (SoWriteAction *action) override |
| |
| | SoInteractionKit (void) |
| |
| SbBool | isPathSurrogateInMySubgraph (const SoPath *path) |
| |
| SbBool | isPathSurrogateInMySubgraph (const SoPath *path, SoPath *&pathToOwner, SbName &surrogatename, SoPath *&surrogatepath, SbBool fillargs=TRUE) |
| |
| SbBool | setPart (const SbName &partname, SoNode *from) override |
| |
| virtual SbBool | setPartAsDefault (const SbName &partname, const SbName &nodename, SbBool onlyifdefault=TRUE) |
| |
| virtual SbBool | setPartAsDefault (const SbName &partname, SoNode *node, SbBool onlyifdefault=TRUE) |
| |
| virtual SbBool | setPartAsPath (const SbName &partname, SoPath *path) |
| |
| | SoBaseKit (void) |
| |
| void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) override |
| |
| virtual SoNodeKitPath * | createPathToPart (const SbName &partname, SbBool makeifneeded, const SoPath *pathtoextend=NULL) |
| |
| void | doAction (SoAction *action) override |
| |
| SbBool | forceChildDrivenWriteRefs (SoOutput *out) |
| |
| SoChildList * | getChildren (void) const override |
| |
| virtual SoNode * | getPart (const SbName &partname, SbBool makeifneeded) |
| |
| SbString | getPartString (const SoBase *part) |
| |
| void | printDiagram (void) |
| |
| void | printSubDiagram (const SbName &rootname, int level) |
| |
| void | printTable (void) |
| |
| SbBool | set (const char *namevaluepairliststring) |
| |
| SbBool | set (const char *partnamestring, const char *parameterstring) |
| |
| virtual SbBool | affectsState (void) const |
| |
| virtual void | audioRender (SoAudioRenderAction *action) |
| |
| virtual SoNode * | copy (SbBool copyconnections=FALSE) const |
| |
| void | copyContents (const SoFieldContainer *from, SbBool copyconnections) override |
| |
| SoFieldContainer * | copyThroughConnection (void) const override |
| |
| SbUniqueId | getNodeId (void) const |
| |
| NodeType | getNodeType (void) const |
| |
| virtual void | GLRenderBelowPath (SoGLRenderAction *action) |
| |
| virtual void | GLRenderInPath (SoGLRenderAction *action) |
| |
| virtual void | GLRenderOffPath (SoGLRenderAction *action) |
| |
| SbBool | isOverride (void) const |
| |
| void | notify (SoNotList *l) override |
| |
| virtual void | pick (SoPickAction *action) |
| |
| void | setNodeType (const NodeType type) |
| |
| void | setOverride (const SbBool state) |
| |
| void | startNotify (void) override |
| |
| void | writeInstance (SoOutput *out) override |
| |
| void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) override |
| |
| void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) |
| |
| SbBool | enableNotify (const SbBool flag) |
| |
| SbBool | fieldsAreEqual (const SoFieldContainer *container) const |
| |
| void | get (SbString &fielddata) |
| |
| void | get (SbString &fielddata, SoOutput *out) |
| |
| virtual int | getAllFields (SoFieldList &l) const |
| |
| virtual SoField * | getEventIn (const SbName &name) const |
| |
| virtual SoField * | getEventOut (const SbName &name) const |
| |
| virtual SoField * | getField (const SbName &name) const |
| |
| SbBool | getFieldName (const SoField *const field, SbName &name) const |
| |
| virtual int | getFields (SoFieldList &l) const |
| |
| virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const |
| |
| SbBool | getIsBuiltIn (void) const |
| |
| void * | getUserData (void) const |
| |
| SbBool | hasDefaultValues (void) const |
| |
| SbBool | isNotifyEnabled (void) const |
| |
| SbBool | set (const char *const fielddata) |
| |
| SbBool | set (const char *fielddata, SoInput *input) |
| |
| void | setToDefaults (void) |
| |
| void | setUserData (void *userdata) const |
| |
| virtual SbBool | validateNewFieldValue (SoField *field, void *newval) |
| |
| void | addAuditor (void *const auditor, const SoNotRec::Type type) |
| |
| void | assertAlive (void) const |
| |
| const SoAuditorList & | getAuditors (void) const |
| |
| virtual SbName | getName (void) const |
| |
| int32_t | getRefCount (void) const |
| |
| SbBool | isOfType (SoType type) const |
| | Returns TRUE if the type of this object is either of the same type or inherited from type.
|
| |
| void | ref (void) const |
| |
| void | removeAuditor (void *const auditor, const SoNotRec::Type type) |
| |
| virtual void | setName (const SbName &newname) |
| |
| SbBool | shouldWrite (void) |
| |
| void | touch (void) |
| |
| void | unref (void) const |
| |
| void | unrefNoDelete (void) const |
| |
|
| static const SoNodekitCatalog * | getClassNodekitCatalog (void) |
| |
| static SoType | getClassTypeId (void) |
| |
| static void | initClass (void) |
| |
| static SbMatrix | appendRotation (const SbMatrix &mtx, const SbRotation &rot, const SbVec3f &rotcenter, const SbMatrix *conversion=NULL) |
| |
| static SbMatrix | appendScale (const SbMatrix &mtx, const SbVec3f &scale, const SbVec3f &scalecenter, const SbMatrix *conversion=NULL) |
| |
| static SbMatrix | appendTranslation (const SbMatrix &mtx, const SbVec3f &translation, const SbMatrix *conversion=NULL) |
| |
| static const SoNodekitCatalog * | getClassNodekitCatalog (void) |
| |
| static SoType | getClassTypeId (void) |
| |
| static float | getMinScale (void) |
| |
| static void | getTransformFast (SbMatrix &mtx, SbVec3f &translation, SbRotation &rotation, SbVec3f &scalefactor, SbRotation &scaleorientation) |
| |
| static void | getTransformFast (SbMatrix &mtx, SbVec3f &translation, SbRotation &rotation, SbVec3f &scalefactor, SbRotation &scaleorientation, const SbVec3f ¢er) |
| |
| static void | initClass (void) |
| |
| static void | initClasses (void) |
| |
| static void | setMinScale (float newminscale) |
| |
| static void | workValuesIntoTransform (SbMatrix &mtx, const SbVec3f *translationptr, const SbRotation *rotationptr, const SbVec3f *scalefactorptr, const SbRotation *scaleorientationptr, const SbVec3f *centerptr) |
| |
| static const SoNodekitCatalog * | getClassNodekitCatalog (void) |
| |
| static SoType | getClassTypeId (void) |
| |
|
static void | initClass (void) |
| | Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
|
| |
| static void | setSwitchValue (SoNode *node, const int newVal) |
| |
| static const SoNodekitCatalog * | getClassNodekitCatalog (void) |
| |
| static SoType | getClassTypeId (void) |
| |
| static void | initClass (void) |
| |
| static SbBool | isSearchingChildren (void) |
| |
| static void | setSearchingChildren (const SbBool newval) |
| |
| static void | audioRenderS (SoAction *action, SoNode *node) |
| |
| static void | callbackS (SoAction *action, SoNode *node) |
| |
| static int | getActionMethodIndex (const SoType type) |
| |
| static void | getBoundingBoxS (SoAction *action, SoNode *node) |
| |
| static SoNode * | getByName (const SbName &name) |
| |
| static int | getByName (const SbName &name, SoNodeList &l) |
| |
| static SoType | getClassTypeId (void) |
| |
| static uint32_t | getCompatibilityTypes (const SoType &nodetype) |
| |
| static void | getMatrixS (SoAction *action, SoNode *node) |
| |
| static SbUniqueId | getNextNodeId (void) |
| |
| static void | getPrimitiveCountS (SoAction *action, SoNode *node) |
| |
| static void | GLRenderS (SoAction *action, SoNode *node) |
| |
| static void | handleEventS (SoAction *action, SoNode *node) |
| |
|
static void | initClass (void) |
| | Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
|
| |
| static void | initClasses (void) |
| |
| static void | pickS (SoAction *action, SoNode *node) |
| |
| static void | rayPickS (SoAction *action, SoNode *node) |
| |
| static void | searchS (SoAction *action, SoNode *node) |
| |
| static void | writeS (SoAction *action, SoNode *node) |
| |
| static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
| |
| static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
| |
| static void | cleanupClass (void) |
| |
| static void | copyDone (void) |
| |
| static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
| |
|
static SoType | getClassTypeId (void) |
| | This static method returns the SoType object associated with objects of this class.
|
| |
|
static void | initClass (void) |
| | Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
|
| |
| static void | initCopyDict (void) |
| |
| static void | addName (SoBase *const base, const char *const name) |
| |
| static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
| |
| static void | decrementCurrentWriteCounter (void) |
| |
|
static SoType | getClassTypeId (void) |
| | This static method returns the SoType object associated with objects of this class.
|
| |
| static SoBase * | getNamedBase (const SbName &name, SoType type) |
| |
| static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
| |
| static SbBool | getTraceRefs (void) |
| |
| static void | incrementCurrentWriteCounter (void) |
| |
|
static void | initClass (void) |
| | Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
|
| |
| static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
| |
| static SbBool | readRoute (SoInput *input) |
| |
| static void | removeName (SoBase *const base, const char *const name) |
| |
| static void | setInstancePrefix (const SbString &c) |
| |
| static void | setTraceRefs (SbBool trace) |
| |
|
| virtual | ~SoSpotLightDragger (void) |
| |
| void | drag (void) |
| |
| void | dragFinish (void) |
| |
| void | dragStart (void) |
| |
| const SoFieldData * | getFieldData (void) const override |
| |
| void | setBeamScaleFromAngle (float beamangle) |
| |
| void | setDefaultOnNonWritingFields (void) override |
| |
| SbBool | setUpConnections (SbBool onoff, SbBool doitalways=FALSE) override |
| |
| | SoDragger (void) |
| |
| virtual | ~SoDragger (void) |
| |
| SoDragger * | getActiveChildDragger (void) const |
| |
| void | getBoundingBox (SoGetBoundingBoxAction *action) override |
| |
| SbVec2s | getLocaterPosition (void) |
| |
| SbVec2f | getNormalizedLocaterPosition (void) |
| |
| virtual const SoPickedPoint * | getPickedPointForStart (SoHandleEventAction *action) |
| |
| SbVec2s | getStartLocaterPosition (void) const |
| |
| void | handleEvent (SoHandleEventAction *ha) override |
| |
| SbBool | isAdequateConstraintMotion (void) |
| |
| SbBool | isIgnoreInBbox (void) |
| |
| void | setActiveChildDragger (SoDragger *newchilddragger) |
| |
| void | setCameraInfo (SoAction *action) |
| |
| void | setIgnoreInBbox (SbBool newval) |
| |
| void | setStartLocaterPosition (SbVec2s p) |
| |
| virtual SbBool | shouldGrabBasedOnSurrogate (const SoPath *pickpath, const SoPath *surrogatepath) |
| |
| void | transferMotion (SoDragger *child) |
| |
| void | updateDraggerCache (const SoPath *path) |
| |
| virtual | ~SoInteractionKit () |
| |
| void | connectSeparatorFields (SoSeparator *dest, SbBool onOff) |
| |
| void | copyContents (const SoFieldContainer *fromFC, SbBool copyConnections) override |
| |
| SbBool | readInstance (SoInput *in, unsigned short flags) override |
| |
| virtual SbBool | setAnyPartAsDefault (const SbName &partname, const SbName &nodename, SbBool anypart=TRUE, SbBool onlyifdefault=TRUE) |
| |
| virtual SbBool | setAnyPartAsDefault (const SbName &partname, SoNode *node, SbBool anypart=TRUE, SbBool onlyifdefault=TRUE) |
| |
| SbBool | setAnySurrogatePath (const SbName &name, SoPath *path, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) |
| |
| SbBool | setPart (const int partNum, SoNode *node) override |
| |
| virtual | ~SoBaseKit () |
| |
| SoNode * | addToCopyDict (void) const override |
| |
| void | catalogError (void) |
| |
| void | countMyFields (SoOutput *out) |
| |
| virtual void | createDefaultParts (void) |
| |
| void | createFieldList (void) |
| |
| void | createNodekitPartsList (void) |
| |
| virtual SoNodeKitPath * | createPathToAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE, const SoPath *pathtoextend=NULL) |
| |
| virtual SoNode * | getAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) |
| |
| const SbList< SoSFNode * > & | getCatalogInstances (void) const |
| |
| SoGroup * | getContainerNode (const SbName &listname, SbBool makeifneeded=TRUE) |
| |
| const SoNodekitParts * | getNodekitPartsList (void) const |
| |
| virtual SbBool | setAnyPart (const SbName &partname, SoNode *from, SbBool anypart=TRUE) |
| |
| | SoNode (void) |
| |
| virtual | ~SoNode () |
| |
| SbBool | readInstance (SoInput *in, unsigned short flags) override |
| |
| | SoFieldContainer (void) |
| |
| virtual | ~SoFieldContainer () |
| |
| | SoBase (void) |
| |
| virtual | ~SoBase () |
| |
| virtual SoNotRec | createNotRec (void) |
| |
| virtual void | destroy (void) |
| |
| virtual const char * | getFileFormatName (void) const |
| |
| SbBool | hasMultipleWriteRefs (void) const |
| |
| void | writeFooter (SoOutput *out) const |
| |
| SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const |
| |
|
| static void | doneCB (void *f, SoDragger *d) |
| |
| static void | fieldSensorCB (void *f, SoSensor *s) |
| |
| static const SoNodekitCatalog ** | getClassNodekitCatalogPtr (void) |
| |
| static const SoFieldData ** | getFieldDataPtr (void) |
| |
| static void | motionCB (void *f, SoDragger *d) |
| |
| static void | startCB (void *f, SoDragger *d) |
| |
| static void | valueChangedCB (void *f, SoDragger *d) |
| |
| static void | childFinishCB (void *, SoDragger *) |
| |
| static void | childMotionCB (void *, SoDragger *) |
| |
| static void | childOtherEventCB (void *, SoDragger *) |
| |
| static void | childStartCB (void *, SoDragger *) |
| |
| static void | childTransferMotionAndValueChangedCB (void *, SoDragger *) |
| |
| static void | childValueChangedCB (void *, SoDragger *) |
| |
| static const SoNodekitCatalog ** | getClassNodekitCatalogPtr (void) |
| |
| static const SoFieldData ** | getFieldDataPtr (void) |
| |
| static void | fieldSensorCB (void *, SoSensor *) |
| |
| static const SoNodekitCatalog ** | getClassNodekitCatalogPtr (void) |
| |
| static const SoFieldData ** | getFieldDataPtr (void) |
| |
| static void | readDefaultParts (const char *fileName, const char defaultBuffer[], int defBufSize) |
| |
| static const SoNodekitCatalog ** | getClassNodekitCatalogPtr (void) |
| |
| static const SoFieldData ** | getFieldDataPtr (void) |
| |
| static const SoFieldData ** | getFieldDataPtr (void) |
| |
| static int | getNextActionMethodIndex (void) |
| |
| static void | incNextActionMethodIndex (void) |
| |
| static void | setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) |
| |
| static void | setNextActionMethodIndex (int index) |
| |
| static uint32_t | getCurrentWriteCounter (void) |
| |
| static void | staticDataLock (void) |
| |
| static void | staticDataUnlock (void) |
| |
|
| enum | ProjectorFrontSetting { FRONT
, BACK
, USE_PICK
} |
| |
| enum | CacheEnabled { OFF
, ON
, AUTO
} |
| |
| enum | NodeType {
INVENTOR = 0x0000
, VRML1 = 0x0001
, VRML2 = 0x0002
, INVENTOR_1 = 0x0004
,
INVENTOR_2_0 = 0x0008
, INVENTOR_2_1 = 0x0010
, INVENTOR_2_5 = 0x0020
, INVENTOR_2_6 = 0x0040
,
COIN_1_0 = 0x0080
, COIN_2_0 = 0x0100
, EXTENSION = 0x0200
, COIN_2_2 = 0x0400
,
COIN_2_3 = 0x0800
, COIN_2_4 = 0x1000
, INVENTOR_5_0 = 0x2000
, COIN_2_5 = 0x4000
,
COIN_3_0 = 0x8000
, INVENTOR_6_0 = 0x10000
, COIN_4_0 = 0x20000
} |
| |
| enum | BaseFlags { IS_ENGINE = 0x01
, IS_GROUP = 0x02
} |
| |
| static int | nextActionMethodIndex = 0 |
| |
| static SbUniqueId | nextUniqueId = 1 |
| |
The SoSpotLightDragger class provides interactive geometry for manipulating a spotlight.
Here's how the dragger looks with its default geometry in the inactive state:
Screen Shot of Default Dragger
This dragger is well suited for setting up the fields of a SoSpotLight node, as it provides geometry for the end-user to interact with a directional vector for the spotlight, to set up its position and to control the cut-off angle for the "lampshade" around the light source.
Note that there is one aspect of SoSpotLight nodes that cannot be controlled with this dragger: the SoSpotLight::dropOffRate field.
The Coin library includes a manipulator class, SoSpotLightManip, which wraps the functionality provided by this class inside the necessary mechanisms for connecting it to SoSpotLight node instances in a scene graph.
- See also
- SoSpotLightManip, SoSpotLight
-
SoDirectionalLightDragger, SoPointLightDragger
| SoSpotLightDragger::SoSpotLightDragger |
( |
void | | ) |
|
Default constructor, sets up the dragger nodekit catalog with the interaction and feedback geometry.
Nodekit structure (new entries versus parent class marked with arrow prefix):
CLASS SoSpotLightDragger
-->"this"
"callbackList"
"topSeparator"
"motionMatrix"
--> "material"
--> "translatorSep"
--> "translatorRotInv"
--> "translator"
--> "rotator"
--> "beamSep"
--> "beamPlacement"
--> "beamScale"
--> "beamSwitch"
--> "beam"
--> "beamActive"
"geomSeparator"
(See SoBaseKit::printDiagram() for information about the output formatting.)
Detailed information on catalog parts:
CLASS SoSpotLightDragger
PVT "this", SoSpotLightDragger ---
"callbackList", SoNodeKitListPart [ SoCallback, SoEventCallback ]
PVT "topSeparator", SoSeparator ---
PVT "motionMatrix", SoMatrixTransform ---
"material", SoMaterial ---
PVT "translatorSep", SoSeparator ---
PVT "translatorRotInv", SoRotation ---
"translator", SoDragPointDragger ---
"rotator", SoRotateSphericalDragger ---
PVT "beamSep", SoSeparator ---
"beamPlacement", SoTranslation ---
"beamScale", SoScale ---
PVT "beamSwitch", SoSwitch ---
"beam", SoSeparator ---
"beamActive", SoSeparator ---
PVT "geomSeparator", SoSeparator ---
(See SoBaseKit::printTable() for information about the output formatting.)
| void SoSpotLightDragger::setDefaultOnNonWritingFields |
( |
void | | ) |
|
|
overrideprotectedvirtual |
(Be aware that this method is unlikely to be of interest to the application programmer who does not want to extend the library with new custom nodekits or draggers. If you indeed are writing extensions, see the information in the SoBaseKit class documentation.)
This is a virtual method, and the code in it should call SoField::setDefault() with argument TRUE on part fields that should not be written upon scene graph export operations.
This is typically done when:
-
field value is NULL and part is NULL by default
-
it is a leaf SoGroup or SoSeparator node with no children
-
it is a leaf listpart with no children and an SoGroup or SoSeparator container
-
it is a non-leaf part and it is of SoGroup type and all fields are at their default values
Subclasses should usually override this to do additional settings for new member fields. From the subclass, do remember to call "upwards" to your superclass' setDefaultOnNonWritingFields() method.
Reimplemented from SoDragger.