Executable block class capable of projecting an elemental segment on a 3D surface mesh defined by a MimmoObject. More...
#include <ProjSegmentOnSurface.hpp>
Protected Member Functions | |
void | projection () |
void | swap (ProjSegmentOnSurface &x) noexcept |
Protected Member Functions inherited from mimmo::ProjPrimitivesOnSurfaces | |
virtual void | buildPorts () |
void | swap (ProjPrimitivesOnSurfaces &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) |
Additional Inherited Members | |
Public Types inherited from mimmo::BaseManipulation | |
typedef std::unordered_map< BaseManipulation *, int > | bmumap |
typedef pin::ConnectionType | ConnectionType |
typedef std::string | PortID |
Protected Attributes inherited from mimmo::ProjPrimitivesOnSurfaces | |
bool | m_buildKdTree |
bool | m_buildSkdTree |
int | m_nC |
MimmoSharedPointer< MimmoObject > | m_patch |
int | m_topo |
Protected Attributes inherited from mimmo::BaseManipulation | |
bool | m_active |
bool | m_apply |
bool | m_arePortsBuilt |
bmumap | m_child |
int | m_counter |
bool | m_execPlot |
MimmoSharedPointer< MimmoObject > | m_geometry |
bitpit::Logger * | m_log |
std::string | m_name |
std::string | m_outputPlot |
bmumap | m_parent |
std::unordered_map< PortID, PortIn * > | m_portIn |
std::unordered_map< PortID, PortOut * > | m_portOut |
ConnectionType | m_portsType |
uint | m_priority |
Static Protected Attributes inherited from mimmo::BaseManipulation | |
static int | sm_baseManipulationCounter |
Detailed Description
Executable block class capable of projecting an elemental segment on a 3D surface mesh defined by a MimmoObject.
ProjSegmentOnSurface project a given segment on a given 3D surface mesh and return a discrete 3D curve mesh in MimmoObject container
Ports available in ProjSegmentOnSurface Class :
Port Input | ||
---|---|---|
PortType | variable/function | DataType |
Port Output | ||
---|---|---|
PortType | variable/function | DataType |
Inheriting ports from base class ProjPrimitivesOnSurfaces:
Port Input | ||
---|---|---|
PortType | variable/function | DataType |
M_GEOM | setGeometry | (MC_SCALAR, MD_MIMMO_) |
Port Output | ||
---|---|---|
PortType | variable/function | DataType |
M_GEOM | getProjectedElement | (MC_SCALAR, MD_MIMMO_) |
The xml available parameters, sections and subsections are the following :
Inherited from BaseManipulation:
- ClassName : name of the class as
mimmo.ProjSegmentOnSurface
; - 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
- Segment : pass extremal points of the segmentSegmentPoints (6 coordinates, space separated);
- nCells : number of discrete cells of projected 3D curve;
- SkdTree : evaluate skdTree true 1/false 0;
- KdTree : evaluate kdTree true 1/false 0;
Geometry has to be mandatorily passed through port.
Definition at line 99 of file ProjSegmentOnSurface.hpp.
Constructor & Destructor Documentation
◆ ProjSegmentOnSurface() [1/3]
mimmo::ProjSegmentOnSurface::ProjSegmentOnSurface | ( | ) |
Default constructor
Definition at line 45 of file ProjSegmentOnSurface.cpp.
◆ ProjSegmentOnSurface() [2/3]
mimmo::ProjSegmentOnSurface::ProjSegmentOnSurface | ( | const bitpit::Config::Section & | rootXML | ) |
Custom constructor reading xml data
- Parameters
-
[in] rootXML reference to your xml tree section
Definition at line 56 of file ProjSegmentOnSurface.cpp.
◆ ~ProjSegmentOnSurface()
|
virtual |
Default destructor
Definition at line 76 of file ProjSegmentOnSurface.cpp.
◆ ProjSegmentOnSurface() [3/3]
mimmo::ProjSegmentOnSurface::ProjSegmentOnSurface | ( | const ProjSegmentOnSurface & | other | ) |
Copy constructor. No resulting projected patch is copied
Definition at line 83 of file ProjSegmentOnSurface.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 147 of file ProjSegmentOnSurface.cpp.
◆ clear()
void mimmo::ProjSegmentOnSurface::clear | ( | ) |
Clear all elements on your current class
Definition at line 111 of file ProjSegmentOnSurface.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 212 of file ProjSegmentOnSurface.cpp.
◆ operator=()
ProjSegmentOnSurface & mimmo::ProjSegmentOnSurface::operator= | ( | ProjSegmentOnSurface | other | ) |
Assignement operator. No resulting projected patch is copied
Definition at line 91 of file ProjSegmentOnSurface.cpp.
◆ projection()
|
protectedvirtual |
Core engine for projection.
Implements mimmo::ProjPrimitivesOnSurfaces.
Definition at line 245 of file ProjSegmentOnSurface.cpp.
◆ setSegment() [1/2]
Set the primitive segment, by passing an extremal point, a direction vector and the segment length
- Parameters
-
[in] origin extremal point [in] dir segment direction [in] length lenght of te segment
Definition at line 138 of file ProjSegmentOnSurface.cpp.
◆ setSegment() [2/2]
Set the primitive segment, by passing its extremal points
- Parameters
-
[in] pointA first extremal point [in] pointB second extremal point
Definition at line 123 of file ProjSegmentOnSurface.cpp.
◆ swap()
|
protectednoexcept |
Swap function.
- Parameters
-
[in] x object to be swapped
Definition at line 100 of file ProjSegmentOnSurface.cpp.
The documentation for this class was generated from the following files:
- src/utils/ProjSegmentOnSurface.hpp
- src/utils/ProjSegmentOnSurface.cpp