FVGenericSelection class specialized for selections with volume spherical primitive shapes. More...
#include <FVMeshSelection.hpp>
Protected Member Functions | |
void | buildPorts () |
void | swap (FVSelectionBySphere &) noexcept |
Protected Member Functions inherited from mimmo::FVGenericSelection | |
bool | checkCoherenceBulkBoundary () |
void | cleanUpBoundaryPatch () |
MimmoSharedPointer< MimmoObject > | createInternalBoundaryPatch () |
virtual void | plotOptionalResults () |
void | swap (FVGenericSelection &x) noexcept |
Protected Member Functions inherited from mimmo::BaseManipulation | |
void | _apply (MimmoPiercedVector< darray3E > &displacements) |
void | addChild (BaseManipulation *child) |
void | addParent (BaseManipulation *parent) |
void | addPinIn (BaseManipulation *objIn, PortID portR) |
void | addPinOut (BaseManipulation *objOut, PortID portS, PortID portR) |
virtual void | apply () |
void | cleanBufferIn (PortID port) |
template<typename T , typename O > | |
bool | createPortIn (O *obj, void(O::*setVar_)(T), PortID portR, bool mandatory=false, int family=0) |
template<typename T , typename O > | |
bool | createPortIn (T *var_, PortID portR, bool mandatory=false, int family=0) |
template<typename T , typename O > | |
bool | createPortOut (O *obj, T(O::*getVar_)(), PortID portS) |
template<typename T , typename O > | |
bool | createPortOut (T *var_, PortID portS) |
void | deletePorts () |
PortID | findPinIn (PortIn &pin) |
PortID | findPinOut (PortOut &pin) |
void | initializeLogger (bool logexists) |
void | readBufferIn (PortID port) |
void | removePinIn (BaseManipulation *objIn, PortID portR) |
void | removePinIn (PortID portR, int j) |
void | removePinOut (BaseManipulation *objOut, PortID portS) |
void | removePinOut (PortID portS, int j) |
void | setBufferIn (PortID port, mimmo::IBinaryStream &input) |
void | swap (BaseManipulation &x) noexcept |
void | unsetChild (BaseManipulation *child) |
void | unsetParent (BaseManipulation *parent) |
void | write (MimmoSharedPointer< MimmoObject > geometry) |
template<typename mpv_t > | |
void | write (MimmoSharedPointer< MimmoObject > geometry, MimmoPiercedVector< mpv_t > &data) |
template<typename mpv_t , typename... Args> | |
void | write (MimmoSharedPointer< MimmoObject > geometry, MimmoPiercedVector< mpv_t > &data, Args ... args) |
template<typename mpv_t > | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t > * > &data) |
template<typename mpv_t , typename... Args> | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t > * > &data, Args ... args) |
template<typename mpv_t > | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t >> &data) |
template<typename mpv_t , typename... Args> | |
void | write (MimmoSharedPointer< MimmoObject > geometry, std::vector< MimmoPiercedVector< mpv_t >> &data, Args ... args) |
Detailed Description
FVGenericSelection class specialized for selections with volume spherical primitive shapes.
Use SelectionBySphere internally to extract bulk+boundary sub-patches.
Ports available in FVSelectionBySphere Class :
Port Input | ||
---|---|---|
PortType | variable/function | DataType |
M_POINT | setOrigin | (MC_ARRAY3, MD_FLOAT) |
M_AXES | setRefSystem | (MC_ARR3ARR3, MD_FLOAT) |
M_SPAN | setSpan | (MC_ARRAY3, MD_FLOAT) |
M_INFLIMITS | setInfLimits | (MC_ARRAY3, MD_FLOAT) |
Port Output | ||
---|---|---|
PortType | variable/function | DataType |
Inherited from FVGenericSelection
Port Input | ||
---|---|---|
PortType | variable/function | DataType |
M_VALUEB | setDual | (MC_SCALAR, MD_BOOL) |
M_GEOM | setGeometry | (MC_SCALAR, MD_MIMMO_) |
M_GEOM2 | setBoundary | (MC_SCALAR, MD_MIMMO_) |
Port Output | ||
---|---|---|
PortType | variable/function | DataType |
M_GEOM | getVolumePatch | (MC_SCALAR, MD_MIMMO_) |
M_GEOM2 | getBoundaryPatch | (MC_SCALAR, MD_MIMMO_) |
M_GEOM3 | getInternalBoundaryPatch | (MC_SCALAR, MD_MIMMO_) |
The xml available parameters, sections and subsections are the following :
Inherited from BaseManipulation:
- ClassName: name of the class as
mimmo.FVSelectionBySphere
; - Priority: uint marking priority in multi-chain execution;
- PlotInExecution: boolean 0/1 print optional results of the class;
- OutputPlot: target directory for optional results writing.
Proper of the class:
- Topology : 1 for volume mesh+surface boundary, 2 for surface mesh + 3Dcurve boundary. No other value allowed.
- Dual: boolean to get straight what given by selection method or its exact dual;
- Origin: array of 3 doubles identifying origin of sphere (space separated);
- Span: span of the sphere (radius angular_azimuthal_width angular_polar_width);
- RefSystem: reference system of the box:
<RefSystem>
<axis0> 1.0 0.0 0.0 </axis0>
<axis1> 0.0 1.0 0.0 </axis1>
<axis2> 0.0 0.0 1.0 </axis2>
</RefSystem>
- InfLimits: set starting point for each spherical coordinate. Useful to assign different starting angular coordinate to azimuthal width/ polar width.
Geometry has to be mandatorily passed through port.
Definition at line 386 of file FVMeshSelection.hpp.
Constructor & Destructor Documentation
◆ FVSelectionBySphere() [1/4]
mimmo::FVSelectionBySphere::FVSelectionBySphere | ( | int | topo = 1 | ) |
Basic Constructor. Parameter topo get topology of the target MimmoFvMesh where performing extraction:
- 1 for volume bulk and surface boundary
- 2 for surface bulk and 3DCurve boundary
No other values are allowed
- Parameters
-
[in] topo topology of the target MimmoFvMesh.
Definition at line 38 of file FVSelectionBySphere.cpp.
◆ FVSelectionBySphere() [2/4]
mimmo::FVSelectionBySphere::FVSelectionBySphere | ( | const bitpit::Config::Section & | rootXML | ) |
Custom constructor reading xml data
- Parameters
-
[in] rootXML reference to your xml tree section
Definition at line 47 of file FVSelectionBySphere.cpp.
◆ FVSelectionBySphere() [3/4]
mimmo::FVSelectionBySphere::FVSelectionBySphere | ( | int | topo, |
darray3E | origin, | ||
darray3E | span, | ||
double | infLimTheta, | ||
double | infLimPhi | ||
) |
Custom Constructor. Pay attention span of angular and polar coords are at most 2*pi and pi respectively. Inf limits of polar coordinate must be > 0 and < pi.
- Parameters
-
[in] topo topology of the target MimmoFvMesh.See Basic Constructor doxy. [in] origin Origin of the sphere->baricenter [in] span Span of the cylinder, main radius/ span of angular coord in radians/span of the polar coord in radians [in] infLimTheta Starting origin of the angular coordinate. default is 0 radians. [in] infLimPhi Starting origin of the polar coordinate. default is 0 radians.
Definition at line 80 of file FVSelectionBySphere.cpp.
◆ ~FVSelectionBySphere()
|
virtual |
Destructor
Definition at line 95 of file FVSelectionBySphere.cpp.
◆ FVSelectionBySphere() [4/4]
mimmo::FVSelectionBySphere::FVSelectionBySphere | ( | const FVSelectionBySphere & | other | ) |
Copy Constructor
Definition at line 100 of file FVSelectionBySphere.cpp.
Member Function Documentation
◆ absorbSectionXML()
|
virtual |
It sets infos reading from a XML bitpit::Config::section.
- Parameters
-
[in] slotXML bitpit::Config::Section of XML file [in] name name associated to the slot
Reimplemented from mimmo::BaseManipulation.
Definition at line 180 of file FVSelectionBySphere.cpp.
◆ buildPorts()
|
protectedvirtual |
It builds the input/output ports of the object
Reimplemented from mimmo::FVGenericSelection.
Definition at line 124 of file FVSelectionBySphere.cpp.
◆ flushSectionXML()
|
virtual |
It sets infos from class members in a XML bitpit::Config::section.
- Parameters
-
[in] slotXML bitpit::Config::Section of XML file [in] name name associated to the slot
Reimplemented from mimmo::BaseManipulation.
Definition at line 295 of file FVSelectionBySphere.cpp.
◆ operator=()
FVSelectionBySphere & mimmo::FVSelectionBySphere::operator= | ( | FVSelectionBySphere | other | ) |
Copy operator
Definition at line 105 of file FVSelectionBySphere.cpp.
◆ setInfLimits()
void mimmo::FVSelectionBySphere::setInfLimits | ( | darray3E | val | ) |
Set inferior limits of sphere, useful to alter starting azimuthal (0,2*pi) and polar coordinates (0,pi) of sphere (position 1 and 2 in the array, for example {{0, pi/3, pi/2}}).
- Parameters
-
[in] val lower value origin for all three coordinates
Definition at line 169 of file FVSelectionBySphere.cpp.
◆ setOrigin()
void mimmo::FVSelectionBySphere::setOrigin | ( | darray3E | origin | ) |
Set origin of the sphere. .
- Parameters
-
[in] origin new origin point
Definition at line 142 of file FVSelectionBySphere.cpp.
◆ setRefSystem()
void mimmo::FVSelectionBySphere::setRefSystem | ( | dmatrix33E | axes | ) |
Set new axis orientation of the local reference system
- Parameters
-
[in] axes
Definition at line 160 of file FVSelectionBySphere.cpp.
◆ setSpan()
void mimmo::FVSelectionBySphere::setSpan | ( | darray3E | span | ) |
Set span of the cylinder according to its local reference system of axes Azimuthal and polar span [1 and 2 positions] are expressed in radians
- Parameters
-
[in] span
Definition at line 151 of file FVSelectionBySphere.cpp.
◆ swap()
|
protectednoexcept |
Swap function. Assign data of this class to another of the same type and vice-versa. Resulting patch of selection is not swapped, ever.
- Parameters
-
[in] x FVSelectionBySphere object
Definition at line 115 of file FVSelectionBySphere.cpp.
The documentation for this class was generated from the following files:
- src/geohandlers/FVMeshSelection.hpp
- src/geohandlers/FVSelectionBySphere.cpp