27#ifndef SMESHGUI_MESHOP_H
28#define SMESHGUI_MESHOP_H
36#include <SALOMEconfig.h>
37#include CORBA_CLIENT_HEADER(SMESH_Gen)
38#include CORBA_CLIENT_HEADER(GEOM_Gen)
57 enum MeshType{ MT_ANY = 0, MT_TRIANGULAR, MT_QUADRILATERAL, MT_TETRAHEDRAL, MT_HEXAHEDRAL };
59 typedef std::pair<SMESH::SMESH_Hypothesis_var, QString>
THypItem;
79 virtual bool isValid( SUIT_Operation* )
const;
83 void onCreateHyp(
const int,
const int );
84 void onEditHyp(
const int,
const int );
85 void onHypoSet(
const QString& );
86 void onGeomSelectionByMesh(
bool );
87 void onPublishShapeByMeshDlg( SUIT_Operation* );
88 void onCloseShapeByMeshDlg( SUIT_Operation* );
89 void onAlgoSelected(
const int,
const int = -1 );
90 void onHypoCreated(
int );
91 void onHypoEdited(
int );
92 void onAlgoSetByMeshType(
const int,
const int );
101 void availableHyps(
const int,
107 const QString& =
"");
108 void existingHyps(
const int,
118 void createHypothesis(
const int,
const int,
121 bool createMesh( QString&, QStringList& );
122 bool createSubMesh( QString&, QStringList& );
123 bool editMeshOrSubMesh( QString&, QStringList& );
124 void createSubMeshOnInternalEdges( SMESH::SMESH_Mesh_ptr mesh,
125 GEOM::GEOM_Object_ptr mainShape );
126 bool checkSubMeshConcurrency( SMESH::SMESH_Mesh_ptr mesh,
127 SMESH::SMESH_subMesh_ptr submesh,
130 int currentHyp(
const int,
const int )
const;
131 bool isSelectedHyp(
int,
int,
int )
const;
132 int nbDlgHypTypes(
const int )
const;
133 bool isAccessibleDim(
const int )
const;
134 void setCurrentHyp(
const int,
const int,
const int,
const bool=
false);
135 void setDefaultName(
const QString& prefix=
"" )
const;
136 SMESH::SMESH_Hypothesis_var getAlgo(
const int );
138 QString name(
_PTR(SObject) )
const;
139 int find(
const SMESH::SMESH_Hypothesis_var&,
141 SMESH::SMESH_Hypothesis_var getInitParamsHypothesis(
const QString&,
145 bool getAverageSize(
double & averageSize );
146 bool isSubshapeOk()
const;
147 char* isSubmeshIgnored()
const;
148 _PTR(SObject) getSubmeshByGeom()
const;
149 void selectObject(
_PTR(SObject) )
const;
150 void updateMeshTypeList();
151 void updateHypoSets();
152 void setFilteredAlgoData();
153 QStringList getHypoNames();
154 void logSmeshParams();
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Class containing set of hypotheses.
Definition: SMESHGUI_Hypotheses.h:219
Auxiliary class for creation of hypotheses.
Definition: SMESHGUI_Hypotheses.h:48
Dialog for mech creation or editing.
Definition: SMESHGUI_MeshDlg.h:56
Operation for mech creation or editing.
Definition: SMESHGUI_MeshOp.h:52
HypType
Definition: SMESHGUI_MeshOp.h:56
@ AddHyp
Definition: SMESHGUI_MeshOp.h:56
bool myHasConcurrentSubBefore
Definition: SMESHGUI_MeshOp.h:163
GEOM::GEOM_Object_var myGeom
Definition: SMESHGUI_MeshOp.h:169
int THypType
Definition: SMESHGUI_MeshOp.h:62
SMESHGUI_ShapeByMeshOp * myShapeByMeshOp
Definition: SMESHGUI_MeshOp.h:159
THypLabelIsAppMap myHypMapIsApplicable
Definition: SMESHGUI_MeshOp.h:177
HypothesesSet * myHypoSet
Definition: SMESHGUI_MeshOp.h:181
int THypDim
Definition: SMESHGUI_MeshOp.h:65
bool myToCreate
Definition: SMESHGUI_MeshOp.h:160
QMap< THypType, THypList > TType2HypList
Definition: SMESHGUI_MeshOp.h:63
QList< THypItem > THypList
Definition: SMESHGUI_MeshOp.h:60
virtual void selectionDone()
MeshType
Definition: SMESHGUI_MeshOp.h:57
SMESHGUI_MeshDlg * myDlg
Definition: SMESHGUI_MeshOp.h:158
std::pair< SMESH::SMESH_Hypothesis_var, QString > THypItem
Definition: SMESHGUI_MeshOp.h:59
QString myObjectToSelect
Definition: SMESHGUI_MeshOp.h:184
TDim2Type2HypList myObjHyps
hypothesis assigned to the current
Definition: SMESHGUI_MeshOp.h:172
QMap< QString, bool > THypLabelIsAppMap
Definition: SMESHGUI_MeshOp.h:96
bool myIsInvalidSubMesh
"invalid sub-mesh" is edited
Definition: SMESHGUI_MeshOp.h:164
bool myIsMesh
Definition: SMESHGUI_MeshOp.h:161
QMap< THypDim, TType2HypList > TDim2Type2HypList
Definition: SMESHGUI_MeshOp.h:66
TDim2Type2HypList myExistingHyps
all hypothesis of SMESH module
Definition: SMESHGUI_MeshOp.h:171
_PTR(SObject) getSubmeshByGeom() const
bool myIgnoreAlgoSelection
Definition: SMESHGUI_MeshOp.h:178
QString myGeomEntry
Definition: SMESHGUI_MeshOp.h:168
bool myIsOnGeometry
TRUE if edited mesh is based on geometry.
Definition: SMESHGUI_MeshOp.h:162
double myAverageSize
Definition: SMESHGUI_MeshOp.h:182
QString myLastGeomEntry
Definition: SMESHGUI_MeshOp.h:176
int myDim
Definition: SMESHGUI_MeshOp.h:179
QList< HypothesisData * > THypDataList
Definition: SMESHGUI_MeshOp.h:95
virtual bool isValid(SUIT_Operation *) const
Verifies whether given operator is valid for this one.
Definition: SMESHGUI_Operation.cxx:242
virtual bool onApply()
Definition: SMESHGUI_Operation.cxx:166
Definition: SMESHGUI_SelectionOp.h:58
virtual void startOperation()
This enumeration is used in typeById method to distinguish objects, mesh nodes and mesh elements,...
Definition: SMESHGUI_SelectionOp.cxx:79
virtual SUIT_SelectionFilter * createFilter(const int) const
Creates filter being used when certain object selection widget is active If no filter must be used,...
Definition: SMESHGUI_SelectionOp.cxx:170
virtual void commitOperation()
Definition: SMESHGUI_SelectionOp.cxx:121
Operation to publish a sub-shape of the mesh main shape by selecting mesh elements.
Definition: SMESHGUI_ShapeByMeshDlg.h:76
_PTR(SObject) getSubShapeSO(int subShapeID
Return SO of a sub-shape.
Definition: SMESHGUI_Utils.cxx:122
Information about a hypothesis.
Definition: SMESHGUI_Hypotheses.h:180
Way to initialize hypothesis.
Definition: SMESH_Gen.idl:131