void Intersect::visit(Line_CSPtr line, Circle_CSPtr circle) { visit(std::make_shared<Arc>(circle->center(), circle->radius(), 0., M_PI * 2., line->layer()), geo::Vector(line->start(), line->end())); }
Line::Line(const Line_CSPtr other, bool sameID) : CADEntity(other->layer(), other->metaTypes()), Vector(other->start(), other->end()) { if (sameID) { this->setID(other->id()); } }