#include "VehicleDefines.h"
|
virtual void | CalculatePassengerPosition (float &x, float &y, float &z, float *o=nullptr) const =0 |
| This method transforms supplied transport offsets into global coordinates.
|
|
virtual void | CalculatePassengerOffset (float &x, float &y, float &z, float *o=nullptr) const =0 |
| This method transforms supplied global coordinates into local offsets.
|
|
|
static void | CalculatePassengerPosition (float &x, float &y, float &z, float *o, float transX, float transY, float transZ, float transO) |
|
static void | CalculatePassengerOffset (float &x, float &y, float &z, float *o, float transX, float transY, float transZ, float transO) |
|
◆ TransportBase()
TransportBase::TransportBase |
( |
| ) |
|
|
protecteddefault |
◆ ~TransportBase()
virtual TransportBase::~TransportBase |
( |
| ) |
|
|
protectedvirtualdefault |
◆ CalculatePassengerOffset() [1/2]
static void TransportBase::CalculatePassengerOffset |
( |
float & |
x, |
|
|
float & |
y, |
|
|
float & |
z, |
|
|
float * |
o, |
|
|
float |
transX, |
|
|
float |
transY, |
|
|
float |
transZ, |
|
|
float |
transO |
|
) |
| |
|
inlinestaticprotected |
132 {
133 if (o)
135
136 z -= transZ;
137 y -= transY;
138 x -= transX;
139 float inx = x, iny = y;
140 y = (iny - inx * std::tan(transO)) / (std::cos(transO) + std::sin(transO) * std::tan(transO));
141 x = (inx + iny * std::tan(transO)) / (std::cos(transO) + std::sin(transO) * std::tan(transO));
142 }
static float NormalizeOrientation(float o)
Definition: Position.h:233
References Position::NormalizeOrientation().
◆ CalculatePassengerOffset() [2/2]
virtual void TransportBase::CalculatePassengerOffset |
( |
float & |
x, |
|
|
float & |
y, |
|
|
float & |
z, |
|
|
float * |
o = nullptr |
|
) |
| const |
|
pure virtual |
◆ CalculatePassengerPosition() [1/2]
static void TransportBase::CalculatePassengerPosition |
( |
float & |
x, |
|
|
float & |
y, |
|
|
float & |
z, |
|
|
float * |
o, |
|
|
float |
transX, |
|
|
float |
transY, |
|
|
float |
transZ, |
|
|
float |
transO |
|
) |
| |
|
inlinestaticprotected |
121 {
122 float inx = x, iny = y, inz = z;
123 if (o)
125
126 x = transX + inx * std::cos(transO) - iny * std::sin(transO);
127 y = transY + iny * std::cos(transO) + inx * std::sin(transO);
128 z = transZ + inz;
129 }
References Position::NormalizeOrientation().
◆ CalculatePassengerPosition() [2/2]
virtual void TransportBase::CalculatePassengerPosition |
( |
float & |
x, |
|
|
float & |
y, |
|
|
float & |
z, |
|
|
float * |
o = nullptr |
|
) |
| const |
|
pure virtual |