// Class : Gestion des tutaux en T (like castles in scotland)
-// Copyright (C) 2009-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2009-2024 CEA, EDF
//
// 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
#ifndef __CROSS_ELEMENTS_H
#define __CROSS_ELEMENTS_H
+#include "Hex_defines.hxx"
#include "HexElements.hxx"
BEGIN_NAMESPACE_HEXA
enum { Cyl1=CylSmall, Cyl2=CylBig };
enum { NO_CYL=-1, NO_PIPE=0, IS_HERE=1 };
-class CrossElements : public Elements
+class HEXABLOCKENGINE_EXPORT CrossElements : public Elements
{
public:
- virtual int countHexa () { return nbr_hexas ; }
- virtual int countQuad () { return nbr_quads ; }
- virtual int countEdge () { return nbr_edges ; }
- virtual int countVertex () { return nbr_vertex ; }
-
-public:
- CrossElements (Document* doc, EnumGrid type=GR_BICYL);
-
- virtual ~CrossElements () {}
+ CrossElements (Document* doc, EnumGrid type);
Hexa* getHexaIJK (int part, int nx, int ny, int nz);
Quad* getQuadIJ (int part, int nx, int ny, int nz);
Edge* getEdgeK (int part, int nx, int ny, int nz);
Vertex* getVertexIJK (int part, int nx, int ny, int nz);
+#ifndef SWIG
+public :
+ virtual ~CrossElements () {}
// Tutaux en T (like castles in scotland)
int crossCylinders (Cylinder* cyl1, Cylinder* cyl2, bool fill=true);
void dump ();
void dumpVertex ();
void dumpHexas ();
+ virtual int countHexa () { return nbr_hexas ; }
+ virtual int countQuad () { return nbr_quads ; }
+ virtual int countEdge () { return nbr_edges ; }
+ virtual int countVertex () { return nbr_vertex ; }
+
private :
void resize ();
bool at_right, at_left;
int cyl_right, cyl_left;
NewShape* grid_geom;
+#endif // SWIG
};
END_NAMESPACE_HEXA
#endif