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

Short class definition. More...

#include <octree.h>

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

Public Member Functions

Life Cycle
 OCTreePartition (IteratorType PointsBegin, IteratorType PointsEnd, PointType const &MinPoint, PointType const &MaxPoint, SizeType BucketSize=1)
 Partition constructor. More...
 
void PrintData (std::ostream &rOStream, std::string const &Perfix=std::string()) const override
 
virtual ~OCTreePartition ()
 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 OcTreeAverageSplit< Dimension, PointType, IteratorType, CoordinateTypeAverageSplit
 
typedef OcTreeMidPointSplit< Dimension, PointType, IteratorType, CoordinateTypeMidPointSplit
 
typedef LeafType::SearchStructureType SearchStructureType
 
static const SizeType number_of_childs = 1 << Dimension
 
 KRATOS_CLASS_POINTER_DEFINITION (OCTreePartition)
 Pointer definition of KDTree. More...
 

Operations

void SearchNearestPoint (PointType const &ThisPoint, PointerType &Result, CoordinateType &rResultDistance) 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, SizeType &NumberOfResults, SizeType const &MaxNumberOfResults) override
 
static TreeNodeTypeConstruct (IteratorType PointsBegin, IteratorType PointsEnd, PointType HighPoint, PointType LowPoint, SizeType BucketSize)
 

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::OCTreePartition< TLeafType >

Short class definition.

Detail class definition.

Member Typedef Documentation

◆ AverageSplit

◆ ContainerType

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

◆ CoordinateType

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

◆ DistanceFunction

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

◆ DistanceIteratorType

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

◆ IndexType

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

◆ IteratorType

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

◆ LeafType

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

◆ MidPointSplit

◆ PointerType

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

◆ PointType

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

◆ SearchStructureType

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

◆ SizeType

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

◆ TreeNodeType

Member Enumeration Documentation

◆ anonymous enum

template<class TLeafType >
anonymous enum
Enumerator
Dimension 

Constructor & Destructor Documentation

◆ OCTreePartition()

template<class TLeafType >
Kratos::OCTreePartition< TLeafType >::OCTreePartition ( IteratorType  PointsBegin,
IteratorType  PointsEnd,
PointType const &  MinPoint,
PointType const &  MaxPoint,
SizeType  BucketSize = 1 
)
inline

Partition constructor.

◆ ~OCTreePartition()

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

Destructor.

Member Function Documentation

◆ Construct()

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of KDTree.

◆ PrintData()

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

◆ SearchInRadius() [1/2]

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

◆ SearchInRadius() [2/2]

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

◆ SearchNearestPoint()

template<class TLeafType >
void Kratos::OCTreePartition< TLeafType >::SearchNearestPoint ( PointType const &  ThisPoint,
PointerType Result,
CoordinateType rResultDistance 
)
inlineoverride

Member Data Documentation

◆ number_of_childs

template<class TLeafType >
const SizeType Kratos::OCTreePartition< TLeafType >::number_of_childs = 1 << Dimension
static

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