29 #include <BRepBuilderAPI_Transform.hxx>
30 #include <gp_Trsf.hxx>
31 #include <gp_Quaternion.hxx>
32 #include <BRep_Builder.hxx>
47 long unsigned int num,
49 long int id_mgcg_forme_sortie):
MG_CG_OP_TRANSF_ROTATION(mgcg_modele,semantique,etat,num,mgcg_forme_entree,id_mgcg_forme_sortie)
68 std::cout <<
"*** ERREUR : OCC_CG_OP_TRANSF_ROTATION::construire_forme -> MG_CG_MODELE NULL ***" << std::endl;
81 std::cout <<
"*** ERREUR : OCC_CG_OP_TRANSF_ROTATION::construire_forme -> MG_CG_MODELE NULL ***" << std::endl;
84 TopTools_ListOfShape list_of_shape;
86 BRep_Builder brep_builder;
87 TopoDS_Compound Compound_forme_entree;
88 brep_builder.MakeCompound(Compound_forme_entree);
89 TopTools_ListOfShape::Iterator it_shape;
90 for(it_shape.Init(list_of_shape);it_shape.More();it_shape.Next())
92 brep_builder.Add(Compound_forme_entree,it_shape.Value());
97 occ_quaternion.GetVectorAndAngle(vec_axe,angle);
99 gp_Trsf transformation;
100 transformation.SetRotation(axe_rotation,angle);
101 BRepBuilderAPI_Transform brep_transform(transformation);
102 brep_transform.Perform(Compound_forme_entree,
true);
103 if(!brep_transform.IsDone())
105 std::cout <<
"*** ERREUR : OCC_CG_OP_TRANSF_ROTATION::construire_forme -> ECHEC de BRepBuilderAPI_Transform ***" << std::endl;
108 TopoDS_Shape shape_resultat = brep_transform.Shape();
114 fusionner_entite_similaire,
116 importer_triangulation,
117 epsilon_triangulation);
122 change_etat(MG_CG_OPERATEUR::ETAT_OPERATEUR::CONSTRUIT);