|
enum | TriangleShape { TRIANGLE_STRIP
, TRIANGLE_FAN
, TRIANGLES
, POLYGON
} |
| This type is used by the triangle shape generation methods (beginShape, etc.) More...
|
|
typedef void | VertexArrayRenderingCB(SoNode *shape, SoGLRenderAction *, bool useVbo, uint32_t numVertices) |
| callback used for pre/post vertex array rendering on SoVertexShapes (MeVis ONLY)
|
|
enum | Stage { FIRST_INSTANCE
, PROTO_INSTANCE
, OTHER_INSTANCE
} |
|
virtual bool | generateDefaultNormals (SoState *state, SoNormalBundle *nb) |
| Subclasses may define this method to generate normals to use when the normal binding is DEFAULT and there aren't enough normals in the state.
|
|
virtual void | notify (SoNotList *list) |
| Redefines this to invalidate normal cache.
|
|
virtual bool | affectsState () const |
| Overrides default method on SoNode.
|
|
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
| Implements bounding box method using virtual computeBBox() method.
|
|
virtual void | GLRender (SoGLRenderAction *action) |
| Implements rendering by rendering each primitive generated by subclass.
|
|
virtual void | rayPick (SoRayPickAction *action) |
| Implements picking along a ray by intersecting the ray with each primitive generated by subclass.
|
|
virtual void | callback (SoCallbackAction *action) |
| Implements primitive generation for all shapes.
|
|
virtual void | computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)=0 |
| Computes bounding box for subclass using information in the given action (which may not necessarily be an SoGetBoundingBoxAction).
|
|
void | setOverride (bool state) |
| Turns override flag on or off.
|
|
bool | isOverride () const |
| Returns the state of the override flag.
|
|
SoNode * | copy (bool copyConnections=FALSE) const |
| Creates and returns an exact copy of the node.
|
|
virtual bool | affectsState () const |
| Returns TRUE if a node has an effect on the state during traversal.
|
|
virtual void | doAction (SoAction *action) |
| This method performs the "typical" operation of a node for any action.
|
|
virtual void | GLRender (SoGLRenderAction *action) |
| These virtual functions implement all of the actions for nodes, Most of the default implementations do nothing.
|
|
virtual void | callback (SoCallbackAction *action) |
|
virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
|
virtual void | getMatrix (SoGetMatrixAction *action) |
|
virtual void | handleEvent (SoHandleEventAction *action) |
|
virtual void | pick (SoPickAction *action) |
|
virtual void | rayPick (SoRayPickAction *action) |
|
virtual void | search (SoSearchAction *action) |
|
virtual void | write (SoWriteAction *action) |
|
virtual void | GLRenderBelowPath (SoGLRenderAction *action) |
| These methods make render traversal faster by implementing different rendering paths corresponding to different action path codes.
|
|
virtual void | GLRenderInPath (SoGLRenderAction *action) |
|
virtual void | GLRenderOffPath (SoGLRenderAction *action) |
|
virtual void | grabEventsSetup () |
| These virtual functions are called when a node gains or loses status as "grabber" of events (see HandleEventAction::setGrabber()).
|
|
virtual void | grabEventsCleanup () |
|
virtual void | startNotify () |
| Initiates notification from an instance.
|
|
virtual void | notify (SoNotList *list) |
| Propagates modification notification through an instance.
|
|
SbNodeIdType | getNodeId () const |
| Returns the unique id for a node.
|
|
virtual SoChildList * | getChildren () const |
| Returns pointer to children, or NULL if none.
|
|
virtual void | writeInstance (SoOutput *out) |
| Writes instance to SoOutput. (Used for either stage of writing.)
|
|
virtual SoNode * | addToCopyDict () const |
| Recursively adds this node and all nodes under it to the copy dictionary.
|
|
virtual void | copyContents (const SoFieldContainer *fromFC, bool copyConnections) |
| Copies the contents of the given node into this instance.
|
|
virtual SoFieldContainer * | copyThroughConnection () const |
| Copies an instance that is encountered through a field connection.
|
|
void | setToDefaults () |
| Sets all fields in this object to their default values.
|
|
bool | hasDefaultValues () const |
| Returns TRUE if all of the object's fields have their default values.
|
|
bool | fieldsAreEqual (const SoFieldContainer *fc) const |
| Returns TRUE if this object's fields are exactly equal to fc's fields.
|
|
void | copyFieldValues (const SoFieldContainer *fc, bool copyConnections=FALSE) |
| Copies the contents of fc's fields into this object's fields.
|
|
bool | set (const char *fieldDataString) |
| Sets one or more fields in this object to the values specified in the given string, which should be a string in the Inventor file format.
|
|
void | get (SbString &fieldDataString) |
| Returns the values of the fields of this object in the Inventor ASCII file format in the given string.
|
|
virtual int | getFields (SoFieldList &list) const |
| Appends pointers to all of this object's fields to resultList, and returns the number of fields appended.
|
|
virtual SoField * | getField (const SbName &fieldName) const |
| Returns a pointer to the field with the given name.
|
|
bool | getFieldName (const SoField *field, SbName &fieldName) const |
| Returns the name of the given field in the fieldName argument.
|
|
bool | enableNotify (bool flag) |
| Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE).
|
|
bool | isNotifyEnabled () const |
| Notification is the process of telling interested objects that this object has changed.
|
|
bool | set (const char *fieldDataString, SoInput *dictIn) |
| Sets one or more fields in this object to the values specified in the given string, which should be a string in the Inventor file format.
|
|
void | get (SbString &fieldDataString, SoOutput *dictOut) |
| Returns the values of the fields of this object in the Inventor ASCII file format in the given string.
|
|
virtual void | notify (SoNotList *) |
| Propagates modification notification through an instance.
|
|
virtual void | addWriteReference (SoOutput *out, bool isFromField=FALSE) |
| Adds a reference to the instance when writing.
|
|
virtual void | writeInstance (SoOutput *out) |
| Writes instance to SoOutput. (Used only for last stage of writing)
|
|
bool | getIsBuiltIn () const |
| Returns whether or not instance is considered 'built-in' to the library.
|
|
virtual const SoFieldData * | getFieldData () const |
| Returns an SoFieldData structure for the node.
|
|
virtual void | copyContents (const SoFieldContainer *fromFC, bool copyConnections) |
| Copies the contents of the given node into this instance.
|
|
virtual SoFieldContainer * | copyThroughConnection () const |
| During a copy operation, this copies an instance that is encountered through a field connection.
|
|
void | addManagedSensor (SoSensor *sensor) |
| Adds a sensor which is managed by the field container.
|
|
void | ref () const |
| Adds and removes a reference to an instance.
|
|
void | unref () const |
|
void | unrefNoDelete () const |
|
void | touch () |
| Marks an instance as modified, simulating a change to it.
|
|
virtual SoType | getTypeId () const =0 |
| Returns the type identifier for a specific instance.
|
|
bool | isOfType (SoType type) const |
| Returns TRUE if this object is of the type specified in type or is derived from that type.
|
|
virtual SbName | getName () const |
| Returns the name of an instance.
|
|
virtual void | setName (const SbName &name) |
| Sets the name of an instance.
|
|
virtual void | startNotify () |
| Initiates notification from an instance.
|
|
virtual void | notify (SoNotList *list) |
| Propagates modification notification through an instance.
|
|
void | addAuditor (void *auditor, SoNotRec::Type type) |
| Adds/removes an auditor to/from list.
|
|
void | removeAuditor (void *auditor, SoNotRec::Type type) |
|
const SoAuditorList & | getAuditors () |
| Returns auditor list– used by SoField and SoEngineOutput to trace forward connections.
|
|
int | getRefCount () const |
| Returns current reference count.
|
|
virtual void | addWriteReference (SoOutput *out, bool isFromField=FALSE) |
| Adds a reference to the instance when writing.
|
|
bool | shouldWrite () |
| Returns TRUE if the instance should be written, based on the write-reference info already accumulated.
|
|
static void | initClass () |
|
static void | initClass () |
|
static void | initClass () |
|
static void | getScreenSize (SoState *state, const SbBox3f &boundingBox, SbVec2s &rectSize) |
| This can be used by subclasses when the complexity type is SCREEN_SPACE to determine how many window pixels are covered by the shape.
|
|
static void | setPreVertexArrayRenderingCallback (VertexArrayRenderingCB *cb) |
| register global pre callback for vertex array rendering (MeVis ONLY)
|
|
static void | setPostVertexArrayRenderingCallback (VertexArrayRenderingCB *cb) |
| register global post callback for vertex array rendering (MeVis ONLY)
|
|
static SoType | getClassTypeId () |
| Returns type identifier for the SoNode class.
|
|
static SoNode * | getByName (const SbName &name) |
| Returns the last node given the specified name.
|
|
static int | getByName (const SbName &name, SoNodeList &list) |
| Returns the number of nodes with the given name, and adds to list pointers to those nodes.
|
|
static void | initClass () |
| Initializes base node class.
|
|
static void | initClasses () |
| Initialize ALL Inventor node classes.
|
|
static SbNodeIdType | getNextNodeId () |
| Returns the next available unique id.
|
|
static int | getActionMethodIndex (SoType t) |
| Returns the index of this node in the action/method table, given its type.
|
|
static SoType | getClassTypeId () |
| Returns the type of this class.
|
|
static void | initClass () |
| Setup type information.
|
|
static void | initCopyDict () |
| During a copy operation, copies of nodes and engines are stored in a dictionary, keyed by the original node or engine pointer, so that copies can be re-used.
|
|
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
| Adds an instance to the dictionary.
|
|
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
| If a copy of the given instance is in the dictionary, this returns it.
|
|
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, bool copyConnections) |
| If a copy of the given instance is not in the dictionary, this returns NULL.
|
|
static void | copyDone () |
| Cleans up the dictionary when done.
|
|
static SoType | getClassTypeId () |
| Returns type identifier for this class.
|
|
static void | initClass () |
| Setup type information.
|
|
static void | incrementCurrentWriteCounter () |
| Increments the current write counter at the start of a write operation.
|
|
static void | decrementCurrentWriteCounter () |
| Decrements the current write counter after a write operation, in some rare cases.
|
|
static void | addName (SoBase *, const char *) |
| Internal methods used to maintain the global name dictionary.
|
|
static void | removeName (SoBase *, const char *) |
|
static SoBase * | getNamedBase (const SbName &, SoType) |
| Helper routines used to get stuff out of nameDict.
|
|
static int | getNamedBases (const SbName &, SoBaseList &, SoType) |
|
static bool | read (SoInput *in, SoBase *&base, SoType expectedType) |
| Reads one instance of some subclass of SoBase.
|
|
static void | setInstancePrefix (const SbString &c) |
| This defaults to "+" and is used when naming nodes that are DEF's and USE'd.
|
|
SoSFInt32 | startIndex |
| Obsolete field, provided only for compatibility reasons.
|
|
SoSFNode | vertexProperty |
|
static bool | traceRefs |
| Turns on/off reference count tracing (for debugging)
|
|
enum | BaseFlags { IS_ENGINE = 1
, IS_GROUP = 2
} |
| This set of enums is used when reading and writing the base. More...
|
|
| SoNonIndexedShape () |
| Constructor - makes this abstract.
|
|
void | computeCoordBBox (SoAction *action, int numVertices, SbBox3f &box, SbVec3f ¢er) |
| This is a convenience method to simplify the job of computing bounding boxes for subclasses; it can be called from a subclass's computeBBox() method.
|
|
virtual | ~SoNonIndexedShape () |
|
| SoVertexShape () |
| Constructor - makes this abstract.
|
|
virtual | ~SoVertexShape () |
|
SoVertexProperty * | getVertexProperty () |
| Get the SoVertexProperty from the vertexProperty field, returning NULL if the contained node is not of type SoVertexProperty.
|
|
virtual bool | shouldGLRender (SoGLRenderAction *action) |
| Returns TRUE if the shape should be rendered.
|
|
void | setNormalCache (SoState *state, int numNormals, const SbVec3f *normals) |
| Sets up a cache to hold normals.
|
|
SoNormalCache * | getNormalCache () const |
| Returns the current normal cache, or NULL if there is none.
|
|
bool | beginVertexArrayRendering (SoGLRenderAction *action) |
| enables vertex array rendering client state and VBO rendering (if supported), returns true if VBOs are used (MeVis ONLY)
|
|
void | endVertexArrayRendering (SoGLRenderAction *action, bool vboWasUsed) |
| disables vertex array rendering and VBOs if vboWasUsed is passes as true (MeVis ONLY)
|
|
| SoShape () |
| Constructor.
|
|
virtual void | generatePrimitives (SoAction *action)=0 |
| This method MUST be defined by each subclass to generate primitives (triangles, line segments, points) that represent the shape.
|
|
virtual bool | shouldGLRender (SoGLRenderAction *action) |
| Returns TRUE if the shape should be rendered.
|
|
bool | shouldRayPick (SoRayPickAction *action) |
| Returns TRUE if the shape may be picked.
|
|
void | beginSolidShape (SoGLRenderAction *action) |
| These can be used by solid shapes to indicate so during rendering.
|
|
void | endSolidShape (SoGLRenderAction *action) |
|
void | computeObjectSpaceRay (SoRayPickAction *action) |
| Computes a picking ray in the object space of the shape instance.
|
|
void | computeObjectSpaceRay (SoRayPickAction *action, const SbMatrix &matrix) |
|
virtual SoDetail * | createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp) |
| These methods are called during picking to create details representing extra info about a pick intersection.
|
|
virtual SoDetail * | createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp) |
|
virtual SoDetail * | createPointDetail (SoRayPickAction *action, const SoPrimitiveVertex *v, SoPickedPoint *pp) |
|
void | invokeTriangleCallbacks (SoAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3) |
| These methods invoke whatever callbacks are registered with the primitive generation procedures.
|
|
void | invokeLineSegmentCallbacks (SoAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2) |
|
void | invokePointCallbacks (SoAction *action, const SoPrimitiveVertex *v) |
|
void | beginShape (SoAction *action, TriangleShape shapeType, SoFaceDetail *faceDetail=NULL) |
| These methods can be used by subclasses to generate triangles more easily when those triangles are part of a larger structure, such as a triangle strip, triangle fan, or triangulated polygon, according to the TriangleShape enumerated type.
|
|
void | shapeVertex (const SoPrimitiveVertex *v) |
|
void | endShape () |
|
virtual | ~SoShape () |
|
void | GLRenderBoundingBox (SoGLRenderAction *action) |
| Applies GLRender action to the bounding box surrounding the shape.
|
|
| SoNode () |
| Constructor, destructor.
|
|
virtual | ~SoNode () |
|
| SoFieldContainer () |
|
| ~SoFieldContainer () |
|
virtual bool | readInstance (SoInput *in, unsigned short flags) |
| Reads stuff into instance. Returns FALSE on error.
|
|
| SoBase () |
| Constructor is protected - this is an abstract class.
|
|
virtual | ~SoBase () |
| Virtual destructor so that subclasses are deleted properly.
|
|
virtual void | destroy () |
| Actually deletes an instance.
|
|
bool | hasMultipleWriteRefs () const |
| Returns TRUE if the instance has multiple write references.
|
|
bool | writeHeader (SoOutput *out, bool isGroup, bool isEngine) const |
| Writes a header (name, open brace) or footer (close brace) to file defined by SoOutput.
|
|
void | writeFooter (SoOutput *out) const |
|
virtual const char * | getFileFormatName () const |
| Unknown nodes and engines write a different name for themselves than their typeId; this virtual method lets them do that (by default the typeId name is returned)
|
|
virtual bool | readInstance (SoInput *in, unsigned short flags)=0 |
| Reads stuff into instance of subclass.
|
|
static const SoFieldData ** | getFieldDataPtr () |
| This is used by the field-inheritence mechanism, hidden in the SoSubNode macros.
|
|
static uint32_t | getCurrentWriteCounter () |
| Returns current write counter.
|
|
SoVertexPropertyCache | vpCache |
| vpCache stores information from one render to the next about what information needs to be grabbed from the state, etc.
|
|
SbNodeIdType | uniqueId |
| Unique id for this node.
|
|
bool | isBuiltIn |
| Is the subclass a built-in Inventor subclass or an extender subclass? This is used to determine whether to read/write field type information.
|
|
static VertexArrayRenderingCB * | _preVertexArrayRenderingCB |
|
static VertexArrayRenderingCB * | _postVertexArrayRenderingCB |
|
static SbNodeIdType | nextUniqueId |
| Next available unique id.
|
|
static int | nextActionMethodIndex |
| Next index into the action method table.
|
|