Enzo
Loading...
Searching...
No Matches
PlaneCut.h
1#pragma once
2#include "Engine/Core/Types.h"
3#include <memory>
4#include <optional>
5#include <utility>
6#include <vector>
7
8namespace enzo::geo {
9class Mesh;
10}
11
12namespace enzo::utils {
13
16{
17 std::shared_ptr<geo::Mesh> mesh;
20 std::vector<std::pair<Offset, Offset>> cutEdges;
21};
22
34std::optional<PlaneCut>
35cutMeshByPlane(const geo::Mesh& mesh, const Vector3& planePoint, const Vector3& keptSideNormal);
36
45std::vector<Offset>
46fillCutCaps(geo::Mesh& mesh, const std::vector<std::pair<Offset, Offset>>& cutEdges);
47
48} // namespace enzo::utils
Basic attribute, parameter, and node types for Enzo.
Polygonal mesh primitive with point, vertex, and face attributes.
A mesh cut by a plane, along with the edges the cut left on the plane.
Definition PlaneCut.h:16
std::vector< std::pair< Offset, Offset > > cutEdges
The edges around the opening the cut left, as point offset pairs that follow the winding of their fac...
Definition PlaneCut.h:20