/usr/include/OTB-6.4/otbGeoInterface.h is in libotb-dev 6.4.0+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | /*
* Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)
*
* This file is part of Orfeo Toolbox
*
* https://www.orfeo-toolbox.org/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef otb_GeoInterface_h
#define otb_GeoInterface_h
#include <itkFloatTypes.h>
#include <itkPoint.h>
#include "OTBIceExport.h"
namespace otb
{
class ImageKeywordlist;
/**
* @class This class is the abstract interface for actors which need
* geo-referenced methods.
*
* Use multiple inheritance to provide geo-referenced interface to
* specialized actors.
*
* Example: Derive otb::GlMyActor : public otb::GlActor, public
* otb::GeoInterface {};
*
* By default, single-prevision methods are implemented as conversion
* method from otb::GeoInterface::Point2f to
* otb::GeoInterface::Point2d. Derived otb::GlActor classes must
* implement double-prevision methods.
*/
class OTBIce_EXPORT GeoInterface
{
public:
/**
*/
typedef itk::Point< itk::SpacePrecisionType, 2 > Point2;
/**
* Double precision point-type.
*/
typedef itk::Point< double, 2 > Point2d;
/**
* Spacing-type based on ITK floating-point prevision.
*/
typedef itk::Vector< itk::SpacePrecisionType, 2 > Spacing2;
/**
* Transform given point from viewport coordinate-system to this
* actor coordinate-system.
*
* By default this method return false. It should be implemented in
* derived classes if needed.
*
* @param out The transformed point (in this actor coordinate-system).
* @param in The given point (in viewport coordinate-system).
* @param isPhysical Indicate physical coordates are desired.
*
* @return true if the operation has succeeded; false otherwise.
*/
virtual bool TransformFromViewport( Point2d & out,
const Point2d & in,
bool isPhysical = true ) const;
/**
* Transform given point from viewport coordinate-system to this
* actor coordinate-system.
*
* By default this method return false. It should be implemented in
* derived classes if needed.
*
* @param out The transformed point (in this actor coordinate-system).
* @param in The given point (in viewport coordinate-system).
* @param isPhysical Indicate physical coordates are desired.
*
* @return true if the operation has succeeded; false otherwise.
*/
virtual bool TransformToViewport( Point2d & out,
const Point2d & in,
bool isPhysical = true ) const;
/**
*/
virtual const Spacing2 & GetSpacing() const;
/**
*/
virtual std::string GetWkt() const;
/**
*/
virtual bool HasKwl() const;
/**
*/
virtual bool GetKwl( ImageKeywordlist & ) const;
protected:
GeoInterface();
virtual ~GeoInterface();
private:
}; // End class GeoInterface
} // End namespace otb
#endif // otb_GeoInterface_h
|