Point Cloud Library (PCL)  1.7.0
Public Member Functions | Public Attributes | Protected Attributes | Friends
ON_Mesh Class Reference

#include <pcl/surface/3rdparty/opennurbs/opennurbs_mesh.h>

+ Inheritance diagram for ON_Mesh:

List of all members.

Public Member Functions

 ON_Mesh ()
 ON_Mesh (int initial_face_array_capacity, int initial_vertex_array_capacity, bool has_vertex_normals, bool has_texture_coordinates)
 ON_Mesh (const ON_Mesh &)
ON_Meshoperator= (const ON_Mesh &)
 ~ON_Mesh ()
void MemoryRelocate ()
void DestroyRuntimeCache (bool bDelete=true)
void Destroy ()
void EmergencyDestroy ()
void DestroyTree (bool bDeleteTree=true)
unsigned int SizeOf () const
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
ON_BOOL32 IsValid (ON_TextLog *text_log=NULL) const
void Dump (ON_TextLog &) const
ON_BOOL32 Write (ON_BinaryArchive &) const
ON_BOOL32 Read (ON_BinaryArchive &)
ON::object_type ObjectType () const
int Dimension () const
ON_BOOL32 GetBBox (double *, double *, ON_BOOL32=false) const
bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
ON_BOOL32 Transform (const ON_Xform &)
bool IsDeformable () const
bool MakeDeformable ()
ON_BOOL32 SwapCoordinates (int, int)
bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const
bool SetVertex (int, const ON_3dPoint &)
bool SetVertex (int, const ON_3fPoint &)
bool SetVertexNormal (int, const ON_3dVector &)
bool SetVertexNormal (int, const ON_3fVector &)
bool SetTextureCoord (int, double, double)
bool SetTriangle (int, int, int, int)
bool SetQuad (int, int, int, int, int)
ON_MeshVertexRef VertexRef (ON_COMPONENT_INDEX ci) const
ON_MeshVertexRef VertexRef (int mesh_V_index) const
ON_MeshEdgeRef EdgeRef (ON_COMPONENT_INDEX ci) const
ON_MeshEdgeRef EdgeRef (int tope_index) const
ON_MeshFaceRef FaceRef (ON_COMPONENT_INDEX ci) const
ON_MeshFaceRef FaceRef (int mesh_F_index) const
ON_GeometryMeshComponent (ON_COMPONENT_INDEX ci) const
int VertexCount () const
int FaceCount () const
int QuadCount () const
int TriangleCount () const
int InvalidFaceCount () const
bool HasVertexNormals () const
bool HasFaceNormals () const
bool HasTextureCoordinates () const
bool HasSurfaceParameters () const
bool HasPrincipalCurvatures () const
bool HasVertexColors () const
int HiddenVertexCount () const
bool GetCurvatureStats (ON::curvature_style, ON_MeshCurvatureStats &) const
void InvalidateVertexBoundingBox ()
void InvalidateVertexNormalBoundingBox ()
void InvalidateTextureCoordinateBoundingBox ()
void InvalidateCurvatureStats ()
void InvalidateBoundingBoxes ()
void Flip ()
void FlipVertexNormals ()
void FlipFaceNormals ()
void FlipFaceOrientation ()
void SetMeshParameters (const ON_MeshParameters &)
const ON_MeshParametersMeshParameters () const
void DeleteMeshParameters ()
bool UnitizeVertexNormals ()
bool UnitizeFaceNormals ()
bool CountQuads ()
bool ConvertQuadsToTriangles ()
bool ConvertTrianglesToQuads (double angle_tol_radians, double min_diagonal_length_ratio)
bool ComputeFaceNormals ()
bool ComputeFaceNormal (int)
int GetClashingFacePairs (int max_pair_count, ON_SimpleArray< ON_2dex > &clashing_pairs) const
int CullClashingFaces (int what_to_cull)
int CullDegenerateFaces ()
int CullUnusedVertices ()
bool Compact ()
bool ComputeVertexNormals ()
bool NormalizeTextureCoordinates ()
bool TransposeTextureCoordinates ()
bool TransposeSurfaceParameters ()
bool ReverseTextureCoordinates (int dir)
bool ReverseSurfaceParameters (int dir)
bool SetTextureCoordinates (const class ON_TextureMapping &mapping, const class ON_Xform *mesh_xform=0, bool bLazy=true)
bool HasCachedTextureCoordinates () const
const ON_TextureCoordinatesCachedTextureCoordinates (const ON_UUID &mapping_id) const
const ON_TextureCoordinatesSetCachedTextureCoordinates (const class ON_TextureMapping &mapping, const class ON_Xform *mesh_xform=0, bool bLazy=true)
bool EvaluateMeshGeometry (const ON_Surface &)
bool CombineCoincidentVertices (ON_3fVector, double)
bool CombineIdenticalVertices (bool bIgnoreVertexNormals=false, bool bIgnoreTextureCoordinates=false)
void Append (const ON_Mesh &)
void Append (int count, const ON_Mesh *const *meshes)
void SetClosed (int closed)
bool IsClosed () const
bool IsManifold () const
bool IsOriented () const
bool IsManifold (bool bTopologicalTest, bool *pbIsOriented=NULL, bool *pbHasBoundary=NULL) const
void SetSolidOrientation (int solid_orientation)
int SolidOrientation () const
bool IsSolid () const
int GetVertexEdges (int vcount, const int *vertex_index, bool bNoDuplicates, ON_SimpleArray< ON_2dex > &edges) const
int GetMeshEdges (ON_SimpleArray< ON_2dex > &edges) const
int * GetVertexLocationIds (int first_vid, int *Vid, int *Vindex) const
int GetMeshFaceSideList (const int *Vid, struct ON_MeshFaceSide *&sides) const
int GetMeshEdgeList (ON_SimpleArray< ON_2dex > &edge_list, int edge_type_partition[5]) const
int GetMeshEdgeList (ON_SimpleArray< ON_2dex > &edge_list, ON_SimpleArray< int > &ci_meshtop_edge_map, int edge_type_partition[5]) const
int GetMeshEdgeList (ON_SimpleArray< ON_2dex > &edge_list, ON_SimpleArray< int > &ci_meshtop_edge_map, ON_SimpleArray< int > &ci_meshtop_vertex_map, int edge_type_partition[5]) const
bool CollapseEdge (int topei)
bool IsSwappableEdge (int topei)
bool SwapEdge (int topei)
bool DeleteFace (int meshfi)
void DestroyHiddenVertexArray ()
const bool * HiddenVertexArray () const
void SetVertexHiddenFlag (int meshvi, bool bHidden)
bool VertexIsHidden (int meshvi) const
bool FaceIsHidden (int meshvi) const
const ON_MeshTopologyTopology () const
void DestroyTopology ()
bool TopologyExists () const
const ON_MeshPartitionCreatePartition (int, int)
const ON_MeshPartitionPartition () const
void DestroyPartition ()
ON_MeshMeshPart (const ON_MeshPart &mesh_part, ON_Mesh *mesh) const
ON_MeshDuplicateFace (int face_index, ON_Mesh *mesh) const
class ON_MeshNgonListNgonList () const
class ON_MeshNgonListModifyNgonList ()
void DestroyNgonList ()
int GetConnectedComponents (bool bUseVertexConnections, bool bTopologicalConnections, ON_SimpleArray< int > &facet_component_labels) const
int GetConnectedComponents (bool bUseVertexConnections, bool bTopologicalConnections, ON_SimpleArray< ON_Mesh * > *components) const
bool HasSynchronizedDoubleAndSinglePrecisionVertices () const
bool HasDoublePrecisionVertices () const
void EnableDoublePrecisionVertices (bool bEnableDoublePrecisionVertices)
void UpdateSinglePrecisionVertices ()
void UpdateDoublePrecisionVertices ()
void SetSinglePrecisionVerticesAsValid ()
void SetDoublePrecisionVerticesAsValid ()
bool SinglePrecisionVerticesAreValid () const
bool DoublePrecisionVerticesAreValid () const
void DestroyDoublePrecisionVertices ()
ON_3dPointArrayDoublePrecisionVertices ()
const ON_3dPointArrayDoublePrecisionVertices () const
ON_3fPointArraySinglePrecisionVertices ()
const ON_3fPointArraySinglePrecisionVertices () const
ON_3dPoint Vertex (int vertex_index) const
bool HasPackedTextureRegion () const

Public Attributes

ON_3fPointArray m_V
ON_SimpleArray< ON_MeshFacem_F
ON_3fVectorArray m_N
ON_3fVectorArray m_FN
ON_MappingTag m_Ttag
ON_2fPointArray m_T
ON_ClassArray
< ON_TextureCoordinates
m_TC
ON_2dPointArray m_S
ON_Interval m_srf_domain [2]
double m_srf_scale [2]
ON_Interval m_packed_tex_domain [2]
bool m_packed_tex_rotate
ON_SimpleArray
< ON_SurfaceCurvature
m_K
ON_MappingTag m_Ctag
ON_SimpleArray< ON_Colorm_C
ON_SimpleArray< bool > m_H
int m_hidden_count
const ON_Objectm_parent

Protected Attributes

ON_MeshTopology m_top
ON_MeshParametersm_mesh_parameters
int m_invalid_count
int m_quad_count
int m_triangle_count
float m_vbox [2][3]
float m_nbox [2][3]
float m_tbox [2][2]
ON_MeshCurvatureStatsm_kstat [4]
ON_MeshPartitionm_partition

Friends

class ON_MeshVertexRef
class ON_MeshEdgeRef
class ON_MeshFaceRef

Detailed Description

Definition at line 989 of file opennurbs_mesh.h.


Constructor & Destructor Documentation

ON_Mesh::ON_Mesh ( int  initial_face_array_capacity,
int  initial_vertex_array_capacity,
bool  has_vertex_normals,
bool  has_texture_coordinates 
)
ON_Mesh::ON_Mesh ( const ON_Mesh )

Member Function Documentation

void ON_Mesh::Append ( const ON_Mesh )
void ON_Mesh::Append ( int  count,
const ON_Mesh *const *  meshes 
)
const ON_TextureCoordinates* ON_Mesh::CachedTextureCoordinates ( const ON_UUID mapping_id) const
bool ON_Mesh::CollapseEdge ( int  topei)
bool ON_Mesh::CombineIdenticalVertices ( bool  bIgnoreVertexNormals = false,
bool  bIgnoreTextureCoordinates = false 
)
bool ON_Mesh::Compact ( )
bool ON_Mesh::ConvertTrianglesToQuads ( double  angle_tol_radians,
double  min_diagonal_length_ratio 
)
const ON_MeshPartition* ON_Mesh::CreatePartition ( int  ,
int   
)
int ON_Mesh::CullClashingFaces ( int  what_to_cull)
ON__UINT32 ON_Mesh::DataCRC ( ON__UINT32  current_remainder) const [virtual]

Reimplemented from ON_Object.

bool ON_Mesh::DeleteFace ( int  meshfi)
void ON_Mesh::Destroy ( )
void ON_Mesh::DestroyRuntimeCache ( bool  bDelete = true) [virtual]

Reimplemented from ON_Object.

void ON_Mesh::DestroyTree ( bool  bDeleteTree = true)
int ON_Mesh::Dimension ( ) const [virtual]

Implements ON_Geometry.

void ON_Mesh::Dump ( ON_TextLog ) const [virtual]

Reimplemented from ON_Object.

ON_Mesh* ON_Mesh::DuplicateFace ( int  face_index,
ON_Mesh mesh 
) const
ON_MeshEdgeRef ON_Mesh::EdgeRef ( ON_COMPONENT_INDEX  ci) const
ON_MeshEdgeRef ON_Mesh::EdgeRef ( int  tope_index) const

Reimplemented from ON_Object.

void ON_Mesh::EnableDoublePrecisionVertices ( bool  bEnableDoublePrecisionVertices)
bool ON_Mesh::EvaluatePoint ( const class ON_ObjRef objref,
ON_3dPoint P 
) const [virtual]

Reimplemented from ON_Geometry.

int ON_Mesh::FaceCount ( ) const
bool ON_Mesh::FaceIsHidden ( int  meshvi) const
ON_MeshFaceRef ON_Mesh::FaceRef ( ON_COMPONENT_INDEX  ci) const
ON_MeshFaceRef ON_Mesh::FaceRef ( int  mesh_F_index) const
void ON_Mesh::Flip ( )
ON_BOOL32 ON_Mesh::GetBBox ( double *  ,
double *  ,
ON_BOOL32  = false 
) const [virtual]

Implements ON_Geometry.

int ON_Mesh::GetClashingFacePairs ( int  max_pair_count,
ON_SimpleArray< ON_2dex > &  clashing_pairs 
) const
int ON_Mesh::GetConnectedComponents ( bool  bUseVertexConnections,
bool  bTopologicalConnections,
ON_SimpleArray< int > &  facet_component_labels 
) const
int ON_Mesh::GetConnectedComponents ( bool  bUseVertexConnections,
bool  bTopologicalConnections,
ON_SimpleArray< ON_Mesh * > *  components 
) const
bool ON_Mesh::GetCurvatureStats ( ON::curvature_style  ,
ON_MeshCurvatureStats  
) const
int ON_Mesh::GetMeshEdgeList ( ON_SimpleArray< ON_2dex > &  edge_list,
int  edge_type_partition[5] 
) const
int ON_Mesh::GetMeshEdgeList ( ON_SimpleArray< ON_2dex > &  edge_list,
ON_SimpleArray< int > &  ci_meshtop_edge_map,
int  edge_type_partition[5] 
) const
int ON_Mesh::GetMeshEdgeList ( ON_SimpleArray< ON_2dex > &  edge_list,
ON_SimpleArray< int > &  ci_meshtop_edge_map,
ON_SimpleArray< int > &  ci_meshtop_vertex_map,
int  edge_type_partition[5] 
) const
int ON_Mesh::GetMeshEdges ( ON_SimpleArray< ON_2dex > &  edges) const
int ON_Mesh::GetMeshFaceSideList ( const int *  Vid,
struct ON_MeshFaceSide *&  sides 
) const
bool ON_Mesh::GetTightBoundingBox ( ON_BoundingBox tight_bbox,
int  bGrowBox = false,
const ON_Xform xform = 0 
) const [virtual]

Reimplemented from ON_Geometry.

int ON_Mesh::GetVertexEdges ( int  vcount,
const int *  vertex_index,
bool  bNoDuplicates,
ON_SimpleArray< ON_2dex > &  edges 
) const
int* ON_Mesh::GetVertexLocationIds ( int  first_vid,
int *  Vid,
int *  Vindex 
) const
bool ON_Mesh::HasFaceNormals ( ) const
bool ON_Mesh::HasVertexColors ( ) const
bool ON_Mesh::HasVertexNormals ( ) const
const bool* ON_Mesh::HiddenVertexArray ( ) const
bool ON_Mesh::IsClosed ( ) const
bool ON_Mesh::IsDeformable ( ) const [virtual]

Reimplemented from ON_Geometry.

bool ON_Mesh::IsManifold ( ) const
bool ON_Mesh::IsManifold ( bool  bTopologicalTest,
bool *  pbIsOriented = NULL,
bool *  pbHasBoundary = NULL 
) const
bool ON_Mesh::IsOriented ( ) const
bool ON_Mesh::IsSolid ( ) const
bool ON_Mesh::IsSwappableEdge ( int  topei)
ON_BOOL32 ON_Mesh::IsValid ( ON_TextLog text_log = NULL) const [virtual]

Implements ON_Object.

bool ON_Mesh::MakeDeformable ( ) [virtual]

Reimplemented from ON_Geometry.

void ON_Mesh::MemoryRelocate ( ) [virtual]

Reimplemented from ON_Object.

ON_Geometry* ON_Mesh::MeshComponent ( ON_COMPONENT_INDEX  ci) const
ON_Mesh* ON_Mesh::MeshPart ( const ON_MeshPart mesh_part,
ON_Mesh mesh 
) const
ON::object_type ON_Mesh::ObjectType ( ) const [virtual]

Reimplemented from ON_Object.

ON_Mesh& ON_Mesh::operator= ( const ON_Mesh )
int ON_Mesh::QuadCount ( ) const
ON_BOOL32 ON_Mesh::Read ( ON_BinaryArchive ) [virtual]

Reimplemented from ON_Object.

const ON_TextureCoordinates* ON_Mesh::SetCachedTextureCoordinates ( const class ON_TextureMapping mapping,
const class ON_Xform mesh_xform = 0,
bool  bLazy = true 
)
void ON_Mesh::SetClosed ( int  closed)
bool ON_Mesh::SetQuad ( int  ,
int  ,
int  ,
int  ,
int   
)
void ON_Mesh::SetSolidOrientation ( int  solid_orientation)
bool ON_Mesh::SetTextureCoord ( int  ,
double  ,
double   
)
bool ON_Mesh::SetTextureCoordinates ( const class ON_TextureMapping mapping,
const class ON_Xform mesh_xform = 0,
bool  bLazy = true 
)
bool ON_Mesh::SetTriangle ( int  ,
int  ,
int  ,
int   
)
bool ON_Mesh::SetVertex ( int  ,
const ON_3dPoint  
)
bool ON_Mesh::SetVertex ( int  ,
const ON_3fPoint  
)
void ON_Mesh::SetVertexHiddenFlag ( int  meshvi,
bool  bHidden 
)
bool ON_Mesh::SetVertexNormal ( int  ,
const ON_3dVector  
)
bool ON_Mesh::SetVertexNormal ( int  ,
const ON_3fVector  
)
unsigned int ON_Mesh::SizeOf ( ) const [virtual]

Reimplemented from ON_Object.

ON_BOOL32 ON_Mesh::SwapCoordinates ( int  ,
int   
) [virtual]

Reimplemented from ON_Geometry.

bool ON_Mesh::SwapEdge ( int  topei)
bool ON_Mesh::TopologyExists ( ) const
ON_BOOL32 ON_Mesh::Transform ( const ON_Xform ) [virtual]

Reimplemented from ON_Geometry.

int ON_Mesh::TriangleCount ( ) const
ON_3dPoint ON_Mesh::Vertex ( int  vertex_index) const
int ON_Mesh::VertexCount ( ) const
bool ON_Mesh::VertexIsHidden ( int  meshvi) const
ON_MeshVertexRef ON_Mesh::VertexRef ( ON_COMPONENT_INDEX  ci) const
ON_MeshVertexRef ON_Mesh::VertexRef ( int  mesh_V_index) const
ON_BOOL32 ON_Mesh::Write ( ON_BinaryArchive ) const [virtual]

Reimplemented from ON_Object.


Friends And Related Function Documentation

friend class ON_MeshEdgeRef [friend]

Definition at line 2356 of file opennurbs_mesh.h.

friend class ON_MeshFaceRef [friend]

Definition at line 2357 of file opennurbs_mesh.h.

friend class ON_MeshVertexRef [friend]

Definition at line 2355 of file opennurbs_mesh.h.


Member Data Documentation

Definition at line 2336 of file opennurbs_mesh.h.

Definition at line 2335 of file opennurbs_mesh.h.

Definition at line 2204 of file opennurbs_mesh.h.

Definition at line 2216 of file opennurbs_mesh.h.

Definition at line 2343 of file opennurbs_mesh.h.

Definition at line 2347 of file opennurbs_mesh.h.

int ON_Mesh::m_invalid_count [protected]

Definition at line 2366 of file opennurbs_mesh.h.

Definition at line 2328 of file opennurbs_mesh.h.

Definition at line 2382 of file opennurbs_mesh.h.

Definition at line 2364 of file opennurbs_mesh.h.

Definition at line 2210 of file opennurbs_mesh.h.

float ON_Mesh::m_nbox[2][3] [protected]

Definition at line 2379 of file opennurbs_mesh.h.

Definition at line 2282 of file opennurbs_mesh.h.

Definition at line 2313 of file opennurbs_mesh.h.

Definition at line 2352 of file opennurbs_mesh.h.

Definition at line 2385 of file opennurbs_mesh.h.

int ON_Mesh::m_quad_count [protected]

Definition at line 2367 of file opennurbs_mesh.h.

Definition at line 2271 of file opennurbs_mesh.h.

Definition at line 2272 of file opennurbs_mesh.h.

Definition at line 2273 of file opennurbs_mesh.h.

Definition at line 2227 of file opennurbs_mesh.h.

float ON_Mesh::m_tbox[2][2] [protected]

Definition at line 2381 of file opennurbs_mesh.h.

Definition at line 2236 of file opennurbs_mesh.h.

Definition at line 2362 of file opennurbs_mesh.h.

int ON_Mesh::m_triangle_count [protected]

Definition at line 2368 of file opennurbs_mesh.h.

Definition at line 2226 of file opennurbs_mesh.h.

Definition at line 2192 of file opennurbs_mesh.h.

float ON_Mesh::m_vbox[2][3] [protected]

Definition at line 2378 of file opennurbs_mesh.h.


The documentation for this class was generated from the following file: