mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-20 10:19:19 +02:00
Remove sad workaround
This commit is contained in:
@@ -46,11 +46,10 @@ basic_cell::on_click( TAnimModel const *Instance ) {
|
||||
void
|
||||
basic_cell::update_traction( TDynamicObject *Vehicle, int const Pantographindex ) {
|
||||
// Winger 170204 - szukanie trakcji nad pantografami
|
||||
// TODO: Why glm::make_vec3 and glm::value_ptr?
|
||||
auto const vFront = glm::make_vec3( glm::value_ptr(Vehicle->VectorFront()) ); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = glm::make_vec3( glm::value_ptr(Vehicle->VectorUp()) ); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = glm::make_vec3( glm::value_ptr(Vehicle->VectorLeft()) ); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const position = glm::dvec3 { Vehicle->GetPosition() }; // współrzędne środka pojazdu
|
||||
auto const vFront = Vehicle->VectorFront(); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = Vehicle->VectorUp(); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = Vehicle->VectorLeft(); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const position = Vehicle->GetPosition(); // współrzędne środka pojazdu
|
||||
|
||||
auto pantograph = Vehicle->pants[ Pantographindex ].fParamPants;
|
||||
auto const pantographposition = position + ( vLeft * pantograph->vPos.z ) + ( vUp * pantograph->vPos.y ) + ( vFront * pantograph->vPos.x );
|
||||
@@ -519,15 +518,13 @@ basic_cell::find( glm::dvec3 const &Point, float const Radius, bool const Onlyco
|
||||
// finds a path with one of its ends located in specified point. returns: located path and id of the matching endpoint
|
||||
std::tuple<TTrack *, int>
|
||||
basic_cell::find( glm::dvec3 const &Point, TTrack const *Exclude ) const {
|
||||
|
||||
glm::dvec3 point{Point.x, Point.y, Point.z}; // sad workaround until math classes unification // TODO: Is it needed?
|
||||
int endpointid;
|
||||
|
||||
for( auto *path : m_directories.paths ) {
|
||||
|
||||
if( path == Exclude ) { continue; }
|
||||
|
||||
endpointid = path->TestPoint( &point );
|
||||
endpointid = path->TestPoint( &Point );
|
||||
if( endpointid >= 0 ) {
|
||||
|
||||
return { path, endpointid };
|
||||
@@ -692,11 +689,10 @@ basic_section::on_click( TAnimModel const *Instance ) {
|
||||
// legacy method, finds and assigns traction piece(s) to pantographs of provided vehicle
|
||||
void
|
||||
basic_section::update_traction( TDynamicObject *Vehicle, int const Pantographindex ) {
|
||||
// TODO: Why glm::make_vec3 and glm::value_ptr?
|
||||
auto const vFront = glm::make_vec3( glm::value_ptr(Vehicle->VectorFront()) ); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = glm::make_vec3( glm::value_ptr(Vehicle->VectorUp()) ); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = glm::make_vec3( glm::value_ptr(Vehicle->VectorLeft()) ); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const position = glm::dvec3{ Vehicle->GetPosition() }; // współrzędne środka pojazdu
|
||||
auto const vFront = Vehicle->VectorFront(); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = Vehicle->VectorUp(); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = Vehicle->VectorLeft(); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const position = Vehicle->GetPosition(); // współrzędne środka pojazdu
|
||||
|
||||
auto pantograph = Vehicle->pants[ Pantographindex ].fParamPants;
|
||||
auto const pantographposition = position + ( vLeft * pantograph->vPos.z ) + ( vUp * pantograph->vPos.y ) + ( vFront * pantograph->vPos.x );
|
||||
@@ -1061,11 +1057,10 @@ basic_region::update_sounds() {
|
||||
void
|
||||
basic_region::update_traction( TDynamicObject *Vehicle, int const Pantographindex ) {
|
||||
// TODO: convert vectors to transformation matrix and pass them down the chain along with calculated position
|
||||
// TODO: Why glm::make_vec3 and glm::value_ptr?
|
||||
auto const vFront = glm::make_vec3( glm::value_ptr(Vehicle->VectorFront()) ); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = glm::make_vec3( glm::value_ptr(Vehicle->VectorUp()) ); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = glm::make_vec3( glm::value_ptr(Vehicle->VectorLeft()) ); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const position = glm::dvec3 { Vehicle->GetPosition() }; // współrzędne środka pojazdu
|
||||
auto const vFront = Vehicle->VectorFront(); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = Vehicle->VectorUp(); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = Vehicle->VectorLeft(); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const position = Vehicle->GetPosition(); // współrzędne środka pojazdu
|
||||
|
||||
auto p = Vehicle->pants[ Pantographindex ].fParamPants;
|
||||
auto const pant0 = position + ( vLeft * p->vPos.z ) + ( vUp * p->vPos.y ) + ( vFront * p->vPos.x );
|
||||
|
||||
@@ -8744,10 +8744,9 @@ vehicle_table::update( double Deltatime, int Iterationcount ) {
|
||||
// legacy method, checks for presence and height of traction wire for specified vehicle
|
||||
void
|
||||
vehicle_table::update_traction( TDynamicObject *Vehicle ) {
|
||||
// TODO: Why glm::make_vec3 and glm::value_ptr?
|
||||
auto const vFront = glm::make_vec3( glm::value_ptr(Vehicle->VectorFront()) ); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = glm::make_vec3( glm::value_ptr(Vehicle->VectorUp()) ); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = glm::make_vec3( glm::value_ptr(Vehicle->VectorLeft()) ); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const vFront = Vehicle->VectorFront(); // wektor normalny dla płaszczyzny ruchu pantografu
|
||||
auto const vUp = Vehicle->VectorUp(); // wektor pionu pudła (pochylony od pionu na przechyłce)
|
||||
auto const vLeft = Vehicle->VectorLeft(); // wektor odległości w bok (odchylony od poziomu na przechyłce)
|
||||
auto const position = Vehicle->GetPosition(); // współrzędne środka pojazdu
|
||||
|
||||
for( int pantographindex = 0; pantographindex < Vehicle->iAnimType[ ANIM_PANTS ]; ++pantographindex ) {
|
||||
|
||||
@@ -2087,7 +2087,7 @@ bool TTrack::IsGroupable()
|
||||
return true;
|
||||
};
|
||||
|
||||
bool Equal(glm::dvec3 v1, glm::dvec3 *v2)
|
||||
bool Equal(const glm::dvec3 v1, const glm::dvec3 *v2)
|
||||
{ // sprawdzenie odległości punktów
|
||||
// Ra: powinno być do 100cm wzdłuż toru i ze 2cm w poprzek (na prostej może nie być długiego
|
||||
// kawałka)
|
||||
@@ -2102,7 +2102,7 @@ bool Equal(glm::dvec3 v1, glm::dvec3 *v2)
|
||||
// return (SquareMagnitude(v1-*v2)<0.00012); //0.011^2=0.00012
|
||||
};
|
||||
|
||||
int TTrack::TestPoint(glm::dvec3 *Point)
|
||||
int TTrack::TestPoint(const glm::dvec3 *Point)
|
||||
{ // sprawdzanie, czy tory można połączyć
|
||||
switch (eType)
|
||||
{
|
||||
|
||||
@@ -308,7 +308,7 @@ public:
|
||||
}
|
||||
double WidthTotal();
|
||||
bool IsGroupable();
|
||||
int TestPoint(glm::dvec3 *Point);
|
||||
int TestPoint(const glm::dvec3 *Point);
|
||||
void MovedUp1(float const dh);
|
||||
void VelocitySet(float v);
|
||||
double VelocityGet();
|
||||
|
||||
Reference in New Issue
Block a user