/usr/include/geos/index/strtree/AbstractNode.h is in libgeos-dev 3.2.2-3ubuntu1.
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 | /**********************************************************************
* $Id: AbstractNode.h 2724 2009-11-19 18:52:45Z strk $
*
* GEOS - Geometry Engine Open Source
* http://geos.refractions.net
*
* Copyright (C) 2006 Refractions Research Inc.
*
* This is free software; you can redistribute and/or modify it under
* the terms of the GNU Lesser General Public Licence as published
* by the Free Software Foundation.
* See the COPYING file for more information.
*
**********************************************************************/
#ifndef GEOS_INDEX_STRTREE_ABSTRACTNODE_H
#define GEOS_INDEX_STRTREE_ABSTRACTNODE_H
#include <geos/export.h>
#include <geos/index/strtree/Boundable.h> // for inheritance
#include <vector>
namespace geos {
namespace index { // geos::index
namespace strtree { // geos::index::strtree
/** \brief
* A node of the STR tree.
*
* The children of this node are either more nodes
* (AbstractNodes) or real data (ItemBoundables).
*
* If this node contains real data (rather than nodes),
* then we say that this node is a "leaf node".
*
*/
class GEOS_DLL AbstractNode: public Boundable {
private:
std::vector<Boundable*> childBoundables;
int level;
public:
AbstractNode(int newLevel, int capacity=10);
virtual ~AbstractNode();
// TODO: change signature to return by ref,
// document ownership of the return
inline std::vector<Boundable*>* getChildBoundables() {
return &childBoundables;
}
// TODO: change signature to return by ref,
// document ownership of the return
inline const std::vector<Boundable*>* getChildBoundables() const {
return &childBoundables;
}
/**
* Returns a representation of space that encloses this Boundable,
* preferably not much bigger than this Boundable's boundary yet fast to
* test for intersection with the bounds of other Boundables.
* The class of object returned depends on the subclass of
* AbstractSTRtree.
*
* @return an Envelope (for STRtrees), an Interval (for SIRtrees),
* or other object (for other subclasses of AbstractSTRtree)
*
* @see AbstractSTRtree::IntersectsOp
*/
const void* getBounds() const;
int getLevel();
void addChildBoundable(Boundable *childBoundable);
protected:
virtual void* computeBounds() const=0;
mutable void* bounds;
};
} // namespace geos::index::strtree
} // namespace geos::index
} // namespace geos
#endif // GEOS_INDEX_STRTREE_ABSTRACTNODE_H
/**********************************************************************
* $Log$
* Revision 1.1 2006/03/21 10:47:34 strk
* indexStrtree.h split
*
**********************************************************************/
|