17#include "../manager.hpp"
20#define PLASK_EXTRUSION_NAME "extrusion"
35 return (this->
hasChild() && canBeInside(p)) && this->
_child->contains(childVec(p));
59 if (this->
hasChild() && canBeInside(point))
71 std::vector<GeometryObjectTransformSpace::DVec>&
dest,
73 if (predicate(*
this)) {
93void Extrusion::addPointsAlongToSet(std::set<double>& points,
96 double min_step_size)
const {
100 points.insert(length);
108void Extrusion::addLineSegmentsToSet(std::set<
typename GeometryObjectD<3>::LineSegment>& segments,
110 double min_step_size)
const {
112 typedef typename GeometryObjectD<3>::LineSegment
Segment3;
113 typedef typename GeometryObjectD<2>::LineSegment
Segment2;
119 segments.insert(
Segment3(
DVec(0., s.p0().c0, s.p0().c1),
DVec(0., s.p1().c0, s.p1().c1)));
120 segments.insert(
Segment3(
DVec(0., s.p0().c0, s.p0().c1),
DVec(length, s.p0().c0, s.p0().c1)));
121 segments.insert(
Segment3(
DVec(0., s.p1().c0, s.p1().c1),
DVec(length, s.p1().c0, s.p1().c1)));
122 segments.insert(
Segment3(
DVec(length, s.p0().c0, s.p0().c1),
DVec(length, s.p1().c0, s.p1().c1)));