7 #include "imstkVisualModel.h" 8 #include "imstkRenderMaterial.h" 9 #include "imstkGeometry.h" 10 #include "imstkPointSet.h" 11 #include "imstkSurfaceMesh.h" 12 #include "imstkImageData.h" 13 #include "imstkLogger.h" 17 VisualModel::VisualModel(
const std::string& name) : Component(name),
20 m_renderMaterial(
std::make_shared<RenderMaterial>()),
29 if (m_delegateHint !=
"")
31 return m_delegateHint;
35 if (m_geometry ==
nullptr)
43 if (std::dynamic_pointer_cast<PointSet>(m_geometry) !=
nullptr)
49 LOG(WARNING) <<
"Requested DisplayMode::Fluid but <" << m_geometry->getTypeName()
50 <<
"> cannot be converted to PointSet using default render delegate.";
54 if (getRenderMaterial()->getDisplayMode() == RenderMaterial::DisplayMode::SurfaceNormals)
56 if (std::dynamic_pointer_cast<SurfaceMesh>(m_geometry) !=
nullptr)
58 return "SurfaceNormals";
62 LOG(WARNING) <<
"Requested DisplayMode::SurfaceNormals but <" << m_geometry->getTypeName()
63 <<
"> cannot be converted to SurfaceMesh using default render delegate.";
67 if (getRenderMaterial()->getDisplayMode() == RenderMaterial::DisplayMode::Points)
69 if (std::dynamic_pointer_cast<PointSet>(m_geometry) !=
nullptr)
75 LOG(WARNING) <<
"Requested DisplayMode::Points but <" << m_geometry->getTypeName()
76 <<
"> cannot be converted to PointSet using default render delegate.";
80 return m_geometry->getTypeName();
86 m_renderMaterial = renderMaterial;
91 VisualModel::setIsVisible(
const bool visible)
100 if (m_renderDelegateCreated.count(ren) == 0)
102 m_renderDelegateCreated[ren] =
false;
107 return m_renderDelegateCreated[ren];
const std::string getDelegateHint() const
Get/Set the delegate hint, which helps indicate how to render this VisualModel.
Renders a set of points using a screen-space fluid renderer.
Rendering window manager and contains user API to configure the rendering with various backends...
bool m_isVisible
true if mesh is shown, false if mesh is hidden
void setRenderMaterial(std::shared_ptr< RenderMaterial > renderMaterial)
Set/Get render material.
bool getRenderDelegateCreated(Renderer *ren)
Get/Set whether the delegate has been created.