Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
iMSTK
iMSTK
Commits
1d819fa6
Commit
1d819fa6
authored
Apr 19, 2016
by
Alexis Girault
Browse files
BUG: add asserts in Renderer constructor
Check that visual geometry exists and that a delegate has be created.
parent
5d975f59
Changes
2
Hide whitespace changes
Inline
Side-by-side
Base/Rendering/RenderDelegate/imstkRenderDelegate.cpp
View file @
1d819fa6
...
...
@@ -26,6 +26,9 @@
#include "imstkPlane.h"
#include "imstkSphere.h"
#include "imstkCube.h"
#include "imstkSurfaceMesh.h"
#include "imstkVolumetricMesh.h"
#include "imstkCube.h"
#include "imstkPlaneRenderDelegate.h"
#include "imstkSphereRenderDelegate.h"
#include "imstkCubeRenderDelegate.h"
...
...
@@ -43,32 +46,36 @@ RenderDelegate::make_delegate(std::shared_ptr<Geometry>geom)
{
auto
plane
=
std
::
dynamic_pointer_cast
<
Plane
>
(
geom
);
return
std
::
make_shared
<
PlaneRenderDelegate
>
(
plane
);
break
;
}
case
GeometryType
::
Sphere
:
{
auto
sphere
=
std
::
dynamic_pointer_cast
<
Sphere
>
(
geom
);
return
std
::
make_shared
<
SphereRenderDelegate
>
(
sphere
);
break
;
}
case
GeometryType
::
Cube
:
{
auto
cube
=
std
::
dynamic_pointer_cast
<
Cube
>
(
geom
);
return
std
::
make_shared
<
CubeRenderDelegate
>
(
cube
);
break
;
}
case
GeometryType
::
SurfaceMesh
:
{
auto
surface
=
std
::
dynamic_pointer_cast
<
SurfaceMesh
>
(
geom
);
LOG
(
WARNING
)
<<
"RenderDelegate::make_delegate error: SurfaceMeshRenderDelegate not implemented yet."
;
return
nullptr
;
//return std::make_shared<SurfaceMeshRenderDelegate>(surface);
}
case
GeometryType
::
TetrahedralMesh
:
case
GeometryType
::
HexahedralMesh
:
{
auto
mesh
=
std
::
dynamic_pointer_cast
<
VolumetricMesh
>
(
geom
);
LOG
(
WARNING
)
<<
"RenderDelegate::make_delegate error: VolumetricMeshRenderDelegate not implemented yet."
;
return
nullptr
;
//return std::make_shared<VolumetricMeshRenderDelegate>(mesh);
}
default:
{
LOG
(
WARNING
)
<<
"
Unknown g
eometry type."
;
LOG
(
WARNING
)
<<
"
RenderDelegate::make_delegate error: G
eometry type
incorrect
."
;
return
nullptr
;
break
;
}
}
}
...
...
Base/Rendering/imstkRenderer.cpp
View file @
1d819fa6
...
...
@@ -38,7 +38,21 @@ Renderer::Renderer(std::shared_ptr<Scene> scene)
for
(
const
auto
&
obj
:
scene
->
getSceneObjects
()
)
{
auto
geom
=
obj
->
getVisualGeometry
();
if
(
geom
==
nullptr
)
{
LOG
(
WARNING
)
<<
"Renderer::Renderer error: Could not retrieve visual geometry for '"
<<
obj
->
getName
()
<<
"'."
;
continue
;
}
auto
delegate
=
RenderDelegate
::
make_delegate
(
geom
);
if
(
delegate
==
nullptr
)
{
LOG
(
WARNING
)
<<
"Renderer::Renderer error: Could not create render delegate for '"
<<
obj
->
getName
()
<<
"'."
;
continue
;
}
m_objectVtkActors
.
push_back
(
delegate
->
getVtkActor
()
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment