Skip to content
Snippets Groups Projects
Select Git revision
  • patch-1
  • master default protected
  • feature/animation
  • support/diffraction-w-mat
  • feature/open-mesh-update
  • support/skp-runtime
  • develop protected
  • feature/prop-list-doc
  • ma23-mika-fiddling
  • psc
  • dev-daniel
  • ma_2018/erraji
  • features/citygml
  • sketchup_2017_upgrade
  • ITAGeo_v2024a
  • VA_v2023b
  • ART_v2023a
  • VA_v2023a
  • VA_v2022a
  • before_cmake_rework
  • ARTMatlab_v2021b
  • v2021.a
  • v2019.a
  • v2016.a
24 results

ITAGeoSketchUpIO.h

Blame
  • 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