Version: 9.16.0
StdMeshers_NumberOfSegments_i.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 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_NumberOfSegments_i.hxx
25// Moved here from SMESH_NumberOfSegments_i.hxx
26// Author : Paul RASCLE, EDF
27// Module : SMESH
28//
29#ifndef _SMESH_NUMBEROFSEGMENTS_I_HXX_
30#define _SMESH_NUMBEROFSEGMENTS_I_HXX_
31
33
34#include <SALOMEconfig.h>
35#include CORBA_SERVER_HEADER(SMESH_Mesh)
36#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
37
40
41// ======================================================
42// Number of segments hypothesis
43// ======================================================
45 public virtual POA_StdMeshers::StdMeshers_NumberOfSegments,
46 public virtual SMESH_Hypothesis_i,
47 public virtual StdMeshers_Reversible1D_i
48{
49public:
50 // Constructor
51 StdMeshers_NumberOfSegments_i( PortableServer::POA_ptr thePOA,
52 ::SMESH_Gen* theGenImpl );
53 // Destructor
55
56 // Builds point distribution according to passed function
57 SMESH::double_array* BuildDistributionExpr( const char*, CORBA::Long, CORBA::Long );
58 SMESH::double_array* BuildDistributionTab( const SMESH::double_array&, CORBA::Long, CORBA::Long );
59
60 // Set number of segments
61 void SetNumberOfSegments( SMESH::smIdType theSegmentsNumber );
62 // Get number of segments
63 CORBA::Long GetNumberOfSegments();
64
65 // Set distribution type
66 void SetDistrType(CORBA::Long typ);
67 // Get distribution type
68 CORBA::Long GetDistrType();
69
70 // Set scalar factor
71 void SetScaleFactor( CORBA::Double theScaleFactor );
72 // Get scalar factor
73 CORBA::Double GetScaleFactor();
74
75 // Set beta coefficient for Beta Law distribution
76 void SetBeta(CORBA::Double beta);
77 // Get beta coefficient for Beta Law distribution
78 CORBA::Double GetBeta();
79
80 // Set table function for distribution DT_TabFunc
81 void SetTableFunction(const SMESH::double_array& table);
82 // Get table function for distribution DT_TabFunc
83 SMESH::double_array* GetTableFunction();
84
85 // Set expression function for distribution DT_ExprFunc
86 void SetExpressionFunction(const char* expr);
87 // Get expression function for distribution DT_ExprFunc
88 char* GetExpressionFunction();
89
90 // Set the exponent mode on/off
91 void SetConversionMode( CORBA::Long conv );
92 // Returns true if the exponent mode is set
93 CORBA::Long ConversionMode();
94
95 // Get implementation
97
98 // Verify whether hypothesis supports given entity type
99 CORBA::Boolean IsDimSupported( SMESH::Dimension type );
100
101
102 // Methods for copying mesh definition to other geometry
103
104 // Return geometry this hypothesis depends on. Return false if there is no geometry parameter
105 virtual bool getObjectsDependOn( std::vector< std::string > & entryArray,
106 std::vector< int > & subIDArray ) const;
107
108 // Set new geometry instead of that returned by getObjectsDependOn()
109 virtual bool setObjectsDependOn( std::vector< std::string > & entryArray,
110 std::vector< int > & subIDArray );
111 protected:
112 virtual std::string getMethodOfParameter(const int paramIndex, int nbVars) const;
113};
114
115#endif
#define STDMESHERS_I_EXPORT
Definition: SMESH_StdMeshers_I.hxx:38
Definition: SMESH_Gen.hxx:68
Definition: SMESH_Hypothesis_i.hxx:53
virtual bool setObjectsDependOn(std::vector< std::string > &entryArray, std::vector< int > &subIDArray)=0
virtual std::string getMethodOfParameter(const int, int) const
Definition: SMESH_Hypothesis_i.hxx:134
::SMESH_Hypothesis * GetImpl()
SMESH_Hypothesis_i::GetImpl.
Definition: SMESH_Hypothesis_i.cxx:236
virtual bool getObjectsDependOn(std::vector< std::string > &entryArray, std::vector< int > &subIDArray) const =0
Definition: StdMeshers_NumberOfSegments_i.hxx:48
This class represents hypothesis for 1d algorithm.
Definition: StdMeshers_NumberOfSegments.hxx:47
Definition: StdMeshers_Reversible1D_i.hxx:43
Dimension
Definition: SMESH_Hypothesis.idl:35
sequence< double > double_array
Definition: SMESH_Mesh.idl:43