//--------------------------------------------------------------------------- #include "system.hpp" #include "classes.hpp" #pragma hdrstop #include "AirCoupler.h" #include "Timer.h" __fastcall TAirCoupler::TAirCoupler() { Clear(); } __fastcall TAirCoupler::~TAirCoupler() {} int __fastcall TAirCoupler::GetStatus() { // zwraca 1, jeśli istnieje model prosty, 2 gdy skośny int x = 0; if (pModelOn) x = 1; if (pModelxOn) x = 2; return x; } void __fastcall TAirCoupler::Clear() { // zerowanie wskaźników pModelOn = NULL; pModelOff = NULL; pModelxOn = NULL; bOn = false; bxOn = false; } void __fastcall TAirCoupler::Init(AnsiString asName, TModel3d *pModel) { // wyszukanie submodeli if (!pModel) return; // nie ma w czym szukać pModelOn = pModel->GetFromName(AnsiString(asName + "_on").c_str()); // połączony na wprost pModelOff = pModel->GetFromName(AnsiString(asName + "_off").c_str()); // odwieszony pModelxOn = pModel->GetFromName(AnsiString(asName + "_xon").c_str()); // połączony na skos } void __fastcall TAirCoupler::Load(TQueryParserComp *Parser, TModel3d *pModel) { AnsiString str = Parser->GetNextSymbol().LowerCase(); if (pModel) Init(str, pModel); else { pModelOn = NULL; pModelxOn = NULL; pModelOff = NULL; } } void __fastcall TAirCoupler::Update() { // if ((pModelOn!=NULL) && (pModelOn!=NULL)) { if (pModelOn) pModelOn->iVisible = bOn; if (pModelOff) pModelOff->iVisible = !(bOn || bxOn); if (pModelxOn) pModelxOn->iVisible = bxOn; } } //--------------------------------------------------------------------------- #pragma package(smart_init)