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.

Classes

union  [union].__unnamed0__

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  

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

◆ @104333325142132133045172000144371310261327375040


The documentation for this struct was generated from the following file:
  • /github/workspace/code/foundation/math/point.h