X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2Facmodel.hxx;h=edaaad77cbda801aa658aa43ac96a959fbafadb4;hb=2beb0f29afba98c49606a4b929a49bda4f6db91a;hp=59e6034dd26c0126af99aa4d5dc5e3d74b064899;hpb=cf9a520a9f404e66cef7fd1955a62127e6d31f93;p=flightgear.git diff --git a/src/Model/acmodel.hxx b/src/Model/acmodel.hxx index 59e6034dd..edaaad77c 100644 --- a/src/Model/acmodel.hxx +++ b/src/Model/acmodel.hxx @@ -1,4 +1,4 @@ -// model.hxx - manage a 3D aircraft model. +// acmodel.hxx - manage a 3D aircraft model. // Written by David Megginson, started 2002. // // This file is in the Public Domain, and comes with no warranty. @@ -6,20 +6,11 @@ #ifndef __ACMODEL_HXX #define __ACMODEL_HXX 1 -#ifndef __cplusplus -# error This library requires C++ -#endif - -#include -#include - -using std::string; -using std::vector; - #include #include #include +#include #include // for SGSubsystem @@ -35,24 +26,23 @@ public: virtual ~FGAircraftModel (); virtual void init (); + virtual void shutdown (); + virtual void reinit (); virtual void bind (); virtual void unbind (); virtual void update (double dt); - virtual SGModelPlacement * get3DModel() { return _aircraft; } + virtual SGModelPlacement * get3DModel() { return _aircraft.get(); } virtual SGVec3d& getVelocity() { return _velocity; } private: - - SGModelPlacement * _aircraft; + void deinit (); + + std::auto_ptr _aircraft; + std::auto_ptr _interior; + SGVec3d _velocity; SGSharedPtr _fx; - SGPropertyNode_ptr _lon; - SGPropertyNode_ptr _lat; - SGPropertyNode_ptr _alt; - SGPropertyNode_ptr _pitch; - SGPropertyNode_ptr _roll; - SGPropertyNode_ptr _heading; SGPropertyNode_ptr _speed_n; SGPropertyNode_ptr _speed_e; SGPropertyNode_ptr _speed_d;