/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ /** * @file * Explicit template instantiations for `float` and `double` coordinate types. * * Explicit instantiations are used when consuming as a compiled library. * In almost all of the cases 'float' and 'double' are sufficient. * Feel free to extend this with custom data types if needed. */ #ifdef CDT_USE_AS_COMPILED_LIBRARY #include "CDT.hpp" #include "CDTUtils.hpp" #include "InitializeWithGrid.h" #include "Triangulation.hpp" #include "VerifyTopology.h" namespace CDT { template struct CDT_EXPORT V2d; template struct CDT_EXPORT V2d; template struct CDT_EXPORT Box2d; template struct CDT_EXPORT Box2d; template class CDT_EXPORT Triangulation; template class CDT_EXPORT Triangulation; template CDT_EXPORT DuplicatesInfo RemoveDuplicates(std::vector >&); template CDT_EXPORT DuplicatesInfo RemoveDuplicates(std::vector >&); template CDT_EXPORT DuplicatesInfo RemoveDuplicatesAndRemapEdges( std::vector >&, std::vector&); template CDT_EXPORT DuplicatesInfo RemoveDuplicatesAndRemapEdges( std::vector >&, std::vector&); template CDT_EXPORT bool verifyTopology(const CDT::Triangulation&); template CDT_EXPORT bool verifyTopology(const CDT::Triangulation&); template CDT_EXPORT void initializeWithRegularGrid( float, float, float, float, std::size_t, std::size_t, Triangulation&); template CDT_EXPORT void initializeWithRegularGrid( double, double, double, double, std::size_t, std::size_t, Triangulation&); template CDT_EXPORT float distance(const V2d& a, const V2d& b); template CDT_EXPORT double distance(const V2d& a, const V2d& b); template CDT_EXPORT float distanceSquared(const V2d& a, const V2d& b); template CDT_EXPORT double distanceSquared(const V2d& a, const V2d& b); } // namespace CDT #endif