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

FreeBSD Manual Pages


home | help
SoVertexProperty(3IV)()				       SoVertexProperty(3IV)()

       SoVertexProperty	-- vertex property node

       SoBase >	SoFieldContainer > SoNode > SoVertexProperty

       #include	<Inventor/nodes/SoVertexProperty.h>

     enum Binding {
	  SoVertexProperty::OVERALL   Whole object has same material/normal
	  SoVertexProperty::PER_PART  One material/normal for each part	of ob-
				      One material/normal for each  part,  in-
	  SoVertexProperty::PER_FACE  One material/normal for each face	of ob-
				      One material/normal for each  face,  in-
				      One  material/normal  for	each vertex of
				      One material/normal for each vertex, in-

	  Fields from class SoVertexProperty:

     SoMFVec3f		 vertex
     SoMFVec3f		 normal
     SoMFUInt32		 orderedRGBA
     SoMFVec2f		 texCoord
     SoSFEnum		 normalBinding
     SoSFEnum		 materialBinding

	  Methods from class SoVertexProperty:


	  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)
     static SoType	 getClassTypeId()

	  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)
     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

       This property node may be used to efficiently specify coordinates, nor-
       mals, texture coordinates, colors, transparency values, material	 bind-
       ing  and	 normal	binding	for vertex-based shapes, i.e., shapes of class
       SoVertexShape. An SoVertexProperty node can be used as  a  child	 of  a
       group  node in a	scene graph, in	which case the properties it specifies
       are inherited by	subsequent shape nodes in the graph. It	 can  also  be
       directly	 referenced  as	the VertexProperty SoSFField of	a vertex-based
       shape, bypassing	scene graph inheritance.

       When directly referenced	by a VertexProperty  SoSFField	of  a  vertex-
       based  shape,  the  SoVertexProperty  node is the most efficient	way of
       specifying vertex-based shapes. Use of the directly referenced  SoVert-
       exProperty  node	 results  in significantly faster scene	rendering than
       scene graph inheritance of vertex  properties,  provided	 all  required
       vertex properties are specified in the SoVertexProperty node.

       Because	the  class  SoVertexProperty  is derived from SoNode, a	vertex
       property	node can be inserted as	a child	node in	a  scene  graph.  When
       inserted	 as a node in a	scene graph, the SoVertexProperty node is tra-
       versed as any other property node and the properties it	specifies  are
       inherited  by  subsequent  shape	nodes in the scene graph. It specifies
       the current material and	normal bindings, and can be  used  to  specify
       the  current  3D	 coordinates, the current normals, the current texture
       coordinates, the	current	diffuse	colors,	and  the  current  transparen-

       All  multiple-valued  fields in the SoVertexProperty node are optional.
       If a field is not present (i.e.	if it has 0 values), then shapes  that
       require the missing information are required to obtain it from the cur-
       rent traversal state. However, users are	cautioned  that,  for  optimal
       performance, the	vertex property	node should be referenced as the Vert-
       exProperty field	of an SoVertexShape, and should	specify	in its	fields
       all values required to render that shape.

       The  various  fields  in	a vertex property node can be used in place of
       corresponding fields in other property nodes, as	 follows:  The	vertex
       field  contains	3D  coordinates, as in the point field of an SoCoordi-
       nate3 node. The normal field contains normal vectors, as	in the	vector
       field  of the SoNormal node. The	orderedRGBA field contains packed col-
       ors in the hexadecimal format 0xrrggbbaa, where rr  is  the  red	 value
       (between	 00  and  0xFF hex) gg is the green value (between 00 and 0xFF
       hex) bb is the blue value (between 00 and 0xFF hex)  aa	is  the	 alpha
       value  (between	00 = transparent and 0xFF = opaque). The packed	colors
       are equivalent to an SoPackedColor node,	and provide  values  for  both
       diffuse	color  and transparency. The texCoord field replaces the point
       field of	the SoTextureCoordinate2 node.

       If the transparency type	 is  SoGLRenderAction::SCREEN_DOOR,  only  the
       first  transparency  value will be used.	With other transparency	types,
       multiple	transparencies will be used.

       The materialBinding field replaces the value field of  the  SoMaterial-
       Binding node. The materialBinding field in a directly referenced	SoVer-
       texProperty node	has no effect unless there is a	 nonempty  orderedRGBA
       field,  in  which case the material binding specifies the assignment of
       diffuse colors and alpha	values	to  the	 shape.	  The  materialBinding
       field  can  take	as value any of	the material bindings supported	by In-

       The normalBinding field replaces	the value field	of the SoNormalBinding
       node. The normalBinding field of	a directly referenced SoVertexProperty
       node has	no effect unless there is a nonempty normal  field,  in	 which
       case  the  normal binding specifies the assignment of normal vectors to
       the shape. The value of the normalBinding field can be any of the  nor-
       mal bindings supported by Inventor.

     SoMFVec3f		 vertex
	  vertex coordinate(s).

     SoMFVec3f		 normal
	  normal vector(s).

     SoMFUInt32		 orderedRGBA
	  packed color(s), including transparencies.

     SoMFVec2f		 texCoord
	  texture coordinate(s).

     SoSFEnum		 normalBinding
	  normal binding.

     SoSFEnum		 materialBinding
	  material binding.

	  Creates an SoVertexProperty node with	default	settings.

       SoGLRenderAction, SoCallbackAction, SoPickAction
	  When	traversed in a scene graph, sets coordinates, normals, texture
	  coordinates, diffuse colors, transparency, normal binding and	 mate-
	  rial	binding	 in  current traversal state. If not traversed,	has no
	  effect on current traversal state associated with action.  The  nor-
	  malBinding  field has	no effect if there are no normals. The materi-
	  alBinding has	no effect if there are no packed colors.

	  When traversed in a scene graph, sets	coordinates in current traver-
	  sal  state.  If  not	traversed,  has	no effect on current traversal
	  state	associated with	action.

       VertexProperty {
	  vertex	   [  ]
	  normal	   [  ]
	  texCoord	   [  ]
	  orderedRGBA	   [  ]
	  materialBinding  OVERALL
	  normalBinding	   PER_VERTEX_INDEXED

       SoIndexedTriangleStripSet  SoIndexedFaceSet  SoIndexedLineSet  SoTrian-
       gleStripSet  SoLineSet  SoFaceSet  SoPointSet  SoQuadMesh SoVertexShape
       SoIndexedShape SoNonindexedShape



Want to link to this manual page? Use this URL:

home | help