* \brief Class bbtk::GObjectModel : abstract black-box interface.
*/
-/**
-* \class bbtk::GObjectModel
-* \brief
-*/
+/****
+* Design and Developpement of BBTK GEditor
+* Ricardo A Corredor J <ra.corredor67@uniandes.edu.co>
+* RaC - 2010
+****/
#ifndef __GObjectModel_h__
#define __GObjectModel_h__
//Includes same project
#include "GlobalConstants.h"
+#include "Observable.h"
//Includes creaMaracasVisu
//Includes std
#include <iostream>
+//Includes bbtk
+#include <bbtkBlackBoxDescriptor.h>
+
namespace bbtk
{
- class GObjectModel
+ class GObjectModel : public Observable
{
public:
//Public methods
+ // Method to get the values of Inic or Final point passed as references in the parameters
void getInicPoint(double& x, double& y, double& z);
void getFinalPoint(double& x, double& y, double& z);
- void setInicPoint(double& x, double& y, double& z);
- void setFinalPoint(double& x, double& y, double& z);
+ // Returns the center of the enclosing rectangle
+ void getCenter(double& x, double& y, double& z);
+
+ // Method to set the values of Inic or Final point
+ virtual void setInicPoint(double& x, double& y, double& z);
+ virtual void setFinalPoint(double& x, double& y, double& z);
+
+ // Changes the inic(top-left point) point of the rectangle
+ virtual void move(double xx,double yy,double zz);
+
+ // Returns true if (x,y,z) is inside the rectangle
+ virtual bool isPointInside(double x,double y, double z);
+
+ // Get the type of the graphical objects (See the GlobalConstants.h file)
+ int getGObjectType();
+ void setGObjectType(int obtype);
+
+ // The type in BBTK, for boxes for example in a BBS line like (new LoadHola abcd), LoadHola is the type
+ std::string getBBTKType();
+ void setBBTKType(std::string obtype);
+
+ // The name in BBTK, for boxes for example in a BBS line like (new LoadHola abcd), abcd is the name
+ std::string getBBTKName();
+ void setBBTKName(std::string obname);
+
+ // Object ID
+ int getObjectId();
+ void setObjectId(int id);
+
+ // Status bar message
+ virtual std::string getStatusText();
+
+ virtual void save(std::string &content);
+
private:
//Private Attributes
double _yFin;
double _zFin;
- //Protected methods
+ int _objectId;
+
+ // The type of the graphical objects (See the GlobalConstants.h file)
+ int _gObjectType;
+ // The type in BBTK, for boxes for example in a BBS line like (new LoadHola abcd), LoadHola is the type
+ std::string _bbtkType;
+
+ // The name in BBTK, for boxes for example in a BBS line like (new LoadHola abcd), abcd is the name
+ std::string _bbtkName;
+
+ //Protected methods
+
};