Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
NormalCone Class Reference

#include <normalcone.h>

Inherits Vector3.

Public Member Functions

 NormalCone ()
 
 NormalCone (const Vector3 &normal, float angle=1.0f)
 
void Set (const Vector3 &normal, float angle=1.0f)
 
void Set (const NormalCone &src)
 
bool Complete_Sphere ()
 
float Get_Coplanar_Normals (const Vector3 &Input, Vector3 &Output1, Vector3 &Output2) const
 
float Get_Coplanar_Normals_And_Dots (const Vector3 &Input, Vector3 &Output1, Vector3 &Output2, float &dot1, float &dot2) const
 
void Merge (const Vector3 &Input)
 
void Merge (const NormalCone &Input)
 
float Smallest_Dot_Product (const Vector3 &Input)
 
- Public Member Functions inherited from Vector3
WWINLINE Vector3 (void)
 
WWINLINE Vector3 (const Vector3 &v)
 
WWINLINE Vector3 (float x, float y, float z)
 
WWINLINE Vector3 (const float vector[3])
 
WWINLINE Vector3operator= (const Vector3 &v)
 
WWINLINE void Set (float x, float y, float z)
 
WWINLINE void Set (const Vector3 &that)
 
WWINLINE float & operator[] (int i)
 
WWINLINE const float & operator[] (int i) const
 
void Normalize (void)
 
WWINLINE float Length (void) const
 
WWINLINE float Length2 (void) const
 
float Quick_Length (void) const
 
void Scale (const Vector3 &scale)
 
WWINLINE void Rotate_X (float angle)
 
WWINLINE void Rotate_X (float s_angle, float c_angle)
 
WWINLINE void Rotate_Y (float angle)
 
WWINLINE void Rotate_Y (float s_angle, float c_angle)
 
WWINLINE void Rotate_Z (float angle)
 
WWINLINE void Rotate_Z (float s_angle, float c_angle)
 
WWINLINE Vector3 operator- () const
 
WWINLINE Vector3 operator+ () const
 
WWINLINE Vector3operator+= (const Vector3 &v)
 
WWINLINE Vector3operator-= (const Vector3 &v)
 
WWINLINE Vector3operator*= (float k)
 
WWINLINE Vector3operator/= (float k)
 
WWINLINE void Update_Min (const Vector3 &a)
 
WWINLINE void Update_Max (const Vector3 &a)
 
WWINLINE void Cap_Absolute_To (const Vector3 &a)
 
WWINLINE bool Is_Valid (void) const
 
WWINLINE unsigned long Convert_To_ABGR (void) const
 
WWINLINE unsigned long Convert_To_ARGB (void) const
 
WWINLINE Vector3 (void)
 
WWINLINE Vector3 (const Vector3 &v)
 
WWINLINE Vector3 (float x, float y, float z)
 
WWINLINE Vector3 (const float vector[3])
 
WWINLINE Vector3operator= (const Vector3 &v)
 
WWINLINE void Set (float x, float y, float z)
 
WWINLINE void Set (const Vector3 &that)
 
WWINLINE float & operator[] (int i)
 
WWINLINE const float & operator[] (int i) const
 
void Normalize (void)
 
WWINLINE float Length (void) const
 
WWINLINE float Length2 (void) const
 
float Quick_Length (void) const
 
void Scale (const Vector3 &scale)
 
WWINLINE void Rotate_X (float angle)
 
WWINLINE void Rotate_X (float s_angle, float c_angle)
 
WWINLINE void Rotate_Y (float angle)
 
WWINLINE void Rotate_Y (float s_angle, float c_angle)
 
WWINLINE void Rotate_Z (float angle)
 
WWINLINE void Rotate_Z (float s_angle, float c_angle)
 
WWINLINE Vector3 operator- () const
 
WWINLINE Vector3 operator+ () const
 
WWINLINE Vector3operator+= (const Vector3 &v)
 
WWINLINE Vector3operator-= (const Vector3 &v)
 
WWINLINE Vector3operator*= (float k)
 
WWINLINE Vector3operator/= (float k)
 
WWINLINE void Update_Min (const Vector3 &a)
 
WWINLINE void Update_Max (const Vector3 &a)
 
WWINLINE void Cap_Absolute_To (const Vector3 &a)
 
WWINLINE bool Is_Valid (void) const
 
WWINLINE unsigned long Convert_To_ABGR (void) const
 
WWINLINE unsigned long Convert_To_ARGB (void) const
 

Public Attributes

float Angle
 
- Public Attributes inherited from Vector3
float X
 
float Y
 
float Z
 

Additional Inherited Members

- Static Public Member Functions inherited from Vector3
static WWINLINE float Dot_Product (const Vector3 &a, const Vector3 &b)
 
static WWINLINE void Cross_Product (const Vector3 &a, const Vector3 &b, Vector3 *result)
 
static WWINLINE void Normalized_Cross_Product (const Vector3 &a, const Vector3 &b, Vector3 *result)
 
static WWINLINE float Cross_Product_X (const Vector3 &a, const Vector3 &b)
 
static WWINLINE float Cross_Product_Y (const Vector3 &a, const Vector3 &b)
 
static WWINLINE float Cross_Product_Z (const Vector3 &a, const Vector3 &b)
 
static WWINLINE void Add (const Vector3 &a, const Vector3 &b, Vector3 *c)
 
static WWINLINE void Subtract (const Vector3 &a, const Vector3 &b, Vector3 *c)
 
static WWINLINE float Find_X_At_Y (float y, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_X_At_Z (float z, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Y_At_X (float x, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Y_At_Z (float z, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Z_At_X (float x, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Z_At_Y (float z, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Quick_Distance (const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Distance (const Vector3 &p1, const Vector3 &p2)
 
static void Lerp (const Vector3 &a, const Vector3 &b, float alpha, Vector3 *set_result)
 
static WWINLINE float Dot_Product (const Vector3 &a, const Vector3 &b)
 
static WWINLINE Vector3 Cross_Product (const Vector3 &a, const Vector3 &b)
 
static WWINLINE void Cross_Product (const Vector3 &a, const Vector3 &b, Vector3 *result)
 
static WWINLINE float Cross_Product_X (const Vector3 &a, const Vector3 &b)
 
static WWINLINE float Cross_Product_Y (const Vector3 &a, const Vector3 &b)
 
static WWINLINE float Cross_Product_Z (const Vector3 &a, const Vector3 &b)
 
static WWINLINE void Add (const Vector3 &a, const Vector3 &b, Vector3 *c)
 
static WWINLINE void Subtract (const Vector3 &a, const Vector3 &b, Vector3 *c)
 
static WWINLINE float Find_X_At_Y (float y, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_X_At_Z (float z, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Y_At_X (float x, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Y_At_Z (float z, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Z_At_X (float x, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Find_Z_At_Y (float z, const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Quick_Distance (const Vector3 &p1, const Vector3 &p2)
 
static WWINLINE float Distance (const Vector3 &p1, const Vector3 &p2)
 
static void Lerp (const Vector3 &a, const Vector3 &b, float alpha, Vector3 *set_result)
 

Detailed Description

Definition at line 52 of file normalcone.h.

Constructor & Destructor Documentation

◆ NormalCone() [1/2]

NormalCone::NormalCone ( )
inline

Definition at line 56 of file normalcone.h.

◆ NormalCone() [2/2]

NormalCone::NormalCone ( const Vector3 & normal,
float angle = 1.0f )
inline

Definition at line 58 of file normalcone.h.

Member Function Documentation

◆ Complete_Sphere()

bool NormalCone::Complete_Sphere ( )
inline

Definition at line 75 of file normalcone.h.

◆ Get_Coplanar_Normals()

float NormalCone::Get_Coplanar_Normals ( const Vector3 & Input,
Vector3 & Output1,
Vector3 & Output2 ) const
inline

Definition at line 111 of file normalcone.h.

◆ Get_Coplanar_Normals_And_Dots()

float NormalCone::Get_Coplanar_Normals_And_Dots ( const Vector3 & Input,
Vector3 & Output1,
Vector3 & Output2,
float & dot1,
float & dot2 ) const
inline

Definition at line 136 of file normalcone.h.

◆ Merge() [1/2]

void NormalCone::Merge ( const NormalCone & Input)
inline

Definition at line 197 of file normalcone.h.

◆ Merge() [2/2]

void NormalCone::Merge ( const Vector3 & Input)
inline

Definition at line 151 of file normalcone.h.

◆ Set() [1/2]

void NormalCone::Set ( const NormalCone & src)
inline

Definition at line 69 of file normalcone.h.

◆ Set() [2/2]

void NormalCone::Set ( const Vector3 & normal,
float angle = 1.0f )
inline

Definition at line 63 of file normalcone.h.

◆ Smallest_Dot_Product()

float NormalCone::Smallest_Dot_Product ( const Vector3 & Input)
inline

Definition at line 213 of file normalcone.h.

Member Data Documentation

◆ Angle

float NormalCone::Angle

Definition at line 105 of file normalcone.h.


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