Version: 9.12.0
StdMeshers_ProjectionSource2D_i.hxx
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 // SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
24 // File : StdMeshers_ProjectionSource2D_i.hxx
25 // Author : Edward AGAPOV
26 // Module : SMESH
27 //
28 #ifndef _SMESH_ProjectionSource2D_I_HXX_
29 #define _SMESH_ProjectionSource2D_I_HXX_
30 
31 #include <SALOMEconfig.h>
32 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
33 #include CORBA_SERVER_HEADER(SMESH_Mesh)
34 
35 #include "SMESH_Hypothesis_i.hxx"
37 
38 class SMESH_Gen;
39 
40 // =========================================================
46 // =========================================================
47 
49  public virtual POA_StdMeshers::StdMeshers_ProjectionSource2D,
50  public virtual SMESH_Hypothesis_i
51 {
52 public:
53  // Constructor
54  StdMeshers_ProjectionSource2D_i( PortableServer::POA_ptr thePOA,
55  ::SMESH_Gen* theGenImpl );
56  // Destructor
58 
62  void SetSourceFace(GEOM::GEOM_Object_ptr face);
63 
67  GEOM::GEOM_Object_ptr GetSourceFace();
68 
72  void SetSourceMesh(SMESH::SMESH_Mesh_ptr mesh);
73 
77  SMESH::SMESH_Mesh_ptr GetSourceMesh();
78 
84  void SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex1,
85  GEOM::GEOM_Object_ptr sourceVertex2,
86  GEOM::GEOM_Object_ptr targetVertex1,
87  GEOM::GEOM_Object_ptr targetVertex2);
88 
94  GEOM::GEOM_Object_ptr GetSourceVertex(CORBA::Long i);
95 
100  GEOM::GEOM_Object_ptr GetTargetVertex(CORBA::Long i);
101 
102  // Get implementation
104 
105  // Verify whether hypothesis supports given entity type
106  CORBA::Boolean IsDimSupported( SMESH::Dimension type );
107 
108 
109  // Redefined Persistence
110  virtual char* SaveTo();
111  virtual void LoadFrom( const char* theStream );
112 
113 
114  // Methods for copying mesh definition to other geometry
115 
116  // Return geometry this hypothesis depends on. Return false if there is no geometry parameter
117  virtual bool getObjectsDependOn( std::vector< std::string > & entryArray,
118  std::vector< int > & subIDArray ) const;
119 
120  // Set new geometry instead of that returned by getObjectsDependOn()
121  virtual bool setObjectsDependOn( std::vector< std::string > & entryArray,
122  std::vector< int > & subIDArray );
123 private:
124  // keep entries because the same shape can be published several times with
125  // different names and in this case a correct name can't be restored by a TopoDS_Shape
126  // kept by ::StdMeshers_ProjectionSource2D
128  std::string myShapeEntries[NB_SHAPES];
129  SMESH::SMESH_Mesh_var myCorbaMesh;
130 };
131 
132 #endif
Definition: SMESH_Gen.hxx:68
Definition: SMESH_Hypothesis_i.hxx:53
This hypothesis specifies a meshed face to take a mesh pattern from and optionally association of ver...
Definition: StdMeshers_ProjectionSource2D_i.hxx:51
@ SRC_FACE
Definition: StdMeshers_ProjectionSource2D_i.hxx:127
@ SRC_VERTEX1
Definition: StdMeshers_ProjectionSource2D_i.hxx:127
@ TGT_VERTEX1
Definition: StdMeshers_ProjectionSource2D_i.hxx:127
@ NB_SHAPES
Definition: StdMeshers_ProjectionSource2D_i.hxx:127
@ TGT_VERTEX2
Definition: StdMeshers_ProjectionSource2D_i.hxx:127
@ SRC_VERTEX2
Definition: StdMeshers_ProjectionSource2D_i.hxx:127
void SetVertexAssociation(GEOM::GEOM_Object_ptr sourceVertex1, GEOM::GEOM_Object_ptr sourceVertex2, GEOM::GEOM_Object_ptr targetVertex1, GEOM::GEOM_Object_ptr targetVertex2)
Sets vertex association between the source face and the target one.
Definition: StdMeshers_ProjectionSource2D_i.cxx:144
virtual bool setObjectsDependOn(std::vector< std::string > &entryArray, std::vector< int > &subIDArray)
Set new geometry instead of that returned by getObjectsDependOn()
Definition: StdMeshers_ProjectionSource2D_i.cxx:334
GEOM::GEOM_Object_ptr GetSourceFace()
Returns the source face.
Definition: StdMeshers_ProjectionSource2D_i.cxx:179
CORBA::Boolean IsDimSupported(SMESH::Dimension type)
Verify whether hypothesis supports given entity type.
Definition: StdMeshers_ProjectionSource2D_i.cxx:239
GEOM::GEOM_Object_ptr GetTargetVertex(CORBA::Long i)
Returns the -th target vertex associated with the -th source vertex.
Definition: StdMeshers_ProjectionSource2D_i.cxx:209
::StdMeshers_ProjectionSource2D * GetImpl()
StdMeshers_ProjectionSource2D_i::GetImpl.
Definition: StdMeshers_ProjectionSource2D_i.cxx:225
virtual void LoadFrom(const char *theStream)
Retrieve parameters from the string.
Definition: StdMeshers_ProjectionSource2D_i.cxx:272
void SetSourceFace(GEOM::GEOM_Object_ptr face)
Sets a source <face> to take a mesh pattern from.
Definition: StdMeshers_ProjectionSource2D_i.cxx:76
virtual char * SaveTo()
Write parameters in a string.
Definition: StdMeshers_ProjectionSource2D_i.cxx:251
SMESH::SMESH_Mesh_var myCorbaMesh
Definition: StdMeshers_ProjectionSource2D_i.hxx:129
GEOM::GEOM_Object_ptr GetSourceVertex(CORBA::Long i)
Returns the -th source vertex associated with the -th target vertex.
Definition: StdMeshers_ProjectionSource2D_i.cxx:194
std::string myShapeEntries[NB_SHAPES]
Definition: StdMeshers_ProjectionSource2D_i.hxx:128
void SetSourceMesh(SMESH::SMESH_Mesh_ptr mesh)
Sets source <mesh> to take a mesh pattern from.
Definition: StdMeshers_ProjectionSource2D_i.cxx:97
SMESH::SMESH_Mesh_ptr GetSourceMesh()
Return source mesh.
Definition: StdMeshers_ProjectionSource2D_i.cxx:130
StdMeshers_ProjectionSource2D_i(PortableServer::POA_ptr thePOA, ::SMESH_Gen *theGenImpl)
StdMeshers_ProjectionSource2D_i::StdMeshers_ProjectionSource2D_i.
Definition: StdMeshers_ProjectionSource2D_i.cxx:50
virtual bool getObjectsDependOn(std::vector< std::string > &entryArray, std::vector< int > &subIDArray) const
Return geometry this hypothesis depends on.
Definition: StdMeshers_ProjectionSource2D_i.cxx:318
virtual ~StdMeshers_ProjectionSource2D_i()
StdMeshers_ProjectionSource2D_i::~StdMeshers_ProjectionSource2D_i.
Definition: StdMeshers_ProjectionSource2D_i.cxx:66
This hypothesis specifies a meshed face to take a mesh pattern from and optionally association of ver...
Definition: StdMeshers_ProjectionSource2D.hxx:49
Dimension
Definition: SMESH_Hypothesis.idl:35