diff --git a/ObjectTypes/HexahedralMesh/HexahedralMesh.hh b/ObjectTypes/HexahedralMesh/HexahedralMesh.hh index 3106963d67858bf1eb90d836c96966b18a107466..59aa17e0b547c3c6a7d870ce66817ec0072d814d 100644 --- a/ObjectTypes/HexahedralMesh/HexahedralMesh.hh +++ b/ObjectTypes/HexahedralMesh/HexahedralMesh.hh @@ -63,6 +63,9 @@ typedef OpenVolumeMesh::GeometryKernel HexahedralMeshObject; +extern template class VolumeMeshObject; +extern template class ACG::SceneGraph::VolumeMeshNodeT; + #include //============================================================================= diff --git a/ObjectTypes/HexahedralMesh/PluginFunctionsHexahedralMesh.cc b/ObjectTypes/HexahedralMesh/PluginFunctionsHexahedralMesh.cc index fdce9bebf658b992c5f55305b18503cf08aee2a1..d609529bebe1d31e12feb31f7b2b8d8b8c90553a 100644 --- a/ObjectTypes/HexahedralMesh/PluginFunctionsHexahedralMesh.cc +++ b/ObjectTypes/HexahedralMesh/PluginFunctionsHexahedralMesh.cc @@ -41,6 +41,7 @@ #include +#include #include diff --git a/ObjectTypes/HexahedralMesh/PolyhedralMesh.cc b/ObjectTypes/HexahedralMesh/PolyhedralMesh.cc new file mode 100644 index 0000000000000000000000000000000000000000..ada7138e49d6d95737f44e927ac4ccc6637bdd3c --- /dev/null +++ b/ObjectTypes/HexahedralMesh/PolyhedralMesh.cc @@ -0,0 +1,43 @@ +/*===========================================================================*\ +* * +* OpenFlipper * +* Copyright (C) 2001-2014 by Computer Graphics Group, RWTH Aachen * +* www.openflipper.org * +* * +*--------------------------------------------------------------------------- * +* This file is part of OpenFlipper. * +* * +* OpenFlipper 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 3 of * +* the License, or (at your option) any later version with the * +* following exceptions: * +* * +* If other files instantiate templates or use macros * +* or inline functions from this file, or you compile this file and * +* link it with other files to produce an executable, this file does * +* not by itself cause the resulting executable to be covered by the * +* GNU Lesser General Public License. This exception does not however * +* invalidate any other reasons why the executable file might be * +* covered by the GNU Lesser General Public License. * +* * +* OpenFlipper 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 LesserGeneral Public * +* License along with OpenFlipper. If not, * +* see . * +* * +\*===========================================================================*/ + + + +#include "HexahedralMesh.hh" +#include +#include +#include + +template class VolumeMeshObject; +template class ACG::SceneGraph::VolumeMeshNodeT; diff --git a/ObjectTypes/PolyhedralMesh/PluginFunctionsPolyhedralMesh.cc b/ObjectTypes/PolyhedralMesh/PluginFunctionsPolyhedralMesh.cc index 2dd951664c4006f0f67967f98b1707afc0d36a6f..2a332af5e4369830fe0df557cacdcceb52fc13a3 100644 --- a/ObjectTypes/PolyhedralMesh/PluginFunctionsPolyhedralMesh.cc +++ b/ObjectTypes/PolyhedralMesh/PluginFunctionsPolyhedralMesh.cc @@ -41,6 +41,8 @@ #include +#include + #include diff --git a/ObjectTypes/PolyhedralMesh/PolyhedralMesh.cc b/ObjectTypes/PolyhedralMesh/PolyhedralMesh.cc new file mode 100644 index 0000000000000000000000000000000000000000..22299ceec940f925321392248b8f768e262b17c3 --- /dev/null +++ b/ObjectTypes/PolyhedralMesh/PolyhedralMesh.cc @@ -0,0 +1,43 @@ +/*===========================================================================*\ +* * +* OpenFlipper * +* Copyright (C) 2001-2014 by Computer Graphics Group, RWTH Aachen * +* www.openflipper.org * +* * +*--------------------------------------------------------------------------- * +* This file is part of OpenFlipper. * +* * +* OpenFlipper 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 3 of * +* the License, or (at your option) any later version with the * +* following exceptions: * +* * +* If other files instantiate templates or use macros * +* or inline functions from this file, or you compile this file and * +* link it with other files to produce an executable, this file does * +* not by itself cause the resulting executable to be covered by the * +* GNU Lesser General Public License. This exception does not however * +* invalidate any other reasons why the executable file might be * +* covered by the GNU Lesser General Public License. * +* * +* OpenFlipper 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 LesserGeneral Public * +* License along with OpenFlipper. If not, * +* see . * +* * +\*===========================================================================*/ + + + +#include "PolyhedralMesh.hh" +#include +#include +#include + +template class VolumeMeshObject; +template class ACG::SceneGraph::VolumeMeshNodeT; diff --git a/ObjectTypes/PolyhedralMesh/PolyhedralMesh.hh b/ObjectTypes/PolyhedralMesh/PolyhedralMesh.hh index 911dd3f4ee46e84ff3083db6f627ed74078ba45b..05096250af067ac24a370491663405b1c4a34be8 100644 --- a/ObjectTypes/PolyhedralMesh/PolyhedralMesh.hh +++ b/ObjectTypes/PolyhedralMesh/PolyhedralMesh.hh @@ -62,6 +62,9 @@ typedef OpenVolumeMesh::GeometryKernel PolyhedralMeshObject; +extern template class VolumeMeshObject; +extern template class ACG::SceneGraph::VolumeMeshNodeT; + #include //============================================================================= diff --git a/ObjectTypes/TetrahedralMesh/TetrahedralMesh.cc b/ObjectTypes/TetrahedralMesh/TetrahedralMesh.cc new file mode 100644 index 0000000000000000000000000000000000000000..76a224f2e08e83884f497af5fba8a3f06b0bf3d6 --- /dev/null +++ b/ObjectTypes/TetrahedralMesh/TetrahedralMesh.cc @@ -0,0 +1,43 @@ +/*===========================================================================*\ +* * +* OpenFlipper * +* Copyright (C) 2001-2014 by Computer Graphics Group, RWTH Aachen * +* www.openflipper.org * +* * +*--------------------------------------------------------------------------- * +* This file is part of OpenFlipper. * +* * +* OpenFlipper 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 3 of * +* the License, or (at your option) any later version with the * +* following exceptions: * +* * +* If other files instantiate templates or use macros * +* or inline functions from this file, or you compile this file and * +* link it with other files to produce an executable, this file does * +* not by itself cause the resulting executable to be covered by the * +* GNU Lesser General Public License. This exception does not however * +* invalidate any other reasons why the executable file might be * +* covered by the GNU Lesser General Public License. * +* * +* OpenFlipper 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 LesserGeneral Public * +* License along with OpenFlipper. If not, * +* see . * +* * +\*===========================================================================*/ + + + +#include "TetrahedralMesh.hh" +#include +#include +#include + +template class VolumeMeshObject; +template class ACG::SceneGraph::VolumeMeshNodeT; diff --git a/ObjectTypes/TetrahedralMesh/TetrahedralMesh.hh b/ObjectTypes/TetrahedralMesh/TetrahedralMesh.hh index 6d8a7ce6a5b78dc5a75400033005837afe47938a..953d4c94c0c2466877f42c28b013bf8ed61553d2 100644 --- a/ObjectTypes/TetrahedralMesh/TetrahedralMesh.hh +++ b/ObjectTypes/TetrahedralMesh/TetrahedralMesh.hh @@ -58,6 +58,9 @@ typedef OpenVolumeMesh::TetrahedralGeometryKernel TetrahedralMeshObject; +extern template class VolumeMeshObject; +extern template class ACG::SceneGraph::VolumeMeshNodeT; + #include //============================================================================= diff --git a/ObjectTypes/VolumeMeshObject/VolumeMeshNode.hh b/ObjectTypes/VolumeMeshObject/VolumeMeshNode.hh index 343476347214ba978e277f2f45c2e96c7788b232..ceb82bde8ff8416045a9328d6b27be36360c06e1 100644 --- a/ObjectTypes/VolumeMeshObject/VolumeMeshNode.hh +++ b/ObjectTypes/VolumeMeshObject/VolumeMeshNode.hh @@ -286,10 +286,7 @@ private: } // namespace SceneGraph } // namespace ACG //============================================================================= -#if defined(INCLUDE_TEMPLATES) && !defined(VOLUMEMESHNODET_CC) -#include "VolumeMeshNodeT.cc" -#include "VolumeMeshNodeGLCompatT.cc" -#endif + //============================================================================= #endif // VOLUMEMESHNODE_HH //============================================================================= diff --git a/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh b/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh index 1e4afe87b7b200f427c71f368eff84d3d03ae7b5..5b79067c64440fa8e4dcc43e56b3f1403cbcc587 100644 --- a/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh +++ b/ObjectTypes/VolumeMeshObject/VolumeMeshObject.hh @@ -245,8 +245,4 @@ public: //============================================================================= -#if defined(INCLUDE_TEMPLATES) && !defined(VOLUMEMESHOBJECTT_CC) -#define VOLUMEMESHOBJECT_TEMPLATES -#include "VolumeMeshObjectT.cc" -#endif #endif diff --git a/Plugin-TypeHexahedralMesh/TypeHexahedralMesh.cc b/Plugin-TypeHexahedralMesh/TypeHexahedralMesh.cc index f78de66f0df7fcf0490fb9cb91babb7599424f60..6c7d02945055c386995bb1eef30e581c72c754ba 100644 --- a/Plugin-TypeHexahedralMesh/TypeHexahedralMesh.cc +++ b/Plugin-TypeHexahedralMesh/TypeHexahedralMesh.cc @@ -43,6 +43,7 @@ #include "TypeHexahedralMesh.hh" #include #include +#include #include #include diff --git a/Plugin-TypePolyhedralMesh/TypePolyhedralMesh.cc b/Plugin-TypePolyhedralMesh/TypePolyhedralMesh.cc index 3b07c99d38849569f109af773c03d634eabd0bbe..37170df41e7e29cdeff8e8d90a69122f43132e43 100644 --- a/Plugin-TypePolyhedralMesh/TypePolyhedralMesh.cc +++ b/Plugin-TypePolyhedralMesh/TypePolyhedralMesh.cc @@ -43,6 +43,7 @@ #include "TypePolyhedralMesh.hh" #include #include +#include #include #include