First executable version

This commit is contained in:
abd 2006-04-17 14:07:09 +00:00
parent bc005fd06a
commit 4a90225df0
211 changed files with 1348 additions and 645 deletions

View File

@ -35,6 +35,16 @@
#include "SMESH_Controls.hxx"
#ifdef WNT
#if defined SMESHCONTROLS_EXPORTS
#define SMESHCONTROLS_EXPORT __declspec( dllexport )
#else
#define SMESHCONTROLS_EXPORT __declspec( dllimport )
#endif
#else
#define SMESHCONTROLS_EXPORT
#endif
class SMDS_MeshElement;
class SMDS_MeshFace;
class SMDS_MeshNode;
@ -46,11 +56,10 @@ class SMESHDS_SubMesh;
class gp_Pnt;
class TopoDS_Shape;
namespace SMESH{
namespace Controls{
class TSequenceOfXYZ: public std::vector<gp_XYZ>
class SMESHCONTROLS_EXPORT TSequenceOfXYZ: public std::vector<gp_XYZ>
{
public:
typedef std::vector<gp_XYZ> TSuperClass;
@ -97,7 +106,7 @@ namespace SMESH{
Class : Functor
Description : Root of all Functors
*/
class Functor
class SMESHCONTROLS_EXPORT Functor
{
public:
~Functor(){}
@ -109,7 +118,7 @@ namespace SMESH{
Class : NumericalFunctor
Description : Root of all Functors returning numeric value
*/
class NumericalFunctor: public virtual Functor{
class SMESHCONTROLS_EXPORT NumericalFunctor: public virtual Functor{
public:
NumericalFunctor();
virtual void SetMesh( const SMDS_Mesh* theMesh );
@ -134,7 +143,7 @@ namespace SMESH{
Class : Volume
Description : Functor calculating volume of 3D mesh element
*/
class Volume: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT Volume: public virtual NumericalFunctor{
public:
virtual double GetValue( long theElementId );
//virtual double GetValue( const TSequenceOfXYZ& thePoints );
@ -147,7 +156,7 @@ namespace SMESH{
Class : SMESH_MinimumAngle
Description : Functor for calculation of minimum angle
*/
class MinimumAngle: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT MinimumAngle: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -159,7 +168,7 @@ namespace SMESH{
Class : AspectRatio
Description : Functor for calculating aspect ratio
*/
class AspectRatio: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT AspectRatio: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -171,7 +180,7 @@ namespace SMESH{
Class : AspectRatio3D
Description : Functor for calculating aspect ratio of 3D elems.
*/
class AspectRatio3D: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT AspectRatio3D: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -183,7 +192,7 @@ namespace SMESH{
Class : Warping
Description : Functor for calculating warping
*/
class Warping: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT Warping: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -198,7 +207,7 @@ namespace SMESH{
Class : Taper
Description : Functor for calculating taper
*/
class Taper: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT Taper: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -210,7 +219,7 @@ namespace SMESH{
Class : Skew
Description : Functor for calculating skew in degrees
*/
class Skew: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT Skew: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -222,7 +231,7 @@ namespace SMESH{
Class : Area
Description : Functor for calculating area
*/
class Area: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT Area: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -234,7 +243,7 @@ namespace SMESH{
Class : Length
Description : Functor for calculating length of edge
*/
class Length: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT Length: public virtual NumericalFunctor{
public:
virtual double GetValue( const TSequenceOfXYZ& thePoints );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -245,7 +254,7 @@ namespace SMESH{
Class : Length2D
Description : Functor for calculating length of edge
*/
class Length2D: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT Length2D: public virtual NumericalFunctor{
public:
virtual double GetValue( long theElementId );
virtual double GetBadRate( double Value, int nbNodes ) const;
@ -266,7 +275,7 @@ namespace SMESH{
Class : MultiConnection
Description : Functor for calculating number of faces conneted to the edge
*/
class MultiConnection: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT MultiConnection: public virtual NumericalFunctor{
public:
virtual double GetValue( long theElementId );
virtual double GetValue( const TSequenceOfXYZ& thePoints );
@ -278,7 +287,7 @@ namespace SMESH{
Class : MultiConnection2D
Description : Functor for calculating number of faces conneted to the edge
*/
class MultiConnection2D: public virtual NumericalFunctor{
class SMESHCONTROLS_EXPORT MultiConnection2D: public virtual NumericalFunctor{
public:
virtual double GetValue( long theElementId );
virtual double GetValue( const TSequenceOfXYZ& thePoints );
@ -301,7 +310,7 @@ namespace SMESH{
Class : Predicate
Description : Base class for all predicates
*/
class Predicate: public virtual Functor{
class SMESHCONTROLS_EXPORT Predicate: public virtual Functor{
public:
virtual bool IsSatisfy( long theElementId ) = 0;
virtual SMDSAbs_ElementType GetType() const = 0;
@ -313,7 +322,7 @@ namespace SMESH{
Class : FreeBorders
Description : Predicate for free borders
*/
class FreeBorders: public virtual Predicate{
class SMESHCONTROLS_EXPORT FreeBorders: public virtual Predicate{
public:
FreeBorders();
virtual void SetMesh( const SMDS_Mesh* theMesh );
@ -329,7 +338,7 @@ namespace SMESH{
Class : BadOrientedVolume
Description : Predicate bad oriented volumes
*/
class BadOrientedVolume: public virtual Predicate{
class SMESHCONTROLS_EXPORT BadOrientedVolume: public virtual Predicate{
public:
BadOrientedVolume();
virtual void SetMesh( const SMDS_Mesh* theMesh );
@ -345,7 +354,7 @@ namespace SMESH{
Class : FreeEdges
Description : Predicate for free Edges
*/
class FreeEdges: public virtual Predicate{
class SMESHCONTROLS_EXPORT FreeEdges: public virtual Predicate{
public:
FreeEdges();
virtual void SetMesh( const SMDS_Mesh* theMesh );
@ -376,7 +385,7 @@ namespace SMESH{
2. With SetRangeStr method. Parameter of this method is a string
like as "1,2,3,50-60,63,67,70-"
*/
class RangeOfIds: public virtual Predicate
class SMESHCONTROLS_EXPORT RangeOfIds: public virtual Predicate
{
public:
RangeOfIds();
@ -406,7 +415,7 @@ namespace SMESH{
Class : Comparator
Description : Base class for comparators
*/
class Comparator: public virtual Predicate{
class SMESHCONTROLS_EXPORT Comparator: public virtual Predicate{
public:
Comparator();
virtual ~Comparator();
@ -428,7 +437,7 @@ namespace SMESH{
Class : LessThan
Description : Comparator "<"
*/
class LessThan: public virtual Comparator{
class SMESHCONTROLS_EXPORT LessThan: public virtual Comparator{
public:
virtual bool IsSatisfy( long theElementId );
};
@ -438,7 +447,7 @@ namespace SMESH{
Class : MoreThan
Description : Comparator ">"
*/
class MoreThan: public virtual Comparator{
class SMESHCONTROLS_EXPORT MoreThan: public virtual Comparator{
public:
virtual bool IsSatisfy( long theElementId );
};
@ -448,7 +457,7 @@ namespace SMESH{
Class : EqualTo
Description : Comparator "="
*/
class EqualTo: public virtual Comparator{
class SMESHCONTROLS_EXPORT EqualTo: public virtual Comparator{
public:
EqualTo();
virtual bool IsSatisfy( long theElementId );
@ -465,7 +474,7 @@ namespace SMESH{
Class : LogicalNOT
Description : Logical NOT predicate
*/
class LogicalNOT: public virtual Predicate{
class SMESHCONTROLS_EXPORT LogicalNOT: public virtual Predicate{
public:
LogicalNOT();
virtual ~LogicalNOT();
@ -484,7 +493,7 @@ namespace SMESH{
Class : LogicalBinary
Description : Base class for binary logical predicate
*/
class LogicalBinary: public virtual Predicate{
class SMESHCONTROLS_EXPORT LogicalBinary: public virtual Predicate{
public:
LogicalBinary();
virtual ~LogicalBinary();
@ -504,7 +513,7 @@ namespace SMESH{
Class : LogicalAND
Description : Logical AND
*/
class LogicalAND: public virtual LogicalBinary{
class SMESHCONTROLS_EXPORT LogicalAND: public virtual LogicalBinary{
public:
virtual bool IsSatisfy( long theElementId );
};
@ -514,7 +523,7 @@ namespace SMESH{
Class : LogicalOR
Description : Logical OR
*/
class LogicalOR: public virtual LogicalBinary{
class SMESHCONTROLS_EXPORT LogicalOR: public virtual LogicalBinary{
public:
virtual bool IsSatisfy( long theElementId );
};
@ -524,7 +533,7 @@ namespace SMESH{
Class : ManifoldPart
Description : Predicate for manifold part of mesh
*/
class ManifoldPart: public virtual Predicate{
class SMESHCONTROLS_EXPORT ManifoldPart: public virtual Predicate{
public:
/* internal class for algorithm uses */
@ -599,7 +608,7 @@ namespace SMESH{
Description : Predicate elements that lying on indicated surface
(plane or cylinder)
*/
class ElementsOnSurface : public virtual Predicate {
class SMESHCONTROLS_EXPORT ElementsOnSurface : public virtual Predicate {
public:
ElementsOnSurface();
~ElementsOnSurface();
@ -631,7 +640,7 @@ namespace SMESH{
/*
FILTER
*/
class Filter{
class SMESHCONTROLS_EXPORT Filter{
public:
Filter();
virtual ~Filter();

View File

@ -20,11 +20,13 @@
#ifndef _INCLUDE_DRIVER_DOCUMENT
#define _INCLUDE_DRIVER_DOCUMENT
#include "Driver_Mesh.h"
#include <string>
class SMESHDS_Document;
class Driver_Document
class MESHDRIVER_EXPORT Driver_Document
{
public:
Driver_Document();

View File

@ -29,13 +29,17 @@
#include <string>
#if defined WNT && defined WIN32 && defined DRIVER_EXPORTS
#define DRIVER_WNT_EXPORT __declspec( dllexport )
#ifdef WNT
#if defined MESHDRIVER_EXPORTS
#define MESHDRIVER_EXPORT __declspec( dllexport )
#else
#define MESHDRIVER_EXPORT __declspec( dllimport )
#endif
#else
#define DRIVER_WNT_EXPORT
#define MESHDRIVER_EXPORT
#endif
class DRIVER_WNT_EXPORT Driver_Mesh
class MESHDRIVER_EXPORT Driver_Mesh
{
public:
Driver_Mesh();

View File

@ -24,7 +24,7 @@
class SMDS_Mesh;
class Driver_SMDS_Mesh: public Driver_Mesh
class MESHDRIVER_EXPORT Driver_SMDS_Mesh: public Driver_Mesh
{
public:
Driver_SMDS_Mesh();

View File

@ -24,13 +24,7 @@
class SMESHDS_Mesh;
#if defined WNT && defined WIN32 && defined DRIVER_EXPORTS
#define DRIVER_WNT_EXPORT __declspec( dllexport )
#else
#define DRIVER_WNT_EXPORT
#endif
class DRIVER_WNT_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
class MESHDRIVER_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
{
public:
Driver_SMESHDS_Mesh();
@ -38,7 +32,6 @@ class DRIVER_WNT_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
protected:
SMESHDS_Mesh *myMesh;
};
#endif

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERDAT_R_SMDS_MESH
#define _INCLUDE_DRIVERDAT_R_SMDS_MESH
#include "SMESH_DriverDAT.hxx"
#include "Driver_SMDS_Mesh.h"
class DriverDAT_R_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERDAT_EXPORT DriverDAT_R_SMDS_Mesh: public Driver_SMDS_Mesh
{
public:
virtual Status Perform();

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERDAT_R_SMESHDS_DOCUMENT
#define _INCLUDE_DRIVERDAT_R_SMESHDS_DOCUMENT
#include "SMESH_DriverDAT.hxx"
#include "Driver_Document.h"
class DriverDAT_R_SMESHDS_Document : public Driver_Document
class MESHDRIVERDAT_EXPORT DriverDAT_R_SMESHDS_Document : public Driver_Document
{};
#endif

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERDAT_R_SMESHDS_MESH
#define _INCLUDE_DRIVERDAT_R_SMESHDS_MESH
#include "SMESH_DriverDAT.hxx"
#include "Driver_SMESHDS_Mesh.h"
class DriverDAT_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
class MESHDRIVERDAT_EXPORT DriverDAT_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
{};
#endif

View File

@ -27,9 +27,11 @@
#ifndef _INCLUDE_DRIVERDAT_W_SMDS_MESH
#define _INCLUDE_DRIVERDAT_W_SMDS_MESH
#include "SMESH_DriverDAT.hxx"
#include "Driver_SMDS_Mesh.h"
class DriverDAT_W_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERDAT_EXPORT DriverDAT_W_SMDS_Mesh: public Driver_SMDS_Mesh
{
public:
virtual Status Perform();

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERDAT_W_SMESHDS_DOCUMENT
#define _INCLUDE_DRIVERDAT_W_SMESHDS_DOCUMENT
#include "SMESH_DriverDAT.hxx"
#include "Driver_Document.h"
class DriverDAT_W_SMESHDS_Document: public Driver_Document
class MESHDRIVERDAT_EXPORT DriverDAT_W_SMESHDS_Document: public Driver_Document
{};
#endif

View File

@ -27,9 +27,11 @@
#ifndef _INCLUDE_DRIVERDAT_W_SMESHDS_MESH
#define _INCLUDE_DRIVERDAT_W_SMESHDS_MESH
#include "SMESH_DriverDAT.hxx"
#include "Driver_SMESHDS_Mesh.h"
class DriverDAT_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
class MESHDRIVERDAT_EXPORT DriverDAT_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
{};
#endif

View File

@ -35,7 +35,7 @@ VPATH=.:@srcdir@
@COMMENCE@
# header files
EXPORT_HEADERS= DriverDAT_R_SMDS_Mesh.h DriverDAT_R_SMESHDS_Mesh.h DriverDAT_R_SMESHDS_Document.h DriverDAT_W_SMDS_Mesh.h DriverDAT_W_SMESHDS_Mesh.h DriverDAT_W_SMESHDS_Document.h
EXPORT_HEADERS= DriverDAT_R_SMDS_Mesh.h DriverDAT_R_SMESHDS_Mesh.h DriverDAT_R_SMESHDS_Document.h DriverDAT_W_SMDS_Mesh.h DriverDAT_W_SMESHDS_Mesh.h DriverDAT_W_SMESHDS_Document.h SMESH_DriverDAT.hxx
# Libraries targets
LIB = libMeshDriverDAT.la

View File

@ -0,0 +1,39 @@
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// 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.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : SMESH_DriverDAT.hxx
// Author : Alexander A. BORODIN
// Module : SMESH
#ifndef _SMESH_DriverDAT_HXX_
#define _SMESH_DriverDAT_HXX_
#ifdef WNT
#if defined MESHDRIVERDAT_EXPORTS
#define MESHDRIVERDAT_EXPORT __declspec( dllexport )
#else
#define MESHDRIVERDAT_EXPORT __declspec( dllimport )
#endif
#else
#define MESHDRIVERDAT_EXPORT
#endif
#endif

View File

@ -28,6 +28,8 @@
#ifndef _INCLUDE_DRIVERMED_FAMILY
#define _INCLUDE_DRIVERMED_FAMILY
#include "SMESH_DriverMED.hxx"
#include "SMDS_Mesh.hxx"
#include "SMESHDS_GroupBase.hxx"
#include "SMESHDS_SubMesh.hxx"
@ -46,7 +48,7 @@
class DriverMED_Family;
typedef boost::shared_ptr<DriverMED_Family> DriverMED_FamilyPtr;
class DriverMED_Family
class MESHDRIVERMED_EXPORT DriverMED_Family
{
public:

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERMED_R_SMDS_MESH
#define _INCLUDE_DRIVERMED_R_SMDS_MESH
#include "SMESH_DriverMED.hxx"
#include "Driver_SMDS_Mesh.h"
class DriverMED_R_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERMED_EXPORT DriverMED_R_SMDS_Mesh: public Driver_SMDS_Mesh
{};
#endif

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERMED_R_SMESHDS_DOCUMENT
#define _INCLUDE_DRIVERMED_R_SMESHDS_DOCUMENT
#include "SMESH_DriverMED.hxx"
#include "Driver_Document.h"
class DriverMED_R_SMESHDS_Document : public Driver_Document
class MESHDRIVERMED_EXPORT DriverMED_R_SMESHDS_Document : public Driver_Document
{};
#endif

View File

@ -27,6 +27,8 @@
#ifndef _INCLUDE_DRIVERMED_R_SMESHDS_MESH
#define _INCLUDE_DRIVERMED_R_SMESHDS_MESH
#include "SMESH_DriverMED.hxx"
#include "Driver_SMESHDS_Mesh.h"
#include "DriverMED_Family.h"
@ -38,7 +40,7 @@ class SMESHDS_SubMesh;
typedef std::pair< std::string, SMDSAbs_ElementType > TNameAndType;
class DriverMED_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
class MESHDRIVERMED_EXPORT DriverMED_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
{
public:
virtual Status Perform();

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERMED_W_SMDS_MESH
#define _INCLUDE_DRIVERMED_W_SMDS_MESH
#include "SMESH_DriverMED.hxx"
#include "Driver_SMDS_Mesh.h"
class DriverMED_W_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERMED_EXPORT DriverMED_W_SMDS_Mesh: public Driver_SMDS_Mesh
{};
#endif

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERMED_W_SMESHDS_DOCUMENT
#define _INCLUDE_DRIVERMED_W_SMESHDS_DOCUMENT
#include "SMESH_DriverMED.hxx"
#include "Driver_Document.h"
class DriverMED_W_SMESHDS_Document : public Driver_Document
class MESHDRIVERMED_EXPORT DriverMED_W_SMESHDS_Document : public Driver_Document
{};
#endif

View File

@ -27,6 +27,8 @@
#ifndef _INCLUDE_DRIVERMED_W_SMESHDS_MESH
#define _INCLUDE_DRIVERMED_W_SMESHDS_MESH
#include "SMESH_DriverMED.hxx"
#include "Driver_SMESHDS_Mesh.h"
#include "MED_Factory.hxx"
@ -38,7 +40,7 @@ class SMESHDS_Mesh;
class SMESHDS_GroupBase;
class SMESHDS_SubMesh;
class DriverMED_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
class MESHDRIVERMED_EXPORT DriverMED_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
{
public:

View File

@ -38,7 +38,7 @@ VPATH=.:@srcdir@
EXPORT_HEADERS = \
DriverMED_R_SMDS_Mesh.h DriverMED_R_SMESHDS_Mesh.h DriverMED_R_SMESHDS_Document.h \
DriverMED_W_SMDS_Mesh.h DriverMED_W_SMESHDS_Mesh.h DriverMED_W_SMESHDS_Document.h \
DriverMED_Family.h
DriverMED_Family.h SMESH_DriverMED.hxx
# Libraries targets
LIB = libMeshDriverMED.la

View File

@ -0,0 +1,39 @@
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// 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.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : SMESH_DriverMED.hxx
// Author : Alexander A. BORODIN
// Module : SMESH
#ifndef _SMESH_DriverMED_HXX_
#define _SMESH_DriverMED_HXX_
#ifdef WNT
#if defined MESHDRIVERMED_EXPORTS
#define MESHDRIVERMED_EXPORT __declspec( dllexport )
#else
#define MESHDRIVERMED_EXPORT __declspec( dllimport )
#endif
#else
#define MESHDRIVERMED_EXPORT
#endif
#endif

View File

@ -20,11 +20,13 @@
#ifndef _INCLUDE_DRIVERSTL_R_SMDS_MESH
#define _INCLUDE_DRIVERSTL_R_SMDS_MESH
#include "SMESH_DriverSTL.hxx"
#include "Driver_SMDS_Mesh.h"
#include <Standard_TypeDef.hxx>
class DriverSTL_R_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERSTL_EXPORT DriverSTL_R_SMDS_Mesh: public Driver_SMDS_Mesh
{
public:
DriverSTL_R_SMDS_Mesh();

View File

@ -27,10 +27,12 @@
#ifndef _INCLUDE_DRIVERSTL_W_SMDS_MESH
#define _INCLUDE_DRIVERSTL_W_SMDS_MESH
#include "SMESH_DriverSTL.hxx"
#include "Driver_SMDS_Mesh.h"
#include <Standard_TypeDef.hxx>
class DriverSTL_W_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERSTL_EXPORT DriverSTL_W_SMDS_Mesh: public Driver_SMDS_Mesh
{
public:

View File

@ -35,7 +35,7 @@ VPATH=.:@srcdir@
@COMMENCE@
# header files
EXPORT_HEADERS= DriverSTL_R_SMDS_Mesh.h DriverSTL_W_SMDS_Mesh.h
EXPORT_HEADERS= DriverSTL_R_SMDS_Mesh.h DriverSTL_W_SMDS_Mesh.h SMESH_DriverSTL.hxx
# Libraries targets
LIB = libMeshDriverSTL.la

View File

@ -0,0 +1,39 @@
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// 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.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : SMESH_DriverSTL.hxx
// Author : Alexander A. BORODIN
// Module : SMESH
#ifndef _SMESH_DriverSTL_HXX_
#define _SMESH_DriverSTL_HXX_
#ifdef WNT
#if defined MESHDRIVERSTL_EXPORTS
#define MESHDRIVERSTL_EXPORT __declspec( dllexport )
#else
#define MESHDRIVERSTL_EXPORT __declspec( dllimport )
#endif
#else
#define MESHDRIVERSTL_EXPORT
#endif
#endif

View File

@ -20,11 +20,13 @@
#ifndef _INCLUDE_DRIVERUNV_R_SMDS_MESH
#define _INCLUDE_DRIVERUNV_R_SMDS_MESH
#include "SMESH_DriverUNV.hxx"
#include "Driver_SMDS_Mesh.h"
class SMDS_Mesh;
class DriverUNV_R_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERUNV_EXPORT DriverUNV_R_SMDS_Mesh: public Driver_SMDS_Mesh
{
public:
virtual Status Perform();

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERUNV_R_SMESHDS_DOCUMENT
#define _INCLUDE_DRIVERUNV_R_SMESHDS_DOCUMENT
#include "SMESH_DriverUNV.hxx"
#include "Driver_Document.h"
class DriverUNV_R_SMESHDS_Document: public Driver_Document
class MESHDRIVERUNV_EXPORT DriverUNV_R_SMESHDS_Document: public Driver_Document
{};
#endif

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERUNV_R_SMESHDS_MESH
#define _INCLUDE_DRIVERUNV_R_SMESHDS_MESH
#include "SMESH_DriverUNV.hxx"
#include "Driver_SMESHDS_Mesh.h"
class DriverUNV_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
class MESHDRIVERUNV_EXPORT DriverUNV_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
{};
#endif

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERUNV_W_SMDS_MESH
#define _INCLUDE_DRIVERUNV_W_SMDS_MESH
#include "SMESH_DriverUNV.hxx"
#include "Driver_SMDS_Mesh.h"
class DriverUNV_W_SMDS_Mesh: public Driver_SMDS_Mesh
class MESHDRIVERUNV_EXPORT DriverUNV_W_SMDS_Mesh: public Driver_SMDS_Mesh
{
public:
virtual Status Perform();

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERUNV_W_SMESHDS_DOCUMENT
#define _INCLUDE_DRIVERUNV_W_SMESHDS_DOCUMENT
#include "SMESH_DriverUNV.hxx"
#include "Driver_Document.h"
class DriverUNV_W_SMESHDS_Document : public Driver_Document
class MESHDRIVERUNV_EXPORT DriverUNV_W_SMESHDS_Document : public Driver_Document
{};
#endif

View File

@ -20,9 +20,11 @@
#ifndef _INCLUDE_DRIVERUNV_W_SMESHDS_MESH
#define _INCLUDE_DRIVERUNV_W_SMESHDS_MESH
#include "SMESH_DriverUNV.hxx"
#include "Driver_SMESHDS_Mesh.h"
class DriverUNV_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
class MESHDRIVERUNV_EXPORT DriverUNV_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
{};
#endif

View File

@ -51,7 +51,7 @@ LIB_SRC = \
DriverUNV_W_SMESHDS_Document.cxx \
DriverUNV_W_SMDS_Mesh.cxx \
DriverUNV_W_SMESHDS_Mesh.cxx \
UNV_Utilities.cxx UNV2411_Structure.cxx UNV2412_Structure.cxx
UNV_Utilities.cxx UNV2411_Structure.cxx UNV2412_Structure.cxx SMESH_DriverUNV.hxx
# Executables targets
BIN = UNV_Test

View File

@ -0,0 +1,39 @@
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// 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.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : SMESH_DriverUNV.hxx
// Author : Alexander A. BORODIN
// Module : SMESH
#ifndef _SMESH_DriverUNV_HXX_
#define _SMESH_DriverUNV_HXX_
#ifdef WNT
#if defined MESHDRIVERUNV_EXPORTS
#define MESHDRIVERUNV_EXPORT __declspec( dllexport )
#else
#define MESHDRIVERUNV_EXPORT __declspec( dllimport )
#endif
#else
#define MESHDRIVERUNV_EXPORT
#endif
#endif

View File

@ -20,12 +20,14 @@
#ifndef UNV2411_Structure_HeaderFile
#define UNV2411_Structure_HeaderFile
#include "SMESH_DriverUNV.hxx"
#include <map>
#include <fstream>
namespace UNV2411{
struct TRecord{
struct MESHDRIVERUNV_EXPORT TRecord{
TRecord();
int exp_coord_sys_num; // export coordinate system number
int disp_coord_sys_num; // displacement coordinate system number
@ -36,9 +38,11 @@ namespace UNV2411{
typedef int TNodeLab; // type of node label
typedef std::map<TNodeLab,TRecord> TDataSet;
void Read(std::ifstream& in_stream, TDataSet& theDataSet);
MESHDRIVERUNV_EXPORT void
Read(std::ifstream& in_stream, TDataSet& theDataSet);
void Write(std::ofstream& out_stream, const TDataSet& theDataSet);
MESHDRIVERUNV_EXPORT void
Write(std::ofstream& out_stream, const TDataSet& theDataSet);
};

View File

@ -20,6 +20,8 @@
#ifndef UNV2412_Structure_HeaderFile
#define UNV2412_Structure_HeaderFile
#include "SMESH_DriverUNV.hxx"
#include <map>
#include <vector>
#include <fstream>
@ -29,7 +31,7 @@ namespace UNV2412{
typedef std::vector<int> TNodeLabels; // Nodal connectivities
struct TRecord{
struct MESHDRIVERUNV_EXPORT TRecord{
TRecord();
int fe_descriptor_id; // FE descriptor id
@ -47,13 +49,18 @@ namespace UNV2412{
typedef int TElementLab; // type of element label
typedef std::map<TElementLab,TRecord> TDataSet;
void Read(std::ifstream& in_stream, TDataSet& theDataSet);
MESHDRIVERUNV_EXPORT void
Read(std::ifstream& in_stream, TDataSet& theDataSet);
void Write(std::ofstream& out_stream, const TDataSet& theDataSet);
MESHDRIVERUNV_EXPORT void
Write(std::ofstream& out_stream, const TDataSet& theDataSet);
bool IsBeam(int theFeDescriptorId);
bool IsFace(int theFeDescriptorId);
bool IsVolume(int theFeDescriptorId);
MESHDRIVERUNV_EXPORT bool
IsBeam(int theFeDescriptorId);
MESHDRIVERUNV_EXPORT bool
IsFace(int theFeDescriptorId);
MESHDRIVERUNV_EXPORT bool
IsVolume(int theFeDescriptorId);
};

View File

@ -9,6 +9,8 @@
#ifndef MED_Utilities_HeaderFile
#define MED_Utilities_HeaderFile
#include "SMESH_DriverUNV.hxx"
#include <iostream>
#include <sstream>
#include <string>
@ -18,7 +20,7 @@
namespace UNV{
using namespace std;
class PrefixPrinter{
class MESHDRIVERUNV_EXPORT PrefixPrinter{
static int myCounter;
public:
PrefixPrinter();

View File

@ -25,9 +25,11 @@
#include "Rn.h"
#include "aptrte.h"
#ifndef WIN32
#include "utilities.h"
using namespace std;
#endif
extern "C"
{
@ -48,7 +50,7 @@ void tempscpu_( double & tempsec )
//Retourne le temps CPU utilise en secondes
{
tempsec = ( (double) clock() ) / CLOCKS_PER_SEC;
//MESSAGE( "temps cpu=" << tempsec );
// MESSAGEE( "temps cpu=" << tempsec );
}
@ -58,7 +60,7 @@ void deltacpu_( R & dtcpu )
tempscpu_( cpunew );
dtcpu = R( cpunew - cpuold );
cpuold = cpunew;
//MESSAGE( "delta temps cpu=" << dtcpu );
// MESSAGEE( "delta temps cpu=" << dtcpu );
return;
}
@ -162,8 +164,8 @@ void aptrte( Z nutysu, R aretmx,
// majoration empirique du nombre de sommets de la triangulation
i = 4*nbarfr/10;
mxsomm = Max( 20000, 64*nbpti+i*i );
MESSAGE( "APTRTE: Depart de la triangulation avec " );
MESSAGE( "nutysu=" << nutysu << " aretmx=" << aretmx << " mxsomm=" << mxsomm );
// MESSAGEE( "APTRTE: Depart de la triangulation avec " );
// MESSAGEE( "nutysu=" << nutysu << " aretmx=" << aretmx << " mxsomm=" << mxsomm );
NEWDEPART:
//mnpxyd( 3, mxsomm ) les coordonnees UV des sommets et la taille d'arete aux sommets
@ -309,8 +311,8 @@ void aptrte( Z nutysu, R aretmx,
aremax = sqrt( aremax ); //longueur maximale d'une arete
aretmx = Min( aretmx, aremax ); //pour homogeneiser
MESSAGE("nutysu=" << nutysu << " aretmx=" << aretmx
<< " arete min=" << aremin << " arete max=" << aremax);
// MESSAGEE("nutysu=" << nutysu << " aretmx=" << aretmx
// << " arete min=" << aremin << " arete max=" << aremax);
//chainage des aretes frontalieres : la derniere arete frontaliere
mnsoar[ mosoar * noar - mosoar + 5 ] = 0;
@ -350,7 +352,7 @@ void aptrte( Z nutysu, R aretmx,
mxtree = 2 * mxsomm;
NEWTREE: //en cas de saturation de l'un des tableaux, on boucle
MESSAGE( "Debut triangulation avec mxsomm=" << mxsomm );
// MESSAGEE( "Debut triangulation avec mxsomm=" << mxsomm );
if( mntree != NULL ) delete [] mntree;
nbsomm = nbarpi;
mntree = new Z[motree*(1+mxtree)];
@ -366,13 +368,13 @@ void aptrte( Z nutysu, R aretmx,
//saturation de letree => sa taille est augmentee et relance
mxtree = mxtree * 2;
ierr = 0;
MESSAGE( "Nouvelle valeur de mxtree=" << mxtree );
// MESSAGEE( "Nouvelle valeur de mxtree=" << mxtree );
goto NEWTREE;
}
deltacpu_( d );
tcpu += d;
MESSAGE( "Temps de l'ajout arbre-4 des Triangles Equilateraux=" << d << " secondes" );
// MESSAGEE( "Temps de l'ajout arbre-4 des Triangles Equilateraux=" << d << " secondes" );
if( ierr != 0 ) goto ERREUR;
//ici le tableau mnpxyd contient les sommets des te et les points frontaliers et internes
@ -392,8 +394,8 @@ void aptrte( Z nutysu, R aretmx,
deltacpu_( d );
tcpu += d;
MESSAGE("Temps de l'adaptation et l'homogeneisation de l'arbre-4 des TE="
<< d << " secondes");
// MESSAGEE("Temps de l'adaptation et l'homogeneisation de l'arbre-4 des TE="
// << d << " secondes");
if( ierr != 0 )
{
//destruction du tableau auxiliaire et de l'arbre
@ -401,7 +403,7 @@ void aptrte( Z nutysu, R aretmx,
{
//letree sature
mxtree = mxtree * 2;
MESSAGE( "Redemarrage avec la valeur de mxtree=" << mxtree );
// MESSAGEE( "Redemarrage avec la valeur de mxtree=" << mxtree );
ierr = 0;
goto NEWTREE;
}
@ -424,7 +426,7 @@ void aptrte( Z nutysu, R aretmx,
//Temps calcul
deltacpu_( d );
tcpu += d;
MESSAGE( "Temps de la triangulation des TE=" << d << " secondes" );
// MESSAGEE( "Temps de la triangulation des TE=" << d << " secondes" );
// ierr =0 si pas d'erreur
// =1 si le tableau mnsoar est sature
@ -446,11 +448,11 @@ void aptrte( Z nutysu, R aretmx,
mosoar, mxsoar, n1soar, mnsoar, na,
moartr, mxartr, n1artr, mnartr, n );
MESSAGE( "Nombre d'echanges des diagonales de 2 triangles=" << n );
// MESSAGEE( "Nombre d'echanges des diagonales de 2 triangles=" << n );
deltacpu_( d );
tcpu += d;
MESSAGE("Temps de la triangulation Delaunay par echange des diagonales="
<< d << " secondes");
// MESSAGEE("Temps de la triangulation Delaunay par echange des diagonales="
// << d << " secondes");
//qualites de la triangulation actuelle
qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
@ -479,11 +481,11 @@ void aptrte( Z nutysu, R aretmx,
mxarcf, mn1arcf, mnarcf, mnarcf1, mnarcf2,
n, ierr );
MESSAGE( "Restauration de " << n << " aretes perdues de la frontiere" );
// MESSAGEE( "Restauration de " << n << " aretes perdues de la frontiere" );
deltacpu_( d );
tcpu += d;
MESSAGE("Temps de la recuperation des aretes perdues de la frontiere="
<< d << " secondes");
// MESSAGEE("Temps de la recuperation des aretes perdues de la frontiere="
// << d << " secondes");
if( ierr != 0 ) goto ERREUR;
@ -525,7 +527,7 @@ void aptrte( Z nutysu, R aretmx,
deltacpu_( d );
tcpu += d;
MESSAGE( "Temps de la suppression des triangles externes=" << d );
// MESSAGEE( "Temps de la suppression des triangles externes=" << d );
if( ierr != 0 ) goto ERREUR;
//qualites de la triangulation actuelle
@ -556,7 +558,7 @@ void aptrte( Z nutysu, R aretmx,
deltacpu_( d );
tcpu += d;
MESSAGE( "Temps de l'amelioration de la qualite de la triangulation=" << d );
// MESSAGEE( "Temps de l'amelioration de la qualite de la triangulation=" << d );
if( ierr != 0 ) goto ERREUR;
//qualites de la triangulation finale
@ -649,12 +651,12 @@ void aptrte( Z nutysu, R aretmx,
}
}
nbt /= 4; //le nombre final de triangles de la surface
MESSAGE("Nombre de sommets=" << nbst
<< " Nombre de triangles=" << nbt);
// MESSAGEE("Nombre de sommets=" << nbst
// << " Nombre de triangles=" << nbt);
deltacpu_( d );
tcpu += d;
MESSAGE( "Temps total de la triangulation=" << tcpu << " secondes" );
// MESSAGEE( "Temps total de la triangulation=" << tcpu << " secondes" );
// destruction des tableaux auxiliaires
// ------------------------------------
@ -686,7 +688,7 @@ void aptrte( Z nutysu, R aretmx,
}
else
{
MESSAGE( "Triangulation non realisee " << ierr );
// MESSAGEE( "Triangulation non realisee " << ierr );
if( ierr == 0 ) ierr=1;
goto NETTOYAGE;
}
@ -763,9 +765,9 @@ void qualitetrte( R3 *mnpxyd,
{
//un triangle d'aire negative de plus
nbtrianeg++;
MESSAGE("ATTENTION: le triangle " << nt << " de sommets:"
<< nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
<< " a une aire " << d <<"<=0");
// MESSAGEE("ATTENTION: le triangle " << nt << " de sommets:"
// << nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
// << " a une aire " << d <<"<=0");
}
//aire des triangles actuels
@ -775,12 +777,12 @@ void qualitetrte( R3 *mnpxyd,
//les affichages
quamoy /= nbtria;
MESSAGE("Qualite moyenne=" << quamoy
<< " Qualite minimale=" << quamin
<< " des " << nbtria << " triangles de surface totale="
<< aire);
// MESSAGEE("Qualite moyenne=" << quamoy
// << " Qualite minimale=" << quamin
// << " des " << nbtria << " triangles de surface totale="
// << aire);
if( nbtrianeg>0 )
MESSAGE( "ATTENTION: nombre de triangles d'aire negative=" << nbtrianeg );
//if( nbtrianeg>0 )
// MESSAGE( "ATTENTION: nombre de triangles d'aire negative=" << nbtrianeg );
return;
}

View File

@ -28,10 +28,14 @@
#define aptrte__h
#include <limits.h> // limites min max int long real ...
#ifndef WIN32
#include <unistd.h> // gethostname, ...
#endif
#include <stdio.h>
#ifndef WIN32
#include <iostream.h> // pour cout cin ...
#include <iomanip.h> // pour le format des io setw, stx, setfill, ...
#endif
#include <string.h> // pour les fonctions sur les chaines de caracteres
#include <ctype.h>
#include <stdlib.h>
@ -39,9 +43,21 @@
#include <time.h>
#include <sys/types.h>
#ifndef WIN32
#include <sys/time.h>
#endif
void qualitetrte( R3 *mnpxyd,
#ifdef WNT
#if defined MEFISTO2D_EXPORTS
#define MEFISTO2D_EXPORT __declspec( dllexport )
#else
#define MEFISTO2D_EXPORT __declspec( dllimport )
#endif
#else
#define MEFISTO2D_EXPORT
#endif
void qualitetrte( R3 *mnpxyd,
Z & mosoar, Z & mxsoar, Z *mnsoar,
Z & moartr, Z & mxartr, Z *mnartr,
Z & nbtria, R & quamoy, R & quamin );
@ -75,7 +91,8 @@ void qualitetrte( R3 *mnpxyd,
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void aptrte( Z nutysu, R aretmx,
MEFISTO2D_EXPORT
void aptrte( Z nutysu, R aretmx,
Z nblf, Z *nudslf, R2 *uvslf,
Z nbpti, R2 *uvpti,
Z & nbst, R2 * & uvst, Z & nbt, Z * & nust,

View File

@ -39,7 +39,7 @@ class vtkScalarBarActor;
class vtkPlane;
class vtkImplicitBoolean;
class SMESH_Actor: public SALOME_Actor
class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
{
static SMESH_Actor* New() { return NULL;}

View File

@ -79,7 +79,7 @@ class vtkTimeStamp;
class SMESH_DeviceActor;
class SMESH_ActorDef : public SMESH_Actor{
class SMESHOBJECT_EXPORT SMESH_ActorDef : public SMESH_Actor{
friend class SMESH_VisualObj;
friend class SMESH_Actor;

View File

@ -20,6 +20,8 @@
#ifndef SMESH_ACTORUTILS_H
#define SMESH_ACTORUTILS_H
#include "SMESH_Object.h"
#include <qcolor.h>
#include <qstring.h>
@ -27,12 +29,12 @@ class vtkUnstructuredGrid;
namespace SMESH{
float GetFloat( const QString& theValue, float theDefault = 0 );
float GetFloat( const QString& theName, const QString& theSection, float theDefault = 0 );
float SMESHOBJECT_EXPORT GetFloat( const QString& theValue, float theDefault = 0 );
float SMESHOBJECT_EXPORT GetFloat( const QString& theName, const QString& theSection, float theDefault = 0 );
QColor GetColor( const QString& theSect, const QString& theName, const QColor&t = QColor() );
void GetColor( const QString& theSect, const QString& theName, int&, int&, int&, const QColor&t = QColor() );
void GetColor( const QString& theSect, const QString& theName, float&, float&, float&, const QColor&t = QColor() );
QColor SMESHOBJECT_EXPORT GetColor( const QString& theSect, const QString& theName, const QColor&t = QColor() );
void SMESHOBJECT_EXPORT GetColor( const QString& theSect, const QString& theName, int&, int&, int&, const QColor&t = QColor() );
void SMESHOBJECT_EXPORT GetColor( const QString& theSect, const QString& theName, float&, float&, float&, const QColor&t = QColor() );
void WriteUnstructuredGrid(vtkUnstructuredGrid* theGrid, const char* theFileName);

View File

@ -54,7 +54,7 @@ class VTKViewer_ExtractUnstructuredGrid;
class SMESH_ExtractGeometry;
class SMESH_DeviceActor: public vtkLODActor{
class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{
friend class SMESH_ActorDef;
public:

View File

@ -20,11 +20,13 @@
#ifndef SALOME_ExtractGeometry_HeaderFile
#define SALOME_ExtractGeometry_HeaderFile
#include "SMESH_Object.h"
#include <vtkExtractGeometry.h>
#include <vector>
class SMESH_ExtractGeometry : public vtkExtractGeometry{
class SMESHOBJECT_EXPORT SMESH_ExtractGeometry : public vtkExtractGeometry{
public:
vtkTypeMacro(SMESH_ExtractGeometry,vtkExtractGeometry);

View File

@ -719,7 +719,7 @@ bool SMESH_VisualObjDef::GetEdgeNodes( const int theElemId,
if ( theEdgeNum < 0 || theEdgeNum > 3 || nbNodes != 3 && nbNodes != 4 || theEdgeNum > nbNodes )
return false;
int anIds[ nbNodes ];
vector<int> anIds( nbNodes );
SMDS_ElemIteratorPtr anIter = anElem->nodesIterator();
int i = 0;
while( anIter->more() )
@ -834,7 +834,7 @@ void SMESH_MeshObj::Update( int theIsClear )
int nbNodes = anIndexes[i++];
// nodes
//ASSERT( nbNodes < 9 );
const SMDS_MeshNode* aNodes[ nbNodes ];
const SMDS_MeshNode** aNodes = new const SMDS_MeshNode*[ nbNodes ];
for ( int iNode = 0; iNode < nbNodes; iNode++ )
aNodes[ iNode ] = FindNode( myMesh, anIndexes[i++] );
// change

View File

@ -29,6 +29,16 @@
#ifndef SMESH_OBJECT_H
#define SMESH_OBJECT_H
#ifdef WNT
#if defined SMESHOBJECT_EXPORTS
#define SMESHOBJECT_EXPORT __declspec( dllexport )
#else
#define SMESHOBJECT_EXPORT __declspec( dllimport )
#endif
#else
#define SMESHOBJECT_EXPORT
#endif
#include <boost/shared_ptr.hpp>
#include <vtkSystemIncludes.h>
@ -42,7 +52,7 @@ class vtkUnstructuredGrid;
Class : SMESH_VisualObj
Description : Base class for all mesh objects to be visuilised
*/
class SMESH_VisualObj
class SMESHOBJECT_EXPORT SMESH_VisualObj
{
public:
virtual void Update( int theIsClear = true ) = 0;

View File

@ -51,7 +51,7 @@ class SMDS_MeshElement;
Class : SMESH_VisualObj
Description : Base class for all mesh objects to be visuilised
*/
class SMESH_VisualObjDef: public SMESH_VisualObj
class SMESHOBJECT_EXPORT SMESH_VisualObjDef: public SMESH_VisualObj
{
public:
typedef std::list<const SMDS_MeshElement*> TEntityList;
@ -104,7 +104,7 @@ private:
Description : Class for visualisation of mesh
*/
class SMESH_MeshObj: public SMESH_VisualObjDef
class SMESHOBJECT_EXPORT SMESH_MeshObj: public SMESH_VisualObjDef
{
public:
@ -136,7 +136,7 @@ protected:
Description : Base class for visualisation of submeshes and groups
*/
class SMESH_SubMeshObj: public SMESH_VisualObjDef
class SMESHOBJECT_EXPORT SMESH_SubMeshObj: public SMESH_VisualObjDef
{
public:
@ -160,7 +160,7 @@ protected:
Description : Class for visualisation of groups
*/
class SMESH_GroupObj: public SMESH_SubMeshObj
class SMESHOBJECT_EXPORT SMESH_GroupObj: public SMESH_SubMeshObj
{
public:
SMESH_GroupObj( SMESH::SMESH_GroupBase_ptr, SMESH_MeshObj* );
@ -181,7 +181,7 @@ private:
Description : Class for visualisation of submeshes
*/
class SMESH_subMeshObj : public SMESH_SubMeshObj
class SMESHOBJECT_EXPORT SMESH_subMeshObj : public SMESH_SubMeshObj
{
public:

View File

@ -113,7 +113,8 @@ EXPORT_HEADERS= \
SMDS_FaceOfEdges.hxx \
SMDS_FaceOfNodes.hxx \
SMDS_PolygonalFaceOfNodes.hxx \
SMDS_VolumeTool.hxx
SMDS_VolumeTool.hxx \
SMESH_SMDS.hxx
# SMDS_Tria3OfNodes.hxx \
# SMDS_HexahedronOfNodes.hxx

View File

@ -27,21 +27,11 @@
#ifndef _SMDS_EdgePosition_HeaderFile
#define _SMDS_EdgePosition_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_Position.hxx"
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_EdgePosition:public SMDS_Position
class SMDS_EXPORT SMDS_EdgePosition:public SMDS_Position
{
public:

View File

@ -22,6 +22,8 @@
#ifndef _SMDS_FaceOfEdges_HeaderFile
#define _SMDS_FaceOfEdges_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshFace.hxx"
#include "SMDS_MeshEdge.hxx"
#include "SMDS_Iterator.hxx"
@ -29,7 +31,7 @@
#include <iostream>
class SMDS_FaceOfEdges:public SMDS_MeshFace
class SMDS_EXPORT SMDS_FaceOfEdges:public SMDS_MeshFace
{
public:
void Print(std::ostream & OS) const;

View File

@ -22,13 +22,15 @@
#ifndef _SMDS_FaceOfNodes_HeaderFile
#define _SMDS_FaceOfNodes_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshFace.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMDS_Iterator.hxx"
#include <iostream>
class SMDS_FaceOfNodes:public SMDS_MeshFace
class SMDS_EXPORT SMDS_FaceOfNodes:public SMDS_MeshFace
{
public:
void Print(std::ostream & OS) const;

View File

@ -27,21 +27,11 @@
#ifndef _SMDS_FacePosition_HeaderFile
#define _SMDS_FacePosition_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_Position.hxx"
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_FacePosition:public SMDS_Position
class SMDS_EXPORT SMDS_FacePosition:public SMDS_Position
{
public:

View File

@ -19,12 +19,14 @@
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
#include "SMESH_SMDS.hxx"
#include "SMDS_Iterator.hxx"
#include "SMDS_MeshElement.hxx"
#include <set>
class SMDS_IteratorOfElements:public SMDS_ElemIterator
class SMDS_EXPORT SMDS_IteratorOfElements:public SMDS_ElemIterator
{
public:
/////////////////////////////////////////////////////////////////////////////

View File

@ -27,6 +27,8 @@
#ifndef _SMDS_Mesh_HeaderFile
#define _SMDS_Mesh_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshNode.hxx"
#include "SMDS_MeshEdge.hxx"
#include "SMDS_MeshFace.hxx"
@ -35,17 +37,6 @@
#include "SMDS_ElemIterator.hxx"
#include <NCollection_Map.hxx>
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
#include <boost/shared_ptr.hpp>
#include <set>
#include <list>
@ -59,7 +50,7 @@ typedef boost::shared_ptr<SMDS_Iterator<const SMDS_MeshFace *> > SMDS_FaceIterat
typedef SMDS_Iterator<const SMDS_MeshVolume *> SMDS_VolumeIterator;
typedef boost::shared_ptr<SMDS_Iterator<const SMDS_MeshVolume *> > SMDS_VolumeIteratorPtr;
class SMDS_WNT_EXPORT SMDS_Mesh:public SMDS_MeshObject{
class SMDS_EXPORT SMDS_Mesh:public SMDS_MeshObject{
public:
SMDS_Mesh();

View File

@ -27,10 +27,12 @@
#ifndef _SMDS_MeshEdge_HeaderFile
#define _SMDS_MeshEdge_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshElement.hxx"
#include <iostream>
class SMDS_MeshEdge:public SMDS_MeshElement
class SMDS_EXPORT SMDS_MeshEdge:public SMDS_MeshElement
{
public:

View File

@ -27,23 +27,13 @@
#ifndef _SMDS_MeshElement_HeaderFile
#define _SMDS_MeshElement_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDSAbs_ElementType.hxx"
#include "SMDS_MeshObject.hxx"
#include "SMDS_ElemIterator.hxx"
#include "SMDS_MeshElementIDFactory.hxx"
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
#include <vector>
#include <iostream>
@ -54,7 +44,7 @@ class SMDS_MeshFace;
///////////////////////////////////////////////////////////////////////////////
/// Base class for elements
///////////////////////////////////////////////////////////////////////////////
class SMDS_WNT_EXPORT SMDS_MeshElement:public SMDS_MeshObject
class SMDS_EXPORT SMDS_MeshElement:public SMDS_MeshObject
{
public:

View File

@ -27,6 +27,8 @@
#ifndef _SMDS_MeshElementIDFactory_HeaderFile
#define _SMDS_MeshElementIDFactory_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshIDFactory.hxx"
#include "SMDS_ElemIterator.hxx"
@ -36,7 +38,7 @@ class SMDS_MeshElement;
typedef NCollection_DataMap<int, SMDS_MeshElement *> SMDS_IdElementMap;
class SMDS_MeshElementIDFactory:public SMDS_MeshIDFactory
class SMDS_EXPORT SMDS_MeshElementIDFactory:public SMDS_MeshIDFactory
{
public:
SMDS_MeshElementIDFactory();

View File

@ -27,9 +27,11 @@
#ifndef _SMDS_MeshFace_HeaderFile
#define _SMDS_MeshFace_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshElement.hxx"
class SMDS_MeshFace:public SMDS_MeshElement
class SMDS_EXPORT SMDS_MeshFace:public SMDS_MeshElement
{
public:
SMDSAbs_ElementType GetType() const;

View File

@ -26,22 +26,12 @@
#ifndef _SMDS_MeshGroup_HeaderFile
#define _SMDS_MeshGroup_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_Mesh.hxx"
#include <set>
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_MeshGroup:public SMDS_MeshObject
class SMDS_EXPORT SMDS_MeshGroup:public SMDS_MeshObject
{
public:
SMDS_MeshGroup(const SMDS_Mesh * theMesh,

View File

@ -27,11 +27,13 @@
#ifndef _SMDS_MeshIDFactory_HeaderFile
#define _SMDS_MeshIDFactory_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshObject.hxx"
#include <set>
class SMDS_MeshIDFactory:public SMDS_MeshObject
class SMDS_EXPORT SMDS_MeshIDFactory:public SMDS_MeshObject
{
public:
virtual int GetFreeID();

View File

@ -27,23 +27,13 @@
#ifndef _SMDS_MeshNode_HeaderFile
#define _SMDS_MeshNode_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshElement.hxx"
#include "SMDS_Position.hxx"
#include <NCollection_List.hxx>
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_MeshNode:public SMDS_MeshElement
class SMDS_EXPORT SMDS_MeshNode:public SMDS_MeshElement
{
public:

View File

@ -27,20 +27,9 @@
#ifndef _SMDS_MeshObject_HeaderFile
#define _SMDS_MeshObject_HeaderFile
#include "SMESH_SMDS.hxx"
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_MeshObject
class SMDS_EXPORT SMDS_MeshObject
{
public:
virtual ~SMDS_MeshObject() {}

View File

@ -27,9 +27,11 @@
#ifndef _SMDS_MeshVolume_HeaderFile
#define _SMDS_MeshVolume_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshElement.hxx"
class SMDS_MeshVolume:public SMDS_MeshElement
class SMDS_EXPORT SMDS_MeshVolume:public SMDS_MeshElement
{
public:

View File

@ -22,6 +22,8 @@
#ifndef _SMDS_PolygonalFaceOfNodes_HeaderFile
#define _SMDS_PolygonalFaceOfNodes_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshFace.hxx"
//#include "SMDS_FaceOfNodes.hxx"
#include "SMDS_MeshNode.hxx"
@ -30,7 +32,7 @@
#include <iostream>
//class SMDS_PolygonalFaceOfNodes:public SMDS_FaceOfNodes
class SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
class SMDS_EXPORT SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
{
public:
SMDS_PolygonalFaceOfNodes (std::vector<const SMDS_MeshNode *> nodes);

View File

@ -27,14 +27,11 @@
#ifndef _SMDS_PolyhedralVolumeOfNodes_HeaderFile
#define _SMDS_PolyhedralVolumeOfNodes_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_VolumeOfNodes.hxx"
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
class SMDS_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
{
public:
SMDS_PolyhedralVolumeOfNodes (std::vector<const SMDS_MeshNode *> nodes,

View File

@ -27,26 +27,15 @@
#ifndef _SMDS_Position_HeaderFile
#define _SMDS_Position_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_TypeOfPosition.hxx"
#include <boost/shared_ptr.hpp>
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_Position;
typedef boost::shared_ptr<SMDS_Position> SMDS_PositionPtr;
class SMDS_WNT_EXPORT SMDS_Position
class SMDS_EXPORT SMDS_Position
{
public:

View File

@ -27,21 +27,11 @@
#ifndef _SMDS_SpacePosition_HeaderFile
#define _SMDS_SpacePosition_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_Position.hxx"
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_SpacePosition:public SMDS_Position
class SMDS_EXPORT SMDS_SpacePosition:public SMDS_Position
{
public:

View File

@ -27,21 +27,11 @@
#ifndef _SMDS_VertexPosition_HeaderFile
#define _SMDS_VertexPosition_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_Position.hxx"
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
class SMDS_WNT_EXPORT SMDS_VertexPosition:public SMDS_Position
class SMDS_EXPORT SMDS_VertexPosition:public SMDS_Position
{
public:

View File

@ -27,13 +27,15 @@
#ifndef _SMDS_VolumeOfFaces_HeaderFile
#define _SMDS_VolumeOfFaces_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshVolume.hxx"
#include "SMDS_MeshFace.hxx"
#include "SMDS_Iterator.hxx"
#include <iostream>
class SMDS_VolumeOfFaces:public SMDS_MeshVolume
class SMDS_EXPORT SMDS_VolumeOfFaces:public SMDS_MeshVolume
{
public:

View File

@ -27,10 +27,11 @@
#ifndef _SMDS_VolumeOfNodes_HeaderFile
#define _SMDS_VolumeOfNodes_HeaderFile
#include "SMESH_SMDS.hxx"
#include "SMDS_MeshVolume.hxx"
class SMDS_VolumeOfNodes:public SMDS_MeshVolume
class SMDS_EXPORT SMDS_VolumeOfNodes:public SMDS_MeshVolume
{
public:

View File

@ -30,6 +30,8 @@
#ifndef SMDS_VolumeTool_HeaderFile
#define SMDS_VolumeTool_HeaderFile
#include "SMESH_SMDS.hxx"
class SMDS_MeshElement;
class SMDS_MeshNode;
class SMDS_PolyhedralVolumeOfNodes;
@ -37,18 +39,6 @@ class SMDS_PolyhedralVolumeOfNodes;
#include <vector>
#include <set>
//#ifdef WNT
//#include <SALOME_WNT.hxx>
//#else
//#define SALOME_WNT_EXPORT
//#endif
#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
#define SMDS_WNT_EXPORT __declspec( dllexport )
#else
#define SMDS_WNT_EXPORT
#endif
// =========================================================================
//
// Class providing topological and other information about SMDS_MeshVolume:
@ -57,7 +47,7 @@ class SMDS_PolyhedralVolumeOfNodes;
//
// =========================================================================
class SMDS_WNT_EXPORT SMDS_VolumeTool
class SMDS_EXPORT SMDS_VolumeTool
{
public:

39
src/SMDS/SMESH_SMDS.hxx Executable file
View File

@ -0,0 +1,39 @@
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// 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.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : SMESH_SMDS.hxx
// Author : Alexander A. BORODIN
// Module : SMESH
#ifndef _SMESH_SMDS_HXX_
#define _SMESH_SMDS_HXX_
#ifdef WNT
#if defined SMDS_EXPORTS
#define SMDS_EXPORT __declspec( dllexport )
#else
#define SMDS_EXPORT __declspec( dllimport )
#endif
#else
#define SMDS_EXPORT
#endif
#endif

View File

@ -50,7 +50,8 @@ EXPORT_HEADERS= \
SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx \
SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx \
SMESH_SequenceOfElemPtr.hxx \
SMESH_SequenceOfNode.hxx
SMESH_SequenceOfNode.hxx \
SMESH_SMESH.hxx
EXPORT_PYSCRIPTS =

View File

@ -26,11 +26,12 @@
// Module : SMESH
// $Header$
using namespace std;
#include "SMESH_1D_Algo.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_subMesh.hxx"
using namespace std;
//=============================================================================
/*!
*

View File

@ -29,9 +29,11 @@
#ifndef _SMESH_1D_ALGO_HXX_
#define _SMESH_1D_ALGO_HXX_
#include "SMESH_SMESH.hxx"
#include "SMESH_Algo.hxx"
class SMESH_1D_Algo:
class SMESH_EXPORT SMESH_1D_Algo:
public SMESH_Algo
{
public:

View File

@ -26,13 +26,14 @@
// Module : SMESH
// $Header$
using namespace std;
#include "SMESH_2D_Algo.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_subMesh.hxx"
#include "utilities.h"
using namespace std;
//=============================================================================
/*!
*

View File

@ -29,10 +29,12 @@
#ifndef _SMESH_2D_ALGO_HXX_
#define _SMESH_2D_ALGO_HXX_
#include "SMESH_SMESH.hxx"
#include "SMESH_Algo.hxx"
#include <TopoDS_Wire.hxx>
class SMESH_2D_Algo:
class SMESH_EXPORT SMESH_2D_Algo:
public SMESH_Algo
{
public:

View File

@ -26,13 +26,14 @@
// Module : SMESH
// $Header$
using namespace std;
#include "SMESH_3D_Algo.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_subMesh.hxx"
#include "utilities.h"
using namespace std;
//=============================================================================
/*!
*

View File

@ -29,9 +29,11 @@
#ifndef _SMESH_3D_ALGO_HXX_
#define _SMESH_3D_ALGO_HXX_
#include "SMESH_SMESH.hxx"
#include "SMESH_Algo.hxx"
class SMESH_3D_Algo:
class SMESH_EXPORT SMESH_3D_Algo:
public SMESH_Algo
{
public:

View File

@ -26,7 +26,6 @@
// Module : SMESH
// $Header$
using namespace std;
#include "SMESH_Algo.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_Mesh.hxx"
@ -55,6 +54,8 @@ using namespace std;
#include <algorithm>
using namespace std;
//=============================================================================
/*!
*

View File

@ -29,6 +29,8 @@
#ifndef _SMESH_ALGO_HXX_
#define _SMESH_ALGO_HXX_
#include "SMESH_SMESH.hxx"
#include "SMESH_Hypothesis.hxx"
#include <TopoDS_Shape.hxx>
@ -44,7 +46,7 @@ class TopoDS_Face;
class TopoDS_Shape;
class SMESHDS_Mesh;
class SMESH_Algo:public SMESH_Hypothesis
class SMESH_EXPORT SMESH_Algo:public SMESH_Hypothesis
{
public:
SMESH_Algo(int hypId, int studyId, SMESH_Gen * gen);

View File

@ -25,6 +25,8 @@
#ifndef SMESH_Block_HeaderFile
#define SMESH_Block_HeaderFile
#include "SMESH_SMESH.hxx"
#include <Geom2d_Curve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
@ -52,7 +54,7 @@ class SMDS_MeshNode;
// parameters inside the block and vice versa
// =========================================================
class SMESH_Block: public math_FunctionSetWithDerivatives
class SMESH_EXPORT SMESH_Block: public math_FunctionSetWithDerivatives
{
public:
enum TShapeID { // ids of the block sub-shapes

View File

@ -26,10 +26,13 @@
#ifndef SMESH_DataMapOfElemPtrSequenceOfElemPtr_HeaderFile
#define SMESH_DataMapOfElemPtrSequenceOfElemPtr_HeaderFile
#include "SMESH_SMESH.hxx"
#include <SMESH_SequenceOfElemPtr.hxx>
#include <NCollection_DefineDataMap.hxx>
SMESH_EXPORT
inline Standard_Integer HashCode(SMDS_MeshElementPtr theElem,
const Standard_Integer theUpper)
{
@ -37,6 +40,7 @@ inline Standard_Integer HashCode(SMDS_MeshElementPtr theElem,
return HashCode(anElem,theUpper);
}
SMESH_EXPORT
inline Standard_Boolean IsEqual(SMDS_MeshElementPtr theOne,
SMDS_MeshElementPtr theTwo)
{

View File

@ -29,6 +29,8 @@
#ifndef _SMESH_GEN_HXX_
#define _SMESH_GEN_HXX_
#include "SMESH_SMESH.hxx"
#include "Utils_SALOME_Exception.hxx"
#include "SMESH_Hypothesis.hxx"
@ -52,7 +54,7 @@ typedef struct studyContextStruct
SMESHDS_Document * myDocument;
} StudyContextStruct;
class SMESH_Gen
class SMESH_EXPORT SMESH_Gen
{
public:
SMESH_Gen();

View File

@ -28,6 +28,8 @@
#ifndef _SMESH_Group_HeaderFile
#define _SMESH_Group_HeaderFile
#include "SMESH_SMESH.hxx"
#include <SMDSAbs_ElementType.hxx>
#include <string>
#include <TopoDS_Shape.hxx>
@ -36,7 +38,7 @@
class SMESHDS_GroupBase;
class SMESH_Mesh;
class SMESH_Group
class SMESH_EXPORT SMESH_Group
{
public:

View File

@ -29,6 +29,8 @@
#ifndef SMESH_HypoFilter_HeaderFile
#define SMESH_HypoFilter_HeaderFile
#include "SMESH_SMESH.hxx"
// ===========================
// Filter of SMESH_Hypothesis
// ===========================
@ -40,7 +42,7 @@
class SMESH_HypoFilter;
class SMESH_Hypothesis;
class SMESH_HypoPredicate {
class SMESH_EXPORT SMESH_HypoPredicate {
public:
virtual bool IsOk(const SMESH_Hypothesis* aHyp,
const TopoDS_Shape& aShape) const = 0;

View File

@ -26,13 +26,13 @@
// Module : SMESH
// $Header$
using namespace std;
using namespace std;
#include "SMESH_Hypothesis.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_subMesh.hxx"
#include "utilities.h"
using namespace std;
//=============================================================================
/*!
*

View File

@ -29,13 +29,15 @@
#ifndef _SMESH_HYPOTHESIS_HXX_
#define _SMESH_HYPOTHESIS_HXX_
#include "SMESH_SMESH.hxx"
#include "SMESHDS_Hypothesis.hxx"
class SMESH_Gen;
class TopoDS_Shape;
class SMESH_Mesh;
class SMESH_Hypothesis: public SMESHDS_Hypothesis
class SMESH_EXPORT SMESH_Hypothesis: public SMESHDS_Hypothesis
{
public:
enum Hypothesis_Status // in the order of severity

View File

@ -26,10 +26,13 @@
#ifndef SMESH_IndexedMapOfShape_HeaderFile
#define SMESH_IndexedMapOfShape_HeaderFile
#include "SMESH_SMESH.hxx"
#include <NCollection_DefineIndexedMap.hxx>
#include <TopoDS_Shape.hxx>
SMESH_EXPORT
inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
const TopoDS_Shape& S2)
{

View File

@ -29,6 +29,8 @@
#ifndef _SMESH_MESH_HXX_
#define _SMESH_MESH_HXX_
#include "SMESH_SMESH.hxx"
#include "SMESH_Hypothesis.hxx"
//#include "SMESH_subMesh.hxx"
@ -74,7 +76,7 @@ class SMESH_HypoFilter;
//typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
typedef SMESH_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
class SMESH_Mesh
class SMESH_EXPORT SMESH_Mesh
{
SMESH_Mesh();
SMESH_Mesh(const SMESH_Mesh&);

View File

@ -1969,8 +1969,8 @@ void SMESH_MeshEditor::Smooth (set<const SMDS_MeshElement*> & theElems,
// iNotSame is where prevNodes and nextNodes are different
//=======================================================================
static bool isReverse(const SMDS_MeshNode* prevNodes[],
const SMDS_MeshNode* nextNodes[],
static bool isReverse(vector<const SMDS_MeshNode*> prevNodes,
vector<const SMDS_MeshNode*> nextNodes,
const int nbNodes,
const int iNotSame)
{
@ -2005,8 +2005,12 @@ static void sweepElement(SMESHDS_Mesh* aMesh,
// Loop on elem nodes:
// find new nodes and detect same nodes indices
int nbNodes = elem->NbNodes();
list<const SMDS_MeshNode*>::const_iterator itNN[ nbNodes ];
const SMDS_MeshNode* prevNod[ nbNodes ], *nextNod[ nbNodes ];
//list<const SMDS_MeshNode*>::const_iterator itNN[ nbNodes ];
vector<list<const SMDS_MeshNode*>::const_iterator> itNN( nbNodes );
//const SMDS_MeshNode* prevNod[ nbNodes ], *nextNod[ nbNodes ];
vector<const SMDS_MeshNode*> prevNod( nbNodes );
vector<const SMDS_MeshNode*> nextNod( nbNodes );
int iNode, nbSame = 0, iNotSameNode = 0, iSameNode = 0;
for ( iNode = 0; iNode < nbNodes; iNode++ )
@ -3192,7 +3196,8 @@ int SMESH_MeshEditor::SimplifyFace (const vector<const SMDS_MeshNode *> faceNode
set<const SMDS_MeshNode*> nodeSet;
// get simple seq of nodes
const SMDS_MeshNode* simpleNodes[ nbNodes ];
//const SMDS_MeshNode* simpleNodes[ nbNodes ];
vector<const SMDS_MeshNode*> simpleNodes( nbNodes );
int iSimple = 0, nbUnique = 0;
simpleNodes[iSimple++] = faceNodes[0];
@ -3304,8 +3309,12 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
int aShapeId = FindShape( elem );
set<const SMDS_MeshNode*> nodeSet;
const SMDS_MeshNode* curNodes[ nbNodes ], *uniqueNodes[ nbNodes ];
int iUnique = 0, iCur = 0, nbRepl = 0, iRepl [ nbNodes ];
//const SMDS_MeshNode* curNodes[ nbNodes ], *uniqueNodes[ nbNodes ];
const SMDS_MeshNode** curNodes = new const SMDS_MeshNode*[ nbNodes ];
const SMDS_MeshNode** uniqueNodes = new const SMDS_MeshNode*[ nbNodes ];
int iUnique = 0, iCur = 0, nbRepl = 0;
vector<int> iRepl( nbNodes );
// get new seq of nodes
SMDS_ElemIteratorPtr itN = elem->nodesIterator();
@ -3691,13 +3700,14 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
rmElemIds.push_back( elem->GetID() );
}
delete curNodes;
delete uniqueNodes;
} // loop on elements
// Remove equal nodes and bad elements
Remove( rmNodeIds, true );
Remove( rmElemIds, false );
}
//=======================================================================
@ -3771,7 +3781,9 @@ const SMDS_MeshElement*
continue;
// get face nodes and find index of n1
int i1, nbN = elem->NbNodes(), iNode = 0;
const SMDS_MeshNode* faceNodes[ nbN ], *n;
//const SMDS_MeshNode* faceNodes[ nbN ], *n;
vector<const SMDS_MeshNode*> faceNodes( nbN );
const SMDS_MeshNode* n;
SMDS_ElemIteratorPtr nIt = elem->nodesIterator();
while ( nIt->more() ) {
faceNodes[ iNode ] = static_cast<const SMDS_MeshNode*>( nIt->next() );
@ -4105,7 +4117,8 @@ SMESH_MeshEditor::Sew_Error
const SMDS_MeshElement* elem = invElemIt->next();
// prepare data for a loop on links, of a face or a volume
int iPrevNode, iNode = 0, nbNodes = elem->NbNodes();
const SMDS_MeshNode* faceNodes[ nbNodes ];
//const SMDS_MeshNode* faceNodes[ nbNodes ];
const SMDS_MeshNode** faceNodes = new const SMDS_MeshNode*[ nbNodes ];
bool isVolume = volume.Set( elem );
const SMDS_MeshNode** nodes = isVolume ? volume.GetNodes() : faceNodes;
if ( isVolume ) // --volume
@ -4161,6 +4174,7 @@ SMESH_MeshEditor::Sew_Error
}
}
}
delete faceNodes;
} // loop on inverse elements of prevSideNode
if ( !sideNode ) {
@ -4222,7 +4236,10 @@ SMESH_MeshEditor::Sew_Error
// insert new nodes into the border and the side to get equal nb of segments
// get normalized parameters of nodes on the borders
double param[ 2 ][ maxNbNodes ];
//double param[ 2 ][ maxNbNodes ];
double* param[ 2 ];
param[0] = new double [ maxNbNodes ];
param[1] = new double [ maxNbNodes ];
int iNode, iBord;
for ( iBord = 0; iBord < 2; iBord++ ) { // loop on 2 borders
list< const SMDS_MeshNode* >& nodes = nSide[ iBord ];
@ -4383,6 +4400,8 @@ SMESH_MeshEditor::Sew_Error
}
}
delete param[0];
delete param[1];
} // end: insert new nodes
MergeNodes ( nodeGroupsToMerge );
@ -4407,7 +4426,8 @@ void SMESH_MeshEditor::InsertNodesIntoLink(const SMDS_MeshElement* theFace,
// find indices of 2 link nodes and of the rest nodes
int iNode = 0, il1, il2, i3, i4;
il1 = il2 = i3 = i4 = -1;
const SMDS_MeshNode* nodes[ theFace->NbNodes() ];
//const SMDS_MeshNode* nodes[ theFace->NbNodes() ];
vector<const SMDS_MeshNode*> nodes( theFace->NbNodes() );
SMDS_ElemIteratorPtr nodeIt = theFace->nodesIterator();
while ( nodeIt->more() ) {
const SMDS_MeshNode* n = static_cast<const SMDS_MeshNode*>( nodeIt->next() );
@ -4489,7 +4509,8 @@ void SMESH_MeshEditor::InsertNodesIntoLink(const SMDS_MeshElement* theFace,
// put aNodesToInsert between theBetweenNode1 and theBetweenNode2
int nbLinkNodes = 2 + aNodesToInsert.size();
const SMDS_MeshNode* linkNodes[ nbLinkNodes ];
//const SMDS_MeshNode* linkNodes[ nbLinkNodes ];
vector<const SMDS_MeshNode*> linkNodes( nbLinkNodes );
linkNodes[ 0 ] = nodes[ il1 ];
linkNodes[ nbLinkNodes - 1 ] = nodes[ il2 ];
list<const SMDS_MeshNode*>::iterator nIt = aNodesToInsert.begin();

View File

@ -30,6 +30,8 @@
#ifndef SMESH_MeshEditor_HeaderFile
#define SMESH_MeshEditor_HeaderFile
#include "SMESH_SMESH.hxx"
#include "SMESH_Mesh.hxx"
#include "SMESH_Controls.hxx"
#include "SMESH_SequenceOfNode.hxx"
@ -49,7 +51,7 @@ class gp_Ax1;
class gp_Vec;
class gp_Pnt;
class SMESH_MeshEditor {
class SMESH_EXPORT SMESH_MeshEditor {
public:
SMESH_MeshEditor( SMESH_Mesh* theMesh );

View File

@ -24,6 +24,8 @@
#ifndef SMESH_Pattern_HeaderFile
#define SMESH_Pattern_HeaderFile
#include "SMESH_SMESH.hxx"
#include <vector>
#include <list>
#include <map>
@ -53,7 +55,7 @@ class TopoDS_Edge;
// of 6 faces.
//
class SMESH_Pattern {
class SMESH_EXPORT SMESH_Pattern {
public:
SMESH_Pattern ();

39
src/SMESH/SMESH_SMESH.hxx Executable file
View File

@ -0,0 +1,39 @@
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// 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.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
// File : SMESH_SMESH.hxx
// Author : Alexander A. BORODIN
// Module : SMESH
#ifndef _SMESH_SMESH_HXX_
#define _SMESH_SMESH_HXX_
#ifdef WNT
#if defined SMESH_EXPORTS
#define SMESH_EXPORT __declspec( dllexport )
#else
#define SMESH_EXPORT __declspec( dllimport )
#endif
#else
#define SMESH_EXPORT
#endif
#endif

View File

@ -26,6 +26,8 @@
#ifndef SMESH_SequenceOfElemPtr_HeaderFile
#define SMESH_SequenceOfElemPtr_HeaderFile
#include "SMESH_SMESH.hxx"
#include <NCollection_DefineSequence.hxx>
//#include <Handle_SMDS_MeshElement.hxx>

View File

@ -26,6 +26,8 @@
#ifndef SMESH_SequenceOfNode_HeaderFile
#define SMESH_SequenceOfNode_HeaderFile
#include "SMESH_SMESH.hxx"
#include <NCollection_DefineSequence.hxx>
typedef const SMDS_MeshNode* SMDS_MeshNodePtr;

View File

@ -26,7 +26,6 @@
// Module : SMESH
// $Header$
using namespace std;
#include "SMESH_subMesh.hxx"
#include "SMESH_Gen.hxx"
#include "SMESH_Mesh.hxx"
@ -53,6 +52,8 @@ using namespace std;
#include <TopTools_IndexedMapOfShape.hxx>
#endif
using namespace std;
//=============================================================================
/*!
* default constructor:

View File

@ -29,6 +29,8 @@
#ifndef _SMESH_SUBMESH_HXX_
#define _SMESH_SUBMESH_HXX_
#include "SMESH_SMESH.hxx"
#include "SMESHDS_Mesh.hxx"
#include "SMESHDS_SubMesh.hxx"
#include "SMESH_Hypothesis.hxx"
@ -46,7 +48,7 @@ class SMESH_Hypothesis;
class SMESH_Algo;
class SMESH_Gen;
class SMESH_subMesh
class SMESH_EXPORT SMESH_subMesh
{
public:
SMESH_subMesh(int Id, SMESH_Mesh * father, SMESHDS_Mesh * meshDS,

View File

@ -67,7 +67,8 @@ EXPORT_HEADERS= \
SMESHDS_SubMesh.hxx \
SMESHDS_GroupBase.hxx \
SMESHDS_Group.hxx \
SMESHDS_GroupOnGeom.hxx
SMESHDS_GroupOnGeom.hxx \
SMESH_SMESHDS.hxx
# additionnal information to compil and link file
CPPFLAGS += $(OCC_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome $(BOOST_CPPFLAGS)

View File

@ -27,11 +27,13 @@
#ifndef _SMESHDS_Command_HeaderFile
#define _SMESHDS_Command_HeaderFile
#include "SMESH_SMESHDS.hxx"
#include "SMESHDS_CommandType.hxx"
#include <list>
#include <vector>
class SMESHDS_Command
class SMESHDS_EXPORT SMESHDS_Command
{
public:

Some files were not shown because too many files have changed in this diff Show More