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

#include <opennurbs_subd.h>

Inheritance diagram for ON_SubDManagedMeshFragment:
ON_SubDMeshFragment

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...
 
ON_SubDMeshFragmentm_next_fragment
 
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_SubDMeshFragmentm_prev_fragment
 
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)
static

◆ Destroy()

void ON_SubDManagedMeshFragment::Destroy ( )

◆ operator=()

ON_SubDManagedMeshFragment& ON_SubDManagedMeshFragment::operator= ( const ON_SubDManagedMeshFragment )

◆ ReserveCapacity()

bool ON_SubDManagedMeshFragment::ReserveCapacity ( unsigned int  mesh_density)