KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::KDTreePartitionMidPointSplit< TLeafType > Class Template Reference

#include <kd_tree.h>

Inheritance diagram for Kratos::KDTreePartitionMidPointSplit< TLeafType >:
Collaboration diagram for Kratos::KDTreePartitionMidPointSplit< TLeafType >:

Public Member Functions

Life Cycle
 KDTreePartitionMidPointSplit (IndexType CutingDimension, CoordinateType Position, CoordinateType LeftEnd, CoordinateType RightEnd, TreeNodeType *pLeftChild=NULL, TreeNodeType *pRightChild=NULL)
 Partition constructor. More...
 
virtual ~KDTreePartitionMidPointSplit ()
 Destructor. More...
 
- Public Member Functions inherited from Kratos::KDTreePartitionBase< TLeafType >
 KDTreePartitionBase (IndexType CutingDimension, CoordinateType Position, CoordinateType LeftEnd, CoordinateType RightEnd, TreeNodeType *pLeftChild=NULL, TreeNodeType *pRightChild=NULL)
 Partition constructor. More...
 
void PrintData (std::ostream &rOStream, std::string const &Perfix=std::string()) const override
 
virtual ~KDTreePartitionBase ()
 Destructor. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (KDTreePartitionBase)
 Pointer definition of KDTree. More...
 
void SearchNearestPoint (PointType const &rThisPoint, PointerType &rResult, CoordinateType &rResultDistance) override
 
void SearchNearestPoint (PointType const &rThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Auxiliar) override
 
void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
 
void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar) override
 
void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
 
void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar) override
 
void SearchInBox (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
 
- Public Member Functions inherited from Kratos::TreeNode< TLeafType::Dimension, TLeafType::PointType, TLeafType::PointerType, TLeafType::IteratorType, TLeafType::DistanceIteratorType >
 KRATOS_CLASS_POINTER_DEFINITION (TreeNode)
 Pointer definition of TreeNode. More...
 
 TreeNode ()
 
virtual ~TreeNode ()
 
virtual void SearchNearestPoint (PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance)
 
virtual void SearchNearestPoint (PointType const &ThisPoint, PointerType &rResult, CoordinateType &rResultDistance, SearchStructureType &Auxiliar)
 
virtual void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults)
 
virtual void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, DistanceIteratorType &ResultsDistances, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar)
 
virtual void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults)
 
virtual void SearchInRadius (PointType const &ThisPoint, CoordinateType const &Radius, CoordinateType const &Radius2, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults, SearchStructureType &Auxiliar)
 
virtual void SearchInBox (PointType const &SearchMinPoint, PointType const &SearchMaxPoint, IteratorType &Results, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults)
 

Static Public Member Functions

Operations
static IteratorType Partition (IteratorType PointsBegin, IteratorType PointsEnd, PointType const &HighPoint, PointType const &LowPoint, IndexType &rCuttingDimension, CoordinateType &rCuttingValue)
 
static SizeType MaxSpread (IteratorType PointsBegin, IteratorType PointsEnd, PointType const &HighPoint, PointType const &LowPoint, CoordinateType &CuttingValue)
 
static IteratorType Split (IteratorType PointsBegin, IteratorType PointsEnd, IndexType &CuttingDimension, CoordinateType &rCuttingValue)
 
static TreeNodeTypeConstruct (IteratorType PointsBegin, IteratorType PointsEnd, PointType HighPoint, PointType LowPoint, SizeType BucketSize)
 
- Static Public Member Functions inherited from Kratos::TreeNode< TLeafType::Dimension, TLeafType::PointType, TLeafType::PointerType, TLeafType::IteratorType, TLeafType::DistanceIteratorType >
static IteratorTypeNullIterator ()
 
static PointerTypeNullPointer ()
 
static TreeNodeNullLeaf ()
 

Type Definitions

enum  { Dimension = LeafType::Dimension }
 
typedef KDTreePartitionBase< TLeafType > BaseType
 
typedef TLeafType LeafType
 
typedef LeafType::PointType PointType
 
typedef LeafType::ContainerType ContainerType
 
typedef LeafType::IteratorType IteratorType
 
typedef LeafType::DistanceIteratorType DistanceIteratorType
 
typedef LeafType::PointerType PointerType
 
typedef LeafType::DistanceFunction DistanceFunction
 
typedef TreeNode< Dimension, PointType, PointerType, IteratorType, DistanceIteratorTypeTreeNodeType
 
typedef TreeNodeType::CoordinateType CoordinateType
 
typedef TreeNodeType::SizeType SizeType
 
typedef TreeNodeType::IndexType IndexType
 
typedef LeafType::SearchStructureType SearchStructureType
 
 KRATOS_CLASS_POINTER_DEFINITION (KDTreePartitionMidPointSplit)
 Pointer definition of KDTree. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::KDTreePartitionBase< TLeafType >
enum  { Dimension = LeafType::Dimension }
 
typedef TLeafType LeafType
 
typedef LeafType::PointType PointType
 
typedef LeafType::ContainerType ContainerType
 
typedef LeafType::IteratorType IteratorType
 
typedef LeafType::DistanceIteratorType DistanceIteratorType
 
typedef LeafType::PointerType PointerType
 
typedef LeafType::DistanceFunction DistanceFunction
 
typedef TreeNode< Dimension, PointType, PointerType, IteratorType, DistanceIteratorTypeTreeNodeType
 
typedef TreeNodeType::CoordinateType CoordinateType
 
typedef TreeNodeType::SizeType SizeType
 
typedef TreeNodeType::IndexType IndexType
 
typedef LeafType::SearchStructureType SearchStructureType
 
- Public Types inherited from Kratos::TreeNode< TLeafType::Dimension, TLeafType::PointType, TLeafType::PointerType, TLeafType::IteratorType, TLeafType::DistanceIteratorType >
using SizeType = std::size_t
 Define SizeType as std::size_t. More...
 
using IndexType = std::size_t
 Define IndexType as std::size_t. More...
 
using CoordinateType = double
 Define CoordinateType as double. More...
 
using PointType = TLeafType::PointType
 Define PointType as TPointType. More...
 
using PointerType = TLeafType::PointerType
 Define PointerType as TPointerType. More...
 
using IteratorType = TLeafType::IteratorType
 Define IteratorType as TIteratorType. More...
 
using DistanceIteratorType = TLeafType::DistanceIteratorType
 Define DistanceIteratorType as TDistanceIteratorType. More...
 
using TreeNodeType = TreeNode< TDimension, TLeafType::PointType, TLeafType::PointerType, TLeafType::IteratorType, TLeafType::DistanceIteratorType >
 Define TreeNodeType as a TreeNode type with the given template arguments. More...
 
using IteratorIteratorType = typename std::vector< IteratorType >::iterator
 Define IteratorIteratorType as an iterator type for a vector of IteratorType. More...
 
using SearchStructureType = SearchStructure< IndexType, SizeType, CoordinateType, TLeafType::IteratorType, IteratorIteratorType, TDimension >
 Define SearchStructureType as a SearchStructure type with the given template arguments. More...
 

Member Typedef Documentation

◆ BaseType

template<class TLeafType >
typedef KDTreePartitionBase<TLeafType> Kratos::KDTreePartitionMidPointSplit< TLeafType >::BaseType

◆ ContainerType

template<class TLeafType >
typedef LeafType::ContainerType Kratos::KDTreePartitionMidPointSplit< TLeafType >::ContainerType

◆ CoordinateType

template<class TLeafType >
typedef TreeNodeType::CoordinateType Kratos::KDTreePartitionMidPointSplit< TLeafType >::CoordinateType

◆ DistanceFunction

template<class TLeafType >
typedef LeafType::DistanceFunction Kratos::KDTreePartitionMidPointSplit< TLeafType >::DistanceFunction

◆ DistanceIteratorType

template<class TLeafType >
typedef LeafType::DistanceIteratorType Kratos::KDTreePartitionMidPointSplit< TLeafType >::DistanceIteratorType

◆ IndexType

template<class TLeafType >
typedef TreeNodeType::IndexType Kratos::KDTreePartitionMidPointSplit< TLeafType >::IndexType

◆ IteratorType

template<class TLeafType >
typedef LeafType::IteratorType Kratos::KDTreePartitionMidPointSplit< TLeafType >::IteratorType

◆ LeafType

template<class TLeafType >
typedef TLeafType Kratos::KDTreePartitionMidPointSplit< TLeafType >::LeafType

◆ PointerType

template<class TLeafType >
typedef LeafType::PointerType Kratos::KDTreePartitionMidPointSplit< TLeafType >::PointerType

◆ PointType

template<class TLeafType >
typedef LeafType::PointType Kratos::KDTreePartitionMidPointSplit< TLeafType >::PointType

◆ SearchStructureType

template<class TLeafType >
typedef LeafType::SearchStructureType Kratos::KDTreePartitionMidPointSplit< TLeafType >::SearchStructureType

◆ SizeType

template<class TLeafType >
typedef TreeNodeType::SizeType Kratos::KDTreePartitionMidPointSplit< TLeafType >::SizeType

◆ TreeNodeType

Member Enumeration Documentation

◆ anonymous enum

template<class TLeafType >
anonymous enum
Enumerator
Dimension 

Constructor & Destructor Documentation

◆ KDTreePartitionMidPointSplit()

template<class TLeafType >
Kratos::KDTreePartitionMidPointSplit< TLeafType >::KDTreePartitionMidPointSplit ( IndexType  CutingDimension,
CoordinateType  Position,
CoordinateType  LeftEnd,
CoordinateType  RightEnd,
TreeNodeType pLeftChild = NULL,
TreeNodeType pRightChild = NULL 
)
inline

Partition constructor.

◆ ~KDTreePartitionMidPointSplit()

template<class TLeafType >
virtual Kratos::KDTreePartitionMidPointSplit< TLeafType >::~KDTreePartitionMidPointSplit ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ Construct()

template<class TLeafType >
static TreeNodeType* Kratos::KDTreePartitionMidPointSplit< TLeafType >::Construct ( IteratorType  PointsBegin,
IteratorType  PointsEnd,
PointType  HighPoint,
PointType  LowPoint,
SizeType  BucketSize 
)
inlinestatic

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TLeafType >
Kratos::KDTreePartitionMidPointSplit< TLeafType >::KRATOS_CLASS_POINTER_DEFINITION ( KDTreePartitionMidPointSplit< TLeafType >  )

Pointer definition of KDTree.

◆ MaxSpread()

template<class TLeafType >
static SizeType Kratos::KDTreePartitionMidPointSplit< TLeafType >::MaxSpread ( IteratorType  PointsBegin,
IteratorType  PointsEnd,
PointType const &  HighPoint,
PointType const &  LowPoint,
CoordinateType CuttingValue 
)
inlinestatic

◆ Partition()

template<class TLeafType >
static IteratorType Kratos::KDTreePartitionMidPointSplit< TLeafType >::Partition ( IteratorType  PointsBegin,
IteratorType  PointsEnd,
PointType const &  HighPoint,
PointType const &  LowPoint,
IndexType rCuttingDimension,
CoordinateType rCuttingValue 
)
inlinestatic

◆ Split()

template<class TLeafType >
static IteratorType Kratos::KDTreePartitionMidPointSplit< TLeafType >::Split ( IteratorType  PointsBegin,
IteratorType  PointsEnd,
IndexType CuttingDimension,
CoordinateType rCuttingValue 
)
inlinestatic

The documentation for this class was generated from the following file: