Select Git revision
deck_example.PNG
-
Tobias Weckenmann authoredTobias Weckenmann authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
ITAGeoSketchUpIO.h 2.07 KiB
/*
* ----------------------------------------------------------------
*
* ITA geometrical acoustics
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2017
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
#ifndef INCLUDE_WATCHER_ITA_GEO_SKETCHUP_IO
#define INCLUDE_WATCHER_ITA_GEO_SKETCHUP_IO
#include <ITAGeoDefinitions.h>
#include <ITAGeoBase.h>
// STL includes
#include <string>
//! SketchUp input and output class
/**
* Interface that describes file I/O for sketchup
* files. Also, some basic SketchUp-related
* settings are implemented (SU version, model name etc.).
* Depending on implementation, sketchup groups,
* components, layers etc. are available.
*
*/
class ITA_GEO_API CITAGeoSketchUpIO
{
public:
inline CITAGeoSketchUpIO()
{
m_iSUVersion = 8; // TODO: move to cpp file, default su 2015
m_sModelName = "Unnamed_ITAGeoSketchUpModel";
};
inline virtual ~CITAGeoSketchUpIO() {};
//! Loads SketchUp data from given file path
/*
* \note Throws ITAException (i.e. if file not found)
* \return True, if SketchUp file can be translated into a scene
*
*/
virtual bool Load( const std::string& sSKPFilePath ) =0;
//! Saves SketchUp data to given file path
/*
* \note Throws ITAException (i.e. if file could not be written)
* \return True, if file could be exported
*/
virtual bool Store( const std::string& sSKPFilePath, bool bOverwrite = true ) const=0;
virtual void SetSketchUpVersion( int iVersion );
virtual int GetSketchUpVersion() const;
virtual void SetModelName(const std::string& sName);
virtual std::string GetModelName() const;
protected:
int m_iSUVersion; //!< SketchUp version (slapi format, for writer)
std::string m_sModelName; //!< Model name (for writer)
};
#endif // INCLUDE_WATCHER_ITA_GEO_SKETCHUP_IO