vsg  1.1.0
VulkanSceneGraph library
Public Types | Public Member Functions | Public Attributes | List of all members
vsg::t_plane< T > Struct Template Reference

#include <plane.h>

Public Types

using value_type = T
 
using vec_type = t_vec4< T >
 
using normal_type = t_vec3< T >
 

Public Member Functions

constexpr t_plane (const t_plane &pl)
 
constexpr t_planeoperator= (const t_plane &)=default
 
constexpr t_plane (const t_vec4< T > &v)
 
constexpr t_plane (value_type nx, value_type ny, value_type nz, value_type in_p)
 
constexpr t_plane (const normal_type &normal, value_type in_p)
 
constexpr t_plane (const normal_type &position, const normal_type &normal)
 
template<typename R >
constexpr t_plane (const t_plane< R > &v)
 
template<typename R >
constexpr t_plane (const t_vec4< T > &v)
 
constexpr std::size_t size () const
 
value_type & operator[] (std::size_t i)
 
value_type operator[] (std::size_t i) const
 
template<typename R >
t_planeoperator= (const t_plane< R > &rhs)
 
void set (value_type in_x, value_type in_y, value_type in_z, value_type in_d)
 
bool valid () const
 
 operator bool () const noexcept
 
T * data ()
 
const T * data () const
 

Public Attributes

union {
   value_type   value [4]
 
   vec_type   vec
 
   struct {
      normal_type   n
 
      value_type   p
 
   } 
 
}; 
 

Detailed Description

template<typename T>
struct vsg::t_plane< T >

plane template class representing the plane in Hessian Normal Form : n.x = -p.


The documentation for this struct was generated from the following file: