|
iMSTK
Interactive Medical Simulation Toolkit
|
Abstract base class for geometry algorithms. GeometryAlgorithms take N input geometries and produce N output geometries. Subclasses should implement requestUpdate to do algorithm logic. Subclasses may also setInputPortReq to require an input to be a certain type. More...
#include <imstkGeometryAlgorithm.h>

Public Member Functions | |
| std::shared_ptr< Geometry > | getInput (size_t port=0) const |
| Returns input geometry given port, returns nullptr if doesn't exist. | |
| std::shared_ptr< Geometry > | getOutput (size_t port=0) const |
| Returns output geometry given port, returns nullptr if doesn't exist. | |
| void | setInput (std::shared_ptr< Geometry > inputGeometry, size_t port=0) |
| Set the input at the port. | |
| void | update () |
| Do the actual algorithm. | |
Protected Types | |
| using | GeometryCheck = std::function< bool(Geometry *)> |
| using | TypeCheckContainer = std::unordered_map< size_t, GeometryCheck > |
Protected Member Functions | |
| void | setOutput (std::shared_ptr< Geometry > inputGeometry, const size_t port=0) |
| Set the output at the port. | |
| template<typename T > | |
| void | setRequiredInputType (const size_t port) |
| Declares the type for the port with the given number, also defines that the give port is required for the filter to run correctly. | |
| template<typename T > | |
| void | setOptionalInputType (const size_t port) |
| Declares the type for the port with the given number, the data for this port is optional and may be omitted. | |
| virtual void | requestUpdate ()=0 |
| Users can implement this for the logic to be run. | |
| virtual bool | areInputsValid () |
| Check inputs are correct. More... | |
| void | setNumInputPorts (const size_t numPorts) |
| Get/Set the amount of input ports. | |
| imstkGetMacro (NumInputPorts, size_t) | |
| void | setNumOutputPorts (const size_t numPorts) |
| Get/Set the amount of output ports. | |
| imstkGetMacro (NumOutputPorts, size_t) | |
Protected Attributes | |
| TypeCheckContainer | m_requiredTypeChecks |
| TypeCheckContainer | m_optionalTypeChecks |
Abstract base class for geometry algorithms. GeometryAlgorithms take N input geometries and produce N output geometries. Subclasses should implement requestUpdate to do algorithm logic. Subclasses may also setInputPortReq to require an input to be a certain type.
Definition at line 39 of file imstkGeometryAlgorithm.h.
|
protectedvirtual |
Check inputs are correct.
Reimplemented in imstk::CollisionDetectionAlgorithm, and imstk::CompoundCD.
Definition at line 63 of file imstkGeometryAlgorithm.cpp.

1.8.13