|
Nektar++
|
this class contains the infomration and methods for individal octants in the Octree More...
#include <Octant.h>

Public Member Functions | |
| Octant (int i, OctantSharedPtr p, Array< OneD, OctantFace > dir) | |
| Defualt constructor. More... | |
| Octant (int i, NekDouble x, NekDouble y, NekDouble z, NekDouble dx, const std::vector< CurvaturePointSharedPtr > &cplist) | |
| constructor for master octant More... | |
| void | Subdivide (OctantSharedPtr p, int &numoct) |
| Subdivide the octant. More... | |
| void | CompileLeaves (std::vector< OctantSharedPtr > &Octants) |
| Recursive method which gets a list of the leaf octants Moves down levels if octant is not a leaf. More... | |
| int | GetId () |
| Get the Id of the octant. More... | |
| Array< OneD, NekDouble > | GetLoc () |
| Get the location of the center of the octant. More... | |
| NekDouble | DX () |
| Get the octants half dimension. More... | |
| std::vector < CurvaturePointSharedPtr > | GetCPList () |
| Get the list of curvature points that are within this octant. More... | |
| int | NumCurvePoint () |
| Get the number of points in the octants cp list. More... | |
| int | NumValidCurvePoint () |
| Get the number of valid cp points in the octants list. More... | |
| void | SetDelta (NekDouble d) |
| Set the value for delta for this octant. More... | |
| NekDouble | GetDelta () |
| Get value of delta. More... | |
| void | SetChildren (Array< OneD, OctantSharedPtr > c) |
| Set the children of this octant. More... | |
| bool | IsLeaf () |
| Get whether the octant is a leaf or not. More... | |
| NekDouble | FX (OctantFace f) |
| Get the far dimension in a given direction f. More... | |
| void | RemoveNeigbour (int id, OctantFace f) |
| Remove a neigbour from this octants list. More... | |
| void | SetNeigbour (OctantSharedPtr o, OctantFace f) |
| std::map< OctantFace, std::vector< OctantSharedPtr > > | GetNeigbours () |
| Get the map of neigbours. More... | |
| bool | NeedDivide () |
| Get whether this octants needs to divide based on the curvature sampling. More... | |
| NekDouble | Distance (OctantSharedPtr o) |
| Get the distance from this octant to another. More... | |
| bool | IsDeltaKnown () |
| Get whether a value of delta has been set or not. More... | |
| void | SetLocation (OctantLocation l) |
| set the location of the octant with respect to the CAD More... | |
| CurvaturePointSharedPtr | GetCPPoint () |
| Get the first cp point in the list. More... | |
| OctantLocation | GetLocation () |
| Get the location of the octant with respect to the geometry. More... | |
| OctantSharedPtr | GetChild (int q) |
| Get a specific child of this octant. More... | |
| int | GetNumBoundary () |
Private Attributes | |
| int | m_id |
| id More... | |
| bool | m_leaf |
| leaf identifer More... | |
| OctantSharedPtr | m_parent |
| parent id More... | |
| Array< OneD, OctantSharedPtr > | m_children |
| list of child ids More... | |
| Array< OneD, NekDouble > | m_loc |
| x,y,z location of the octant More... | |
| NekDouble | m_hd |
| half dimension of the octant More... | |
| std::vector < CurvaturePointSharedPtr > | m_localCPList |
| curvature sampling point list More... | |
| int | m_numValidPoints |
| number of valid cp points More... | |
| int | m_numBoundaryPoints |
| std::pair< bool, NekDouble > | m_delta |
| mesh sizing parameter More... | |
| bool | m_needToDivide |
| idenify if division is needed More... | |
| OctantLocation | m_location |
| idenify if delta has ben set More... | |
| std::map< OctantFace, std::vector< OctantSharedPtr > > | m_neigbours |
| list of neighbours More... | |
Friends | |
| class | MemoryManager< Octant > |
this class contains the infomration and methods for individal octants in the Octree
| Nektar::NekMeshUtils::Octant::Octant | ( | int | i, |
| OctantSharedPtr | p, | ||
| Array< OneD, OctantFace > | dir | ||
| ) |
Defualt constructor.
Definition at line 63 of file Octant.cpp.
References DX(), Nektar::NekMeshUtils::eBack, Nektar::NekMeshUtils::eDown, Nektar::NekMeshUtils::eForward, Nektar::NekMeshUtils::eLeft, Nektar::NekMeshUtils::eOnBoundary, Nektar::NekMeshUtils::eRight, Nektar::NekMeshUtils::eUnknown, Nektar::NekMeshUtils::eUp, GetDelta(), GetNumBoundary(), m_delta, m_hd, m_leaf, m_loc, m_localCPList, m_location, m_needToDivide, m_neigbours, m_numBoundaryPoints, m_numValidPoints, m_parent, NumValidCurvePoint(), and SetDelta().
Referenced by Subdivide().
| Nektar::NekMeshUtils::Octant::Octant | ( | int | i, |
| NekDouble | x, | ||
| NekDouble | y, | ||
| NekDouble | z, | ||
| NekDouble | dx, | ||
| const std::vector< CurvaturePointSharedPtr > & | cplist | ||
| ) |
constructor for master octant
Definition at line 173 of file Octant.cpp.
References Nektar::NekMeshUtils::eBack, Nektar::NekMeshUtils::eDown, Nektar::NekMeshUtils::eForward, Nektar::NekMeshUtils::eLeft, Nektar::NekMeshUtils::eOnBoundary, Nektar::NekMeshUtils::eRight, Nektar::NekMeshUtils::eUp, m_delta, m_leaf, m_loc, m_localCPList, m_location, m_needToDivide, m_neigbours, and m_numValidPoints.
|
inline |
Recursive method which gets a list of the leaf octants Moves down levels if octant is not a leaf.
Definition at line 110 of file Octant.h.
References IsLeaf(), and m_children.
|
inline |
Get the distance from this octant to another.
Definition at line 266 of file Octant.h.
References m_loc.
|
inline |
Get the octants half dimension.
Definition at line 142 of file Octant.h.
References m_hd.
Referenced by Octant().
|
inline |
Get the far dimension in a given direction f.
Definition at line 211 of file Octant.h.
References Nektar::NekMeshUtils::eBack, Nektar::NekMeshUtils::eDown, Nektar::NekMeshUtils::eForward, Nektar::NekMeshUtils::eLeft, Nektar::NekMeshUtils::eRight, Nektar::NekMeshUtils::eUp, m_hd, and m_loc.
|
inline |
Get a specific child of this octant.
Definition at line 311 of file Octant.h.
References m_children.
|
inline |
Get the list of curvature points that are within this octant.
Definition at line 150 of file Octant.h.
References m_localCPList.
|
inline |
Get the first cp point in the list.
Definition at line 293 of file Octant.h.
References ASSERTL0, and m_localCPList.
|
inline |
|
inline |
Get the Id of the octant.
Definition at line 126 of file Octant.h.
References m_id.
Referenced by RemoveNeigbour(), and Subdivide().
Get the location of the center of the octant.
Definition at line 134 of file Octant.h.
References m_loc.
|
inline |
Get the location of the octant with respect to the geometry.
Definition at line 303 of file Octant.h.
References m_location.
|
inline |
Get the map of neigbours.
Definition at line 249 of file Octant.h.
References m_neigbours.
|
inline |
|
inline |
Get whether a value of delta has been set or not.
Definition at line 277 of file Octant.h.
References m_delta.
|
inline |
Get whether the octant is a leaf or not.
Definition at line 203 of file Octant.h.
References m_leaf.
Referenced by CompileLeaves().
|
inline |
Get whether this octants needs to divide based on the curvature sampling.
Definition at line 258 of file Octant.h.
References m_needToDivide.
|
inline |
Get the number of points in the octants cp list.
Definition at line 158 of file Octant.h.
References m_localCPList.
|
inline |
Get the number of valid cp points in the octants list.
Definition at line 166 of file Octant.h.
References m_numValidPoints.
Referenced by Octant().
| void Nektar::NekMeshUtils::Octant::RemoveNeigbour | ( | int | id, |
| OctantFace | f | ||
| ) |
Remove a neigbour from this octants list.
Definition at line 494 of file Octant.cpp.
References GetId(), and m_neigbours.
|
inline |
Set the children of this octant.
Definition at line 195 of file Octant.h.
References m_children.
Referenced by Subdivide().
Set the value for delta for this octant.
Definition at line 174 of file Octant.h.
References m_delta.
Referenced by Octant().
|
inline |
set the location of the octant with respect to the CAD
Definition at line 285 of file Octant.h.
References m_location.
|
inline |
Definition at line 241 of file Octant.h.
References m_neigbours.
| void Nektar::NekMeshUtils::Octant::Subdivide | ( | OctantSharedPtr | p, |
| int & | numoct | ||
| ) |
Subdivide the octant.
Definition at line 212 of file Octant.cpp.
References ASSERTL0, Nektar::NekMeshUtils::eBack, Nektar::NekMeshUtils::eDown, Nektar::NekMeshUtils::eForward, Nektar::NekMeshUtils::eLeft, Nektar::NekMeshUtils::eRight, Nektar::NekMeshUtils::eUp, GetId(), Nektar::NekMeshUtils::GetReverseFace(), m_leaf, m_neigbours, Octant(), and SetChildren().
|
friend |
|
private |
list of child ids
Definition at line 329 of file Octant.h.
Referenced by CompileLeaves(), GetChild(), and SetChildren().
|
private |
mesh sizing parameter
Definition at line 340 of file Octant.h.
Referenced by GetDelta(), IsDeltaKnown(), Octant(), and SetDelta().
|
private |
|
private |
|
private |
leaf identifer
Definition at line 325 of file Octant.h.
Referenced by IsLeaf(), Octant(), and Subdivide().
|
private |
curvature sampling point list
Definition at line 335 of file Octant.h.
Referenced by GetCPList(), GetCPPoint(), NumCurvePoint(), and Octant().
|
private |
idenify if delta has ben set
Definition at line 344 of file Octant.h.
Referenced by GetLocation(), Octant(), and SetLocation().
|
private |
idenify if division is needed
Definition at line 342 of file Octant.h.
Referenced by NeedDivide(), and Octant().
|
private |
list of neighbours
Definition at line 346 of file Octant.h.
Referenced by GetNeigbours(), Octant(), RemoveNeigbour(), SetNeigbour(), and Subdivide().
|
private |
Definition at line 338 of file Octant.h.
Referenced by GetNumBoundary(), and Octant().
|
private |
number of valid cp points
Definition at line 337 of file Octant.h.
Referenced by NumValidCurvePoint(), and Octant().
|
private |
1.8.8