...
 
Commits (5)
......@@ -44,6 +44,7 @@
#define STATUS_HH_
#include <iosfwd>
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
......@@ -52,7 +53,7 @@ namespace OpenVolumeMesh {
* \brief Stores statuses like selected, tagged, deleted, etc.
*/
class OpenVolumeMeshStatus {
class OVMDLLEXPORT OpenVolumeMeshStatus {
public:
// Default constructor
......
......@@ -49,12 +49,14 @@
#include "OpenVolumeMeshStatus.hh"
#include "../Core/PropertyDefines.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
// Forward declaration
class TopologyKernel;
class StatusAttrib {
class OVMDLLEXPORT StatusAttrib {
public:
explicit StatusAttrib(TopologyKernel& _kernel);
~StatusAttrib();
......
......@@ -46,10 +46,11 @@
#include <vector>
#include "OpenVolumeMeshHandle.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
class OpenVolumeMeshEdge {
class OVMDLLEXPORT OpenVolumeMeshEdge {
friend class TopologyKernel;
public:
OpenVolumeMeshEdge(const VertexHandle& _fromVertex,
......@@ -87,7 +88,7 @@ std::ostream& operator<<(std::ostream& _os, const OpenVolumeMeshEdge& _edge);
//***************************************************************************
class OpenVolumeMeshFace {
class OVMDLLEXPORT OpenVolumeMeshFace {
friend class TopologyKernel;
public:
explicit OpenVolumeMeshFace(const std::vector<HalfEdgeHandle>& _halfedges) :
......@@ -116,7 +117,7 @@ std::ostream& operator<<(std::ostream& _os, const OpenVolumeMeshFace& _face);
//***************************************************************************
class OpenVolumeMeshCell {
class OVMDLLEXPORT OpenVolumeMeshCell {
friend class TopologyKernel;
public:
explicit OpenVolumeMeshCell(const std::vector<HalfFaceHandle>& _halffaces) :
......
......@@ -45,13 +45,14 @@
#include <string>
#include "OpenVolumeMesh/System/Defines.hh"
#include "OpenVolumeMeshHandle.hh"
namespace OpenVolumeMesh {
class ResourceManager;
class BaseProperty {
class OVMDLLEXPORT BaseProperty {
public:
friend class ResourceManager;
......
......@@ -47,6 +47,7 @@
#include <set>
#include <vector>
#include "OpenVolumeMesh/System/Defines.hh"
#include "OpenVolumeMeshHandle.hh"
namespace OpenVolumeMesh {
......@@ -238,7 +239,7 @@ protected:
//===========================================================================
class VertexOHalfEdgeIter :
class OVMDLLEXPORT VertexOHalfEdgeIter :
public BaseCirculator<
VertexHandle,
HalfEdgeHandle> {
......@@ -301,7 +302,7 @@ private:
//===========================================================================
class VertexVertexIter :
class OVMDLLEXPORT VertexVertexIter :
public BaseCirculator<
VertexHandle,
VertexHandle> {
......@@ -362,7 +363,7 @@ private:
//===========================================================================
class HalfEdgeHalfFaceIter : public BaseCirculator<
class OVMDLLEXPORT HalfEdgeHalfFaceIter : public BaseCirculator<
HalfEdgeHandle,
HalfFaceHandle> {
public:
......@@ -420,7 +421,7 @@ private:
//===========================================================================
class VertexFaceIter : public BaseCirculator<
class OVMDLLEXPORT VertexFaceIter : public BaseCirculator<
VertexHandle,
FaceHandle> {
public:
......@@ -478,7 +479,7 @@ private:
//===========================================================================
class VertexCellIter : public BaseCirculator<
class OVMDLLEXPORT VertexCellIter : public BaseCirculator<
VertexHandle,
CellHandle> {
public:
......@@ -534,7 +535,7 @@ private:
size_t cur_index_;
};
class HalfEdgeCellIter : public BaseCirculator<
class OVMDLLEXPORT HalfEdgeCellIter : public BaseCirculator<
HalfEdgeHandle,
CellHandle> {
public:
......@@ -596,7 +597,7 @@ private:
//===========================================================================
class CellVertexIter : public BaseCirculator<
class OVMDLLEXPORT CellVertexIter : public BaseCirculator<
CellHandle,
VertexHandle> {
public:
......@@ -654,7 +655,7 @@ private:
//===========================================================================
class CellCellIter : public BaseCirculator<
class OVMDLLEXPORT CellCellIter : public BaseCirculator<
CellHandle,
CellHandle> {
public:
......@@ -712,7 +713,7 @@ private:
//===========================================================================
class HalfFaceVertexIter : public BaseCirculator<
class OVMDLLEXPORT HalfFaceVertexIter : public BaseCirculator<
HalfFaceHandle,
VertexHandle> {
public:
......@@ -770,7 +771,7 @@ private:
//===========================================================================
class BoundaryHalfFaceHalfFaceIter : public BaseCirculator<HalfFaceHandle,
class OVMDLLEXPORT BoundaryHalfFaceHalfFaceIter : public BaseCirculator<HalfFaceHandle,
HalfFaceHandle> {
private:
typedef BaseCirculator<HalfFaceHandle,
......@@ -830,7 +831,7 @@ private:
//===========================================================================
class VertexIter : public BaseIterator<VertexHandle> {
class OVMDLLEXPORT VertexIter : public BaseIterator<VertexHandle> {
public:
typedef BaseIterator<VertexHandle> BaseIter;
......@@ -884,7 +885,7 @@ private:
//===========================================================================
class EdgeIter : public BaseIterator<EdgeHandle> {
class OVMDLLEXPORT EdgeIter : public BaseIterator<EdgeHandle> {
public:
typedef BaseIterator<EdgeHandle> BaseIter;
......@@ -938,7 +939,7 @@ private:
//===========================================================================
class HalfEdgeIter : public BaseIterator<HalfEdgeHandle> {
class OVMDLLEXPORT HalfEdgeIter : public BaseIterator<HalfEdgeHandle> {
public:
typedef BaseIterator<HalfEdgeHandle> BaseIter;
......@@ -992,7 +993,7 @@ private:
//===========================================================================
class FaceIter : public BaseIterator<FaceHandle> {
class OVMDLLEXPORT FaceIter : public BaseIterator<FaceHandle> {
public:
typedef BaseIterator<FaceHandle> BaseIter;
......@@ -1046,7 +1047,7 @@ private:
//===========================================================================
class HalfFaceIter : public BaseIterator<HalfFaceHandle> {
class OVMDLLEXPORT HalfFaceIter : public BaseIterator<HalfFaceHandle> {
public:
typedef BaseIterator<HalfFaceHandle> BaseIter;
......@@ -1100,7 +1101,7 @@ private:
//===========================================================================
class CellIter : public BaseIterator<CellHandle> {
class OVMDLLEXPORT CellIter : public BaseIterator<CellHandle> {
public:
typedef BaseIterator<CellHandle> BaseIter;
......@@ -1154,7 +1155,7 @@ private:
//===========================================================================
class BoundaryFaceIter : public BaseIterator<FaceHandle> {
class OVMDLLEXPORT BoundaryFaceIter : public BaseIterator<FaceHandle> {
public:
typedef BaseIterator<FaceHandle> BaseIter;
......
......@@ -49,6 +49,7 @@
#include <vector>
#include "OpenVolumeMeshHandle.hh"
#include "OpenVolumeMesh/System/Defines.hh"
//== CLASS DEFINITION =========================================================
......@@ -60,7 +61,7 @@
namespace OpenVolumeMesh {
class OpenVolumeMeshBaseProperty {
class OVMDLLEXPORT OpenVolumeMeshBaseProperty {
public:
friend class ResourceManager;
......
......@@ -47,7 +47,8 @@
#include <iosfwd>
#include <vector>
#include "../System/FunctionalInclude.hh"
#include "OpenVolumeMesh/System/FunctionalInclude.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
......@@ -160,17 +161,17 @@ private:
CellHandle thld_;
};
bool operator==(const int& _lhs, const OpenVolumeMeshHandle& _rhs);
OVMDLLEXPORT bool operator==(const int& _lhs, const OpenVolumeMeshHandle& _rhs);
bool operator==(const unsigned int& _lhs, const OpenVolumeMeshHandle& _rhs);
OVMDLLEXPORT bool operator==(const unsigned int& _lhs, const OpenVolumeMeshHandle& _rhs);
bool operator!=(const int& _lhs, const OpenVolumeMeshHandle& _rhs);
OVMDLLEXPORT bool operator!=(const int& _lhs, const OpenVolumeMeshHandle& _rhs);
bool operator!=(const unsigned int& _lhs, const OpenVolumeMeshHandle& _rhs);
OVMDLLEXPORT bool operator!=(const unsigned int& _lhs, const OpenVolumeMeshHandle& _rhs);
std::ostream& operator<<(std::ostream& _ostr, const OpenVolumeMeshHandle& _handle);
OVMDLLEXPORT std::ostream& operator<<(std::ostream& _ostr, const OpenVolumeMeshHandle& _handle);
std::istream& operator>>(std::istream& _istr, OpenVolumeMeshHandle& _handle);
OVMDLLEXPORT std::istream& operator>>(std::istream& _istr, OpenVolumeMeshHandle& _handle);
} // Namespace OpenVolumeMesh
......
......@@ -50,7 +50,7 @@
#include "PropertyHandles.hh"
#include "PropertyPtr.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
template <class T>
......@@ -61,18 +61,18 @@ class ResourceManager;
template <class T>
const std::string typeName();
template <> const std::string typeName<int>();
template <> const std::string typeName<unsigned int>();
template <> const std::string typeName<short>();
template <> const std::string typeName<long>();
template <> const std::string typeName<unsigned long>();
template <> const std::string typeName<char>();
template <> const std::string typeName<unsigned char>();
template <> const std::string typeName<bool>();
template <> const std::string typeName<float>();
template <> const std::string typeName<double>();
template <> const std::string typeName<std::string>();
template <> const std::string typeName<std::map<HalfEdgeHandle, int> >();
template <> OVMDLLEXPORT const std::string typeName<int>();
template <> OVMDLLEXPORT const std::string typeName<unsigned int>();
template <> OVMDLLEXPORT const std::string typeName<short>();
template <> OVMDLLEXPORT const std::string typeName<long>();
template <> OVMDLLEXPORT const std::string typeName<unsigned long>();
template <> OVMDLLEXPORT const std::string typeName<char>();
template <> OVMDLLEXPORT const std::string typeName<unsigned char>();
template <> OVMDLLEXPORT const std::string typeName<bool>();
template <> OVMDLLEXPORT const std::string typeName<float>();
template <> OVMDLLEXPORT const std::string typeName<double>();
template <> OVMDLLEXPORT const std::string typeName<std::string>();
template <> OVMDLLEXPORT const std::string typeName<std::map<HalfEdgeHandle, int> >();
/// Property classes for the different entity types
template<class T>
......
......@@ -49,6 +49,7 @@
#include <string>
#include <vector>
#include "OpenVolumeMesh/System/Defines.hh"
#include "OpenVolumeMeshProperty.hh"
#include "PropertyHandles.hh"
......@@ -73,7 +74,7 @@ class MeshPropertyT;
template <class PropT, class HandleT>
class PropertyPtr;
class ResourceManager {
class OVMDLLEXPORT ResourceManager {
public:
ResourceManager();
virtual ~ResourceManager();
......
......@@ -53,18 +53,20 @@
#include <iterator>
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh
{
template <typename ValueT>
std::ostream& serialize(std::ostream& os, const ValueT& rhs);
std::ostream& serialize(std::ostream& os, const std::string& rhs);
OVMDLLEXPORT std::ostream& serialize(std::ostream& os, const std::string& rhs);
template <typename ValueT>
std::istream& deserialize(std::istream& is, ValueT& rhs);
std::istream& deserialize(std::istream& is, std::string& rhs);
OVMDLLEXPORT std::istream& deserialize(std::istream& is, std::string& rhs);
template <typename KeyT, typename ValueT>
std::ostream& operator<<(std::ostream& os, const std::map< KeyT, ValueT >& rhs);
......@@ -78,7 +80,7 @@ std::ostream& operator<<(std::ostream& os, const std::vector< ValueT >& rhs);
template <typename ValueT>
std::istream& operator>>(std::istream& is, std::vector< ValueT >& rhs);
std::istream& operator>>(std::istream& is, std::vector< bool >& rhs);
OVMDLLEXPORT std::istream& operator>>(std::istream& is, std::vector< bool >& rhs);
}
......
......@@ -51,10 +51,11 @@
#include "OpenVolumeMeshHandle.hh"
#include "ResourceManager.hh"
#include "Iterators.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
class TopologyKernel : public ResourceManager {
class OVMDLLEXPORT TopologyKernel : public ResourceManager {
public:
TopologyKernel();
......
......@@ -46,6 +46,8 @@
#include <string>
#include <fstream>
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
namespace IO {
......@@ -57,7 +59,7 @@ namespace IO {
* \todo Implement binary file support
*/
class FileManager {
class OVMDLLEXPORT FileManager {
public:
/// Default constructor
......
......@@ -53,6 +53,7 @@
#include <istream>
#include <cassert>
#include <cstdlib>
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
......@@ -826,20 +827,20 @@ using namespace Geometry;
template <class T>
const std::string typeName();
template <> const std::string typeName<Vec2f>();
template <> const std::string typeName<Vec2d>();
template <> const std::string typeName<Vec2i>();
template <> const std::string typeName<Vec2ui>();
template <> OVMDLLEXPORT const std::string typeName<Vec2f>();
template <> OVMDLLEXPORT const std::string typeName<Vec2d>();
template <> OVMDLLEXPORT const std::string typeName<Vec2i>();
template <> OVMDLLEXPORT const std::string typeName<Vec2ui>();
template <> const std::string typeName<Vec3f>();
template <> const std::string typeName<Vec3d>();
template <> const std::string typeName<Vec3i>();
template <> const std::string typeName<Vec3ui>();
template <> OVMDLLEXPORT const std::string typeName<Vec3f>();
template <> OVMDLLEXPORT const std::string typeName<Vec3d>();
template <> OVMDLLEXPORT const std::string typeName<Vec3i>();
template <> OVMDLLEXPORT const std::string typeName<Vec3ui>();
template <> const std::string typeName<Vec4f>();
template <> const std::string typeName<Vec4d>();
template <> const std::string typeName<Vec4i>();
template <> const std::string typeName<Vec4ui>();
template <> OVMDLLEXPORT const std::string typeName<Vec4f>();
template <> OVMDLLEXPORT const std::string typeName<Vec4d>();
template <> OVMDLLEXPORT const std::string typeName<Vec4i>();
template <> OVMDLLEXPORT const std::string typeName<Vec4ui>();
} // namespace OpenVolumeMesh
......
......@@ -45,12 +45,14 @@
#include "../Core/Iterators.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
class HexahedralMeshTopologyKernel;
class CellSheetCellIter : public BaseCirculator<CellHandle, CellHandle> {
class OVMDLLEXPORT CellSheetCellIter : public BaseCirculator<CellHandle, CellHandle> {
private:
typedef BaseCirculator<CellHandle, CellHandle> BaseIter;
public:
......@@ -104,7 +106,7 @@ private:
};
class HalfFaceSheetHalfFaceIter : public BaseCirculator<HalfFaceHandle,HalfFaceHandle> {
class OVMDLLEXPORT HalfFaceSheetHalfFaceIter : public BaseCirculator<HalfFaceHandle,HalfFaceHandle> {
private:
typedef BaseCirculator<HalfFaceHandle, HalfFaceHandle> BaseIter;
public:
......@@ -174,7 +176,7 @@ private:
* 0-------1
*/
class HexVertexIter : public BaseCirculator<CellHandle,
class OVMDLLEXPORT HexVertexIter : public BaseCirculator<CellHandle,
VertexHandle> {
private:
typedef BaseCirculator<CellHandle,
......
......@@ -50,6 +50,7 @@
#include "../Core/TopologyKernel.hh"
#include "HexahedralMeshIterators.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
......@@ -83,7 +84,7 @@ namespace OpenVolumeMesh {
* \li \c 6. ZB
*/
class HexahedralMeshTopologyKernel : public TopologyKernel {
class OVMDLLEXPORT HexahedralMeshTopologyKernel : public TopologyKernel {
public:
// Orientation constants
......
......@@ -50,6 +50,7 @@
#include "../Core/TopologyKernel.hh"
#include "TetrahedralMeshIterators.hh"
#include "OpenVolumeMesh/System/Defines.hh"
namespace OpenVolumeMesh {
......@@ -60,7 +61,7 @@ namespace OpenVolumeMesh {
*
*/
class TetrahedralMeshTopologyKernel : public TopologyKernel {
class OVMDLLEXPORT TetrahedralMeshTopologyKernel : public TopologyKernel {
public:
// Constructor
......
......@@ -58,8 +58,8 @@
#define OVMDLLEXPORTONLY
#endif
#else
#define OVMDLLEXPORT
#define OVMDLLEXPORTONLY
#define OVMDLLEXPORT __attribute__((visibility("default")))
#define OVMDLLEXPORTONLY OVMDLLEXPORT
#endif
#endif
......