26 #include <TopoDS_Shape.hxx>
27 #include <BRepPrimAPI_MakeCone.hxx>
32 MG_PRIMITIVE_CONE::MG_PRIMITIVE_CONE(
double base_x,
double base_y,
double base_z,
33 double longitude,
double latitude,
34 double rayon,
double hauteur): MG_PRIMITIVE(),
35 x(base_x),y(base_y),z(base_z),
36 angle_longitude(longitude),angle_latitude(latitude),
43 MG_PRIMITIVE_CONE::MG_PRIMITIVE_CONE(
long unsigned int num,
44 double base_x,
double base_y,
double base_z,
45 double longitude,
double latitude,
46 double rayon,
double hauteur): MG_PRIMITIVE(num),
47 x(base_x),y(base_y),z(base_z),
48 angle_longitude(longitude),angle_latitude(latitude),
56 MG_PRIMITIVE_CONE::MG_PRIMITIVE_CONE(MG_PRIMITIVE_CONE& mdd):MG_PRIMITIVE(mdd),
57 x(mdd.x),y(mdd.y),z(mdd.z),
58 angle_longitude(mdd.angle_longitude),angle_latitude(mdd.angle_latitude),
64 MG_PRIMITIVE_CONE::~MG_PRIMITIVE_CONE()
70 void MG_PRIMITIVE_CONE::enregistrer(std::ostream& o,
double version)
72 o <<
"%" << get_id() <<
"=CONE("<< x <<
","<< y <<
","<< z <<
","<< angle_longitude <<
","<< angle_latitude<<
","<< r <<
","<< h <<
");" << std::endl;
76 void MG_PRIMITIVE_CONE::construit(
void)
78 double dir_x,dir_y,dir_z;
79 dir_x =
cos(angle_latitude)*
cos(angle_longitude);
80 dir_y =
cos(angle_latitude)*
sin(angle_longitude);
81 dir_z =
sin(angle_latitude);
82 direction =
new gp_Dir(dir_x,dir_y,dir_z);
83 point =
new gp_Pnt(x,y,z);
84 axe =
new gp_Ax2(*point,*direction);
85 forme = BRepPrimAPI_MakeCone(*axe,r,0.0,h).Shape();
double2 sin(double2 &val)
double2 cos(double2 &val)