32 return DVec(cosa * p.c0 - sina * p.c1, sina * p.c0 + cosa * p.c1, p.c2);
35 DVec TVec(
double x,
double y,
double z)
const {
36 return DVec(cosa * x - sina * y, sina * x + cosa * y, z);
39 DVec invT(
const DVec& p)
const {
40 return DVec(cosa * p.c0 + sina * p.c1, -sina * p.c0 + cosa * p.c1, p.c2);
75 Box getBoundingBox()
const override;
77 bool contains(
const DVec& p)
const override;
89 std::pair<double, double>
getRadii()
const {
return std::make_pair(radius0, radius1); }
97 this->radius0 = std::max(
rx, 0.);
98 this->radius1 = std::max(
ry, 0.);
155 void resize(
double radius0,
double radius1,
double angle,
double height) {
156 this->radius0 = radius0;
157 this->radius1 = radius1;
160 this->height = height;
171 void resize(
double radius0,
double radius1,
double height) {
172 this->radius0 = radius0;
173 this->radius1 = radius1;
176 this->height = height;
180 void addPointsAlongToSet(std::set<double>& points,
183 double min_step_size)
const override;
187 double min_step_size)
const override;