cgma
OctreeFacetPointData.hpp
Go to the documentation of this file.
00001 //-------------------------------------------------------------------------
00002 // Filename      : OctreeFacetPointData.hpp
00003 //
00004 // Purpose       : Holds Intersection Data  
00005 //
00006 // Creator       : William Roshan Quadros
00007 //
00008 // Creation Date :  01/01/2003
00009 //
00010 // Owner         : 
00011 //-------------------------------------------------------------------------
00012 #ifndef OCTREEFACETPOINTDATA_H
00013 #define OCTREEFACETPOINTDATA_H 
00014 
00015 #include "CubitVector.hpp"
00016 #include "DLIList.hpp"
00017 
00018 
00019 class CubitFacet;
00020 class CubitFacetEdge; 
00021 class CubitPoint;
00022 
00023 
00024 enum OctreeFacetPointDataType { CUBIT_FACET_POINT_DATA_FACET, CUBIT_FACET_POINT_DATA_EDGE, CUBIT_FACET_POINT_DATA_POINT };
00025 
00026 class OctreeFacetPointData
00027 {
00028 
00029 public:
00030   OctreeFacetPointData( CubitVector coord, CubitFacet *ptr_facet );
00031   OctreeFacetPointData( CubitVector coord, CubitFacetEdge *ptr_facet_edge );
00032   OctreeFacetPointData( CubitVector coord, CubitPoint *ptr_point );
00033   ~OctreeFacetPointData(){}
00034 
00035   CubitVector coordinates( void ){ return xyz; }
00036   double x( void ){ return xyz.x(); }
00037   double y( void ){ return xyz.y(); }
00038   double z( void ){ return xyz.z(); }
00039 
00040   int calculate_id( void );
00041   int id( void ){ return num; }
00042 
00043   void display( void );
00044 
00045   static CubitBoolean generate_facet_point_data_at_slender_facet( CubitFacet *ptr_facet, DLIList<OctreeFacetPointData *> &facet_point_data_list ); 
00046   static CubitBoolean generate_facet_point_data_based_on_curvature( CubitFacetEdge *ptr_facet_edge, /*double angle,*/ DLIList<OctreeFacetPointData *> &facet_point_data_list );
00047 
00048 
00049 private:
00050   
00051   union
00052   {
00053     CubitFacet *facetPtr;
00054     CubitFacetEdge *facetEdgePtr;
00055     CubitPoint *facetPointPtr;
00056   };
00057 
00058   int num;
00059   CubitVector xyz;
00060   OctreeFacetPointDataType type;
00061   
00062 };
00063 
00064 #endif
00065 
00066 //EOF
00067 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines