Rhino C++ API  7.21
Public Member Functions | Static Public Member Functions | List of all members
ON_SubDManagedMeshFragment Class Reference

#include <opennurbs_subd.h>

Inheritance diagram for ON_SubDManagedMeshFragment:

Public Member Functions

 ON_SubDManagedMeshFragment () ON_NOEXCEPT
 ON_SubDManagedMeshFragment (const ON_SubDManagedMeshFragment &) ON_NOEXCEPT
 ~ON_SubDManagedMeshFragment () ON_NOEXCEPT
void Clear () ON_NOEXCEPT
void Destroy () ON_NOEXCEPT
ON_SubDManagedMeshFragmentoperator= (const ON_SubDManagedMeshFragment &) ON_NOEXCEPT
bool ReserveCapacity (unsigned int mesh_density) ON_NOEXCEPT
- Public Member Functions inherited from ON_SubDMeshFragment
const ON_BoundingBox BoundingBox (ON_SubDComponentLocation subd_appearance) const
const ON_Plane CenterFrame () const
const ON_3dVector CenterNormal () const
const ON_3dPoint CenterPoint () const
const ON_3dPoint CenterTextureCoordinate () const
const ON_ColorColorArray (ON_SubDComponentLocation subd_appearance) const
unsigned ColorArrayCount (ON_SubDComponentLocation subd_appearance) const
size_t ColorArrayStride (ON_SubDComponentLocation subd_appearance) const
unsigned int ColorCapacity () const
unsigned int ColorCount () const
bool ColorsExist () const
const ON_BoundingBox ControlNetQuadBoundingBox () const
const ON_SubDMeshFragment ControlNetQuadFragmentForExperts () const
const ON_3dPoint ControlNetQuadPoint (bool bGridOrder, unsigned point_index) const
bool CopyFrom (const ON_SubDMeshFragment &src_fragment)
bool CopyFrom (const ON_SubDMeshFragment &src_fragment, unsigned int display_density)
const ON_Color CornerColor (unsigned int grid_corner_index) const
const ON_SurfaceCurvature CornerCurvature (unsigned int grid_corner_index) const
const ON_Plane CornerFrame (unsigned int grid_corner_index) const
const ON_3dVector CornerNormal (unsigned int grid_corner_index) const
const ON_3dPoint CornerPoint (unsigned int grid_corner_index) const
const ON_SurfaceCurvatureCurvatureArray (ON_SubDComponentLocation subd_appearance) const
unsigned CurvatureArrayCount (ON_SubDComponentLocation subd_appearance) const
unsigned int CurvatureCapacity () const
unsigned int CurvatureCount () const
bool CurvaturesExist () const
bool DeleteManagedArrays ()
void DeleteManagedCurvatureCapacity () const
void Dump (ON_TextLog &text_log) const
unsigned int FaceCornerIndex () const
unsigned int FaceFragmentCount () const
const ON_SubDMeshFragmentFirstFaceFragment () const
bool GetControlNetQuad (bool bGridOrder, ON_3dPoint quad_points[4], ON_3dVector &quad_normal) const
unsigned int GetFaceFragments (const ON_SubDMeshFragment **fragments, size_t fragments_capacity) const
unsigned int GetFaceFragments (ON_SimpleArray< const ON_SubDMeshFragment * > &fragments) const
bool GetTextureCoordinteCorners (bool bGridOrder, ON_3dPoint texture_coordinate_corners[4]) const
const ON_SubDMeshFragmentGridGrid (ON_SubDComponentLocation subd_appearance) const
const bool HasValidPointAndNormalGrid () const
bool IsFaceCornerFragment () const
bool IsFullFaceFragment () const
const ON_SubDMeshFragmentLastFaceFragment () const
bool ManagedArrays () const
const ON_SubDMeshFragmentNextFaceFragment (bool bReturnFirstFromLast) const
const double * NormalArray (ON_SubDComponentLocation subd_appearance) const
unsigned NormalArrayCount (ON_SubDComponentLocation subd_appearance) const
size_t NormalArrayStride (ON_SubDComponentLocation subd_appearance) const
unsigned int NormalCapacity () const
unsigned int NormalCount () const
const ON_2dPoint PackRectCenter () const
const ON_2dPoint PackRectCorner (unsigned int grid_corner_index) const
const double * PointArray (ON_SubDComponentLocation subd_appearance) const
unsigned PointArrayCount (ON_SubDComponentLocation subd_appearance) const
size_t PointArrayStride (ON_SubDComponentLocation subd_appearance) const
unsigned int PointCapacity () const
unsigned int PointCount () const
const ON_SubDMeshFragmentPreviousFaceFragment (bool bReturnLastFromFirstFirst) const
bool ReserveManagedCurvatureCapacity () const
bool ReserveManagedVertexCapacity (size_t vertex_capacity)
bool SetColors (ON_Color color) const
void SetColorsExist (bool bSetColorsExist) const
bool SetColorsFromCallback (const ON_MappingTag &fragment_colors_mapping_tag, const ON_SubD &subd, ON__UINT_PTR callback_context, const ON_Color(*color_callback)(ON__UINT_PTR callback_context, const ON_MappingTag &mapping_tag, const ON_SubD &subd, ON_SubDComponentPtr cptr, const ON_3dPoint &P, const ON_3dVector &N, const ON_3dPoint &T, const ON_SurfaceCurvature &K)) const
void SetControlNetQuad (bool bGridOrder, const ON_3dPoint quad_points[4], ON_3dVector quad_normal)
void SetCurvaturesExist (bool bSetCurvaturesExist) const
void SetNgonFaceFragmentPackRectCorners (bool bGridOrder, const ON_2dPoint face_pack_rect_corners[4], ON_2dVector face_pack_rect_size, ON_2udex ngon_grid_size, ON_2dVector ngon_sub_pack_rect_size, ON_2dVector ngon_sub_pack_rect_delta)
void SetNgonFaceFragmentTextureCoordinateCorners (bool bGridOrder, const ON_3dPoint face_texture_coordinate_corners[4], ON_2dVector face_pack_rect_size, ON_2udex ngon_grid_size, ON_2dVector ngon_sub_pack_rect_size, ON_2dVector ngon_sub_pack_rect_delta, bool bSetTextureCoordinates) const
void SetPackedTextureCoordinates () const
void SetPackRectCornersForExperts (bool bGridOrder, const ON_2dPoint fragment_pack_rect_corners[4])
void SetQuadOr3gonFaceFragmentPackRectCorners (bool bGridOrder, const ON_2dPoint face_pack_rect_corners[4])
void SetQuadOr3gonFaceFragmentTextureCoordinateCorners (bool bGridOrder, const ON_3dPoint face_texture_coordinate_corners[4], bool bSetTextureCoordinates) const
void SetTextureCoordinateCornersForExperts (bool bGridOrder, const ON_3dPoint fragment_texture_coordinate_corners[4], bool bSetTextureCoordinates) const
void SetTextureCoordinatesExist (bool bTextureCoordinatesExist) const
void SetTextureCoordinatesFromCorners () const
bool SetUnmanagedVertexCapacity (size_t vertex_capacity)
void SetUnpackedTextureCoordinates () const
bool SetVertexCount (size_t vertex_count)
bool SetVertexTextureCoordinate (ON_2udex grid2dex, ON_3dPoint texture_coordinate) const
bool SetVertexTextureCoordinate (unsigned grid2dex_i, unsigned grid2dex_j, ON_3dPoint texture_coordinate) const
bool SetVertexTextureCoordinate (unsigned grid_point_index, ON_3dPoint texture_coordinate) const
const ON_Plane SideFrame (unsigned int grid_side_index) const
const ON_3dVector SideNormal (unsigned int grid_side_index) const
const ON_3dPoint SidePoint (unsigned int grid_side_index) const
ON_ComponentStatus Status () const
const class ON_SubDEdgeSubDEdge (unsigned int grid_side_index) const
const class ON_SubDEdgePtr SubDEdgePtr (unsigned int grid_side_index) const
const class ON_SubDFaceSubDFace () const
const class ON_SubDVertexSubDVertex (unsigned int grid_corner_index) const
const class ON_SubDVertexPtr SubDVertexPtr (unsigned int grid_corner_index) const
const ON_BoundingBox SurfaceBoundingBox () const
const double * TextureCoordinateArray (ON_SubDComponentLocation subd_appearance) const
unsigned TextureCoordinateArrayCount (ON_SubDComponentLocation subd_appearance) const
size_t TextureCoordinateArrayStride (ON_SubDComponentLocation subd_appearance) const
unsigned int TextureCoordinateCapacity () const
const ON_3dPoint TextureCoordinateCorner (unsigned int grid_corner_index) const
unsigned int TextureCoordinateCount () const
bool TextureCoordinatesExist () const
bool Transform (const ON_Xform &xform)
bool UnmanagedArrays () const
void UnsetControlNetQuad ()
unsigned VertexCapacity () const
unsigned VertexCount () const
const ON_3dVector VertexNormal (ON_2udex grid2dex) const
const ON_3dVector VertexNormal (unsigned grid2dex_i, unsigned grid2dex_j) const
const ON_3dVector VertexNormal (unsigned grid_point_index) const
const ON_3dPoint VertexPoint (ON_2udex grid2dex) const
const ON_3dPoint VertexPoint (unsigned grid2dex_i, unsigned grid2dex_j) const
const ON_3dPoint VertexPoint (unsigned grid_point_index) const
const ON_3dPoint VertexTextureCoordinate (ON_2udex grid2dex) const
const ON_3dPoint VertexTextureCoordinate (unsigned grid2dex_i, unsigned grid2dex_j) const
const ON_3dPoint VertexTextureCoordinate (unsigned grid_point_index) const
const ON_3dPoint VertexTextureCoordinateFromCorners (ON_2udex grid2dex) const
const ON_3dPoint VertexTextureCoordinateFromCorners (unsigned grid2dex_i, unsigned grid2dex_j) const
const ON_3dPoint VertexTextureCoordinateFromCorners (unsigned grid_point_index) const

Static Public Member Functions

static ON_SubDManagedMeshFragment Create (const ON_SubDMeshFragment &src) ON_NOEXCEPT
- Static Public Member Functions inherited from ON_SubDMeshFragment
static unsigned int DisplayDensityFromSideSegmentCount (unsigned int side_segment_count)
static unsigned int FaceCountFromDisplayDensity (unsigned int display_density)
static unsigned int FullFragmentMeshPointCountFromDensity (unsigned int mesh_density)
static unsigned int FullFragmentMeshQuadCountFromDensity (unsigned int mesh_density)
static bool Get3gonFaceFragmentPackRectCorners (bool bFaceGridOrder, const ON_2dPoint face_pack_rect_corners[4], unsigned int fragment_index, bool bFragmentGridOrder, ON_2dPoint fragment_pack_rect_corners[4])
static bool GetNgonFaceFragmentPackRectCorners (unsigned int ngon_edge_count, unsigned int ngon_fragment_index, bool bGridOrder, const ON_2dPoint face_pack_rect_corners[4], ON_2dVector face_pack_rect_size, ON_2udex ngon_grid_size, ON_2dVector ngon_sub_pack_rect_size, ON_2dVector ngon_sub_pack_rect_delta, ON_2dPoint fragment_pack_rect_corners[4])
static unsigned int HalfFragmentMeshPointCountFromDensity (unsigned int mesh_density)
static unsigned int HalfFragmentMeshQuadCountFromDensity (unsigned int mesh_density)
static unsigned int PointCountFromDisplayDensity (unsigned int display_density)
static unsigned int QuadGridPointCountFromSideCount (unsigned int side_segment_count)
static unsigned int QuadGridQuadCountFromSideCount (unsigned int side_segment_count)
static bool SealAdjacentSides (bool bTestNearEqual, bool bCopyNormals, const ON_SubDMeshFragment &src_fragment, unsigned int i0, unsigned int i1, ON_SubDMeshFragment &dst_fragment, unsigned int j0, unsigned int j1)
static bool SealNormals (bool bTestNearEqual, const double *src, double *dst)
static bool SealPoints (bool bTestNearEqual, const double *src, double *dst)
static unsigned int SidePointCountFromSideCount (unsigned int side_segment_count)
static unsigned int SideSegmentCountFromDisplayDensity (unsigned int display_density)
static bool SideSegmentCountIsValid (unsigned int side_segment_count)
static size_t SizeofFragment (unsigned int display_density, bool bCurvatureArray)

Additional Inherited Members

- Public Types inherited from ON_SubDMeshFragment
enum  : unsigned int { MaximumSideSegmentCount = (1U << ON_SubDDisplayParameters::MaximumDensity) }
enum  : unsigned { MaximumVertexCount = 0x1000 }
- Public Attributes inherited from ON_SubDMeshFragment
const class ON_SubDFacem_face
unsigned short m_face_fragment_count
 Number of fragments that will be delivered for this face. More...
unsigned short m_face_fragment_index
 First fragment has index = 0. Last fragment has index = m_face_fragment_count-1. More...
unsigned short m_face_vertex_index [4]
ON_SubDMeshFragmentGrid m_grid
 Information to resolve m_P[], m_N[], and m_T[] into a grid of NxN quads. More...
double * m_N
 surface normals More...
size_t m_N_stride
 stride between normals for m_N[] as an array of 8 byte doubles (so 0 or >= 3) More...
double * m_P
 surface points More...
size_t m_P_stride
 stride between points for m_P[] as an array of 8 byte doubles (so 0 or >= 3) More...
ON_BoundingBox m_surface_bbox
 3d bounding box of grid vertex points. More...
double * m_T
size_t m_T_stride
 stride between texture points for m_T[] as an array of 8 byte doubles (so 0 or >= 3) More...
- Static Public Attributes inherited from ON_SubDMeshFragment
static const ON_SubDMeshFragment Empty
 Every field of ON_SubDMeshFragment::Empty is zero. More...

Constructor & Destructor Documentation

◆ ON_SubDManagedMeshFragment() [1/2]

ON_SubDManagedMeshFragment::ON_SubDManagedMeshFragment ( )

◆ ~ON_SubDManagedMeshFragment()

ON_SubDManagedMeshFragment::~ON_SubDManagedMeshFragment ( )

◆ ON_SubDManagedMeshFragment() [2/2]

ON_SubDManagedMeshFragment::ON_SubDManagedMeshFragment ( const ON_SubDManagedMeshFragment )

Member Function Documentation

◆ Clear()

void ON_SubDManagedMeshFragment::Clear ( )

◆ Create()

static ON_SubDManagedMeshFragment ON_SubDManagedMeshFragment::Create ( const ON_SubDMeshFragment src)

◆ Destroy()

void ON_SubDManagedMeshFragment::Destroy ( )

◆ operator=()

ON_SubDManagedMeshFragment& ON_SubDManagedMeshFragment::operator= ( const ON_SubDManagedMeshFragment )

◆ ReserveCapacity()

bool ON_SubDManagedMeshFragment::ReserveCapacity ( unsigned int  mesh_density)