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::KDTreePartitionBase< TLeafType > Class Template Reference

Short class definition. More...

#include <kd_tree.h>

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

Public Member Functions

Life Cycle
 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...
 
- 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)
 

Type Definitions

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
 
 KRATOS_CLASS_POINTER_DEFINITION (KDTreePartitionBase)
 Pointer definition of KDTree. More...
 

Operations

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
 

Additional Inherited Members

- 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...
 
- Static Public Member Functions inherited from Kratos::TreeNode< TLeafType::Dimension, TLeafType::PointType, TLeafType::PointerType, TLeafType::IteratorType, TLeafType::DistanceIteratorType >
static IteratorTypeNullIterator ()
 
static PointerTypeNullPointer ()
 
static TreeNodeNullLeaf ()
 

Detailed Description

template<class TLeafType>
class Kratos::KDTreePartitionBase< TLeafType >

Short class definition.

Detail class definition.

Member Typedef Documentation

◆ ContainerType

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

◆ CoordinateType

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

◆ DistanceFunction

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

◆ DistanceIteratorType

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

◆ IndexType

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

◆ IteratorType

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

◆ LeafType

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

◆ PointerType

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

◆ PointType

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

◆ SearchStructureType

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

◆ SizeType

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

◆ TreeNodeType

Member Enumeration Documentation

◆ anonymous enum

template<class TLeafType >
anonymous enum
Enumerator
Dimension 

Constructor & Destructor Documentation

◆ KDTreePartitionBase()

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

Partition constructor.

◆ ~KDTreePartitionBase()

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

Destructor.

Member Function Documentation

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of KDTree.

◆ PrintData()

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::PrintData ( std::ostream &  rOStream,
std::string const &  Perfix = std::string() 
) const
inlineoverridevirtual

◆ SearchInBox()

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::SearchInBox ( PointType const &  SearchMinPoint,
PointType const &  SearchMaxPoint,
IteratorType Results,
SizeType NumberOfResults,
SizeType const &  MaxNumberOfResults 
)
inlineoverride

◆ SearchInRadius() [1/4]

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::SearchInRadius ( PointType const &  ThisPoint,
CoordinateType const &  Radius,
CoordinateType const &  Radius2,
IteratorType Results,
DistanceIteratorType ResultsDistances,
SizeType NumberOfResults,
SizeType const &  MaxNumberOfResults 
)
inlineoverride

◆ SearchInRadius() [2/4]

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::SearchInRadius ( PointType const &  ThisPoint,
CoordinateType const &  Radius,
CoordinateType const &  Radius2,
IteratorType Results,
DistanceIteratorType ResultsDistances,
SizeType NumberOfResults,
SizeType const &  MaxNumberOfResults,
SearchStructureType Auxiliar 
)
inlineoverride

◆ SearchInRadius() [3/4]

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::SearchInRadius ( PointType const &  ThisPoint,
CoordinateType const &  Radius,
CoordinateType const &  Radius2,
IteratorType Results,
SizeType NumberOfResults,
SizeType const &  MaxNumberOfResults 
)
inlineoverride

◆ SearchInRadius() [4/4]

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::SearchInRadius ( PointType const &  ThisPoint,
CoordinateType const &  Radius,
CoordinateType const &  Radius2,
IteratorType Results,
SizeType NumberOfResults,
SizeType const &  MaxNumberOfResults,
SearchStructureType Auxiliar 
)
inlineoverride

◆ SearchNearestPoint() [1/2]

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::SearchNearestPoint ( PointType const &  rThisPoint,
PointerType rResult,
CoordinateType rResultDistance 
)
inlineoverride

◆ SearchNearestPoint() [2/2]

template<class TLeafType >
void Kratos::KDTreePartitionBase< TLeafType >::SearchNearestPoint ( PointType const &  rThisPoint,
PointerType rResult,
CoordinateType rResultDistance,
SearchStructureType Auxiliar 
)
inlineoverride

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