| Rhino C++ API
    8.24
    | 
#include <opennurbs_subd.h>
| Public Types | |
| enum | BispanAccuracy : unsigned char { BispanAccuracy::None = 0, BispanAccuracy::Exact = 1, BispanAccuracy::Approximate = 2 } | 
| ON_SubDSurfaceNurbsFragment::BispanAccuracy specifies if a bispan surface is an exact or approximate.  More... | |
| enum | Type : unsigned char { Type::Unset = 0, Type::BicubicSingle = 1, Type::BicubicQuadrant = 4 } | 
| ON_SubDSurfaceNurbsFragment::Type are types bezier bispans covering a portion of a SubD face.  More... | |
| Public Member Functions | |
| ON_SubDSurfaceNurbsFragment ()=default | |
| ON_SubDSurfaceNurbsFragment (const ON_SubDSurfaceNurbsFragment &)=default | |
| ~ON_SubDSurfaceNurbsFragment ()=default | |
| ON_NurbsSurface * | GetQuadrantSurface (unsigned int quadrant_index, ON_NurbsSurface *destination_surface) const | 
| ON_NurbsSurface * | GetSurface (ON_NurbsSurface *destination_surface) const | 
| bool | IsApproximate () const | 
| bool | IsEmpty () const | 
| unsigned int | MaximumBispanCount () const | 
| ON_SubDSurfaceNurbsFragment & | operator= (const ON_SubDSurfaceNurbsFragment &)=default | 
| unsigned int | SetBispanCount () const | 
| unsigned int | UnsetBispanCount () const | 
| Public Attributes | |
| ON_SubDSurfaceNurbsFragment::BispanAccuracy | m_bispan_type [4] = {} | 
| ON_SubDFaceRegion | m_face_region | 
| m_face_region identifies what part of the SubD is represented by this patch  More... | |
| double | m_patch_cv [5][5][3] | 
| knot vector is uniform and not clamped. For example {-2,-1,0,1,2,3,4}.  More... | |
| ON_SubDSurfaceNurbsFragment::Type | m_type = ON_SubDSurfaceNurbsFragment::Type::Unset | 
| Static Public Attributes | |
| static const ON_SubDSurfaceNurbsFragment | Empty | 
| Every field of ON_SubDSurfaceNurbsFragment::Empty is zero.  More... | |
| static const ON_SubDSurfaceNurbsFragment | Nan | 
| static const ON_SubDSurfaceNurbsFragment | Unset | 
| 
 | strong | 
ON_SubDSurfaceNurbsFragment::BispanAccuracy specifies if a bispan surface is an exact or approximate.
| 
 | strong | 
ON_SubDSurfaceNurbsFragment::Type are types bezier bispans covering a portion of a SubD face.
| 
 | default | 
| 
 | default | 
| 
 | default | 
| ON_NurbsSurface* ON_SubDSurfaceNurbsFragment::GetQuadrantSurface | ( | unsigned int | quadrant_index, | 
| ON_NurbsSurface * | destination_surface | ||
| ) | const | 
| ON_NurbsSurface* ON_SubDSurfaceNurbsFragment::GetSurface | ( | ON_NurbsSurface * | destination_surface | ) | const | 
| bool ON_SubDSurfaceNurbsFragment::IsApproximate | ( | ) | const | 
Returns: One or more of the bispans approximate the SubD surface.
| bool ON_SubDSurfaceNurbsFragment::IsEmpty | ( | ) | const | 
True if there are no set bispans.
| unsigned int ON_SubDSurfaceNurbsFragment::MaximumBispanCount | ( | ) | const | 
Returns: 0: unset NURBS fragment 1: This NURBS fragment uses a single bicubic span to model the region identified by m_face_region. 4: This NURBS fragment uses 4 bicubic spans to model the 4 quadrants of the region identified by m_face_region.
| 
 | default | 
| unsigned int ON_SubDSurfaceNurbsFragment::SetBispanCount | ( | ) | const | 
Returns: 0 to 4 indicating the number of bicubic spans that are set in this NURBS fragment. Remarks: If 0 < SetBispanCount() == MaximumBispanCount(), then the entire region identified by m_face_region is modeled by this NURBS fragment.
If 0 < SetBispanCount() < MaximumBispanCount(), then that many quadrants of the region identified by m_face_region are modeled by this set bispans in this NURBS fragment.
| unsigned int ON_SubDSurfaceNurbsFragment::UnsetBispanCount | ( | ) | const | 
Returns: 0 to 4 indicating the number of unset bicubic spans in "this".
| 
 | static | 
Every field of ON_SubDSurfaceNurbsFragment::Empty is zero.
| ON_SubDSurfaceNurbsFragment::BispanAccuracy ON_SubDSurfaceNurbsFragment::m_bispan_type[4] = {} | 
m_patch_type[] reports what type of patch is returned in m_patch_cv[] m_patch_type[0] = the state for the uniform bi-cubic patch: CV[i][j] = m_patch_cv[i][j] (0 <= i <= 3, 0 <= j <= 3) knot[0] = {-2,-1,0,1,2,3} knot[1] = {-2,-1,0,1,2,3} m_patch_type[1] = the state for the uniform bi-cubic patch: CV[i][j] = m_patch_cv[i+1][j] (0 <= i <= 3, 0 <= j <= 3) knot[0] = {-1,0,1,2,3,4} knot[1] = {-2,-1,0,1,2,3} m_patch_type[2] = the state for the uniform bi-cubic patch: CV[i][j] = m_patch_cv[i+1][j+1] (0 <= i <= 3, 0 <= j <= 3) knot[0] = {-1,0,1,2,3,4} knot[1] = {-1,0,1,2,3,4} m_patch_type[3] = the state for the uniform bi-cubic patch: CV[i][j] = m_patch_cv[i][j+1] (0 <= i <= 3, 0 <= j <= 3) knot[0] = {-2,-1,0,1,2,3} knot[1] = {-1,0,1,2,3,4}
Single bicubic bezier covers the region: m_patch_type[] = {Bicubic or ApproximateBicubic, Ignore, Ignore, Ignore} Bicubic quadrants Each m_patch_type[] element is one of BicubicQuadrant, ApproximateBicubicQuadrant, or None.
| ON_SubDFaceRegion ON_SubDSurfaceNurbsFragment::m_face_region | 
m_face_region identifies what part of the SubD is represented by this patch
| double ON_SubDSurfaceNurbsFragment::m_patch_cv[5][5][3] | 
knot vector is uniform and not clamped. For example {-2,-1,0,1,2,3,4}.
| ON_SubDSurfaceNurbsFragment::Type ON_SubDSurfaceNurbsFragment::m_type = ON_SubDSurfaceNurbsFragment::Type::Unset | 
| 
 | static | 
Every m_patch_cv[][][] value is ON_DBL_QNAN. Every other field of ON_SubDSurfaceNurbsFragment::Unset is zero.
| 
 | static | 
Every m_patch_cv[][][] value is ON_UNSET_VALUE. Every other field of ON_SubDSurfaceNurbsFragment::Unset is zero.
 1.8.17
 1.8.17