Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SoComplexity(3IV)()					   SoComplexity(3IV)()

NAME
       SoComplexity -- shape complexity	node

INHERITS FROM
       SoBase >	SoFieldContainer > SoNode > SoComplexity

SYNOPSIS
       #include	<Inventor/nodes/SoComplexity.h>

     enum Type {
	  SoComplexity::SCREEN_SPACE  Set complexity based on screen size
	  SoComplexity::OBJECT_SPACE  Set  complexity  independent  of	screen
					   size
	  SoComplexity::BOUNDING_BOX  Draw all shapes as bounding boxes
     }

	  Fields from class SoComplexity:

     SoSFEnum		 type
     SoSFFloat		 value
     SoSFFloat		 textureQuality

	  Methods from class SoComplexity:

			 SoComplexity()
     static SoType	 getClassTypeId()

	  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)
     SbBool		 set(const char	*fieldDataString)
     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

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 ap-
       plied 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.

METHODS
			 SoComplexity()
	  Creates a complexity node with default settings.

     static SoType	 getClassTypeId()
	  Returns type identifier for this class.

ACTION BEHAVIOR
       SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction,  SoRayPick-
       Action
	  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

							   SoComplexity(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | FIELDS | METHODS | ACTION BEHAVIOR | FILE FORMAT/DEFAULTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SoComplexity&sektion=3iv&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help