/usr/include/ossim/imaging/ossimPolyCutter.h is in libossim-dev 1.8.16-3+b1.
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 | //*******************************************************************
// Copyright (C) 2000 ImageLinks Inc.
//
// License: LGPL
//
// See LICENSE.txt file in the top level directory for more details.
//
// Author: Garrett Potts
//
//*************************************************************************
// $Id: ossimPolyCutter.h 19907 2011-08-05 19:55:46Z dburken $
#ifndef ossimPolyCutter_HEADER
#define ossimPolyCutter_HEADER
#include <ossim/imaging/ossimImageSourceFilter.h>
#include <ossim/base/ossimPolygon.h>
#include <ossim/imaging/ossimImageDataHelper.h>
#include <vector>
//class ossimPolyArea2d;
class ossimImageData;
class OSSIMDLLEXPORT ossimPolyCutter : public ossimImageSourceFilter
{
public:
enum ossimPolyCutterCutType
{
OSSIM_POLY_NULL_INSIDE = 0,
OSSIM_POLY_NULL_OUTSIDE = 1
};
ossimPolyCutter();
ossimPolyCutter(ossimImageSource* inputSource,
const ossimPolygon& polygon);
virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect,
ossim_uint32 resLevel=0);
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0)const;
virtual void initialize();
virtual bool saveState(ossimKeywordlist& kwl,
const char* prefix=0)const;
/*!
* Method to the load (recreate) the state of an object from a keyword
* list. Return true if ok or false on error.
*/
virtual bool loadState(const ossimKeywordlist& kwl,
const char* prefix=0);
virtual void setPolygon(const vector<ossimDpt>& polygon,
ossim_uint32 i = 0);
virtual void setPolygon(const vector<ossimIpt>& polygon,
ossim_uint32 i = 0);
virtual void addPolygon(const vector<ossimIpt>& polygon);
virtual void addPolygon(const vector<ossimDpt>& polygon);
virtual void addPolygon(const ossimPolygon& polygon);
virtual void setNumberOfPolygons(ossim_uint32 count);
virtual std::vector<ossimPolygon>& getPolygonList();
virtual const std::vector<ossimPolygon>& getPolygonList()const;
void setCutType(ossimPolyCutterCutType cutType);
ossimPolyCutterCutType getCutType()const;
void clear();
const ossimIrect& getRectangle() const;
void setRectangle(const ossimIrect& rect);
virtual void setProperty(ossimRefPtr<ossimProperty> property);
virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
protected:
virtual ~ossimPolyCutter();
/**
* Called on first getTile, will initialize all data needed.
*/
void allocate();
void computeBoundingRect();
ossimRefPtr<ossimImageData> theTile;
/*!
* Will hold a pre-computed bounding rect of the
* polygon data.
*/
ossimIrect theBoundingRect;
std::vector<ossimPolygon> thePolygonList;
/*!
* theDefault fill will be outside.
*/
ossimPolyCutterCutType theCutType;
ossimImageDataHelper theHelper;
bool m_boundingOverwrite;
TYPE_DATA
};
#endif /* #ifndef ossimPolyCutter_HEADER */
|