X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers_I%2FStdMeshers_CartesianParameters3D_i.hxx;h=f4b3ef304a93ea41d0b289bd08061826bfa68271;hb=b2eb2c3cef7c6fffbcc17e027be5e4d0357a935a;hp=e09422d0f4452c2dfcc520c7dd2222c31db4fcf4;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6;p=modules%2Fsmesh.git diff --git a/src/StdMeshers_I/StdMeshers_CartesianParameters3D_i.hxx b/src/StdMeshers_I/StdMeshers_CartesianParameters3D_i.hxx index e09422d0f..f4b3ef304 100644 --- a/src/StdMeshers_I/StdMeshers_CartesianParameters3D_i.hxx +++ b/src/StdMeshers_I/StdMeshers_CartesianParameters3D_i.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -83,6 +83,30 @@ class STDMESHERS_I_EXPORT StdMeshers_CartesianParameters3D_i: void GetGridSpacing(SMESH::string_array_out xSpaceFunctions, SMESH::double_array_out xInternalPoints, CORBA::Short axis) throw (SALOME::SALOME_Exception); + /*! + * Set custom direction of axes + */ + void SetAxesDirs(const SMESH::DirStruct& x, + const SMESH::DirStruct& y, + const SMESH::DirStruct& z) throw (SALOME::SALOME_Exception); + void GetAxesDirs(SMESH::DirStruct& x, + SMESH::DirStruct& y, + SMESH::DirStruct& z); + /*! + * Set/unset a fixed point, at which a node will be created provided that grid + * is defined by spacing in all directions + */ + void SetFixedPoint(const ::SMESH::PointStruct& p, CORBA::Boolean toUnset); + CORBA::Boolean GetFixedPoint(::SMESH::PointStruct& p); + + + /*! + * \brief Enables implementation of geometrical edges into the mesh. If this feature + * is disabled, sharp edges of the shape are lost ("smoothed") in the mesh if + * they don't coincide with the grid lines + */ + void SetToAddEdges(CORBA::Boolean toAdd); + CORBA::Boolean GetToAddEdges(); /*! * \brief Return true if the grid is defined by spacing functions and @@ -90,6 +114,14 @@ class STDMESHERS_I_EXPORT StdMeshers_CartesianParameters3D_i: */ CORBA::Boolean IsGridBySpacing(CORBA::Short axis); + /*! + * Returns axes at which number of hexahedra is maximal + */ + void ComputeOptimalAxesDirs(GEOM::GEOM_Object_ptr shape, + CORBA::Boolean isOrthogonal, + SMESH::DirStruct& x, + SMESH::DirStruct& y, + SMESH::DirStruct& z) throw (SALOME::SALOME_Exception); /*! * \brief Computes node coordinates by spacing functions * \param x0 - lower coordinate