Coin Logo http://www.sim.no
http://www.coin3d.org

Public Member Functions | Static Public Member Functions | Protected Member Functions

SoShapeKit Class Reference

The SoShapeKit class provides templates to insert what is usually needed for shape nodes.Node kit structure (new entries versus parent class marked with arrow prefix): More...

#include <Inventor/nodekits/SoShapeKit.h>

Inheritance diagram for SoShapeKit:
SoSeparatorKit SoBaseKit SoNode SoFieldContainer SoBase

List of all members.

Public Member Functions

 SoShapeKit (void)

Static Public Member Functions

static void initClass (void)

Protected Member Functions

virtual ~SoShapeKit ()
virtual void setDefaultOnNonWritingFields (void)

Detailed Description

The SoShapeKit class provides templates to insert what is usually needed for shape nodes.

Node kit structure (new entries versus parent class marked with arrow prefix):

  CLASS SoShapeKit
  -->"this"
        "callbackList"
        "topSeparator"
           "pickStyle"
           "appearance"
           "units"
           "transform"
           "texture2Transform"
  -->      "materialBinding"
  -->      "normalBinding"
  -->      "textureCoordinateBinding"
  -->      "shapeHints"
  -->      "coordinate3"
  -->      "coordinate4"
  -->      "normal"
  -->      "textureCoordinate2"
  -->      "profileCoordinate2"
  -->      "profileCoordinate3"
  -->      "profileList"
           "childList"
  -->      "textureCoordinateFunction"
  -->      "localTransform"
  -->      "shapeSeparator"
  -->         "shape"
  

(See SoBaseKit::printDiagram() for information about the output formatting.)

Detailed information on catalog parts:

  CLASS SoShapeKit
  PVT   "this",  SoShapeKit  --- 
        "callbackList",  SoNodeKitListPart [ SoCallback, SoEventCallback ] 
  PVT   "topSeparator",  SoSeparator  --- 
        "pickStyle",  SoPickStyle  --- 
        "appearance",  SoAppearanceKit  --- 
        "units",  SoUnits  --- 
        "transform",  SoTransform  --- 
        "texture2Transform",  SoTexture2Transform  --- 
        "materialBinding",  SoMaterialBinding  --- 
        "normalBinding",  SoNormalBinding  --- 
        "textureCoordinateBinding",  SoTextureCoordinateBinding  --- 
        "shapeHints",  SoShapeHints  --- 
        "coordinate3",  SoCoordinate3  --- 
        "coordinate4",  SoCoordinate4  --- 
        "normal",  SoNormal  --- 
        "textureCoordinate2",  SoTextureCoordinate2  --- 
        "profileCoordinate2",  SoProfileCoordinate2  --- 
        "profileCoordinate3",  SoProfileCoordinate3  --- 
        "profileList",  SoNodeKitListPart [ SoProfile ] 
        "childList",  SoNodeKitListPart [ SoShapeKit, SoSeparatorKit ] 
        "textureCoordinateFunction",  SoTextureCoordinateFunction  --- , (default type = SoTextureCoordinateDefault)
        "localTransform",  SoTransform  --- 
  PVT   "shapeSeparator",  SoSeparator  --- 
        "shape",  SoShape  --- , (default type = SoCube)
  

(See SoBaseKit::printTable() for information about the output formatting.)


Constructor & Destructor Documentation

SoShapeKit::SoShapeKit ( void  )

Constructor.

SoShapeKit::~SoShapeKit ( ) [protected, virtual]

Destructor.


Member Function Documentation

void SoShapeKit::initClass ( void  ) [static]

Does initialization common for all objects of the SoSeparatorKit class. This includes setting up the type system, among other things.

Reimplemented from SoSeparatorKit.

Referenced by SoNodeKit::init().

void SoShapeKit::setDefaultOnNonWritingFields ( void  ) [protected, virtual]

(Be aware that this method is unlikely to be of interest to the application programmer who does not want to extend the library with new custom nodekits or draggers. If you indeed are writing extensions, see the information in the SoBaseKit class documentation.)

This is a virtual method, and the code in it should call SoField::setDefault() with argument TRUE on part fields that should not be written upon scenegraph export operations.

This is typically done when:

  1. field value is NULL and part is NULL by default

  2. it is a leaf SoGroup or SoSeparator node with no children

  3. it is a leaf listpart with no children and an SoGroup or SoSeparator container

  4. it is a non-leaf part and it's of SoGroup type and all fields are at their default values

Subclasses should usually override this to do additional settings for new member fields. From the subclass, do remember to call "upwards" to your superclass' setDefaultOnNonWritingFields() method.

Reimplemented from SoSeparatorKit.


The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Feb 28 2011 10:12:21 for Coin by Doxygen. 1.7.3