iMSTK
Interactive Medical Simulation Toolkit
imstkImplicitGeometryToImageData.h
1 /*
2 ** This file is part of the Interactive Medical Simulation Toolkit (iMSTK)
3 ** iMSTK is distributed under the Apache License, Version 2.0.
4 ** See accompanying NOTICE for details.
5 */
6 
7 #pragma once
8 
9 #include "imstkGeometryAlgorithm.h"
10 #include "imstkMath.h"
11 
12 namespace imstk
13 {
14 class ImageData;
15 class ImplicitGeometry;
16 
24 {
25 public:
27  ~ImplicitGeometryToImageData() override = default;
28 
29 public:
30  std::shared_ptr<ImageData> getOutputImage() const;
31 
35  void setInputGeometry(std::shared_ptr<ImplicitGeometry> inputGeometry);
36 
37  imstkGetMacro(Dimensions, const Vec3i&);
38  imstkGetMacro(Bounds, const Vec6d&);
39 
40  imstkSetMacro(Dimensions, const Vec3i&);
41  imstkSetMacro(Bounds, const Vec6d&);
42 
43 protected:
44  void requestUpdate() override;
45 
46 private:
47  Vec3i m_Dimensions;
48  Vec6d m_Bounds;
49 };
50 } // namespace imstk
Compound Geometry.
This filter rasterizes an implicit function to image of specified dimensions and bounds.
void setInputGeometry(std::shared_ptr< ImplicitGeometry > inputGeometry)
Required input, port 0.
Abstract base class for geometry algorithms. GeometryAlgorithms take N input geometries and produce N...
void requestUpdate() override
Users can implement this for the logic to be run.