cgma
CubitQuadFacetData.hpp
Go to the documentation of this file.
00001 #ifndef CUBITQUADFACETDATA_HPP
00002 #define CUBITQUADFACETDATA_HPP
00003 
00004 #include "CubitQuadFacet.hpp"
00005 class CubitFacet;
00006 class CubitFacetEdge;
00007 class CubitPoint;
00008 
00009 class CubitQuadFacetData : public CubitQuadFacet
00010 {
00011 private:
00012   CubitFacet *myTriangleFacets[2];
00013   int triToQuadIndex[2][3];
00014 
00015 public:
00016   CubitQuadFacetData( CubitFacet *tri_facets[2],
00017                   CubitPoint *points[4] );
00018   CubitQuadFacetData( CubitPoint *points[4] );
00019   CubitQuadFacetData( CubitPoint *point0, CubitPoint *point1, 
00020                       CubitPoint *point2, CubitPoint *point3 );
00021   CubitQuadFacetData( CubitFacetEdge *e0, CubitFacetEdge *e1,
00022                       CubitFacetEdge *e2, CubitFacetEdge *e3 );
00023   ~CubitQuadFacetData();
00024 
00025   int tri_to_quad_index( int tri_index, int pt_index ) 
00026     { return triToQuadIndex[ tri_index ][ pt_index ]; }
00027     // return the point index on the quad facet gicen one of its triangles
00028     // and the point index on the triangle (indecies start at 0)
00029 
00030   CubitFacet *get_tri_facet( int index )
00031     { return myTriangleFacets[ index ]; }
00032     // return one of the underlying triangles (index should be 0 or 1) 
00033   CubitFacet *get_tri_facet_at_point( CubitPoint *point_ptr );
00034     // return the underlying triangle of which the point_ptr is a vertex
00035 
00036   void remove_tri_facets(  );
00037     // used prior to delete if tri facets have already been deleted by
00038     // another mechanism.
00039 
00040   void points( CubitPoint *points[4] );
00041     // return all four point
00042   void points( DLIList<CubitPoint*> &point_list )
00043     {CubitQuadFacet::points(point_list);}
00044     //implement the other points function... just call parent.
00045   CubitPoint *point( int index );
00046     // return the specified point
00047   CubitFacetEdge *edge( int index );
00048     // return the specified edge
00049 
00050 };
00051 
00052 #endif
00053 
00054 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines