/********************************************************************** * * GEOS - Geometry Engine Open Source * http://geos.osgeo.org * * 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_INTERVALRTREE_INTERVALRTREEBRANCHNODE_H #define GEOS_INDEX_INTERVALRTREE_INTERVALRTREEBRANCHNODE_H #include // inherited #include // forward declarations namespace geos { namespace index { class ItemVisitor; } } namespace geos { namespace index { namespace intervalrtree { class IntervalRTreeBranchNode : public IntervalRTreeNode { private: const IntervalRTreeNode * node1; const IntervalRTreeNode * node2; //void buildExtent( IntervalRTreeNode * n1, IntervalRTreeNode * n2) //{ // min = std::min( n1->min, n2->min); // max = std::max( n1->max, n2->max); //} protected: public: IntervalRTreeBranchNode( const IntervalRTreeNode * n1, const IntervalRTreeNode * n2) : IntervalRTreeNode( std::min( n1->getMin(), n2->getMin()), std::max( n1->getMax(), n2->getMax())), node1( n1), node2( n2) { } ~IntervalRTreeBranchNode() { delete node1; delete node2; } void query(double queryMin, double queryMax, index::ItemVisitor * visitor) const; }; } // geos::intervalrtree } // geos::index } // geos #endif // GEOS_INDEX_INTERVALRTREE_INTERVALRTREEBRANCHNODE_H