logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoShapeKit — shape nodekit class

Catalog Parts

       ┌────────────────────────────────────────────────────────────────────────────────────────────┐
       │                                         Allparts                                          │
       │                                                                                    NULLby │
       │ PartNamePartTypeDefaultTypeDefault │
       │                                                                                            │
       │ 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    │
       │                                                                                            │
       └────────────────────────────────────────────────────────────────────────────────────────────┘
       ┌────────────────────────────────────────────────────────────────┐
       │       Extrainformationforlistpartsfromabovetable        │
       │                                                                │
       │ PartNameContainerTypePermissibleTypes              │
       │                                                                │
       │ callbackList   Separator        Callback, EventCallback        │
       │ childList      Separator        ShapeKit, SeparatorKit         │
       │ profileList    Group            Profile                        │
       │                                                                │
       └────────────────────────────────────────────────────────────────┘

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.

File Format/Defaults

ShapeKit{renderCachingAUTOboundingBoxCachingAUTOrenderCullingAUTOpickCullingAUTOcallbackListNULLpickStyleNULLappearanceNULLunitsNULLtransformNULLtexture2TransformNULLchildListNULLmaterialBindingNULLnormalBindingNULLtextureCoordinateBindingNULLshapeHintsNULLcoordinate3NULLcoordinate4NULLnormalNULLtextureCoordinate2NULLtextureCoordinateFunctionNULLprofileCoordinate2NULLprofileCoordinate3NULLprofileListNULLlocalTransformNULLshapeCube{}}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoBaseKit > SoSeparatorKit > SoShapeKit

Methods

SoShapeKit()
          Constructor.

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

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoShapeKit — shape nodekit class

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.

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,SoVertexShapeSoShapeKit(3IV)()

Synopsis

#include<Inventor/nodekits/SoShapeKit.h>

          Fields from class SoSeparatorKit:

     SoSFEnumrenderCachingSoSFEnumboundingBoxCachingSoSFEnumrenderCullingSoSFEnumpickCulling

          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()staticconstSoNodekitCatalog*getClassNodekitCatalog()conststaticSoTypegetClassTypeId()

          Methods from class SoBaseKit:

     virtualconstSoNodekitCatalog*getNodekitCatalog()constvirtualSoNode*getPart(constSbName&partName,SbBoolmakeIfNeeded)SbStringgetPartString(constSoBase*part)virtualSoNodeKitPath*createPathToPart(constSbName&partName,SbBoolmakeIfNeeded,constSoPath*pathToExtend=NULL)virtualSbBoolsetPart(constSbName&partName,SoNode*newPart)SbBoolset(char*partName,char*parameters)SbBoolset(char*nameValuePairs)staticSbBoolisSearchingChildren()staticvoidsetSearchingChildren(SbBoolnewVal)

          Methods from class SoNode:

     voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)

          Methods from class SoFieldContainer:

     voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)

          Methods from class SoBase:

     voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const

          Macros from class SoBaseKit:

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

See Also