///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2025 Equinor ASA // // ResInsight is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // ResInsight 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 General Public License at // for more details. // ///////////////////////////////////////////////////////////////////////////////// #include "RiaAngleUtils.h" #include namespace Ria { // Explicit instantiation of commonly used types template class Degrees; template class Degrees; template class Radians; template class Radians; // Explicit instantiation of coordinate conversion functions template cvf::Vector3 CoordinateConverter::cylindricalToCartesian( float, const Radians&, float ); template cvf::Vector3 CoordinateConverter::cylindricalToCartesian( double, const Radians&, double ); template cvf::Vector3 CoordinateConverter::cylindricalToCartesian( float, const Degrees&, float ); template cvf::Vector3 CoordinateConverter::cylindricalToCartesian( double, const Degrees&, double ); template cvf::Vector3 CoordinateConverter::cylindricalToCartesian( const CylindricalCoordinate& ); template cvf::Vector3 CoordinateConverter::cylindricalToCartesian( const CylindricalCoordinate& ); template CylindricalCoordinate CoordinateConverter::cartesianToCylindrical( const cvf::Vector3& ); template CylindricalCoordinate CoordinateConverter::cartesianToCylindrical( const cvf::Vector3& ); template CylindricalCoordinate CoordinateConverter::cartesianToCylindrical( float, float, float ); template CylindricalCoordinate CoordinateConverter::cartesianToCylindrical( double, double, double ); // Explicit instantiation of trigonometric functions template float sin( const Degrees& ); template double sin( const Degrees& ); template float sin( const Radians& ); template double sin( const Radians& ); template float cos( const Degrees& ); template double cos( const Degrees& ); template float cos( const Radians& ); template double cos( const Radians& ); template float tan( const Degrees& ); template double tan( const Degrees& ); template float tan( const Radians& ); template double tan( const Radians& ); template Radians asin( float ); template Radians asin( double ); template Radians acos( float ); template Radians acos( double ); template Radians atan( float ); template Radians atan( double ); template Radians atan2( float, float ); template Radians atan2( double, double ); } // namespace Ria