#include "_glu"
#include <cstddef>
#include <cassert>
#include "memalloc"
Go to the source code of this file.
|
inline GLUvertex * | static_allocVertex () |
| inlined C code : /////////////////////////////////// More...
|
|
inline GLUface * | static_allocFace () |
|
inline GLUhalfEdge * | static_MakeEdge (GLUhalfEdge *eNext) |
|
inline void | static_Splice (GLUhalfEdge *a, GLUhalfEdge *b) |
|
inline void | static_MakeVertex (GLUvertex *newVertex, GLUhalfEdge *eOrig, GLUvertex *vNext) |
|
inline void | static_MakeFace (GLUface *newFace, GLUhalfEdge *eOrig, GLUface *fNext) |
|
inline void | static_KillEdge (GLUhalfEdge *eDel) |
|
inline void | static_KillVertex (GLUvertex *vDel, GLUvertex *newOrg) |
|
inline void | static_KillFace (GLUface *fDel, GLUface *newLface) |
|
GLUhalfEdge * | __gl_meshMakeEdge (GLUmesh *mesh) |
|
int | __gl_meshSplice (GLUhalfEdge *eOrg, GLUhalfEdge *eDst) |
|
int | __gl_meshDelete (GLUhalfEdge *eDel) |
|
GLUhalfEdge * | __gl_meshAddEdgeVertex (GLUhalfEdge *eOrg) |
|
GLUhalfEdge * | __gl_meshSplitEdge (GLUhalfEdge *eOrg) |
|
GLUhalfEdge * | __gl_meshConnect (GLUhalfEdge *eOrg, GLUhalfEdge *eDst) |
|
void | __gl_meshZapFace (GLUface *fZap) |
|
GLUmesh * | __gl_meshNewMesh (void) |
|
GLUmesh * | __gl_meshUnion (GLUmesh *mesh1, GLUmesh *mesh2) |
|
void | __gl_meshDeleteMesh (GLUmesh *mesh) |
|
void | __gl_meshCheckMesh (GLUmesh *mesh) |
|
◆ Dnext
#define Dnext Rprev->Sym /* 3 pointers */ |
Definition at line 127 of file mesh.
◆ Dprev
Definition at line 125 of file mesh.
◆ Dst
Definition at line 121 of file mesh.
◆ Lprev
Definition at line 124 of file mesh.
◆ Oprev
Definition at line 123 of file mesh.
◆ Rface
Definition at line 120 of file mesh.
◆ Rnext
#define Rnext Oprev->Sym /* 3 pointers */ |
Definition at line 128 of file mesh.
◆ Rprev
Definition at line 126 of file mesh.
◆ tools_glutess_mesh
#define tools_glutess_mesh |
Definition at line 4 of file mesh.
◆ ActiveRegion
Definition at line 1 of file mesh.
◆ GLUface
Definition at line 1 of file mesh.
◆ GLUhalfEdge
Definition at line 1 of file mesh.
◆ GLUmesh
Definition at line 1 of file mesh.
◆ GLUvertex
Definition at line 1 of file mesh.
◆ __gl_meshAddEdgeVertex()
Definition at line 625 of file mesh.
629 if (eNew == NULL)
return NULL;
637 eNew->
Org = eOrg->Dst;
640 if (newVertex == NULL)
return NULL;
◆ __gl_meshCheckMesh()
void __gl_meshCheckMesh |
( |
GLUmesh * |
mesh | ) |
|
|
inline |
Definition at line 917 of file mesh.
927 for( fPrev = fHead ; (f = fPrev->
next) != fHead; fPrev = f) {
928 assert( f->
prev == fPrev );
931 assert( e->
Sym != e );
932 assert( e->
Sym->
Sym == e );
935 assert( e->
Lface == f );
937 }
while( e != f->
anEdge );
939 assert( f->
prev == fPrev && f->
anEdge == NULL && f->
data == NULL );
942 for( vPrev = vHead ; (v = vPrev->
next) != vHead; vPrev = v) {
943 assert( v->
prev == vPrev );
946 assert( e->
Sym != e );
947 assert( e->
Sym->
Sym == e );
950 assert( e->
Org == v );
952 }
while( e != v->
anEdge );
954 assert( v->
prev == vPrev && v->
anEdge == NULL && v->
data == NULL );
957 for( ePrev = eHead ; (e = ePrev->
next) != eHead; ePrev = e) {
959 assert( e->
Sym != e );
960 assert( e->
Sym->
Sym == e );
961 assert( e->
Org != NULL );
962 assert( e->Dst != NULL );
969 && e->
Org == NULL && e->Dst == NULL
970 && e->
Lface == NULL && e->Rface == NULL );
◆ __gl_meshConnect()
Definition at line 687 of file mesh.
692 if (eNew == NULL)
return NULL;
707 eNew->
Org = eOrg->Dst;
714 if( ! joiningLoops ) {
716 if (newFace == NULL)
return NULL;
◆ __gl_meshDelete()
Definition at line 560 of file mesh.
568 if( eDel->
Lface != eDel->Rface ) {
577 if( eDel->
Onext == eDel ) {
581 eDel->Rface->anEdge = eDel->Oprev;
585 if( ! joiningLoops ) {
587 if (newFace == NULL)
return 0;
597 if( eDelSym->
Onext == eDelSym ) {
◆ __gl_meshDeleteMesh()
void __gl_meshDeleteMesh |
( |
GLUmesh * |
mesh | ) |
|
|
inline |
Definition at line 890 of file mesh.
◆ __gl_meshMakeEdge()
Definition at line 451 of file mesh.
459 if (newVertex1 == NULL || newVertex2 == NULL || newFace == NULL) {
460 if (newVertex1 != NULL)
memFree(newVertex1);
461 if (newVertex2 != NULL)
memFree(newVertex2);
462 if (newFace != NULL)
memFree(newFace);
◆ __gl_meshNewMesh()
Definition at line 782 of file mesh.
◆ __gl_meshSplice()
Definition at line 504 of file mesh.
509 if( eOrg == eDst )
return 1;
511 if( eDst->
Org != eOrg->
Org ) {
525 if( ! joiningVertices ) {
527 if (newVertex == NULL)
return 0;
535 if( ! joiningLoops ) {
537 if (newFace == NULL)
return 0;
◆ __gl_meshSplitEdge()
Definition at line 654 of file mesh.
658 if (tempHalfEdge == NULL)
return NULL;
660 eNew = tempHalfEdge->
Sym;
667 eOrg->Dst = eNew->
Org;
668 eNew->Dst->anEdge = eNew->
Sym;
669 eNew->Rface = eOrg->Rface;
◆ __gl_meshUnion()
Definition at line 834 of file mesh.
844 if( f2->
next != f2 ) {
851 if( v2->
next != v2 ) {
858 if( e2->
next != e2 ) {
◆ __gl_meshZapFace()
void __gl_meshZapFace |
( |
GLUface * |
fZap | ) |
|
|
inline |
Definition at line 734 of file mesh.
741 eNext = eStart->
Lnext;
747 if( e->Rface == NULL ) {
750 if( e->
Onext == e ) {
758 if( eSym->
Onext == eSym ) {
767 }
while( e != eStart );
◆ static_allocFace()
inline GLUface* static_allocFace |
( |
| ) |
|
Definition at line 229 of file mesh.
◆ static_allocVertex()
inlined C code : ///////////////////////////////////
Definition at line 224 of file mesh.
◆ static_KillEdge()
Definition at line 380 of file mesh.
385 if( eDel->
Sym < eDel ) { eDel = eDel->
Sym; }
◆ static_KillFace()
Definition at line 424 of file mesh.
434 }
while( e != eStart );
◆ static_KillVertex()
Definition at line 400 of file mesh.
410 }
while( e != eStart );
◆ static_MakeEdge()
Definition at line 245 of file mesh.
251 if (pair == NULL)
return NULL;
257 if( eNext->
Sym < eNext ) { eNext = eNext->
Sym; }
◆ static_MakeFace()
Definition at line 344 of file mesh.
350 assert(fNew != NULL);
374 }
while( e != eOrig );
◆ static_MakeVertex()
Definition at line 310 of file mesh.
317 assert(vNew != NULL);
335 }
while( e != eOrig );
◆ static_Splice()
Definition at line 293 of file mesh.