Functions/Subroutines | |
pure subroutine, public | mod_cg3_clip_polyhedron::cg3_polyhedron_clipping (polyhedron, clip_polyhedron, clipped_polyhedron, is_empty, is_clipped) |
Clip a convex polyhedron with a convex polyhedron. More... | |
pure subroutine, public | mod_cg3_clip_polyhedron::cg3_plane_polyhedron_clipping (polyhedron, normal, origin, clipped_polyhedron, is_empty, is_cut) |
Clip a convex polyhedron with a plane (half-space) using Sugihara's algorithm. More... | |
pure subroutine | mod_cg3_clip_polyhedron::partition_polyhedron (polyhedron, normal, origin, partition, clipped_polyhedron) |
Reconstruct the part of the polyhedron that belongs to the half-space. More... | |
References:
pure subroutine, public mod_cg3_clip_polyhedron::cg3_plane_polyhedron_clipping | ( | type(t_polyhedron), intent(in) | polyhedron, |
double precision, dimension(3), intent(in) | normal, | ||
double precision, dimension(3), intent(in) | origin, | ||
type(t_polyhedron), intent(out), allocatable | clipped_polyhedron, | ||
logical, intent(out) | is_empty, | ||
logical, intent(out) | is_cut | ||
) |
[in] | polyhedron | convex polyhedron |
[in] | normal | outgoing normal of the half-space |
[in] | origin | point of the clipping plane |
[out] | clipped_polyhedron | clipped polyhedron (convex by construction) |
[out] | is_empty | true if all the points are above the clipping plane |
[out] | is_cut | true if the plane cut the polyhedron |
pure subroutine, public mod_cg3_clip_polyhedron::cg3_polyhedron_clipping | ( | type(t_polyhedron), intent(in) | polyhedron, |
type(t_polyhedron), intent(in) | clip_polyhedron, | ||
type(t_polyhedron), intent(out), allocatable | clipped_polyhedron, | ||
logical, intent(out) | is_empty, | ||
logical, intent(out) | is_clipped | ||
) |
[in] | polyhedron | convex polyhedron |
[in] | clip_polyhedron | convex clipping polyhedron |
[out] | clipped_polyhedron | clipped polyhedron (convex by construction) |
[out] | is_empty | true if all the points are outside the clipped polyhedron |
[out] | is_clipped | true if polyhedron is clipped |
pure subroutine mod_cg3_clip_polyhedron::partition_polyhedron | ( | type(t_polyhedron), intent(in) | polyhedron, |
double precision, dimension(3), intent(in) | normal, | ||
double precision, dimension(3), intent(in) | origin, | ||
logical, dimension(:), intent(in) | partition, | ||
type(t_polyhedron), intent(out), allocatable | clipped_polyhedron | ||
) |
[in] | polyhedron | any convex polyhedron |
[in] | normal | outgoing normal of the half-space |
[in] | origin | point of the clipping plane |
[in] | partition | partition of vertices as a boolean array |
[out] | clipped_polyhedron | clipped polyhedron (convex by construction) |