Click or drag to resize
SoShapeKit Class

Shape nodekit class.

Inheritance Hierarchy

Namespace: OIV.Inventor.Nodekits
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2024.1.0.0 (2024.1.0)
Syntax
public class SoShapeKit : SoSeparatorKit

The SoShapeKit type exposes the following members.

Constructors
  NameDescription
Public methodSoShapeKit

Constructor.

Top
Methods
  NameDescription
Public methodAffectsState

Returns true if a node has an effect on the state during traversal.

(Inherited from SoNode.)
Public methodCallback
(Inherited from SoBaseKit.)
Public methodCopy
Calls Copy(false).
(Inherited from SoNode.)
Public methodCopy(Boolean)

Creates and returns an exact copy of the node.

(Inherited from SoNode.)
Public methodCopyFieldValues(SoFieldContainer)
Calls CopyFieldValues(fc, false).
(Inherited from SoFieldContainer.)
Public methodCopyFieldValues(SoFieldContainer, Boolean)

Copies the contents of fc's fields into this object's fields.

(Inherited from SoFieldContainer.)
Public methodCreatePathToPart(String, Boolean)
Calls CreatePathToPart(partName, makeIfNeeded, (OIV.Inventor.SoPath ^)nullptr).
(Inherited from SoBaseKit.)
Public methodCreatePathToPart(String, Boolean, SoPath)

Returns a path that begins at this nodekit and ends at partName.

(Inherited from SoBaseKit.)
Public methodDispose
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.)
Public methodDistribute
(Inherited from SoNode.)
Public methodDoAction
(Inherited from SoBaseKit.)
Public methodEnableNotify

Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false).

(Inherited from SoFieldContainer.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodFieldsAreEqual

Returns true if this object's fields are exactly equal to fc's fields.

(Inherited from SoFieldContainer.)
Public methodGet

Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string.

(Inherited from SoFieldContainer.)
Public methodGetAllFields

Returns a list of fields, including the eventIn's and eventOut's.

(Inherited from SoFieldContainer.)
Public methodGetAlternateRep

This method is called by actions to allow the node to provide an "alternate representation" when appropriate (typically depending on the action type).

(Inherited from SoNode.)
Public methodGetBoundingBox
(Inherited from SoBaseKit.)
Public methodStatic memberGetClassNodekitCatalog

Returns the OIV.Inventor.Nodekits.SoNodekitCatalog for this class.

Public methodGetEventIn

Returns a the eventIn with the given name.

(Inherited from SoFieldContainer.)
Public methodGetEventOut

Returns the eventOut with the given name.

(Inherited from SoFieldContainer.)
Public methodGetField

Returns a the field of this object whose name is fieldName.

(Inherited from SoFieldContainer.)
Public methodGetFieldName

Returns the name of the given field in the fieldName argument.

(Inherited from SoFieldContainer.)
Public methodGetFields

Appends references to all of this object's fields to resultList, and returns the number of fields appended.

(Inherited from SoFieldContainer.)
Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetMatrix
(Inherited from SoBaseKit.)
Public methodGetName

Returns the name of an instance.

(Inherited from SoBase.)
Public methodGetNodekitCatalog (Inherited from SoBaseKit.)
Public methodGetPart

Searches the nodekit catalog (and those of all nested nodekits) for the part named partName.

(Inherited from SoBaseKit.)
Public methodGetPartString

Given a node or a path to a node, checks if the part exists in the nodekit, in a nested nodekit, or an element of a list part.

(Inherited from SoBaseKit.)
Public methodGetPrimitiveCount
(Inherited from SoBaseKit.)
Public methodGetRenderEngineMode

Returns the supported Render engine mode.

(Inherited from SoNode.)
Public methodGetRenderUnitID
(Inherited from SoNode.)
Public methodGetStringName (Inherited from SoBase.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetViewportIsEnabled (Inherited from SoBaseKit.)
Public methodGetViewportOrigin (Inherited from SoBaseKit.)
Public methodGetViewportSize (Inherited from SoBaseKit.)
Public methodGLRender
(Inherited from SoBaseKit.)
Public methodGLRenderBelowPath
(Inherited from SoNode.)
Public methodGLRenderInPath
(Inherited from SoNode.)
Public methodGLRenderOffPath
(Inherited from SoNode.)
Public methodGrabEventsCleanup
(Inherited from SoNode.)
Public methodGrabEventsSetup
(Inherited from SoNode.)
Public methodHandleEvent
(Inherited from SoBaseKit.)
Public methodHasDefaultValues

Returns true if all of the object's fields have their default values.

(Inherited from SoFieldContainer.)
Public methodIsBoundingBoxIgnoring

Returns true if bounding box computation should be ignored during OIV.Inventor.Actions.SoGetBoundingBoxAction traversal.

(Inherited from SoBaseKit.)
Public methodIsNotifyEnabled

Notification is the process of telling interested objects that this object has changed.

(Inherited from SoFieldContainer.)
Public methodIsOverride

Returns the state of the override flag.

(Inherited from SoNode.)
Public methodIsSynchronizable

Gets the ScaleViz synchronizable state of this object.

(Inherited from SoBase.)
Public methodPick
(Inherited from SoNode.)
Public methodRayPick
(Inherited from SoBaseKit.)
Public methodSearch
(Inherited from SoBaseKit.)
Public methodSet(String)

This function allows field values of parts (nodes) to be set in several different parts simultaneously.

(Inherited from SoBaseKit.)
Public methodSet(String, String)

This function allows field values of parts (nodes) to be set.

(Inherited from SoBaseKit.)
Public methodSetName (Inherited from SoBase.)
Public methodSetOverride

Turns the override flag on or off.

(Inherited from SoNode.)
Public methodSetPart

Inserts the given node (not a copy) as the new part specified by partName.

(Inherited from SoBaseKit.)
Public methodSetSynchronizable

Sets this to be a ScaleViz synchronizable object.

(Inherited from SoBase.)
Public methodSetToDefaults

Sets all fields in this object to their default values.

(Inherited from SoFieldContainer.)
Public methodToString
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.)
Public methodTouch

Marks an instance as modified, simulating a change to it.

(Inherited from SoNode.)
Public methodWrite
(Inherited from SoBaseKit.)
Top
Properties
  NameDescription
Public propertyboundingBoxCaching
(Inherited from SoSeparatorKit.)
Public propertyboundingBoxIgnoring

Whether to ignore this node during bounding box traversal.

(Inherited from SoBaseKit.)
Public propertyIsDisposable
ISafeDisposable interface implementation.
(Inherited from SoDisposable.)
Public propertypickCulling

Set pick culling mode.

(Inherited from SoSeparatorKit.)
Public propertyrenderCaching Obsolete.

Set render caching mode.

(Inherited from SoSeparatorKit.)
Public propertyrenderCulling

Set render culling mode.

(Inherited from SoSeparatorKit.)
Public propertyUserData
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.)
Top
Remarks

A nodekit that is used for creating a shape (i.e. geometry). OIV.Inventor.Nodekits.SoShapeKit is derived from OIV.Inventor.Nodekits.SoSeparatorKit and OIV.Inventor.Nodekits.SoBaseKit, and thus inherits all the parts defined by these classes.

Furthermore, OIV.Inventor.Nodekits.SoShapeKit adds numerous parts that can be used to define a variety of shape objects, a localTransform part, and of course a shape part.

All of the property nodes requires to define any of the Open Inventor shapes are included as parts in this class. Not all of these parts (nodes) are needed for any one type of shape. For example, if you set the shape part to be an OIV.Inventor.Nodes.SoSphere node, then it is not necessary to create a profileCoordinate3 part since it will be ignored in drawing the sphere. (And the unneeded parts will not be created, so there is no performance penalty for using this class of node.

This class contains two private parts. They are both OIV.Inventor.Nodes.SoSeparator nodes. One of them sits just below the nodekit itself, and serves to contain all properties within this nodekit from affecting nodes that come after this nodekit. The second separator sits above the shape part, and serves to cache the shape even when the transform , localTransform , or appearance parts are changing.

PARTS

(OIV.Inventor.Nodes.SoSeparator) shapeSeparator This is a private part. The parent node of the actual shape part. It is an OIV.Inventor.Nodes.SoSeparator and is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoMaterialBinding) materialBinding An OIV.Inventor.Nodes.SoMaterialBinding node that can be used to set the material binding for the shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoNormalBinding) normalBinding An OIV.Inventor.Nodes.SoNormalBinding node that can be used to set the normal binding for the shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoTextureCoordinateBinding) textureCoordinateBinding An OIV.Inventor.Nodes.SoTextureCoordinateBinding node that can be used to set the texture coordinate binding for the shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoShapeHints) shapeHints An OIV.Inventor.Nodes.SoShapeHints node that can be used to set the shape hints for the shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoCoordinate3) coordinate3 An OIV.Inventor.Nodes.SoCoordinate3 node that can be used to set the 3D coordinates for a vertex-based shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoCoordinate4) coordinate4 An OIV.Inventor.Nodes.SoCoordinate4 node that can be used to set the 4D coordinates for a NURBS shapes. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoNormal) normal An OIV.Inventor.Nodes.SoNormal node that can be used to set the normal vectors for a vertex-based shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoTextureCoordinate2) textureCoordinate2 An OIV.Inventor.Nodes.SoTextureCoordinate2 node that can be used to set the texture coordinates for a vertex-based shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoTextureCoordinateFunction) textureCoordinateFunction An OIV.Inventor.Nodes.SoTextureCoordinateFunction node that can be used to set the a procedural texture coordinates function for a vertex-based shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoProfileCoordinate2) profileCoordinate2 An OIV.Inventor.Nodes.SoProfileCoordinate2 node that can be used to set the 2D profile coordinates for a shape that uses them, (e.g., OIV.Inventor.Nodes.SoText3). This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoProfileCoordinate3) profileCoordinate3 An OIV.Inventor.Nodes.SoProfileCoordinate3 node that can be used to set the 3D profile coordinates for a shape that uses them, (e.g., OIV.Inventor.Nodes.SoNurbsCurve). This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodekits.SoNodeKitListPart) profileList An SoProfileList node that can be used to set the profile curve for a shape that uses them, (e.g., OIV.Inventor.Nodes.SoNurbsCurve). This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoTransform) localTransform An OIV.Inventor.Nodes.SoTransform node that can be used to set a local transformation on the shape. This part is NULL by default, but is created automatically if necessary.

(OIV.Inventor.Nodes.SoShape) shape This is the part which specifies the actual shape node. This can be any node derived from OIV.Inventor.Nodes.SoShape By default, an OIV.Inventor.Nodes.SoCube is created. It is important to set all of the appropriate parts within this nodekit to suit the type of OIV.Inventor.Nodes.SoShape that is used. For example, if the shape part is set to an OIV.Inventor.Nodes.SoFaceSet, then the coordinate3 shape and probably the normal shape would be set as well. See the reference page of the shape used for details on which other nodes are necessary.

FILE FORMAT/DEFAULT

ShapeKit {
boundingBoxCaching AUTO
renderCulling AUTO
pickCulling AUTO
callbackList NULL
pickStyle NULL
appearance NULL
units NULL
transform NULL
texture2Transform NULL
childList NULL
materialBinding NULL
normalBinding NULL
textureCoordinateBinding NULL
shapeHints NULL
coordinate3 NULL
coordinate4 NULL
normal NULL
textureCoordinate2 NULL
textureCoordinateFunction NULL
profileCoordinate2 NULL
profileCoordinate3 NULL
profileList NULL
localTransform NULL
shape Cube {
}
}

CATALOG PARTS

All Parts
Part NamePart TypeDefault TypeNULL Default
callbackList NodeKitListPart yes
pickStyle PickStyle yes
appearance AppearanceKit yes
units Units yes
transform Transform yes
texture2Transform Texture2Transform yes
childList NodeKitListPart yes
materialBinding MaterialBinding yes
normalBinding NormalBinding yes
textureCoordinate- Binding TextureCoordinateBinding yes
shapeHints ShapeHints yes
coordinate3 Coordinate3 yes
coordinate4 Coordinate4 yes
normal Normal yes
textureCoordinate2 TextureCoordinate2 yes
textureCoordinate- Function TextureCoordinateFunction Texture Coordinate Default yes
profileCoordinate2 ProfileCoordinate2 yes
profileCoordinate3 ProfileCoordinate3 yes
profileList NodeKitListPart yes
localTransform Transform yes
shape Shape Cube no

Extra Information for List Parts from Above Table
Part NameContainer TypePossible Types
callbackList Separator Callback, EventCallback

See Also