SoComplexity(3IV)
SoComplexity (SoCmplx) - shape complexity node
As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.
NAME SoComplexity (SoCmplx) - shape complexity node INHERITS FROM SoBase > SoFieldContainer > SoNode > SoComplexity SYNOPSIS #include <Inventor_c/nodes/SoComplexity.h> typedef SoComplexity SoCmplx enum SoComplexityType { SO_CMPLX_SCREEN_SPACE Set complexity based on screen size SO_CMPLX_OBJECT_SPACE Set complexity independent of screen size SO_CMPLX_BOUNDING_BOX Draw all shapes as bounding boxes } Fields from class SoComplexity: SoSFEnum type SoSFFloat value SoSFFloat textureQuality Functions from class SoComplexity: SoComplexity * SoCmplxCreate() SoType SoCmplxGetClassTypeId() Functions from class SoNode: void SoCmplxSetOverride(SoCmplx *this, SbBool state) SbBool SoCmplxIsOverride(const SoCmplx *this) SoNode * SoCmplxCopy(const SoCmplx *this, SbBool copyConnections = FALSE) SbBool SoCmplxAffectsState(const SoCmplx *this) SoNode * SoCmplxGetByName(const char *name) int SoCmplxGetByNameList(const char *name, SoNodeList *list) Functions from class SoFieldContainer: void SoCmplxSetToDflts(SoCmplx *this) SbBool SoCmplxHasDfltVals(const SoCmplx *this) SbBool SoCmplxFldsAreEq(const SoCmplx *this, const SoFieldContainer *fc) void SoCmplxCopyFieldVals(SoCmplx *this, const SoFieldContainer *fc, SbBool copyConnections = FALSE) SbBool SoCmplxSet(SoCmplx *this, const char *fieldDataString) void SoCmplxGet(SoCmplx *this, SbString *fieldDataString) int SoCmplxGetFields(const SoCmplx *this, SoFieldList *resultList) SoField * SoCmplxGetField(const SoCmplx *this, const char *fieldName) SbBool SoCmplxGetFieldName(const SoCmplx *this, const SoField *field, SbName *fieldName) SbBool SoCmplxIsNotifyEnabled(const SoCmplx *this) SbBool SoCmplxEnableNotify(SoCmplx *this, SbBool flag) Functions from class SoBase: void SoCmplxRef(SoCmplx *this) void SoCmplxUnref(const SoCmplx *this) void SoCmplxUnrefNoDelete(const SoCmplx *this) void SoCmplxTouch(SoCmplx *this) SoType SoCmplxGetTypeId(const SoCmplx *this) SbBool SoCmplxIsOfType(const SoCmplx *this, SoType type) void SoCmplxSetName(SoCmplx *this, const char *name) SbName SoCmplxGetName(const SoCmplx *this) DESCRIPTION This node sets the current shape complexity value. This is a heuristic value which provides a hint at what geometric complexity to render shape nodes. Values range from 0 to 1, where 0 means minimum complexity and 1 means maximum complexity. Each shape node interprets complexity in its own way. Shape complexity always affects rendering and primitive generation for the SoCallbackAction. For some shapes, it also affects picking. There are three ways to interpret shape complexity, depending on the type field. BOUNDING_BOX complexity ignores the value field and renders all shapes as bounding boxes, using the current material, drawing style, etc. The other two types use the value field to determine the tessellation of shapes into polygons. OBJECT_SPACE complexity uses value directly to determine the tessellation. SCREEN_SPACE complexity depends on value and the projected size of the shape on the screen; a value of 0 produces the minimum tessellation for a shape, and a value of 1 produces a tessellation that is fine enough that each edge of a polygon is about 1 or two pixels in length. Since the projected size depends on the camera position, objects may be tessellated differently every frame if the camera is moving; note that this may have adverse effects on render caching in SoSeparator nodes. The SoComplexity node also sets a hint for the quality of textures applied to shapes, based on the value of the textureQuality field. The texture quality will take effect at the next Texture2 node; Texture2 nodes previously traversed will not be affected. FIELDS SoSFEnum type How shape complexity is interpreted. SoSFFloat value Complexity value. SoSFFloat textureQuality Hint about texture quality. A value of 0 indicates that the fastest texturing should be used, while a value of 1 indicates that the best quality texturing should be used. FUNCTIONS SoComplexity * SoCmplxCreate() Creates a complexity node with default settings. SoType SoCmplxGetClassTypeId() Returns type identifier for this class. ACTION BEHAVIOR SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction Sets the current complexity in the state. FILE FORMAT/DEFAULTS Complexity { type OBJECT_SPACE value 0.5 textureQuality 0.5 } SEE ALSO SoShape, SoShapeHints, SoTexture2