QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
opennurbs_mesh.cpp File Reference
#include "opennurbs.h"

Classes

struct  EDGEINFO
 
struct  tagFPT
 
struct  tagMESHPOINTS
 
struct  TMPEDGE
 

Typedefs

typedef int(* ON_COMPAR_LPVOID_LPVOID) (const void *, const void *)
 

Functions

static int AddToPartition (ON_Mesh *mesh, ON_SimpleArray< int > &pmark, int vi, int partition_mark, int fi0)
 
static int compare3fPoint (const ON_3fPoint *a, const ON_3fPoint *b)
 
static int compare_pmark (const int *a, const int *b)
 
static int compare_vmap (const void *a, const void *b)
 
static int CompareMeshPoint (const void *a, const void *b, void *ptr)
 
static int DupVertex (ON_Mesh *mesh, int vi)
 
static int ecomp (const struct TMPEDGE *ea, const struct TMPEDGE *eb)
 
static int GetPointMap (int pt_count, const ON_3fPoint *pt, ON_SimpleArray< int > &pt_map)
 
static void GetSurfaceParametersHelper (const ON_Mesh &mesh, double tex_x, double tex_y, double *srf_s, double *srf_t)
 
bool ON_ClosestPointToTriangle (ON_3dPoint A, ON_3dPoint B, ON_3dPoint C, ON_3dPoint P, double *a, double *b, double *c)
 
bool ON_ClosestPointToTriangleFast (const ON_3dPoint &R, const ON_3dPoint &S, const ON_3dPoint &T, ON_3dPoint Q, double *r, double *s, double *t)
 
static bool ON_ClosestPointToTriangleHelper (ON_3dPoint A, ON_3dPoint B, ON_3dPoint C, ON_3dPoint P, double *a, double *b, double *c)
 
int ON_LineTriangleIntersect (const ON_3dPoint &A, const ON_3dPoint &B, const ON_3dPoint &C, const ON_3dPoint &P, const ON_3dPoint &Q, double abc[2][3], double t[2], double tol)
 
int ON_Mesh2dRegion (int point_count, int point_stride, const double *point, int edge_count, int edge_stride, const int *edge, const int *edge_side, ON_SimpleArray< ON_3dex > &triangles)
 
static bool ON_Mesh_CreatePartition_SortFaces (const ON_Mesh &mesh, int *fmap)
 
static int ON_MeshGetVertexEdges_Compare2dex (const void *a, const void *b)
 
static int ON_MeshIsManifold_Compare3dex (const void *a, const void *b)
 
static int ON_MeshIsManifold_CompareV (const void *a, const void *b)
 
bool ON_MeshPartition_IsValid (const ON_MeshPartition &p, const ON_Mesh &mesh)
 
ON_MeshON_MeshSurface (const ON_Surface &surface, int mesh_density, ON_Mesh *mesh)
 
ON_MeshON_MeshSurface (const ON_Surface &surface, int u_count, const double *u, int v_count, const double *v, ON_Mesh *mesh)
 
static void ON_MeshSurfaceHelper (ON_Mesh *mesh, int vcnt_s, int vcnt_t, int srfIsClosed[2], int srfIsSingular[4])
 
 ON_OBJECT_IMPLEMENT (ON_Mesh, ON_Geometry,"4ED7D4E4-E947-11d3-BFE5-0010830122F0")
 
 ON_OBJECT_IMPLEMENT (ON_MeshEdgeRef, ON_Geometry,"ED727872-463A-4424-851F-9EC02CB0F155")
 
 ON_OBJECT_IMPLEMENT (ON_MeshFaceRef, ON_Geometry,"4F529AA5-EF8D-4c25-BCBB-162D510AA280")
 
 ON_OBJECT_IMPLEMENT (ON_MeshVertexRef, ON_Geometry,"C547B4BD-BDCD-49b6-A983-0C4A7F02E31A")
 
static void ON_ReverseIntArray (int *e, size_t nel)
 
ON_3dVector ON_TriangleNormal (const ON_3dPoint &A, const ON_3dPoint &B, const ON_3dPoint &C)
 

Variables

static const ON_UUID obsolete_default_srfp_mapping_id = { 0xb988a6c2, 0x61a6, 0x45a7, { 0xaa, 0xee, 0x9a, 0xed, 0x7e, 0xf4, 0xe3, 0x16 } }
 

Typedef Documentation

◆ ON_COMPAR_LPVOID_LPVOID

typedef int(* ON_COMPAR_LPVOID_LPVOID) (const void *, const void *)

Function Documentation

◆ AddToPartition()

static int AddToPartition ( ON_Mesh * mesh,
ON_SimpleArray< int > & pmark,
int vi,
int partition_mark,
int fi0 )
static

◆ compare3fPoint()

static int compare3fPoint ( const ON_3fPoint * a,
const ON_3fPoint * b )
static

◆ compare_pmark()

static int compare_pmark ( const int * a,
const int * b )
static

◆ compare_vmap()

static int compare_vmap ( const void * a,
const void * b )
static

◆ CompareMeshPoint()

static int CompareMeshPoint ( const void * a,
const void * b,
void * ptr )
static

◆ DupVertex()

static int DupVertex ( ON_Mesh * mesh,
int vi )
static

◆ ecomp()

static int ecomp ( const struct TMPEDGE * ea,
const struct TMPEDGE * eb )
static

◆ GetPointMap()

static int GetPointMap ( int pt_count,
const ON_3fPoint * pt,
ON_SimpleArray< int > & pt_map )
static

◆ GetSurfaceParametersHelper()

static void GetSurfaceParametersHelper ( const ON_Mesh & mesh,
double tex_x,
double tex_y,
double * srf_s,
double * srf_t )
static

◆ ON_ClosestPointToTriangle()

bool ON_ClosestPointToTriangle ( ON_3dPoint A,
ON_3dPoint B,
ON_3dPoint C,
ON_3dPoint P,
double * a,
double * b,
double * c )

◆ ON_ClosestPointToTriangleFast()

bool ON_ClosestPointToTriangleFast ( const ON_3dPoint & R,
const ON_3dPoint & S,
const ON_3dPoint & T,
ON_3dPoint Q,
double * r,
double * s,
double * t )

◆ ON_ClosestPointToTriangleHelper()

static bool ON_ClosestPointToTriangleHelper ( ON_3dPoint A,
ON_3dPoint B,
ON_3dPoint C,
ON_3dPoint P,
double * a,
double * b,
double * c )
static

◆ ON_LineTriangleIntersect()

int ON_LineTriangleIntersect ( const ON_3dPoint & A,
const ON_3dPoint & B,
const ON_3dPoint & C,
const ON_3dPoint & P,
const ON_3dPoint & Q,
double abc[2][3],
double t[2],
double tol )

◆ ON_Mesh2dRegion()

int ON_Mesh2dRegion ( int point_count,
int point_stride,
const double * point,
int edge_count,
int edge_stride,
const int * edge,
const int * edge_side,
ON_SimpleArray< ON_3dex > & triangles )

◆ ON_Mesh_CreatePartition_SortFaces()

static bool ON_Mesh_CreatePartition_SortFaces ( const ON_Mesh & mesh,
int * fmap )
static

◆ ON_MeshGetVertexEdges_Compare2dex()

static int ON_MeshGetVertexEdges_Compare2dex ( const void * a,
const void * b )
static

◆ ON_MeshIsManifold_Compare3dex()

static int ON_MeshIsManifold_Compare3dex ( const void * a,
const void * b )
static

◆ ON_MeshIsManifold_CompareV()

static int ON_MeshIsManifold_CompareV ( const void * a,
const void * b )
static

◆ ON_MeshPartition_IsValid()

bool ON_MeshPartition_IsValid ( const ON_MeshPartition & p,
const ON_Mesh & mesh )

◆ ON_MeshSurface() [1/2]

ON_Mesh * ON_MeshSurface ( const ON_Surface & surface,
int mesh_density,
ON_Mesh * mesh )

◆ ON_MeshSurface() [2/2]

ON_Mesh * ON_MeshSurface ( const ON_Surface & surface,
int u_count,
const double * u,
int v_count,
const double * v,
ON_Mesh * mesh )

◆ ON_MeshSurfaceHelper()

static void ON_MeshSurfaceHelper ( ON_Mesh * mesh,
int vcnt_s,
int vcnt_t,
int srfIsClosed[2],
int srfIsSingular[4] )
static

◆ ON_OBJECT_IMPLEMENT() [1/4]

ON_OBJECT_IMPLEMENT ( ON_Mesh ,
ON_Geometry ,
"4ED7D4E4-E947-11d3-BFE5-0010830122F0"  )

◆ ON_OBJECT_IMPLEMENT() [2/4]

ON_OBJECT_IMPLEMENT ( ON_MeshEdgeRef ,
ON_Geometry ,
"ED727872-463A-4424-851F-9EC02CB0F155"  )

◆ ON_OBJECT_IMPLEMENT() [3/4]

ON_OBJECT_IMPLEMENT ( ON_MeshFaceRef ,
ON_Geometry ,
"4F529AA5-EF8D-4c25-BCBB-162D510AA280"  )

◆ ON_OBJECT_IMPLEMENT() [4/4]

ON_OBJECT_IMPLEMENT ( ON_MeshVertexRef ,
ON_Geometry ,
"C547B4BD-BDCD-49b6-A983-0C4A7F02E31A"  )

◆ ON_ReverseIntArray()

static void ON_ReverseIntArray ( int * e,
size_t nel )
static

◆ ON_TriangleNormal()

ON_3dVector ON_TriangleNormal ( const ON_3dPoint & A,
const ON_3dPoint & B,
const ON_3dPoint & C )

Variable Documentation

◆ obsolete_default_srfp_mapping_id

const ON_UUID obsolete_default_srfp_mapping_id = { 0xb988a6c2, 0x61a6, 0x45a7, { 0xaa, 0xee, 0x9a, 0xed, 0x7e, 0xf4, 0xe3, 0x16 } }
static