6#include "TopoDS_TShape.hxx"
7#include "TopTools_ListOfShape.hxx"
16class BRepTools_History;
28 void setEdgeName(
const std::string& name) { edgeName = name; }
41 :
ShapesBase(_uiComponent, _modelComponent, _serviceID, _serviceName, _entityCache, _classFactory),
updateManager(nullptr) {};
49 void updateShape(EntityGeometry* geometryEntity, TopoDS_Shape& shape, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& resultFaceNames);
53 void storeEdgeListInProperties(std::list<EdgesData>& edgeList, EntityProperties& properties);
54 std::list<EdgesData> readEdgeListFromProperties(EntityProperties& properties);
55 void performOperation(EntityGeometry* geometryEntity, EntityBrep* baseBrep, TopoDS_Shape& shape, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& resultFaceNames);
56 void storeInputShapeFaceNames(EntityBrep* baseBrep, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allFaceNames);
57 void getAllEdgesFromInputShape(EntityBrep* baseBrep, std::map< std::string,
const opencascade::handle<TopoDS_TShape>>& allEdges, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allEdgesFace1, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allEdgesFace2);
58 void getAllEdgesForOperation(std::list<EdgesData>& edgeList, std::map< std::string,
const opencascade::handle<TopoDS_TShape>>& allEdges, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allEdgesForOperation);
59 void getAllEdgesForVertex(EntityBrep* baseBrep, TopoDS_Vertex& aVertex, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allEdgesForOperation, std::list<opencascade::handle<TopoDS_TShape>>& allEdgesForVertex);
60 std::string getVertexNameFromEdges(std::list<opencascade::handle<TopoDS_TShape>>& allEdgesForVertex, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allEdgesFace1, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allEdgesFace2);
72 virtual bool performActualOperation(EntityGeometry* geometryEntity, EntityBrep* baseBrep, std::map<
const opencascade::handle<TopoDS_TShape>, std::string>& allEdgesForOperation, TopoDS_Shape& shape, TopTools_ListOfShape& listOfProcessedEdges, BRepTools_History*& history) = 0;
bsoncxx::types::value value
Definition DocumentManager.h:16
Definition EdgesOperationBase.h:19
EdgesData()
Definition EdgesOperationBase.h:21
virtual ~EdgesData()
Definition EdgesOperationBase.h:22
ot::UID getEntityID(void)
Definition EdgesOperationBase.h:26
void setEdgeName(const std::string &name)
Definition EdgesOperationBase.h:28
void setEntityID(ot::UID id)
Definition EdgesOperationBase.h:24
std::string getEdgeName(void)
Definition EdgesOperationBase.h:29
Definition EdgesOperationBase.h:38
EdgesOperationBase(ot::components::UiComponent *_uiComponent, ot::components::ModelComponent *_modelComponent, ot::serviceID_t _serviceID, const std::string &_serviceName, EntityCache *_entityCache, ClassFactory *_classFactory)
Definition EdgesOperationBase.h:40
void performOperation(const std::string &selectionInfo)
Definition EdgesOperationBase.cpp:44
void addParametricProperty(EntityGeometry *geometryEntity, const std::string &name, double value)
Definition EdgesOperationBase.cpp:34
UpdateManager * updateManager
Definition EdgesOperationBase.h:74
void setUpdateManager(UpdateManager *_updateManager)
Definition EdgesOperationBase.h:44
void enterSelectEdgesMode(void)
Definition EdgesOperationBase.cpp:27
virtual bool operationActive(EntityGeometry *geometryEntity)=0
virtual std::string getShapeType()=0
virtual std::string getHiddenTreeItemName()=0
virtual std::string getVisibleTreeItemName()=0
virtual bool performActualOperation(EntityGeometry *geometryEntity, EntityBrep *baseBrep, std::map< const opencascade::handle< TopoDS_TShape >, std::string > &allEdgesForOperation, TopoDS_Shape &shape, TopTools_ListOfShape &listOfProcessedEdges, BRepTools_History *&history)=0
virtual ~EdgesOperationBase()
Definition EdgesOperationBase.h:42
void updateShape(EntityGeometry *geometryEntity, TopoDS_Shape &shape, std::map< const opencascade::handle< TopoDS_TShape >, std::string > &resultFaceNames)
Definition EdgesOperationBase.cpp:237
virtual void addSpecificProperties(EntityGeometry *geometryEntity)=0
virtual ot::components::UiComponent::entitySelectionAction getSelectionAction()=0
virtual std::string getOperationDescription()=0
Definition EntityCache.h:26
The Model class is the main interface to the model. There may be multiple instances of this class....
Definition Model.h:94
Definition ShapesBase.h:19
Definition UpdateManager.h:30
Definition ModelComponent.h:42
Definition UiComponent.h:31
entitySelectionAction
Definition UiComponent.h:40
unsigned long UID
Unique identifier (32 bit unsigned integer)
Definition CoreTypes.h:27
unsigned short serviceID_t
ID type used to identify a service (16 bit unsigned integer).
Definition CoreTypes.h:14