Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
sr_util.h File Reference
#include "always.h"
#include "matrix3d.h"
#include "vector3i.h"
#include <srVector3i.hpp>
#include <srVector3.hpp>
#include <srVector2.hpp>
#include <srMatrix4x3.hpp>

Go to the source code of this file.

Classes

class  SRMeshClass
 

Macros

#define SR_UTIL_H
 
#define SR_REF_PTR_SET(dst, src)
 
#define SR_REF_PTR_RELEASE(x)
 
#define PUSH_TRANSFORM(renderinfo, tm)
 
#define POP_TRANSFORM(renderinfo)
 

Functions

void Set_SR_Transform (srNode *obj, const Matrix3D &tm)
 
Matrix3D Get_SR_Transform (srNode *obj)
 
void Set_SR_Camera_Transform (srCamera *obj, const Matrix3D &transform)
 
Matrix3D Get_SR_Camera_Transform (srCamera *obj)
 
void Push_Multiply_Westwood_Matrix (srGERD *gerd, const Matrix3D &tm)
 
void Convert_Westwood_Matrix (const Matrix3D &wtm, srMatrix4 *set_sr_tm)
 
void Convert_Westwood_Matrix (const Matrix3D &wtm, srMatrix4d *set_sr_tm)
 
void Convert_Westwood_Matrix (const Matrix3D &wtm, srMatrix4x3 *set_sr_tm)
 
void Convert_Westwood_Matrix (const Matrix3D &wtm, srMatrix3 *set_sr_tm, srVector3 *set_sr_translation)
 
void Convert_Westwood_Matrix (const Matrix4 &wtm, srMatrix4 *set_sr_tm)
 
void Convert_Surrender_Matrix (const srMatrix4 &srtm, Matrix3D *set_w3d_tm)
 
void Convert_Surrender_Matrix (const srMatrix4x3 &srtm, Matrix3D *set_w3d_tm)
 
void Multiply_Westwood_And_Surrender_Matrix (const Matrix3D &w3d_tm, const srMatrix4 &srtm_s, srMatrix4 &srtm_d)
 
Vector3As_Vector3 (srVector3 *v)
 
Vector3As_Vector3 (srVector3 &v)
 
srVector3 * As_srVector3 (Vector3 *v)
 
srVector3 & As_srVector3 (Vector3 &v)
 
const srVector3 * As_srVector3 (const Vector3 *v)
 
const srVector3 & As_srVector3 (const Vector3 &v)
 
Vector4As_Vector4 (srVector4 *v)
 
Vector4As_Vector4 (srVector4 &v)
 
srVector4 * As_srVector4 (Vector4 *v)
 
srVector4 & As_srVector4 (Vector4 &v)
 
const srVector4 * As_srVector4 (const Vector4 *v)
 
const srVector4 & As_srVector4 (const Vector4 &v)
 
Vector2As_Vector2 (srVector2 *v)
 
Vector2As_Vector2 (srVector2 &v)
 
srVector2 * As_srVector2 (Vector2 *v)
 
srVector2 & As_srVector2 (Vector2 &v)
 
const srVector2 * As_srVector2 (const Vector2 *v)
 
const srVector2 & As_srVector2 (const Vector2 &v)
 
Vector3iAs_Vector3i (srVector3i *v)
 
Vector3iAs_Vector3i (srVector3i &v)
 
srVector3i * As_srVector3i (Vector3i *v)
 
srVector3i & As_srVector3i (Vector3i &v)
 
const srVector3i * As_srVector3i (const Vector3i *v)
 
const srVector3i & As_srVector3i (const Vector3i &v)
 
void Get_Camera_Frustum_Corners (const CameraClass *camera, Vector3 points[8])
 
bool Get_ZClamped_Camera_Frustum_Corners (const CameraClass *camera, Vector3 points[8], float minz, float maxz)
 

Macro Definition Documentation

◆ POP_TRANSFORM

#define POP_TRANSFORM ( renderinfo)
Value:
renderinfo.Gerd.matrixMode(srGERD::MODELVIEW); \
renderinfo.Gerd.popMatrix();

Definition at line 81 of file sr_util.h.

◆ PUSH_TRANSFORM

#define PUSH_TRANSFORM ( renderinfo,
tm )
Value:
srMatrix4x3 srtm;\
Convert_Westwood_Matrix(tm,&srtm); \
renderinfo.Gerd.matrixMode(srGERD::MODELVIEW); \
renderinfo.Gerd.pushMultMatrix(srtm);

Definition at line 75 of file sr_util.h.

◆ SR_REF_PTR_RELEASE

#define SR_REF_PTR_RELEASE ( x)
Value:
{ if (x) x->release(); x = NULL; }
#define NULL
Definition BaseType.h:92

Definition at line 67 of file sr_util.h.

◆ SR_REF_PTR_SET

#define SR_REF_PTR_SET ( dst,
src )
Value:
{ if (dst) dst->release(); dst = src; if(dst) dst->addReference(); }

Definition at line 66 of file sr_util.h.

◆ SR_UTIL_H

#define SR_UTIL_H

Definition at line 44 of file sr_util.h.

Function Documentation

◆ As_srVector2() [1/4]

const srVector2 & As_srVector2 ( const Vector2 & v)
inline

Definition at line 151 of file sr_util.h.

◆ As_srVector2() [2/4]

const srVector2 * As_srVector2 ( const Vector2 * v)
inline

Definition at line 150 of file sr_util.h.

◆ As_srVector2() [3/4]

srVector2 & As_srVector2 ( Vector2 & v)
inline

Definition at line 149 of file sr_util.h.

◆ As_srVector2() [4/4]

srVector2 * As_srVector2 ( Vector2 * v)
inline

Definition at line 148 of file sr_util.h.

◆ As_srVector3() [1/4]

const srVector3 & As_srVector3 ( const Vector3 & v)
inline

Definition at line 129 of file sr_util.h.

◆ As_srVector3() [2/4]

const srVector3 * As_srVector3 ( const Vector3 * v)
inline

Definition at line 128 of file sr_util.h.

◆ As_srVector3() [3/4]

srVector3 & As_srVector3 ( Vector3 & v)
inline

Definition at line 127 of file sr_util.h.

◆ As_srVector3() [4/4]

srVector3 * As_srVector3 ( Vector3 * v)
inline

Definition at line 126 of file sr_util.h.

◆ As_srVector3i() [1/4]

const srVector3i & As_srVector3i ( const Vector3i & v)
inline

Definition at line 162 of file sr_util.h.

◆ As_srVector3i() [2/4]

const srVector3i * As_srVector3i ( const Vector3i * v)
inline

Definition at line 161 of file sr_util.h.

◆ As_srVector3i() [3/4]

srVector3i & As_srVector3i ( Vector3i & v)
inline

Definition at line 160 of file sr_util.h.

◆ As_srVector3i() [4/4]

srVector3i * As_srVector3i ( Vector3i * v)
inline

Definition at line 159 of file sr_util.h.

◆ As_srVector4() [1/4]

const srVector4 & As_srVector4 ( const Vector4 & v)
inline

Definition at line 140 of file sr_util.h.

◆ As_srVector4() [2/4]

const srVector4 * As_srVector4 ( const Vector4 * v)
inline

Definition at line 139 of file sr_util.h.

◆ As_srVector4() [3/4]

srVector4 & As_srVector4 ( Vector4 & v)
inline

Definition at line 138 of file sr_util.h.

◆ As_srVector4() [4/4]

srVector4 * As_srVector4 ( Vector4 * v)
inline

Definition at line 137 of file sr_util.h.

◆ As_Vector2() [1/2]

Vector2 & As_Vector2 ( srVector2 & v)
inline

Definition at line 147 of file sr_util.h.

◆ As_Vector2() [2/2]

Vector2 * As_Vector2 ( srVector2 * v)
inline

Definition at line 146 of file sr_util.h.

◆ As_Vector3() [1/2]

Vector3 & As_Vector3 ( srVector3 & v)
inline

Definition at line 125 of file sr_util.h.

◆ As_Vector3() [2/2]

Vector3 * As_Vector3 ( srVector3 * v)
inline

Definition at line 124 of file sr_util.h.

◆ As_Vector3i() [1/2]

Vector3i & As_Vector3i ( srVector3i & v)
inline

Definition at line 158 of file sr_util.h.

◆ As_Vector3i() [2/2]

Vector3i * As_Vector3i ( srVector3i * v)
inline

Definition at line 157 of file sr_util.h.

◆ As_Vector4() [1/2]

Vector4 & As_Vector4 ( srVector4 & v)
inline

Definition at line 136 of file sr_util.h.

◆ As_Vector4() [2/2]

Vector4 * As_Vector4 ( srVector4 * v)
inline

Definition at line 135 of file sr_util.h.

◆ Convert_Surrender_Matrix() [1/2]

void Convert_Surrender_Matrix ( const srMatrix4 & srtm,
Matrix3D * set_w3d_tm )

◆ Convert_Surrender_Matrix() [2/2]

void Convert_Surrender_Matrix ( const srMatrix4x3 & srtm,
Matrix3D * set_w3d_tm )

◆ Convert_Westwood_Matrix() [1/5]

void Convert_Westwood_Matrix ( const Matrix3D & wtm,
srMatrix3 * set_sr_tm,
srVector3 * set_sr_translation )

◆ Convert_Westwood_Matrix() [2/5]

void Convert_Westwood_Matrix ( const Matrix3D & wtm,
srMatrix4 * set_sr_tm )

◆ Convert_Westwood_Matrix() [3/5]

void Convert_Westwood_Matrix ( const Matrix3D & wtm,
srMatrix4d * set_sr_tm )

◆ Convert_Westwood_Matrix() [4/5]

void Convert_Westwood_Matrix ( const Matrix3D & wtm,
srMatrix4x3 * set_sr_tm )

◆ Convert_Westwood_Matrix() [5/5]

void Convert_Westwood_Matrix ( const Matrix4 & wtm,
srMatrix4 * set_sr_tm )

◆ Get_Camera_Frustum_Corners()

void Get_Camera_Frustum_Corners ( const CameraClass * camera,
Vector3 points[8] )

◆ Get_SR_Camera_Transform()

Matrix3D Get_SR_Camera_Transform ( srCamera * obj)

◆ Get_SR_Transform()

Matrix3D Get_SR_Transform ( srNode * obj)

◆ Get_ZClamped_Camera_Frustum_Corners()

bool Get_ZClamped_Camera_Frustum_Corners ( const CameraClass * camera,
Vector3 points[8],
float minz,
float maxz )

◆ Multiply_Westwood_And_Surrender_Matrix()

void Multiply_Westwood_And_Surrender_Matrix ( const Matrix3D & w3d_tm,
const srMatrix4 & srtm_s,
srMatrix4 & srtm_d )

◆ Push_Multiply_Westwood_Matrix()

void Push_Multiply_Westwood_Matrix ( srGERD * gerd,
const Matrix3D & tm )

◆ Set_SR_Camera_Transform()

void Set_SR_Camera_Transform ( srCamera * obj,
const Matrix3D & transform )

◆ Set_SR_Transform()

void Set_SR_Transform ( srNode * obj,
const Matrix3D & tm )