Branch data Line data Source code
1 : : #ifndef CUBITQUADFACETDATA_HPP
2 : : #define CUBITQUADFACETDATA_HPP
3 : :
4 : : #include "CubitQuadFacet.hpp"
5 : : class CubitFacet;
6 : : class CubitFacetEdge;
7 : : class CubitPoint;
8 : :
9 : : class CubitQuadFacetData : public CubitQuadFacet
10 : : {
11 : : private:
12 : : CubitFacet *myTriangleFacets[2];
13 : : int triToQuadIndex[2][3];
14 : :
15 : : public:
16 : : CubitQuadFacetData( CubitFacet *tri_facets[2],
17 : : CubitPoint *points[4] );
18 : : CubitQuadFacetData( CubitPoint *points[4] );
19 : : CubitQuadFacetData( CubitPoint *point0, CubitPoint *point1,
20 : : CubitPoint *point2, CubitPoint *point3 );
21 : : CubitQuadFacetData( CubitFacetEdge *e0, CubitFacetEdge *e1,
22 : : CubitFacetEdge *e2, CubitFacetEdge *e3 );
23 : : ~CubitQuadFacetData();
24 : :
25 : 0 : int tri_to_quad_index( int tri_index, int pt_index )
26 : 0 : { return triToQuadIndex[ tri_index ][ pt_index ]; }
27 : : // return the point index on the quad facet gicen one of its triangles
28 : : // and the point index on the triangle (indecies start at 0)
29 : :
30 : 0 : CubitFacet *get_tri_facet( int index )
31 : 0 : { return myTriangleFacets[ index ]; }
32 : : // return one of the underlying triangles (index should be 0 or 1)
33 : : CubitFacet *get_tri_facet_at_point( CubitPoint *point_ptr );
34 : : // return the underlying triangle of which the point_ptr is a vertex
35 : :
36 : : void remove_tri_facets( );
37 : : // used prior to delete if tri facets have already been deleted by
38 : : // another mechanism.
39 : :
40 : : void points( CubitPoint *points[4] );
41 : : // return all four point
42 : 0 : void points( DLIList<CubitPoint*> &point_list )
43 : 0 : {CubitQuadFacet::points(point_list);}
44 : : //implement the other points function... just call parent.
45 : : CubitPoint *point( int index );
46 : : // return the specified point
47 : : CubitFacetEdge *edge( int index );
48 : : // return the specified edge
49 : :
50 : : };
51 : :
52 : : #endif
53 : :
54 : :
|