26 #include <TopoDS_Shape.hxx>
27 #include <BRepPrimAPI_MakeCylinder.hxx>
32 MG_PRIMITIVE_CYLINDRE::MG_PRIMITIVE_CYLINDRE(
double extremite_x,
double extremite_y,
double extremite_z,
33 double longitude,
double latitude,
34 double rayon,
double longueur):MG_PRIMITIVE(),
35 x(extremite_x),y(extremite_y),z(extremite_z),
36 angle_longitude(longitude),angle_latitude(latitude),
42 MG_PRIMITIVE_CYLINDRE::MG_PRIMITIVE_CYLINDRE(
long unsigned int num,
43 double extremite_x,
double extremite_y,
double extremite_z,
44 double longitude,
double latitude,
45 double rayon,
double longueur):MG_PRIMITIVE(num),
46 x(extremite_x),y(extremite_y),z(extremite_z),
47 angle_longitude(longitude),angle_latitude(latitude),
53 MG_PRIMITIVE_CYLINDRE::MG_PRIMITIVE_CYLINDRE(MG_PRIMITIVE_CYLINDRE& mdd):MG_PRIMITIVE(mdd),
54 x(mdd.x),y(mdd.y),z(mdd.z),
55 angle_longitude(mdd.angle_longitude),angle_latitude(mdd.angle_latitude),
63 MG_PRIMITIVE_CYLINDRE::~MG_PRIMITIVE_CYLINDRE()
68 void MG_PRIMITIVE_CYLINDRE::enregistrer(std::ostream& o,
double version)
70 o <<
"%" << get_id() <<
"=CYLINDRE("<< x <<
","<< y <<
","<< z <<
","<< angle_longitude <<
","<< angle_latitude<<
","<< r <<
","<< l <<
");" << std::endl;
74 void MG_PRIMITIVE_CYLINDRE::construit(
void)
76 double dir_x,dir_y,dir_z;
77 dir_x =
cos(angle_latitude)*
cos(angle_longitude);
78 dir_y =
cos(angle_latitude)*
sin(angle_longitude);
79 dir_z =
sin(angle_latitude);
80 direction =
new gp_Dir(dir_x,dir_y,dir_z);
81 point =
new gp_Pnt(x,y,z);
82 axe =
new gp_Ax2(*point,*direction);
83 forme = BRepPrimAPI_MakeCylinder(*axe,r,l).Shape();
double2 sin(double2 &val)
double2 cos(double2 &val)