27 #include <TopoDS_Shape.hxx>
28 #include <TopoDS_Edge.hxx>
29 #include <TopoDS_Wire.hxx>
30 #include <gp_Elips.hxx>
34 #include <BRepBuilderAPI_MakeEdge.hxx>
35 #include <BRepBuilderAPI_MakeWire.hxx>
36 #include <BRepBuilderAPI_MakeFace.hxx>
37 #include <BRepPrimAPI_MakeRevol.hxx>
40 double centre_x,
double centre_y,
double centre_z,
41 double direction_x,
double direction_y,
double direction_z,
42 double rayon_majeur,
double rayon_mineur):
MG_CG_FORME_VOLUME_ELLIPSOIDE(mgcg_modele,centre_x, centre_y, centre_z, direction_x, direction_y, direction_z, rayon_majeur, rayon_mineur)
49 long unsigned int num,
51 double centre_x,
double centre_y,
double centre_z,
52 double direction_x,
double direction_y,
double direction_z,
53 double rayon_majeur,
double rayon_mineur):
MG_CG_FORME_VOLUME_ELLIPSOIDE(mgcg_modele,etat, num, mg_volume, centre_x, centre_y, centre_z, direction_x, direction_y, direction_z, rayon_majeur, rayon_mineur)
72 std::cout <<
"*** ERREUR : OCC_CG_FORME_VOLUME_ELLIPSOIDE::construire_forme -> MG_CG_MODELE NULL ***" << std::endl;
85 std::cout <<
"*** ERREUR : OCC_CG_FORME_VOLUME_ELLIPSOIDE::construire_forme -> MG_CG_MODELE NULL ***" << std::endl;
90 gp_Ax2 axe_ellipsoide;
91 axe_ellipsoide.SetLocation(centre_ellipsoide);
92 axe_ellipsoide.SetDirection(direction_ellipsoide);
93 axe_ellipsoide.Rotate(gp_Ax1(centre_ellipsoide,axe_ellipsoide.YDirection()),M_PI/2.);
104 edge = BRepBuilderAPI_MakeEdge(ellipse,0.0,M_PI).Edge();
106 wire = BRepBuilderAPI_MakeWire(edge).Wire();
108 face = BRepBuilderAPI_MakeFace(wire,
true);
110 gp_Ax1 axe_revolution;
111 axe_revolution.SetLocation(centre_ellipsoide);
112 axe_revolution.SetDirection(direction_axe_revolution);
113 TopoDS_Shape topods_shape = BRepPrimAPI_MakeRevol(face,axe_revolution,2.*M_PI).Shape();
114 BRepTools::Write(topods_shape,(
char*)
"test.brep");
124 fusionner_entite_similaire,