24 std::vector<MeshLib::Node*>
const& nodes,
GeoLib::Polygon const& polygon)
27 Eigen::Vector3d normal;
32 std::vector<GeoLib::Point*> rotated_nodes;
33 for (
auto node : nodes)
35 rotated_nodes.push_back(
new GeoLib::Point(*node, node->getID()));
41 std::for_each(rotated_nodes.begin(), rotated_nodes.end(),
45 std::vector<bool> outside(rotated_nodes.size(),
true);
46 for (std::size_t k(0); k < rotated_nodes.size(); k++)
54 for (
auto& rotated_node : rotated_nodes)
59 std::vector<GeoLib::Point*>& rot_polygon_pnts(
60 const_cast<std::vector<GeoLib::Point*>&
>(rot_polygon.
getPointsVec()));
61 for (
auto& rot_polygon_pnt : rot_polygon_pnts)
63 delete rot_polygon_pnt;
Definition of analytical geometry functions.
Definition of the Node class.
Definition of the Polygon class.
bool isPntInPolygon(const MathLib::Point3d &pnt) const
std::vector< Point * > const & getPointsVec() const
GeoLib::Polygon rotatePolygonToXY(GeoLib::Polygon const &polygon_in, Eigen::Vector3d &plane_normal)
void rotatePoints(Eigen::Matrix3d const &rot_mat, InputIterator pnts_begin, InputIterator pnts_end)
Eigen::Matrix3d computeRotationMatrixToXY(Eigen::Vector3d const &n)