cgma
|
00001 #ifndef INTERMEDIATE_GEOM_ENGINE_HPP 00002 #define INTERMEDIATE_GEOM_ENGINE_HPP 00003 00004 template <class X> class DLIList; 00005 class TopologyBridge; 00006 class CubitTransformMatrix; 00007 class Body; 00008 class Surface; 00009 class Curve; 00010 class TBPoint; 00011 class BodySM; 00012 class TBOwner; 00013 00014 class IntermediateGeomEngine 00015 { 00016 00017 public: 00018 virtual bool is_composite(TBOwner *bridge_owner) = 0; 00019 virtual bool is_composite(TopologyBridge *bridge ) = 0; 00020 virtual bool is_partition(TBOwner *bridge_owner) = 0; 00021 00022 virtual int level() const = 0; 00023 00024 virtual void remove_imprint_attributes_after_modify 00025 ( DLIList<BodySM*> &old_sms, 00026 DLIList<BodySM*> &new_sms )=0; 00027 virtual void push_imprint_attributes_before_modify 00028 ( DLIList<BodySM*> &body_sms ) = 0; 00029 virtual void push_named_attributes_to_curves_and_points 00030 ( DLIList<TopologyBridge*> &tb_list, const char *name_in ) = 0; 00031 virtual CubitStatus export_geometry( DLIList<TopologyBridge*>& geometry_list ) = 0; 00032 00033 virtual CubitStatus import_geometry( DLIList<TopologyBridge*>& geometry_list ) = 0; 00034 00035 virtual void clean_out_deactivated_geometry() = 0; 00036 00037 virtual void remove_attributes( DLIList<TopologyBridge*> &bridge_list ) = 0; 00038 virtual void attribute_after_imprinting(DLIList<TopologyBridge*> &tb_list, 00039 DLIList<Body*> &old_bodies)=0; 00040 00041 virtual void remove_attributes_from_unmodifed_virtual(DLIList<TopologyBridge*> &bridges) = 0; 00042 virtual void remove_modified(DLIList<Surface*> &all_surfs, 00043 DLIList<Curve*> &all_curves, DLIList<TBPoint*> &all_pts) = 0; 00044 virtual CubitStatus notify_transform( TopologyBridge* entity, 00045 const CubitTransformMatrix& xform ) = 0; 00046 00047 virtual void get_tbs_with_bridge_manager_as_owner( TopologyBridge *source_bridge, 00048 DLIList<TopologyBridge*> &tbs ) = 0; 00049 00050 }; 00051 00052 #endif 00053