29 #include <BRepBuilderAPI_Transform.hxx>
30 #include <gp_Trsf.hxx>
31 #include <BRep_Builder.hxx>
44 long unsigned int num,
46 long int id_mgcg_forme_sortie):
MG_CG_OP_TRANSF_ECHELLE(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie)
65 std::cout <<
"*** ERREUR : OCC_CG_OP_TRANSF_ECHELLE::construire_forme -> MG_CG_MODELE NULL ***" << std::endl;
78 std::cout <<
"*** ERREUR : OCC_CG_OP_TRANSF_ECHELLE::construire_forme -> MG_CG_MODELE NULL ***" << std::endl;
81 TopTools_ListOfShape list_of_shape;
83 BRep_Builder brep_builder;
84 TopoDS_Compound Compound_forme_entree;
85 brep_builder.MakeCompound(Compound_forme_entree);
86 TopTools_ListOfShape::Iterator it_shape;
87 for(it_shape.Init(list_of_shape);it_shape.More();it_shape.Next())
89 brep_builder.Add(Compound_forme_entree,it_shape.Value());
91 gp_Trsf transformation;
93 BRepBuilderAPI_Transform brep_transform(transformation);
94 brep_transform.Perform(Compound_forme_entree,
true);
95 if(!brep_transform.IsDone())
97 std::cout <<
"*** ERREUR : OCC_CG_OP_TRANSF_ECHELLE::construire_forme -> ECHEC de BRepBuilderAPI_Transform ***" << std::endl;
100 TopoDS_Shape shape_resultat = brep_transform.Shape();
106 fusionner_entite_similaire,
108 importer_triangulation,
109 epsilon_triangulation);
114 change_etat(MG_CG_OPERATEUR::ETAT_OPERATEUR::CONSTRUIT);
virtual void change_mgcg_operateur_parent(MG_CG_OPERATEUR *mgcg_operateur)
virtual bool get_importer_triangulation(void)
virtual int ajouter_mgcg_forme(MG_CG_FORME *mgcg_forme)
virtual double get_precision(void)
virtual bool get_fusionner_entite_similaire(void)
virtual MG_GEOMETRIE * get_mg_geometrie(void)
virtual void mise_a_jout_lien_mg_element_mgcg_forme(MG_CG_FORME *mgcg_forme)
virtual double get_epsilon_triangulation(void)
double m_centre_echelle[3]
virtual int change_mgcg_forme_sortie(MG_CG_FORME *mgcg_forme)
virtual MG_CG_FORME * get_mgcg_forme_entree(void)
virtual MG_CG_FORME * get_mgcg_forme_sortie(void)
MG_CG_MODELE * m_mgcg_modele
virtual void change_etat(int etat_operateur)
class OCC_FONCTION & get_occ_fonction(void)
virtual int construire(void)
OCC_CG_OP_TRANSF_ECHELLE(MG_CG_MODELE *mgcg_modele, int semantique, MG_CG_FORME *mgcg_forme_entree)
virtual ~OCC_CG_OP_TRANSF_ECHELLE()
static void get_listofTopoDS_Shape(std::map< MG_CG_FORME *, MG_CG_FORME * > *map_forme, TopTools_ListOfShape &listofshape)
static MG_CG_FORME * creer_MG_CG_FORME(MG_CG_MODELE *mgcg_modele, TopoDS_Shape topods_shape, OCC_FONCTION *occ_fonction, MG_GEOMETRIE *mg_geometrie, bool fusionner_entite_similaire=false, double precision=1e-6, bool importer_triangulation=false, double epsilon_triangulation=1.)