SoShapeKit(3IV)

SoShapeKit (SoShapeKit) - shape nodekit class

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoShapeKit (SoShapeKit) - shape nodekit class

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSeparatorKit >
     SoShapeKit

SYNOPSIS
     #include <Inventor_c/nodekits/SoShapeKit.h>

          Fields from class SoSeparatorKit:

     SoSFEnum            renderCaching
     SoSFEnum            boundingBoxCaching
     SoSFEnum            renderCulling
     SoSFEnum            pickCulling

          Parts from class SoShapeKit:

     (SoSeparator)           shapeSeparator
     (SoMaterialBinding)     materialBinding
     (SoNormalBinding)       normalBinding
     (SoTextureCoordinateBinding)
                             textureCoordinateBinding
     (SoShapeHints)          shapeHints
     (SoCoordinate3)         coordinate3
     (SoCoordinate4)         coordinate4
     (SoNormal)              normal
     (SoTextureCoordinate2)  textureCoordinate2
     (SoTextureCoordinateFunction)
                             textureCoordinateFunction
     (SoProfileCoordinate2)  profileCoordinate2
     (SoProfileCoordinate3)  profileCoordinate3
     (SoNodeKitListPart)     profileList
     (SoTransform)           localTransform
     (SoShape)               shape

          Parts from class SoSeparatorKit:

     (SoPickStyle)          pickStyle
     (SoAppearanceKit)      appearance
     (SoUnits)              units
     (SoTransform)          transform
     (SoTexture2Transform)  texture2Transform
     (SoNodeKitListPart)    childList

          Parts from class SoBaseKit:

     (SoNodeKitListPart)  callbackList

          Functions from class SoShapeKit:

     SoShapeKit *              SoShapeKitCreate()
     const SoNodekitCatalog *  SoShapeKitGetClassNkitCat()
     SoType                    SoShapeKitGetClassTypeId()

          Functions from class SoBaseKit:

     const SoNodekitCatalog *  SoShapeKitGetCat(const SoShapeKit *this)
     SoNode *                  SoShapeKitGetPart(SoShapeKit *this, const char
                                    *partName, SbBool makeIfNeeded)
     SbString                  SoShapeKitGetPartString(SoShapeKit *this, const
                                    SoBase *part)
     SoNodeKitPath *           SoShapeKitCreatePathToPart(SoShapeKit *this,
                                    const char *partName, SbBool makeIfNeeded,
                                    const SoPath *pathToExtend = NULL)
     SbBool                    SoShapeKitSetPart(SoShapeKit *this, const char
                                    *partName, SoNode *newPart)
     SbBool                    SoShapeKitSet(SoShapeKit *this, char *partName,
                                    char *parameters)
     SbBool                    SoShapeKitSet2(SoShapeKit *this, char
                                    *nameValuePairs)
     SbBool                    SoShapeKitIsSearchingChildren()
     void                      SoShapeKitSetSearchingChildren(SbBool newVal)

          Functions from class SoNode:

     void                SoShapeKitSetOverride(SoShapeKit *this, SbBool state)
     SbBool              SoShapeKitIsOverride(const SoShapeKit *this)
     SoNode *            SoShapeKitCopy(const SoShapeKit *this, SbBool
                              copyConnections = FALSE)
     SbBool              SoShapeKitAffectsState(const SoShapeKit *this)
     SoNode *            SoShapeKitGetByName(const char *name)
     int                 SoShapeKitGetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoShapeKitSetToDflts(SoShapeKit *this)
     SbBool              SoShapeKitHasDfltVals(const SoShapeKit *this)
     SbBool              SoShapeKitFldsAreEq(const SoShapeKit *this, const
                              SoFieldContainer *fc)
     void                SoShapeKitCopyFieldVals(SoShapeKit *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     void                SoShapeKitGet(SoShapeKit *this, SbString
                              *fieldDataString)
     int                 SoShapeKitGetFields(const SoShapeKit *this,
                              SoFieldList *resultList)
     SoField *           SoShapeKitGetField(const SoShapeKit *this, const char
                              *fieldName)
     SbBool              SoShapeKitGetFieldName(const SoShapeKit *this, const
                              SoField *field, SbName *fieldName)

     SbBool              SoShapeKitIsNotifyEnabled(const SoShapeKit *this)
     SbBool              SoShapeKitEnableNotify(SoShapeKit *this, SbBool flag)

          Functions from class SoBase:

     void                SoShapeKitRef(SoShapeKit *this)
     void                SoShapeKitUnref(const SoShapeKit *this)
     void                SoShapeKitUnrefNoDelete(const SoShapeKit *this)
     void                SoShapeKitTouch(SoShapeKit *this)
     SoType              SoShapeKitGetTypeId(const SoShapeKit *this)
     SbBool              SoShapeKitIsOfType(const SoShapeKit *this, SoType
                              type)
     void                SoShapeKitSetName(SoShapeKit *this, const char *name)
     SbName              SoShapeKitGetName(const SoShapeKit *this)


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

     Furthermore, 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 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 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 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
     (SoSeparator)           shapeSeparator
          This is a private part. The parent node of the actual shape part. It
          is a SoSeparator and is NULL by default, but is created
          automatically if necessary.

     (SoMaterialBinding)     materialBinding
          An 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.

     (SoNormalBinding)       normalBinding
          An 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.

     (SoTextureCoordinateBinding)
                             textureCoordinateBinding
          An 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.

     (SoShapeHints)          shapeHints
          An 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.

     (SoCoordinate3)         coordinate3
          An 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.

     (SoCoordinate4)         coordinate4
          An 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.

     (SoNormal)              normal
          An 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.

     (SoTextureCoordinate2)  textureCoordinate2
          An 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.

     (SoTextureCoordinateFunction)
                             textureCoordinateFunction
          An 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.

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

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

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

     (SoShape)               shape
          This is the part which specifies the actual shape node. This can be
          any node derived from SoShape By default, an SoCube is created. It
          is important to set all of the appropriate parts within this nodekit
          to suit the type of SoShape that is used. For example, if the shape
          part is set to an 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.


FUNCTIONS
     SoShapeKit *              SoShapeKitCreate()
          Constructor.

     const SoNodekitCatalog *  SoShapeKitGetClassNkitCat()
          Returns an SoNodekitCatalog for the class SoShapeKit.

     SoType                    SoShapeKitGetClassTypeId()
          Returns type identifier for this class.


CATALOG PARTS

     ____________________________________________________________________________________________
                                              All parts
                                                                                         NULL by
      Part Name                   Part Type                   Default Type               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
      textureCoordinateBinding    TextureCoordinateBinding    --                           yes
      shapeHints                  ShapeHints                  --                           yes
      coordinate3                 Coordinate3                 --                           yes
      coordinate4                 Coordinate4                 --                           yes
      normal                      Normal                      --                           yes
      textureCoordinate2          TextureCoordinate2          --                           yes
      textureCoordinateFunction   TextureCoordinateFunction   TextureCoordinateDefault     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 Name      Container Type   Permissible Types

                                      Callback, EventCallback
      callbackList   Separator
                                      ShapeKit, SeparatorKit
      childList      Separator
                                      Profile
      profileList    Group

     ________________________________________________________________
     |






                                                                     |








FILE FORMAT/DEFAULTS
     ShapeKit {
          renderCaching              AUTO
          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 {
          }

     }

SEE ALSO
     SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit,
     SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog,
     SoSceneKit, SoSeparatorKit, SoWrapperKit, SoCone, SoCube, SoCylinder,
     SoIndexedNurbsCurve, SoIndexedNurbsSurface, SoNurbsCurve, SoNurbsSurface,
     SoShapeHints, SoSphere, SoText2, SoText3, SoVertexShape