2 #ifndef vgl_frustum_3d_h 3 #define vgl_frustum_3d_h 19 # include <vcl_msvc_warnings.h> 64 const std::vector<vgl_point_3d<Type> >&
verts()
const 67 const std::map<int, std::vector<int> >&
faces()
const 86 bool contains(Type
const& x, Type
const& y, Type
const& z)
const;
110 template <
class Type>
115 #define VGL_FRUSTUM_3D_INSTANTIATE(T) extern "please include vgl/vgl_frustum_3d.hxx first" 117 #endif // vgl_frustum_3d_h int n_top_bot_face_verts_
the number of verts in the top or bottom face.
const std::vector< vgl_plane_3d< Type > > & surface_planes() const
const vgl_plane_3d< Type > & near_plane() const
A 3D frustum is the portion of a solid (normally a cone or pyramid).
bool contains(vgl_point_3d< Type > const &p) const
Return true iff the point p is inside this frustum.
std::vector< vgl_point_3d< Type > > verts_
Represents a cartesian 3D point.
std::ostream & operator<<(std::ostream &s, vgl_orient_box_3d< Type > const &p)
Write box to stream.
vgl_box_3d< Type > bounding_box() const
a point in 3D nonhomogeneous space
bool operator==(vgl_frustum_3d< Type > const &other) const
Equality test.
const std::vector< vgl_point_3d< Type > > & verts() const
Represents a Euclidean 3D plane.
const vgl_point_3d< Type > & apex() const
bool is_convex() const
test if the frustum is convex.
std::map< int, std::vector< int > > faces_
vgl_vector_3d< Type > norm_
vgl_point_3d< Type > centroid() const
Get the centroid point.
vgl_frustum_3d()
default constructor.
const std::map< int, std::vector< int > > & faces() const
a plane in 3D nonhomogeneous space
std::vector< vgl_plane_3d< Type > > surface_planes_
planes bounding the frustum volume including near and far plane.
Represents a cartesian 3D box.
const vgl_plane_3d< Type > & far_plane() const
vgl_point_3d< Type > apex_