00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef MAYAAPI_H
00016 #define MAYAAPI_H
00017
00018 #include "pandatoolbase.h"
00019 #include "distanceUnit.h"
00020 #include "coordinateSystem.h"
00021 #include "referenceCount.h"
00022 #include "pointerTo.h"
00023
00024 class Filename;
00025
00026
00027
00028
00029
00030
00031
00032
00033 class MayaApi : public ReferenceCount {
00034 protected:
00035 MayaApi(const string &program_name, bool view_license = false, bool revertdir = true);
00036 MayaApi(const MayaApi ©);
00037 void operator = (const MayaApi ©);
00038
00039 public:
00040 ~MayaApi();
00041
00042 static PT(MayaApi) open_api(string program_name = "", bool view_license = false, bool revertdir = true);
00043 bool is_valid() const;
00044
00045 bool read(const Filename &filename);
00046 bool write(const Filename &filename);
00047 bool clear();
00048
00049 DistanceUnit get_units();
00050 void set_units(DistanceUnit unit);
00051 CoordinateSystem get_coordinate_system();
00052
00053 private:
00054 bool _is_valid;
00055 bool _plug_in;
00056 Filename _cwd;
00057 static MayaApi *_global_api;
00058 };
00059
00060 #endif