-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathThreeDModelGenerator.h
More file actions
39 lines (33 loc) · 1.54 KB
/
Copy pathThreeDModelGenerator.h
File metadata and controls
39 lines (33 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "model.h"
#include "Lists.h"
#ifndef THREEDMODELGENERATOR_H
#define THREEDMODELGENERATOR_H
class ThreeDModelGenerator{
TwoDModel model; /*< Every public function access this object representing the 2D model */
PointList possibleVertices;
LineList possibleEdges;
planeWithLinesList possibleSurfaces;
PointList removePoints;
public:
//! Input function to get the 2D model
ThreeDModelGenerator(TwoDModel model);
//! This function returns a list of possible vertices in a array of point objects
void PossibleVerticesConstructor();
//! This function returns a list of possible edges in a array of line objects
void PossibleEdgesConstructor();
//! This function returns a list of possible surfaces in a array of plane objects
planeWithLinesList PossibleSurfacesConstructor();
//! This function checks if two given planes are duplicate or not
bool DuplicatePlaneChecker(Plane p1, Plane p2);
//! This function returns a list of possible closed loops in a array of plane objects
void PossibleClosedLoopFacesConstructor(planeWithLinesList possibleSurfaces);
//! This function returns a list of possible objects in a array of ThreeDModel objects
ThreeDModel* PossibleObjectsConstructor();
//! This function returns a ThreeDModel object after combining possible subobjects
ThreeDModel PossibleObjectsCombiner(ThreeDModel *);
//! This function returns the final ThreeDModel object
ThreeDModel output();
void PossibleClosedLoopConstructor(PlaneWithLines possiblePlane);
void setRemovePoints(PointList p);
};
#endif