30 MG_OPERATEUR_BOOLEAN_DIFFERENCE::MG_OPERATEUR_BOOLEAN_DIFFERENCE(
int sem,MG_PRIMITIVE *prim_objet,MG_PRIMITIVE *prim_outil):MG_OPERATEUR_BOOLEAN(sem,prim_objet,prim_outil)
34 MG_OPERATEUR_BOOLEAN_DIFFERENCE::MG_OPERATEUR_BOOLEAN_DIFFERENCE(
long unsigned int num,
int sem,MG_PRIMITIVE *prim_objet,MG_PRIMITIVE *prim_outil): MG_OPERATEUR_BOOLEAN(num,sem,prim_objet,prim_outil)
38 MG_OPERATEUR_BOOLEAN_DIFFERENCE::MG_OPERATEUR_BOOLEAN_DIFFERENCE(MG_OPERATEUR_BOOLEAN_DIFFERENCE& mdd):MG_OPERATEUR_BOOLEAN(mdd)
45 MG_OPERATEUR_BOOLEAN_DIFFERENCE::~MG_OPERATEUR_BOOLEAN_DIFFERENCE()
50 void MG_OPERATEUR_BOOLEAN_DIFFERENCE::enregistrer(std::ostream& o,
double version)
52 o <<
"%" << get_id() <<
"=DIFFERENCE("<< semantique <<
",$" << primitive1->get_id() <<
",$" << primitive2->get_id() <<
");" << std::endl;
55 MG_PRIMITIVE* MG_OPERATEUR_BOOLEAN_DIFFERENCE::construit(
unsigned long id)
57 MG_PRIMITIVE_COMPLEXE* prim=
new MG_PRIMITIVE_COMPLEXE(
id,
this);
58 TopoDS_Shape forme_difference = BRepAlgoAPI_Cut(primitive1->get_forme(),primitive2->get_forme());
59 prim->change_forme(forme_difference);