Nebula
Loading...
Searching...
No Matches
Math::point Struct Reference

#include <point.h>

Detailed Description

Represents a 3D point in space.

A point is a 4d vector with a fixed W coordinate of 1, which allows it to be transformed. A point implements a limited set of operators and functions, which distinguishes it from vec4, vec3 and vector.

Public Member Functions

 point ()
 default constructor
 
 point (scalar x, scalar y, scalar z)
 construct from values
 
 point (scalar v)
 construct from single value
 
 point (const point &rhs)
 copy constructor
 
 point (const vec3 &rhs)
 construct from vec3
 
 point (const vec4 &rhs)
 construct from vec4
 
 point (const __m128 &rhs)
 construct from SSE 128 byte float array
 
void load (const scalar *ptr)
 load content from 16-byte-aligned memory
 
void loadu (const scalar *ptr)
 load content from unaligned memory
 
void store (scalar *ptr) const
 write content to 16-byte-aligned memory through the write cache
 
void storeu (scalar *ptr) const
 write content to unaligned memory through the write cache
 
void store3 (scalar *ptr) const
 write content to 16-byte-aligned memory through the write cache
 
void storeu3 (scalar *ptr) const
 write content to unaligned memory through the write cache
 
void operator= (const point &rhs)
 assignment operator
 
void operator= (const __m128 &rhs)
 assign an vmVector4
 
void operator+= (const vector &rhs)
 inplace add
 
void operator-= (const vector &rhs)
 inplace sub
 
bool operator== (const point &rhs) const
 equality operator
 
bool operator!= (const point &rhs) const
 inequality operator
 
float operator[] (int index) const
 
float & operator[] (int index)
 
 operator vec4 () const
 convert to vec4
 
void set (scalar x, scalar y, scalar z)
 set content
 

Public Attributes

union { 
 
   __m128   vec 
 
   struct { 
 
      float   x 
 
      float   y 
 
      float   z 
 
   }  
 
};  
 

Constructor & Destructor Documentation

◆ point() [1/7]

__forceinline Math::point::point ( )

default constructor

◆ point() [2/7]

__forceinline Math::point::point ( scalar x,
scalar y,
scalar z )

construct from values

◆ point() [3/7]

__forceinline Math::point::point ( scalar v)

construct from single value

◆ point() [4/7]

__forceinline Math::point::point ( const point & rhs)

copy constructor

◆ point() [5/7]

__forceinline Math::point::point ( const vec3 & rhs)

construct from vec3

◆ point() [6/7]

__forceinline Math::point::point ( const vec4 & rhs)

construct from vec4

◆ point() [7/7]

__forceinline Math::point::point ( const __m128 & rhs)

construct from SSE 128 byte float array

Member Function Documentation

◆ load()

__forceinline void Math::point::load ( const scalar * ptr)

load content from 16-byte-aligned memory

Load 4 floats from 16-byte-aligned memory.

◆ loadu()

__forceinline void Math::point::loadu ( const scalar * ptr)

load content from unaligned memory

Load 4 floats from unaligned memory.

◆ operator vec4()

__forceinline Math::point::operator vec4 ( ) const

convert to vec4

◆ operator!=()

__forceinline bool Math::point::operator!= ( const point & rhs) const

inequality operator

◆ operator+=()

__forceinline void Math::point::operator+= ( const vector & rhs)

inplace add

◆ operator-=()

__forceinline void Math::point::operator-= ( const vector & rhs)

inplace sub

◆ operator=() [1/2]

__forceinline void Math::point::operator= ( const __m128 & rhs)

assign an vmVector4

◆ operator=() [2/2]

__forceinline void Math::point::operator= ( const point & rhs)

assignment operator

◆ operator==()

__forceinline bool Math::point::operator== ( const point & rhs) const

equality operator

◆ operator[]() [1/2]

__forceinline float & Math::point::operator[] ( int index)

◆ operator[]() [2/2]

__forceinline float Math::point::operator[] ( int index) const

◆ set()

__forceinline void Math::point::set ( scalar x,
scalar y,
scalar z )

set content

◆ store()

__forceinline void Math::point::store ( scalar * ptr) const

write content to 16-byte-aligned memory through the write cache

Store to 16-byte-aligned float pointer.

◆ store3()

__forceinline void Math::point::store3 ( scalar * ptr) const

write content to 16-byte-aligned memory through the write cache

Store to 16-byte-aligned float pointer.

◆ storeu()

__forceinline void Math::point::storeu ( scalar * ptr) const

write content to unaligned memory through the write cache

Store to non-aligned float pointer.

◆ storeu3()

__forceinline void Math::point::storeu3 ( scalar * ptr) const

write content to unaligned memory through the write cache

Store to non-aligned float pointer.

Member Data Documentation

◆ [union]

union { ... } Math::point

◆ vec

__m128 Math::point::vec

◆ x

float Math::point::x

◆ y

float Math::point::y

◆ z

float Math::point::z

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