128 std::vector<MathLib::Point3d*> sphere_points,
129 std::size_t start_idx,
131 std::size_t n_boundary_points)
134 switch (n_boundary_points)
144 *sphere_points[start_idx - 2]);
148 *sphere_points[start_idx - 2],
149 *sphere_points[start_idx - 3]);
153 *sphere_points[start_idx - 1], *sphere_points[start_idx - 2],
154 *sphere_points[start_idx - 3], *sphere_points[start_idx - 4]);
158 for (std::size_t i = 0; i < length; ++i)
166 std::vector<MathLib::Point3d*>::iterator::difference_type;
167 std::vector<MathLib::Point3d*>
const tmp_ps(
168 sphere_points.cbegin() +
static_cast<DiffType
>(start_idx),
169 sphere_points.cbegin() +
170 static_cast<DiffType
>(start_idx + i + 1));
171 std::copy(tmp_ps.cbegin(), --tmp_ps.cend(),
172 sphere_points.begin() +
173 static_cast<DiffType
>(start_idx + 1));
174 sphere_points[start_idx] = tmp_ps.back();
177 n_boundary_points + 1);
bool isCoplanar(const MathLib::Point3d &a, const MathLib::Point3d &b, const MathLib::Point3d &c, const MathLib::Point3d &d)
Checks if the four given points are located on a plane.