2#pragma warning(disable : 4251)
9class EntityAnnotationData;
11class __declspec(dllexport) EntityAnnotation :
public EntityBase {
13 EntityAnnotation(
ot::UID ID, EntityBase *parent, EntityObserver *mdl, ModelState *ms, ClassFactoryHandler* factory,
const std::string &owner);
14 virtual ~EntityAnnotation();
16 virtual bool getEntityBox(
double &xmin,
double &xmax,
double &ymin,
double &ymax,
double &zmin,
double &zmax)
override;
18 void addPoint(
double x,
double y,
double z,
double r,
double g,
double b);
19 void addTriangle(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
double z3,
double r,
double g,
double b);
21 const std::vector<std::array<double, 3>> &getPoints(
void);
22 const std::vector<std::array<double, 3>> &getPointsRGB(
void);
24 const std::vector<std::array<double, 3>> &getTriangleP1(
void);
25 const std::vector<std::array<double, 3>> &getTriangleP2(
void);
26 const std::vector<std::array<double, 3>> &getTriangleP3(
void);
27 const std::vector<std::array<double, 3>> &getTriangleRGB(
void);
29 const double* getEdgeColorRGB();
31 virtual void StoreToDataBase(
void)
override;
32 virtual void addVisualizationNodes(
void)
override;
34 virtual std::string getClassName(
void) {
return "EntityAnnotation"; };
36 void addVisualizationItem(
bool isHidden);
38 virtual entityType getEntityType(
void)
override {
return TOPOLOGY; };
39 virtual void removeChild(EntityBase *child)
override;
41 EntityAnnotationData *getAnnotationData(
void) { EnsureAnnotationDataIsLoaded();
return annotationData; }
44 virtual int getSchemaVersion(
void) {
return 1; };
45 virtual void AddStorageData(bsoncxx::builder::basic::document &storage);
46 virtual void readSpecificDataFromDataBase(bsoncxx::document::view &doc_view, std::map<ot::UID, EntityBase *> &entityMap)
override;
47 void EnsureAnnotationDataIsLoaded(
void);
48 void storeAnnotationData(
void);
49 void releaseAnnotationData(
void);
51 EntityAnnotationData *annotationData;
52 long long annotationDataStorageId;
unsigned long UID
Unique identifier (32 bit unsigned integer)
Definition CoreTypes.h:27