API Documentation
Loading...
Searching...
No Matches
Vertex< t_dims, t_type, t_vector_type > Class Template Reference

A vertex. More...

#include <Vertex.hpp>

Inheritance diagram for Vertex< t_dims, t_type, t_vector_type >:
[legend]
Collaboration diagram for Vertex< t_dims, t_type, t_vector_type >:
[legend]

Public Member Functions

constexpr Vertex ()
 
constexpr Vertex (const t_type &scaler)
 
constexpr Vertex (const t_vector_type &vector)
 
constexpr Vertex (const Vertex< t_dims, t_type, t_vector_type > &vector)
 
constexpr Vertex (const t_type x, const t_type y)
 
constexpr Vertex (t_type x, t_type y, t_type z)
 
constexpr Vertex (const t_type x, const t_type y, const t_type z, const t_type w)
 
constexpr Vertex (const t_type(&vector)[t_dims])
 
constexpr Vertex (const Vector< getMax(t_dims - 1, 0), t_type > &vector, const t_type postfix)
 
constexpr Vertex (const Vector< getMax(t_dims - 2, 0), t_type > &vector, const t_type postfix_a, const t_type postfix_b)
 
constexpr Vertex (const t_type prefix, const Vector< t_dims - 1, t_type > &vector)
 
template<uint01 t_new_dim, class t_new_type , class t_new_vector = Vector<t_new_dim, t_new_type>>
constexpr Vertex< t_new_dim, t_new_type, t_new_vector > as () const
 
template<class t_new_type , class t_new_vector = Vector<t_dims, t_new_type>>
constexpr Vertex< t_dims, t_new_type, t_new_vector > as () const
 
template<uint01 t_new_dim, class t_new_type , class t_new_vector = Vector<t_new_dim, t_new_type>>
constexpr Vertex< t_new_dim, t_new_type, t_new_vector > as (t_new_type extra_fill_value) const
 
constexpr Vertex scale (const t_vector_type &scale, const Vertex< t_dims, t_type > &center) const
 
constexpr Vertex scale (const t_type scale, const Vertex< t_dims, t_type > &center) const
 
constexpr const Vertexcenter () const
 
constexpr Vertex< t_dims, t_type, t_vector_type > & operator= (const t_type &scaler)
 
constexpr Vertex< t_dims, t_type, t_vector_type > & operator= (const t_vector_type &vector)
 
constexpr Vertex< t_dims, t_type, t_vector_type > & operator= (const Vertex< t_dims, t_type, t_vector_type > &vector)
 
- Public Member Functions inherited from Vector< t_dims, t_type >
constexpr Vector () noexcept
 
template<class t_vec_type >
constexpr Vector (const Vector< t_dims, t_vec_type > &vector) noexcept
 
constexpr Vector (const t_type &scaler) noexcept
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &x, typename std::enable_if< tdims==2, const t_type & >::type y)
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &x, const t_type &y, const typename std::enable_if< tdims==3, const t_type & >::type z)
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &x, const t_type &y, const t_type &z, typename std::enable_if< tdims==4, const t_type & >::type w)
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &x, const t_type &y, const t_type &z, const t_type &w, typename std::enable_if< tdims==5, const t_type & >::type v)
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &x, const t_type &y, const t_type &z, const t_type &w, const t_type &v, typename std::enable_if< tdims==6, const t_type & >::type u)
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &x, const t_type &y, const t_type &z, const t_type &w, const t_type &v, const t_type &u, const t_type &t, const t_type &s, typename std::enable_if< tdims==9, const t_type & >::type r)
 
constexpr Vector (const t_type(&vector)[t_dims])
 
template<uint01 tdims = t_dims>
constexpr Vector (const Vector< tdims - 1, t_type > &vector, typename std::enable_if< tdims >=2, const t_type & >::type suffix)
 
template<uint01 tdims = t_dims>
constexpr Vector (const Vector< getMax(tdims - 2, 0), t_type > &vector, const t_type &suffix_a, typename std::enable_if< tdims >=3, const t_type & >::type suffix_b)
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &prefix, typename std::enable_if< tdims >=2, const Vector< t_dims - 1, t_type > & >::type vector)
 
template<uint01 tdims = t_dims>
constexpr Vector (const t_type &prefix_a, const t_type &prefix_b, typename std::enable_if< tdims >=3, const Vector< tdims - 1, t_type > & >::type vector)
 
template<class t_new_type >
constexpr Vector< t_dims, t_new_type > as () const
 
template<uint01 t_new_dim, class t_new_type >
constexpr Vector< t_new_dim, t_new_type > as () const
 
template<uint01 t_new_dim, class t_new_type >
constexpr Vector< t_new_dim, t_new_type > as (t_new_type extra_fill_value) const
 
template<LocationValues t_max_min>
constexpr t_type dimensionalValue () const
 
template<LocationValues t_max_min>
constexpr uint01 dimensionalIndex () const
 
template<uint01 tdims = t_dims, typename = typename std::enable_if<tdims == 1>::type>
constexpr operator t_type & ()
 
template<uint01 tdims = t_dims, typename = typename std::enable_if<tdims == 1>::type>
constexpr operator const t_type & () const
 
constexpr t_type magnitudeSquared () const
 
template<class t_magnitude_type = t_type>
constexpr t_magnitude_type magnitude () const
 
template<class t_norm_type = t_type>
constexpr Vector< t_dims, t_norm_type > normalized (Vector< t_dims, t_norm_type > value_if_nan=Constant< Vector< t_dims, t_norm_type > >::NaN) const
 
constexpr t_type product () const
 
constexpr t_type sum () const
 
constexpr t_type & operator[] (uint01 dimension_index)
 
constexpr const t_type & operator[] (const uint01 dimension_index) const
 
constexpr Vector< t_dims, t_type > operator- () const
 
constexpr Vector< t_dims, t_type > & operator= (const t_type &scaler)
 

Additional Inherited Members

- Static Public Member Functions inherited from Vector< t_dims, t_type >
static constexpr uint01 NumberOfDimensions ()
 
static constexpr t_type Type ()
 
- Protected Attributes inherited from Vector< t_dims, t_type >
t_type m_values [t_dims]
 

Detailed Description

template<uint01 t_dims, class t_type, class t_vector_type = Vector<t_dims, t_type>>
class NDEVR::Vertex< t_dims, t_type, t_vector_type >

A vertex.


Class: Vertex

Author: Tyler Parke

Date: 2017-11-19

Constructor & Destructor Documentation

◆ Vertex() [1/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( )
inlineconstexpr

◆ Vertex() [2/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const t_type & scaler)
inlineexplicitconstexpr

◆ Vertex() [3/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const t_vector_type & vector)
inlineconstexpr

◆ Vertex() [4/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const Vertex< t_dims, t_type, t_vector_type > & vector)
inlineconstexpr

◆ Vertex() [5/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const t_type x,
const t_type y )
inlineconstexpr

◆ Vertex() [6/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( t_type x,
t_type y,
t_type z )
inlineconstexpr

◆ Vertex() [7/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const t_type x,
const t_type y,
const t_type z,
const t_type w )
inlineconstexpr

◆ Vertex() [8/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const t_type(&) vector[t_dims])
inlineexplicitconstexpr

◆ Vertex() [9/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const Vector< getMax(t_dims - 1, 0), t_type > & vector,
const t_type postfix )
inlineconstexpr

◆ Vertex() [10/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const Vector< getMax(t_dims - 2, 0), t_type > & vector,
const t_type postfix_a,
const t_type postfix_b )
inlineconstexpr

◆ Vertex() [11/11]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex ( const t_type prefix,
const Vector< t_dims - 1, t_type > & vector )
inlineconstexpr

Member Function Documentation

◆ as() [1/3]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
template<uint01 t_new_dim, class t_new_type , class t_new_vector = Vector<t_new_dim, t_new_type>>
Vertex< t_new_dim, t_new_type, t_new_vector > as ( ) const
inlineconstexpr

Fn: constexpr Vertex<t_new_dim, t_new_type, t_new_vector> Vertex::as(t_new_type extra_fill_value = 0) const

As the given extra fill value.

Author: Tyler Parke

Date: 2017-11-19

Parameters: extra_fill_value - (Optional) The extra fill value.

Returns: A Vertex<t_new_dim,t_new_type,t_new_vector>

◆ as() [2/3]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
template<class t_new_type , class t_new_vector = Vector<t_dims, t_new_type>>
Vertex< t_dims, t_new_type, t_new_vector > as ( ) const
inlineconstexpr

◆ as() [3/3]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
template<uint01 t_new_dim, class t_new_type , class t_new_vector = Vector<t_new_dim, t_new_type>>
Vertex< t_new_dim, t_new_type, t_new_vector > as ( t_new_type extra_fill_value) const
inlineconstexpr

◆ center()

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
const Vertex & center ( ) const
inlineconstexpr

Fn: constexpr const Vertex& Vertex::center() const

Gets the center.

Author: Tyler Parke

Date: 2017-11-19

Returns: A reference to a const Vertex.

◆ operator=() [1/3]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex< t_dims, t_type, t_vector_type > & operator= ( const t_type & scaler)
inlineconstexpr

Fn: constexpr Vertex<t_dims, t_type, t_vector_type>& Vertex::operator=(const t_type& scaler)

Assignment operator.

Author: Tyler Parke

Date: 2017-11-19

Parameters: scaler - The scaler.

Returns: A shallow copy of this object.

◆ operator=() [2/3]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex< t_dims, t_type, t_vector_type > & operator= ( const t_vector_type & vector)
inlineconstexpr

Fn: constexpr Vertex<t_dims, t_type, t_vector_type>& Vertex::operator=(const t_vector_type& vector)

Assignment operator.

Author: Tyler Parke

Date: 2017-11-19

Parameters: vector - The vector.

Returns: A shallow copy of this object.

◆ operator=() [3/3]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex< t_dims, t_type, t_vector_type > & operator= ( const Vertex< t_dims, t_type, t_vector_type > & vector)
inlineconstexpr

◆ scale() [1/2]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex scale ( const t_type scale,
const Vertex< t_dims, t_type > & center ) const
inlineconstexpr

Fn: constexpr Vertex Vertex::scale(const t_type scale, const Vertex<t_dims, t_type>& center) const

Scales.

Author: Tyler Parke

Date: 2017-11-19

Parameters: scale - The scale. center - The center.

Returns: A Vertex.

◆ scale() [2/2]

template<uint01 t_dims, class t_type , class t_vector_type = Vector<t_dims, t_type>>
Vertex scale ( const t_vector_type & scale,
const Vertex< t_dims, t_type > & center ) const
inlineconstexpr

Fn: constexpr Vertex Vertex::scale(const t_vector_type& scale, const Vertex<t_dims, t_type>& center) const

Scales.

Author: Tyler Parke

Date: 2017-11-19

Parameters: scale - The scale. center - The center.

Returns: A Vertex.


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