cgma
GeometryFeatureEngine.hpp
Go to the documentation of this file.
00001 #ifndef _GEOMETRYFEATUREENGINE_HPP
00002 #define _GEOMETRYFEATUREENGINE_HPP
00003 
00004 // *** BEGIN INCLUDES *** //
00005 #include "CubitDefines.h"
00006 #include "CGMGeomConfigure.h"
00007 #include "DLIList.hpp"
00008 // *** END INCLUDES *** //
00009 
00010 // *** BEGIN FORWARD DECLARATIONS *** //
00011 class TopologyBridge;
00012 class TopologyEntity;
00013 class GeometryEntity;
00014 // *** END FORWARD DECLARATIONS *** //
00015 
00017 class CUBIT_GEOM_EXPORT GeometryFeatureEngine
00018 {
00019 public:
00020 
00021     enum FeatureType
00022     {
00023         FEATURE_UNDEFINED,
00024         FEATURE_HOLE,       
00025         FEATURE_ROUND,      
00026         FEATURE_CHAMFER,    
00027         FEATURE_SLOT ,      
00028         FEATURE_CUT,
00029         FEATURE_IMPRINT
00030     };
00031 
00033     virtual ~GeometryFeatureEngine() {}
00034 
00036     virtual CubitBoolean is_feature_engine( const TopologyBridge* ) = 0;
00037 
00039     virtual CubitBoolean is_feature_engine( const TopologyEntity* ) = 0;
00040 
00042 
00044     virtual CubitStatus get_related_by_feature(
00045         GeometryEntity *entity_in,
00046         DLIList<GeometryEntity*> &list_out) = 0;
00047 
00049 
00050 #if _MSC_VER <= 1200
00051     virtual DLIList<FeatureType>
00052 #else
00053     virtual DLIList<GeometryFeatureEngine::FeatureType> 
00054 #endif
00055         available_feature_types(GeometryEntity* entity) = 0;
00056 
00057     virtual GeometryFeatureEngine::FeatureType
00058         feature_type(GeometryEntity* entity) = 0;
00059 
00060 protected:
00061 
00062 private:
00063 
00064 };
00065 
00066 #endif
00067 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines