Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SoShapeKit — shape nodekit class

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSeparatorKit > SoShapeKit

SYNOPSIS

       #include <Inventor/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

          Methods from class SoShapeKit:

                         SoShapeKit()
     static const SoNodekitCatalog *
                         getClassNodekitCatalog() const
     static SoType       getClassTypeId()

          Methods from class SoBaseKit:

     virtual const SoNodekitCatalog *
                              getNodekitCatalog() const
     virtual SoNode *         getPart(const SbName &partName, SbBool makeIfNeeded)
     SbString                 getPartString(const SoBase *part)
     virtual SoNodeKitPath *  createPathToPart(const SbName &partName, SbBool makeIfNeeded, const
                                   SoPath *pathToExtend = NULL)
     virtual SbBool           setPart(const SbName &partName, SoNode *newPart)
     SbBool                   set(char *partName, char *parameters)
     SbBool                   set(char *nameValuePairs)
     static SbBool            isSearchingChildren()
     static void              setSearchingChildren(SbBool newVal)

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const SoFieldContainer  *fc,  SbBool  copyConnections  =
                              FALSE)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName) const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const
     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const

          Macros from class SoBaseKit:

     SO_GET_PART(kit, partName, partClass)
     SO_CHECK_PART(kit, partName, partClass)

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.

METHODS

                         SoShapeKit()
          Constructor.

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

     static SoType       getClassTypeId()
          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              │
       │                                                               │
       │callbackList   Separator        Callback, EventCallback        │
       │childList      Separator        ShapeKit, SeparatorKit         │
       │profileList    Group            Profile                        │
       │                                                               │
       └───────────────────────────────────────────────────────────────┘

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

                                                                                SoShapeKit(3IV)()