Selection through cylinder primitive. More...
#include <MeshSelection.hpp>
Protected Member Functions | |
livector1D | extractSelection () |
void | swap (SelectionByCylinder &) noexcept |
Protected Member Functions inherited from mimmo::GenericSelection | |
void | swap (GenericSelection &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) |
Protected Member Functions inherited from mimmo::BasicShape | |
darray3E | checkNearestPointToAABBox (const darray3E &point, const darray3E &bMin, const darray3E &bMax) |
uint32_t | intersectShapePlane (int level, const darray3E &target) |
void | swap (BasicShape &) noexcept |
Detailed Description
Selection through cylinder primitive.
Selection Object managing selection of sub-patches oof a MimmoObject Data structure. Select all elements contained in a cylinder.
Ports available in SelectionByCylinder 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 GenericSelection
Port Input | ||
---|---|---|
PortType | variable/function | DataType |
M_VALUEB | setDual | (MC_SCALAR, MD_BOOL) |
M_GEOM | setGeometry | (MC_SCALAR, MD_MIMMO_) |
Port Output | ||
---|---|---|
PortType | variable/function | DataType |
M_VECTORLI | constrainedBoundary | (MC_VECTOR, MD_LONG) |
M_GEOM | getPatch | (MC_SCALAR, MD_MIMMO_) |
The xml available parameters, sections and subsections are the following :
Inherited from BaseManipulation:
- ClassName: name of the class as
mimmo.SelectionByCylinder
; - 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:
- Dual: boolean to get straight what given by selection method or its exact dual;
- Origin: array of 3 doubles identifying origin of cylinder (space separated);
- Span: span of the cylinder (base_radius angular_azimuthal_width height);
- RefSystem: reference system of the cylinder (axis2 along the cylinder's height):
<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 cylindrical coordinate. Useful to assign different starting angular coordinate to azimuthal width.
Geometry has to be mandatorily passed through port.
- Examples
- geohandlers_example_00000.cpp.
Definition at line 272 of file MeshSelection.hpp.
Constructor & Destructor Documentation
◆ SelectionByCylinder() [1/4]
mimmo::SelectionByCylinder::SelectionByCylinder | ( | ) |
Basic Constructor
Definition at line 33 of file SelectionByCylinder.cpp.
◆ SelectionByCylinder() [2/4]
mimmo::SelectionByCylinder::SelectionByCylinder | ( | const bitpit::Config::Section & | rootXML | ) |
Custom constructor reading xml data
- Parameters
-
[in] rootXML reference to your xml tree section
Definition at line 42 of file SelectionByCylinder.cpp.
◆ SelectionByCylinder() [3/4]
mimmo::SelectionByCylinder::SelectionByCylinder | ( | darray3E | origin, |
darray3E | span, | ||
double | infLimTheta, | ||
darray3E | mainAxis, | ||
mimmo::MimmoSharedPointer< MimmoObject > | target | ||
) |
Custom Constructor. Pay attention span of angular coordinate must be at most 2*pi.
- Parameters
-
[in] origin Origin of the cylinder->baricenter [in] span Span of the cylinder, basis radius/ span of angular coord in radians/height [in] infLimTheta Starting origin of the angular coordinate. default is 0 radians. [in] mainAxis Orientation of the cylinder height axis [in] target Pointer to MimmoObject target geometry
Definition at line 65 of file SelectionByCylinder.cpp.
◆ ~SelectionByCylinder()
|
virtual |
Destructor
Definition at line 78 of file SelectionByCylinder.cpp.
◆ SelectionByCylinder() [4/4]
mimmo::SelectionByCylinder::SelectionByCylinder | ( | const SelectionByCylinder & | other | ) |
Copy Constructor
Definition at line 83 of file SelectionByCylinder.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 159 of file SelectionByCylinder.cpp.
◆ buildPorts()
|
virtual |
It builds the input/output ports of the object
Reimplemented from mimmo::GenericSelection.
Definition at line 109 of file SelectionByCylinder.cpp.
◆ clear()
void mimmo::SelectionByCylinder::clear | ( | ) |
Clear content of the class
Definition at line 127 of file SelectionByCylinder.cpp.
◆ extractSelection()
|
protectedvirtual |
Extract portion of target geometry which are enough near to the external geometry provided
- Returns
- ids of cell of target tessellation extracted
Implements mimmo::GenericSelection.
Definition at line 138 of file SelectionByCylinder.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 261 of file SelectionByCylinder.cpp.
◆ operator=()
SelectionByCylinder & mimmo::SelectionByCylinder::operator= | ( | SelectionByCylinder | other | ) |
Copy operator
Definition at line 89 of file SelectionByCylinder.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 SelectionByCylinder object
Definition at line 99 of file SelectionByCylinder.cpp.
The documentation for this class was generated from the following files:
- src/geohandlers/MeshSelection.hpp
- src/geohandlers/SelectionByCylinder.cpp