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

FreeBSD Manual Pages

  
 
  

home | help
SoIndexedNurbsSurface(3IV)()			  SoIndexedNurbsSurface(3IV)()

NAME
       SoIndexedNurbsSurface --	indexed	NURBS surface shape node

INHERITS FROM
       SoBase >	SoFieldContainer > SoNode > SoShape > SoIndexedNurbsSurface

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

	  Fields from class SoIndexedNurbsSurface:

     SoSFInt32		 numUControlPoints
     SoSFInt32		 numVControlPoints
     SoMFInt32		 coordIndex
     SoMFFloat		 uKnotVector
     SoMFFloat		 vKnotVector
     SoSFInt32		 numSControlPoints
     SoSFInt32		 numTControlPoints
     SoMFInt32		 textureCoordIndex
     SoMFFloat		 sKnotVector
     SoMFFloat		 tKnotVector

	  Methods from class SoIndexedNurbsSurface:

			 SoIndexedNurbsSurface()
     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  shape  node  represents a NURBS surface based on the knot vectors
       and the control points that you specify.	The uKnotVector	and  vKnotVec-
       tor  fields specify floating-point arrays of values; the	values are the
       coordinates of the knot points in the surface, and you must enter  them
       in  non-decreasing  order.  The numUControlPoints and numVControlPoints
       fields specify the number of control points the surface	will  have  in
       the U and V parametric directions, and will use the current coordinates
       that are	indexed	from the coordIndex field.

       You can get a surface of	minimum	order (2) in the U or V	directions  by
       specifying  two	more  knots  than control points in that direction and
       having at least two control points  in  that  direction.	 This  surface
       would appear creased in one direction.

       You  can	get a surface of maximum order (8) in the U or V directions by
       specifying eight	more knots than	control	points in that	direction  and
       having at least eight control points in that direction.

       The  control points of the NURBS	surface	are transformed	by the current
       cumulative transformation.  The surface is drawn	with the current light
       model  and drawing style. The coordinates, normals, and texture coordi-
       nates of	a surface are generated, so you	cannot bind  explicit  normals
       or  texture  coordinates	 to a NURBS surface. The first material	in the
       state is	applied	to the entire surface.

       The surface is trimmed according	 to  the  currently  defined  profiles
       curves.

       When  default  texture  coordinates are applied to a NURBS surface, the
       edges of	the texture square are stretched to fit	the surface. The  axes
       of  the	texture	are called S and T; S is horizontal and	T is vertical.
       The axes	of the NURBS surface are called	U and V; U is horizontal and V
       is  vertical.  You  can also define texture coordinates explicitly with
       the S,T location	point, the knot	vectors, and the current texture coor-
       dinates.

FIELDS
     SoSFInt32		 numUControlPoints
     SoSFInt32		 numVControlPoints
	  Number of control points in the U and	V directions.

     SoMFInt32		 coordIndex
	  Coordinate indices.

     SoMFFloat		 uKnotVector
     SoMFFloat		 vKnotVector
	  The knot vectors in the U and	V directions.

     SoSFInt32		 numSControlPoints
     SoSFInt32		 numTControlPoints
	  Number of control points in the S and	T directions.

     SoMFInt32		 textureCoordIndex
	  Texture coordinate indices.

     SoMFFloat		 sKnotVector
     SoMFFloat		 tKnotVector
	  The knot vectors in the S and	T directions.

METHODS
			 SoIndexedNurbsSurface()
	  Creates an indexed NURBS surface node	with default settings.

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

ACTION BEHAVIOR
       SoGLRenderAction
	  Draws	the surface based on the current coordinates, material,	and so
	  on.

     SoRayPickAction
	  Picks	the surface based on the current coordinates  and  transforma-
	  tion.

     SoGetBoundingBoxAction
	  Computes  the	 bounding  box that encloses all control points	of the
	  surface with the current transformation applied to  them.  Sets  the
	  center to the	average	of the control points.

     SoCallbackAction
	  If  any triangle callbacks are registered with the action, they will
	  be invoked for each successive triangle approximating	the surface.

FILE FORMAT/DEFAULTS
       IndexedNurbsSurface {
	  numUControlPoints  0
	  numVControlPoints  0
	  numSControlPoints  0
	  numTControlPoints  0
	  coordIndex	     0
	  uKnotVector	     0
	  vKnotVector	     0
	  sKnotVector	     0
	  tKnotVector	     0
	  textureCoordIndex  -1
     }

SEE ALSO
       SoIndexedNurbsCurve, SoNurbsSurface, SoProfile

						  SoIndexedNurbsSurface(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=SoIndexedNurbsSurface&sektion=3iv&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help