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

template sphere class More...

#include <sphere.h>

Public Types

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

Public Member Functions

constexpr t_sphere (const t_sphere &s)
 
constexpr t_sphereoperator= (const t_sphere &)=default
 
template<typename R >
constexpr t_sphere (const t_sphere< R > &s)
 
template<typename R >
constexpr t_sphere (const t_vec3< R > &c, T rad)
 
template<typename R >
constexpr t_sphere (R sx, R sy, R sz, R sd)
 
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_sphereoperator= (const t_sphere< R > &rhs)
 
void set (value_type in_x, value_type in_y, value_type in_z, value_type in_r)
 
template<typename R >
void set (const t_vec3< R > &c, T rad)
 
bool valid () const
 
 operator bool () const noexcept
 
T * data ()
 
const T * data () const
 
void reset ()
 

Public Attributes

union {
   value_type   value [4]
 
   vec_type   vec
 
   struct {
      value_type   x
 
      value_type   y
 
      value_type   z
 
      value_type   r
 
   } 
 
   struct {
      center_type   center
 
      value_type   radius
 
   } 
 
}; 
 

Detailed Description

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

template sphere class


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