57 lines
1.4 KiB
C++
57 lines
1.4 KiB
C++
/**
|
|
* PANDA 3D SOFTWARE
|
|
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
*
|
|
* All use of this software is subject to the terms of the revised BSD
|
|
* license. You should have received a copy of this license along
|
|
* with this source code in a file named "LICENSE."
|
|
*
|
|
* @file mayaApi.h
|
|
* @author drose
|
|
* @date 2002-04-15
|
|
*/
|
|
|
|
#ifndef MAYAAPI_H
|
|
#define MAYAAPI_H
|
|
|
|
#include "pandatoolbase.h"
|
|
#include "distanceUnit.h"
|
|
#include "coordinateSystem.h"
|
|
#include "referenceCount.h"
|
|
#include "pointerTo.h"
|
|
|
|
class Filename;
|
|
|
|
/**
|
|
* This class presents a wrapper around the global Maya interface. While the
|
|
* reference count is held, it keeps the Maya interface open, and closes the
|
|
* interface when the object destructs.
|
|
*/
|
|
class MayaApi : public ReferenceCount {
|
|
protected:
|
|
MayaApi(const std::string &program_name, bool view_license = false, bool revertdir = true);
|
|
MayaApi(const MayaApi ©);
|
|
void operator = (const MayaApi ©);
|
|
|
|
public:
|
|
~MayaApi();
|
|
|
|
static PT(MayaApi) open_api(std::string program_name = "", bool view_license = false, bool revertdir = true);
|
|
bool is_valid() const;
|
|
|
|
bool read(const Filename &filename);
|
|
bool write(const Filename &filename);
|
|
bool clear();
|
|
|
|
DistanceUnit get_units();
|
|
void set_units(DistanceUnit unit);
|
|
CoordinateSystem get_coordinate_system();
|
|
|
|
private:
|
|
bool _is_valid;
|
|
bool _plug_in;
|
|
Filename _cwd;
|
|
static MayaApi *_global_api;
|
|
};
|
|
|
|
#endif
|