Related Scripting Object: NurbsSurface
The NurbsSurface object gives access to the X3DObject's nurbs surface Geometry. More...
#include <xsi_nurbssurface.h>
Inheritance diagram for NurbsSurface:

Public Member Functions |
|
| NurbsSurface () | |
| ~NurbsSurface () | |
| NurbsSurface (const CRef &in_ref) | |
| NurbsSurface (const NurbsSurface &in_obj) | |
| bool | IsA (siClassID in_ClassID) const |
| siClassID | GetClassID () const |
| NurbsSurface & | operator= (const NurbsSurface &in_obj) |
| NurbsSurface & | operator= (const CRef &in_ref) |
| CKnotArray | GetKnots (siNurbsDirection in_siNurbsDirection) const |
| CControlPointRefArray | GetControlPoints () const |
| CNurbsSampleRefArray | GetNurbsSamples () const |
| CStatus | Get (siNurbsFormat in_siNurbsFormat, CNurbsSurfaceData &out_surface) const |
| CStatus | Set (const CNurbsSurfaceData &in_surface, siNurbsFormat in_siNurbsFormat=siSINurbs) |
| CStatus | EvaluatePosition (double in_dUValue, double in_dVValue, MATH::CVector3 &out_vPosition, MATH::CVector3 &out_vUTangent, MATH::CVector3 &out_vVTangent, MATH::CVector3 &out_vNormal) const |
| CStatus | EvaluateNormalizedPosition (double in_dUNormalizedValue, double in_dVNormalizedValue, MATH::CVector3 &out_vPosition, MATH::CVector3 &out_vUTangent, MATH::CVector3 &out_vVTangent, MATH::CVector3 &out_vNormal) const |
| CStatus | GetNormalizedUVFromUV (double in_dUValue, double in_dVValue, double &out_dNormalizedUValue, double &out_dNormalizedVValue) const |
| CStatus | GetUVFromNormalizedUV (double in_dNormalizedUValue, double in_dNormalizedVValue, double &out_dUValue, double &out_dVValue) const |
| LONG | GetTrimCount () const |
| CStatus | GetTrim (LONG in_lTrimIndex, siNurbsFormat in_siNurbsFormat, CTrimCurveData &out_trimcurve) const |
using namespace XSI; Application app; Model root = app.GetActiveSceneRoot(); X3DObject mySphere; root.AddGeometry( L"Sphere", L"NurbsSurface", L"", mySphere ); NurbsSurfaceMesh mySurfaceMesh(mySphere.GetActivePrimitive().GetGeometry()); CNurbsSurfaceDataArray surfaces(2); NurbsSurface(mySurfaceMesh.GetSurfaces().GetItem(0)).Get(siSINurbs,surfaces[0]); X3DObject myCone; root.AddGeometry( L"Cone",L"NurbsSurface",L"", myCone ); mySurfaceMesh = myCone.GetActivePrimitive().GetGeometry(); NurbsSurface(mySurfaceMesh.GetSurfaces().GetItem(0)).Get(siSINurbs,surfaces[1]); X3DObject myMultiSurfaceMesh; root.AddNurbsSurfaceMesh(surfaces,siSINurbs,L"",myMultiSurfaceMesh);
| NurbsSurface | ( | ) |
Default constructor.
| ~NurbsSurface | ( | ) |
Default destructor.
| NurbsSurface | ( | const CRef & | in_ref | ) |
Constructor.
| in_ref | constant reference object. |
| NurbsSurface | ( | const NurbsSurface & | in_obj | ) |
Copy constructor.
| in_obj | constant class object. |
| bool IsA | ( | siClassID | in_ClassID | ) | const [virtual] |
Returns true if a given class type is compatible with this API class.
| in_ClassID | class type. |
Reimplemented from Facet.
| siClassID GetClassID | ( | ) | const [virtual] |
Returns the type of the API class.
Reimplemented from Facet.
| NurbsSurface& operator= | ( | const NurbsSurface & | in_obj | ) |
Creates an object from another object. The newly created object is set to empty if the input object is not compatible.
| in_obj | constant class object. |
| NurbsSurface& operator= | ( | const CRef & | in_ref | ) |
Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.
| in_ref | constant class object. |
Reimplemented from Facet.
| CKnotArray GetKnots | ( | siNurbsDirection | in_siNurbsDirection | ) | const |
Returns an array of all Knot values on this NurbsSurface object in a given direction.
| in_siNurbsDirection | Direction in which we want the knot values. |
| CControlPointRefArray GetControlPoints | ( | ) | const |
Returns an array of all ControlPoint objects on this NurbsSurface object.
| CNurbsSampleRefArray GetNurbsSamples | ( | ) | const |
Returns an array of all NurbsSample objects on this NurbsSurface object.
| CStatus Get | ( | siNurbsFormat | in_siNurbsFormat, | |
| CNurbsSurfaceData & | out_surface | |||
| ) | const |
Returns a complete data description of a nurbs surface.
| in_siNurbsFormat | Specifies how the data is formatted. |
| out_surface | The entire surface data description. |
CStatus::Fail other failure
| CStatus Set | ( | const CNurbsSurfaceData & | in_surface, | |
| siNurbsFormat | in_siNurbsFormat = siSINurbs |
|||
| ) |
Creates a new geometry for this NurbsSurface from a complete data description of a nurbs surface. This is only available from compiled operators.
(0,0)...(0,cntV-1), (1,0)....(1,cntV-1),(cntU-1,0)...(cntU-1,cntV-1) (0,0)...(cntU-1,0), (0,1)....(cntU-1,1)...(0,cntV-1)...(cntU-1,cntV-1) in_siNurbsFormat argument. See UV Ordering for a sample conversion function.| in_surface | Specify the new data description for this NurbsSurface. | |
| in_siNurbsFormat | Specifies how the data is formatted. |
CStatus::AccessDenied function used outside of a plug-in operator context.
| CStatus EvaluatePosition | ( | double | in_dUValue, | |
| double | in_dVValue, | |||
| MATH::CVector3 & | out_vPosition, | |||
| MATH::CVector3 & | out_vUTangent, | |||
| MATH::CVector3 & | out_vVTangent, | |||
| MATH::CVector3 & | out_vNormal | |||
| ) | const |
Returns the Position , U tangent, V Tangent, and Normal at a given UV value.
| in_dUValue | The U Value at which we want to evaluate the surface. | |
| in_dVValue | The V Value at which we want to evaluate the surface. |
| out_vPosition | Position at the given UV. | |
| out_vUTangent | Tangent in U at the given UV. | |
| out_vVTangent | Tangent in V at the given UV. | |
| out_vNormal | Normal at the given UV. |
CStatus::Fail other failure
| CStatus EvaluateNormalizedPosition | ( | double | in_dUNormalizedValue, | |
| double | in_dVNormalizedValue, | |||
| MATH::CVector3 & | out_vPosition, | |||
| MATH::CVector3 & | out_vUTangent, | |||
| MATH::CVector3 & | out_vVTangent, | |||
| MATH::CVector3 & | out_vNormal | |||
| ) | const |
Returns the Position, U tangent, V Tangent,Normal at a given normalized UV value.
| in_dUNormalizedValue | The normalized U Value(0.0 to 1.0) at which we want to evaluate the surface. | |
| in_dVNormalizedValue | The normalized V Value(0.0 to 1.0) at which we want to evaluate the surface. |
| out_vPosition | Position at the given UV. | |
| out_vUTangent | Tangent in U at the given UV. | |
| out_vVTangent | Tangent in V at the given UV. | |
| out_vNormal | Normal at the given UV. |
CStatus::Fail other failure
| CStatus GetNormalizedUVFromUV | ( | double | in_dUValue, | |
| double | in_dVValue, | |||
| double & | out_dNormalizedUValue, | |||
| double & | out_dNormalizedVValue | |||
| ) | const |
Returns the Normalized equivalent of UV values.
| in_dUValue | The U Value from which we want the normalized U Value. | |
| in_dVValue | The V Value from which we want the normalized V Value. |
| out_dNormalizedUValue | The normalized U Value(0.0 to 1.0). | |
| out_dNormalizedVValue | The normalized V Value(0.0 to 1.0). |
CStatus::Fail other failure
| CStatus GetUVFromNormalizedUV | ( | double | in_dNormalizedUValue, | |
| double | in_dNormalizedVValue, | |||
| double & | out_dUValue, | |||
| double & | out_dVValue | |||
| ) | const |
Returns the UV value equivalent to the specified normalized UV values.
| in_dNormalizedUValue | The normalized UValue(0.0 to 1.0) from which we want the actual U Value. | |
| in_dNormalizedVValue | The normalized VValue(0.0 to 1.0) from which we want the actual V Value. |
| out_dUValue | The actual U value. | |
| out_dVValue | The actual V value. |
CStatus::Fail other failure
| LONG GetTrimCount | ( | ) | const |
Returns the number of trim curves on this nurbs surface.
| CStatus GetTrim | ( | LONG | in_lTrimIndex, | |
| siNurbsFormat | in_siNurbsFormat, | |||
| CTrimCurveData & | out_trimcurve | |||
| ) | const |
Returns a complete data description of a nurbs surface trim. A trim is a NurbsCurveList that is projected on a nurbs surface.
| in_lTrimIndex | The index of the trim curve for which we want the description. | |
| in_siNurbsFormat | Specifies how the data is formatted. |
| out_trimcurve | The entire data description of the trim curve. |
CStatus::Fail other failure