source: GTP/trunk/App/Demos/Illum/pathmap/Wsimplex.h @ 2197

Revision 2197, 1.4 KB checked in by szirmay, 18 years ago (diff)
Line 
1// Wsimplex.h: interface for the Wsimplex class.
2//
3//////////////////////////////////////////////////////////////////////
4
5#pragma once
6class DelaunayMesh;
7class Wbucket;
8class WsubMesh;
9#include "Vector.hpp"
10#include <vector>
11
12class Wsimplex 
13{
14        friend class DelaunayMesh;
15public:
16        Wsimplex(int dim=3);
17        Wsimplex(Vector *q, Vector *w, int order=0);
18        Wsimplex(Vector *q, Vector *w, Vector *e, int order=0);
19        Wsimplex(Vector *sharp, Wsimplex *flat);
20        Wsimplex::Wsimplex(Vector *q, Vector *w, Vector *e, Vector *r);
21        virtual ~Wsimplex();
22
23        int nearEdge();
24
25        void cutlinkback(Wbucket* container);
26        int inSmallSphere(Vector* guess);
27
28        int verifyDelaunay(Vector* proxy);
29        int adjacentToNothing();
30
31        void print();
32
33        Vector** getVertices();
34        int getDimension();
35
36        Wsimplex** getNeighbours();
37       
38        void linkback(Wbucket* container);
39        int inCircle(Vector* guess) ;
40        double getRadius() ;
41        Vector* getCircumcentre();
42        Vector* getInteriorPoint();
43
44private:
45        int ID;
46        int deleted;
47        int dimension;
48        void helloNeighbour(Wsimplex* theguynext);
49        WsubMesh* cavity(Vector* proxy);
50        void updateCentre();
51
52        Wsimplex** neighbour;
53        Wsimplex* inFrontOf;
54        Wsimplex* behind;
55        Vector** vertex;
56        ::std::vector<Wbucket*> backlist;
57        double sqrad;
58        double radius;
59        Vector* circumcentre;
60
61public:
62        int join(Wsimplex* other);
63        int isComplete();
64
65        Wsimplex* getBehind();
66        Wsimplex* getFront();
67        Wsimplex* getNeighboursFront(int which);
68
69
70};
71
Note: See TracBrowser for help on using the repository browser.