+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: Model_Application.hxx
// Created: 28 Dec 2011
// Author: Mikhail PONIKAROV
/**\class Model_Application
* \ingroup DataModel
* \brief Realization of Open CASCADE application abstraction. Class for internal use only.
+ *
* Application supports the formats and document management. It is uses OCAF-lke
* architecture and just implements specific features of the module.
*/
class Model_Application : public TDocStd_Application
{
- public:
+public:
// useful methods inside of the module
// CASCADE RTTI
- DEFINE_STANDARD_RTTI(Model_Application)
- ;
+ /// Definition of "Handles" usage
+ /// \param Model_Application is the class name that is covered by the OCCT Handle
+ DEFINE_STANDARD_RTTI(Model_Application);
//! Retuns the application: one per process
MODEL_EXPORT static Handle_Model_Application getApplication();
//! Set path for the loaded by demand documents
void setLoadPath(std::string thePath);
+ //! Returns the path for the loaded by demand documents
+ const std::string& loadPath() const;
//! Defines that specified document must be loaded by demand
void setLoadByDemand(std::string theID);
//! Returns true if specified document must be loaded by demand
bool isLoadByDemand(std::string theID);
+ //! Closes and removes the documents that are not loaded by demand and
+ //! not in the given list
+ void removeUselessDocuments(std::list<std::shared_ptr<ModelAPI_Document> > theUsedDocs);
public:
// Redefined OCAF methods