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

t_vec4 template class that represents a 4D vector More...

#include <vec4.h>

Public Types

using value_type = T
 

Public Member Functions

constexpr t_vec4 (const t_vec4 &v)
 
constexpr t_vec4operator= (const t_vec4 &)=default
 
constexpr t_vec4 (value_type in_x, value_type in_y, value_type in_z, value_type in_w)
 
constexpr t_vec4 (const VkClearColorValue &v)
 
template<typename R >
constexpr t_vec4 (const t_vec4< R > &v)
 
template<typename R >
constexpr t_vec4 (const t_vec2< R > &v, value_type in_z, value_type in_w)
 
template<typename R >
constexpr t_vec4 (const t_vec3< R > &v, value_type in_w)
 
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_vec4operator= (const t_vec4< R > &rhs)
 
t_vec4operator= (const VkClearColorValue &v)
 
T * data ()
 
const T * data () const
 
void set (value_type in_x, value_type in_y, value_type in_z, value_type in_w)
 
t_vec4operator+= (const t_vec4 &rhs)
 
t_vec4operator-= (const t_vec4 &rhs)
 
t_vec4operator*= (value_type rhs)
 
t_vec4operator*= (const t_vec4 &rhs)
 
t_vec4operator/= (value_type rhs)
 
 operator VkClearColorValue () const noexcept
 
 operator bool () const noexcept
 

Public Attributes

union {
   value_type   value [4]
 
   struct {
      value_type   x
 
      value_type   y
 
      value_type   z
 
      value_type   w
 
   } 
 
   struct {
      value_type   r
 
      value_type   g
 
      value_type   b
 
      value_type   a
 
   } 
 
   struct {
      value_type   s
 
      value_type   t
 
      value_type   p
 
      value_type   q
 
   } 
 
   t_vec3< T >   xyz
 
}; 
 

Detailed Description

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

t_vec4 template class that represents a 4D vector


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