Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
af8a918e
Commit
af8a918e
authored
Aug 31, 2013
by
ozantonkal
Committed by
Ozan Tonkal
Sep 05, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix minor bug, minor cleaning, cv_assert with messages
parent
69f135ec
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
36 additions
and
125 deletions
+36
-125
widgets.hpp
modules/viz/include/opencv2/viz/widgets.hpp
+0
-3
cloud_widgets.cpp
modules/viz/src/cloud_widgets.cpp
+3
-3
interactor_style.cpp
modules/viz/src/interactor_style.cpp
+3
-11
shape_widgets.cpp
modules/viz/src/shape_widgets.cpp
+9
-23
types.cpp
modules/viz/src/types.cpp
+1
-1
viz3d_impl.cpp
modules/viz/src/viz3d_impl.cpp
+9
-63
viz3d_impl.hpp
modules/viz/src/viz3d_impl.hpp
+1
-11
widget.cpp
modules/viz/src/widget.cpp
+10
-10
No files found.
modules/viz/include/opencv2/viz/widgets.hpp
View file @
af8a918e
...
@@ -61,9 +61,6 @@ namespace cv
...
@@ -61,9 +61,6 @@ namespace cv
{
{
public
:
public
:
LineWidget
(
const
Point3f
&
pt1
,
const
Point3f
&
pt2
,
const
Color
&
color
=
Color
::
white
());
LineWidget
(
const
Point3f
&
pt1
,
const
Point3f
&
pt2
,
const
Color
&
color
=
Color
::
white
());
void
setLineWidth
(
float
line_width
);
float
getLineWidth
();
};
};
class
CV_EXPORTS
PlaneWidget
:
public
Widget3D
class
CV_EXPORTS
PlaneWidget
:
public
Widget3D
...
...
modules/viz/src/cloud_widgets.cpp
View file @
af8a918e
...
@@ -298,7 +298,7 @@ struct cv::viz::CloudCollectionWidget::CreateCloudWidget
...
@@ -298,7 +298,7 @@ struct cv::viz::CloudCollectionWidget::CreateCloudWidget
}
}
vtkPolyData
*
data
=
vtkPolyData
::
SafeDownCast
(
mapper
->
GetInput
());
vtkPolyData
*
data
=
vtkPolyData
::
SafeDownCast
(
mapper
->
GetInput
());
CV_Assert
(
data
);
CV_Assert
(
"Cloud Widget without data"
&&
data
);
vtkSmartPointer
<
vtkAppendPolyData
>
appendFilter
=
vtkSmartPointer
<
vtkAppendPolyData
>::
New
();
vtkSmartPointer
<
vtkAppendPolyData
>
appendFilter
=
vtkSmartPointer
<
vtkAppendPolyData
>::
New
();
appendFilter
->
AddInputConnection
(
mapper
->
GetInput
()
->
GetProducerPort
());
appendFilter
->
AddInputConnection
(
mapper
->
GetInput
()
->
GetProducerPort
());
...
@@ -357,7 +357,7 @@ void cv::viz::CloudCollectionWidget::addCloud(InputArray _cloud, InputArray _col
...
@@ -357,7 +357,7 @@ void cv::viz::CloudCollectionWidget::addCloud(InputArray _cloud, InputArray _col
transform_filter
->
Update
();
transform_filter
->
Update
();
vtkLODActor
*
actor
=
vtkLODActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkLODActor
*
actor
=
vtkLODActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Incompatible widget type."
&&
actor
);
Vec3d
minmax
(
scalars
->
GetRange
());
Vec3d
minmax
(
scalars
->
GetRange
());
CreateCloudWidget
::
createMapper
(
actor
,
transform_filter
->
GetOutput
(),
minmax
);
CreateCloudWidget
::
createMapper
(
actor
,
transform_filter
->
GetOutput
(),
minmax
);
...
@@ -392,7 +392,7 @@ void cv::viz::CloudCollectionWidget::addCloud(InputArray _cloud, const Color &co
...
@@ -392,7 +392,7 @@ void cv::viz::CloudCollectionWidget::addCloud(InputArray _cloud, const Color &co
transform_filter
->
Update
();
transform_filter
->
Update
();
vtkLODActor
*
actor
=
vtkLODActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkLODActor
*
actor
=
vtkLODActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Incompatible widget type."
&&
actor
);
Vec3d
minmax
(
scalars
->
GetRange
());
Vec3d
minmax
(
scalars
->
GetRange
());
CreateCloudWidget
::
createMapper
(
actor
,
transform_filter
->
GetOutput
(),
minmax
);
CreateCloudWidget
::
createMapper
(
actor
,
transform_filter
->
GetOutput
(),
minmax
);
...
...
modules/viz/src/interactor_style.cpp
View file @
af8a918e
...
@@ -152,17 +152,9 @@ void cv::viz::InteractorStyle::registerKeyboardCallback(void (*callback)(const K
...
@@ -152,17 +152,9 @@ void cv::viz::InteractorStyle::registerKeyboardCallback(void (*callback)(const K
void
void
cv
::
viz
::
InteractorStyle
::
OnKeyDown
()
cv
::
viz
::
InteractorStyle
::
OnKeyDown
()
{
{
if
(
!
init_
)
{
CV_Assert
(
"Interactor style not initialized. Please call Initialize () before continuing"
&&
init_
);
std
::
cout
<<
"Interactor style not initialized. Please call Initialize () before continuing"
<<
std
::
endl
;
CV_Assert
(
"No renderer given! Use SetRendererCollection () before continuing."
&&
renderer_
);
return
;
}
if
(
!
renderer_
)
{
std
::
cout
<<
"No renderer given! Use SetRendererCollection () before continuing."
<<
std
::
endl
;
return
;
}
FindPokedRenderer
(
Interactor
->
GetEventPosition
()[
0
],
Interactor
->
GetEventPosition
()[
1
]);
FindPokedRenderer
(
Interactor
->
GetEventPosition
()[
0
],
Interactor
->
GetEventPosition
()[
1
]);
...
...
modules/viz/src/shape_widgets.cpp
View file @
af8a918e
...
@@ -27,20 +27,6 @@ cv::viz::LineWidget::LineWidget(const Point3f &pt1, const Point3f &pt2, const Co
...
@@ -27,20 +27,6 @@ cv::viz::LineWidget::LineWidget(const Point3f &pt1, const Point3f &pt2, const Co
setColor
(
color
);
setColor
(
color
);
}
}
void
cv
::
viz
::
LineWidget
::
setLineWidth
(
float
line_width
)
{
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
actor
->
GetProperty
()
->
SetLineWidth
(
line_width
);
}
float
cv
::
viz
::
LineWidget
::
getLineWidth
()
{
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
return
actor
->
GetProperty
()
->
GetLineWidth
();
}
template
<>
cv
::
viz
::
LineWidget
cv
::
viz
::
Widget
::
cast
<
cv
::
viz
::
LineWidget
>
()
template
<>
cv
::
viz
::
LineWidget
cv
::
viz
::
Widget
::
cast
<
cv
::
viz
::
LineWidget
>
()
{
{
Widget3D
widget
=
this
->
cast
<
Widget3D
>
();
Widget3D
widget
=
this
->
cast
<
Widget3D
>
();
...
@@ -556,12 +542,12 @@ cv::viz::Text3DWidget::Text3DWidget(const String &text, const Point3f &position,
...
@@ -556,12 +542,12 @@ cv::viz::Text3DWidget::Text3DWidget(const String &text, const Point3f &position,
void
cv
::
viz
::
Text3DWidget
::
setText
(
const
String
&
text
)
void
cv
::
viz
::
Text3DWidget
::
setText
(
const
String
&
text
)
{
{
vtkFollower
*
actor
=
vtkFollower
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkFollower
*
actor
=
vtkFollower
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"This widget does not support text."
&&
actor
);
// Update text source
// Update text source
vtkPolyDataMapper
*
mapper
=
vtkPolyDataMapper
::
SafeDownCast
(
actor
->
GetMapper
());
vtkPolyDataMapper
*
mapper
=
vtkPolyDataMapper
::
SafeDownCast
(
actor
->
GetMapper
());
vtkVectorText
*
textSource
=
vtkVectorText
::
SafeDownCast
(
mapper
->
GetInputConnection
(
0
,
0
)
->
GetProducer
());
vtkVectorText
*
textSource
=
vtkVectorText
::
SafeDownCast
(
mapper
->
GetInputConnection
(
0
,
0
)
->
GetProducer
());
CV_Assert
(
textSource
);
CV_Assert
(
"This widget does not support text."
&&
textSource
);
textSource
->
SetText
(
text
.
c_str
());
textSource
->
SetText
(
text
.
c_str
());
textSource
->
Update
();
textSource
->
Update
();
...
@@ -570,11 +556,11 @@ void cv::viz::Text3DWidget::setText(const String &text)
...
@@ -570,11 +556,11 @@ void cv::viz::Text3DWidget::setText(const String &text)
cv
::
String
cv
::
viz
::
Text3DWidget
::
getText
()
const
cv
::
String
cv
::
viz
::
Text3DWidget
::
getText
()
const
{
{
vtkFollower
*
actor
=
vtkFollower
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkFollower
*
actor
=
vtkFollower
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"This widget does not support text."
&&
actor
);
vtkPolyDataMapper
*
mapper
=
vtkPolyDataMapper
::
SafeDownCast
(
actor
->
GetMapper
());
vtkPolyDataMapper
*
mapper
=
vtkPolyDataMapper
::
SafeDownCast
(
actor
->
GetMapper
());
vtkVectorText
*
textSource
=
vtkVectorText
::
SafeDownCast
(
mapper
->
GetInputConnection
(
0
,
0
)
->
GetProducer
());
vtkVectorText
*
textSource
=
vtkVectorText
::
SafeDownCast
(
mapper
->
GetInputConnection
(
0
,
0
)
->
GetProducer
());
CV_Assert
(
textSource
);
CV_Assert
(
"This widget does not support text."
&&
textSource
);
return
textSource
->
GetText
();
return
textSource
->
GetText
();
}
}
...
@@ -615,14 +601,14 @@ template<> cv::viz::TextWidget cv::viz::Widget::cast<cv::viz::TextWidget>()
...
@@ -615,14 +601,14 @@ template<> cv::viz::TextWidget cv::viz::Widget::cast<cv::viz::TextWidget>()
void
cv
::
viz
::
TextWidget
::
setText
(
const
String
&
text
)
void
cv
::
viz
::
TextWidget
::
setText
(
const
String
&
text
)
{
{
vtkTextActor
*
actor
=
vtkTextActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkTextActor
*
actor
=
vtkTextActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"This widget does not support text."
&&
actor
);
actor
->
SetInput
(
text
.
c_str
());
actor
->
SetInput
(
text
.
c_str
());
}
}
cv
::
String
cv
::
viz
::
TextWidget
::
getText
()
const
cv
::
String
cv
::
viz
::
TextWidget
::
getText
()
const
{
{
vtkTextActor
*
actor
=
vtkTextActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkTextActor
*
actor
=
vtkTextActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"This widget does not support text."
&&
actor
);
return
actor
->
GetInput
();
return
actor
->
GetInput
();
}
}
...
@@ -671,10 +657,10 @@ void cv::viz::ImageOverlayWidget::setImage(const Mat &image)
...
@@ -671,10 +657,10 @@ void cv::viz::ImageOverlayWidget::setImage(const Mat &image)
CV_Assert
(
!
image
.
empty
()
&&
image
.
depth
()
==
CV_8U
);
CV_Assert
(
!
image
.
empty
()
&&
image
.
depth
()
==
CV_8U
);
vtkActor2D
*
actor
=
vtkActor2D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkActor2D
*
actor
=
vtkActor2D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"This widget does not support overlay image."
&&
actor
);
vtkImageMapper
*
mapper
=
vtkImageMapper
::
SafeDownCast
(
actor
->
GetMapper
());
vtkImageMapper
*
mapper
=
vtkImageMapper
::
SafeDownCast
(
actor
->
GetMapper
());
CV_Assert
(
mapper
);
CV_Assert
(
"This widget does not support overlay image."
&&
mapper
);
// Create the vtk image and set its parameters based on input image
// Create the vtk image and set its parameters based on input image
vtkSmartPointer
<
vtkImageData
>
vtk_image
=
vtkSmartPointer
<
vtkImageData
>::
New
();
vtkSmartPointer
<
vtkImageData
>
vtk_image
=
vtkSmartPointer
<
vtkImageData
>::
New
();
...
@@ -821,7 +807,7 @@ void cv::viz::Image3DWidget::setImage(const Mat &image)
...
@@ -821,7 +807,7 @@ void cv::viz::Image3DWidget::setImage(const Mat &image)
CV_Assert
(
!
image
.
empty
()
&&
image
.
depth
()
==
CV_8U
);
CV_Assert
(
!
image
.
empty
()
&&
image
.
depth
()
==
CV_8U
);
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"This widget does not support 3D image."
&&
actor
);
// Create the vtk image and set its parameters based on input image
// Create the vtk image and set its parameters based on input image
vtkSmartPointer
<
vtkImageData
>
vtk_image
=
vtkSmartPointer
<
vtkImageData
>::
New
();
vtkSmartPointer
<
vtkImageData
>
vtk_image
=
vtkSmartPointer
<
vtkImageData
>::
New
();
...
...
modules/viz/src/types.cpp
View file @
af8a918e
...
@@ -74,7 +74,7 @@ struct cv::viz::Mesh3d::loadMeshImpl
...
@@ -74,7 +74,7 @@ struct cv::viz::Mesh3d::loadMeshImpl
reader
->
Update
();
reader
->
Update
();
vtkSmartPointer
<
vtkPolyData
>
poly_data
=
reader
->
GetOutput
();
vtkSmartPointer
<
vtkPolyData
>
poly_data
=
reader
->
GetOutput
();
CV_Assert
(
poly_data
);
CV_Assert
(
"File does not exist or file format is not supported."
&&
poly_data
);
vtkSmartPointer
<
vtkPoints
>
mesh_points
=
poly_data
->
GetPoints
();
vtkSmartPointer
<
vtkPoints
>
mesh_points
=
poly_data
->
GetPoints
();
vtkIdType
nr_points
=
mesh_points
->
GetNumberOfPoints
();
vtkIdType
nr_points
=
mesh_points
->
GetNumberOfPoints
();
...
...
modules/viz/src/viz3d_impl.cpp
View file @
af8a918e
...
@@ -34,9 +34,6 @@ cv::viz::Viz3d::VizImpl::VizImpl (const std::string &name)
...
@@ -34,9 +34,6 @@ cv::viz::Viz3d::VizImpl::VizImpl (const std::string &name)
/////////////////////////////////////////////////
/////////////////////////////////////////////////
interactor_
=
vtkSmartPointer
<
vtkRenderWindowInteractor
>::
Take
(
vtkRenderWindowInteractorFixNew
());
interactor_
=
vtkSmartPointer
<
vtkRenderWindowInteractor
>::
Take
(
vtkRenderWindowInteractorFixNew
());
//win_->PointSmoothingOn ();
//win_->LineSmoothingOn ();
//win_->PolygonSmoothingOn ();
window_
->
AlphaBitPlanesOff
();
window_
->
AlphaBitPlanesOff
();
window_
->
PointSmoothingOff
();
window_
->
PointSmoothingOff
();
window_
->
LineSmoothingOff
();
window_
->
LineSmoothingOff
();
...
@@ -46,7 +43,6 @@ cv::viz::Viz3d::VizImpl::VizImpl (const std::string &name)
...
@@ -46,7 +43,6 @@ cv::viz::Viz3d::VizImpl::VizImpl (const std::string &name)
interactor_
->
SetRenderWindow
(
window_
);
interactor_
->
SetRenderWindow
(
window_
);
interactor_
->
SetInteractorStyle
(
style_
);
interactor_
->
SetInteractorStyle
(
style_
);
//interactor_->SetStillUpdateRate (30.0);
interactor_
->
SetDesiredUpdateRate
(
30.0
);
interactor_
->
SetDesiredUpdateRate
(
30.0
);
// Initialize and create timer, also create window
// Initialize and create timer, also create window
...
@@ -119,8 +115,8 @@ void cv::viz::Viz3d::VizImpl::removeWidget(const String &id)
...
@@ -119,8 +115,8 @@ void cv::viz::Viz3d::VizImpl::removeWidget(const String &id)
{
{
WidgetActorMap
::
iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
WidgetActorMap
::
iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
CV_Assert
(
exists
);
CV_Assert
(
"Widget does not exist."
&&
exists
);
CV_Assert
(
removeActorFromRenderer
(
wam_itr
->
second
));
CV_Assert
(
"Widget could not be removed."
&&
removeActorFromRenderer
(
wam_itr
->
second
));
widget_actor_map_
->
erase
(
wam_itr
);
widget_actor_map_
->
erase
(
wam_itr
);
}
}
...
@@ -129,7 +125,7 @@ cv::viz::Widget cv::viz::Viz3d::VizImpl::getWidget(const String &id) const
...
@@ -129,7 +125,7 @@ cv::viz::Widget cv::viz::Viz3d::VizImpl::getWidget(const String &id) const
{
{
WidgetActorMap
::
const_iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
WidgetActorMap
::
const_iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
CV_Assert
(
exists
);
CV_Assert
(
"Widget does not exist."
&&
exists
);
Widget
widget
;
Widget
widget
;
WidgetAccessor
::
setProp
(
widget
,
wam_itr
->
second
);
WidgetAccessor
::
setProp
(
widget
,
wam_itr
->
second
);
...
@@ -141,10 +137,10 @@ void cv::viz::Viz3d::VizImpl::setWidgetPose(const String &id, const Affine3f &po
...
@@ -141,10 +137,10 @@ void cv::viz::Viz3d::VizImpl::setWidgetPose(const String &id, const Affine3f &po
{
{
WidgetActorMap
::
iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
WidgetActorMap
::
iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
CV_Assert
(
exists
);
CV_Assert
(
"Widget does not exist."
&&
exists
);
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
wam_itr
->
second
);
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
wam_itr
->
second
);
CV_Assert
(
actor
);
CV_Assert
(
"Widget is not 3D."
&&
actor
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
convertToVtkMatrix
(
pose
.
matrix
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
convertToVtkMatrix
(
pose
.
matrix
);
actor
->
SetUserMatrix
(
matrix
);
actor
->
SetUserMatrix
(
matrix
);
...
@@ -156,10 +152,10 @@ void cv::viz::Viz3d::VizImpl::updateWidgetPose(const String &id, const Affine3f
...
@@ -156,10 +152,10 @@ void cv::viz::Viz3d::VizImpl::updateWidgetPose(const String &id, const Affine3f
{
{
WidgetActorMap
::
iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
WidgetActorMap
::
iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
CV_Assert
(
exists
);
CV_Assert
(
"Widget does not exist."
&&
exists
);
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
wam_itr
->
second
);
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
wam_itr
->
second
);
CV_Assert
(
actor
);
CV_Assert
(
"Widget is not 3D."
&&
actor
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
if
(
!
matrix
)
if
(
!
matrix
)
...
@@ -180,10 +176,10 @@ cv::Affine3f cv::viz::Viz3d::VizImpl::getWidgetPose(const String &id) const
...
@@ -180,10 +176,10 @@ cv::Affine3f cv::viz::Viz3d::VizImpl::getWidgetPose(const String &id) const
{
{
WidgetActorMap
::
const_iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
WidgetActorMap
::
const_iterator
wam_itr
=
widget_actor_map_
->
find
(
id
);
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
bool
exists
=
wam_itr
!=
widget_actor_map_
->
end
();
CV_Assert
(
exists
);
CV_Assert
(
"Widget does not exist."
&&
exists
);
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
wam_itr
->
second
);
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
wam_itr
->
second
);
CV_Assert
(
actor
);
CV_Assert
(
"Widget is not 3D."
&&
actor
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
Matx44f
matrix_cv
=
convertToMatx
(
matrix
);
Matx44f
matrix_cv
=
convertToMatx
(
matrix
);
...
@@ -254,56 +250,6 @@ void cv::viz::Viz3d::VizImpl::removeAllWidgets()
...
@@ -254,56 +250,6 @@ void cv::viz::Viz3d::VizImpl::removeAllWidgets()
renderer_
->
RemoveAllViewProps
();
renderer_
->
RemoveAllViewProps
();
}
}
//////////////////////////////////////////////////////////////////////////////////////////
bool
cv
::
viz
::
Viz3d
::
VizImpl
::
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkLODActor
>
&
actor
)
{
vtkLODActor
*
actor_to_remove
=
vtkLODActor
::
SafeDownCast
(
actor
);
// Iterate over all actors in this renderer
vtkPropCollection
*
actors
=
renderer_
->
GetViewProps
();
actors
->
InitTraversal
();
vtkProp
*
current_actor
=
NULL
;
while
((
current_actor
=
actors
->
GetNextProp
())
!=
NULL
)
{
if
(
current_actor
!=
actor_to_remove
)
continue
;
renderer_
->
RemoveActor
(
actor
);
// renderer->Render ();
// Found the correct viewport and removed the actor
return
(
true
);
}
return
false
;
}
//////////////////////////////////////////////////////////////////////////////////////////
bool
cv
::
viz
::
Viz3d
::
VizImpl
::
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkActor
>
&
actor
)
{
vtkActor
*
actor_to_remove
=
vtkActor
::
SafeDownCast
(
actor
);
// Add it to all renderers
//rens_->InitTraversal ();
// Iterate over all actors in this renderer
vtkPropCollection
*
actors
=
renderer_
->
GetViewProps
();
actors
->
InitTraversal
();
vtkProp
*
current_actor
=
NULL
;
while
((
current_actor
=
actors
->
GetNextProp
())
!=
NULL
)
{
if
(
current_actor
!=
actor_to_remove
)
continue
;
renderer_
->
RemoveActor
(
actor
);
// renderer->Render ();
// Found the correct viewport and removed the actor
return
(
true
);
}
return
false
;
}
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
bool
cv
::
viz
::
Viz3d
::
VizImpl
::
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkProp
>
&
actor
)
bool
cv
::
viz
::
Viz3d
::
VizImpl
::
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkProp
>
&
actor
)
{
{
...
...
modules/viz/src/viz3d_impl.hpp
View file @
af8a918e
...
@@ -119,6 +119,7 @@ private:
...
@@ -119,6 +119,7 @@ private:
if
(
event_id
==
vtkCommand
::
ExitEvent
)
if
(
event_id
==
vtkCommand
::
ExitEvent
)
{
{
viz_
->
stopped_
=
true
;
viz_
->
stopped_
=
true
;
viz_
->
interactor_
->
GetRenderWindow
()
->
Finalize
();
viz_
->
interactor_
->
TerminateApp
();
viz_
->
interactor_
->
TerminateApp
();
}
}
}
}
...
@@ -142,12 +143,6 @@ private:
...
@@ -142,12 +143,6 @@ private:
/** \brief The render window interactor style. */
/** \brief The render window interactor style. */
vtkSmartPointer
<
InteractorStyle
>
style_
;
vtkSmartPointer
<
InteractorStyle
>
style_
;
/** \brief Internal list with actor pointers and name IDs for point clouds. */
// cv::Ptr<CloudActorMap> cloud_actor_map_;
/** \brief Internal list with actor pointers and name IDs for shapes. */
// cv::Ptr<ShapeActorMap> shape_actor_map_;
/** \brief Internal list with actor pointers and name IDs for all widget actors */
/** \brief Internal list with actor pointers and name IDs for all widget actors */
cv
::
Ptr
<
WidgetActorMap
>
widget_actor_map_
;
cv
::
Ptr
<
WidgetActorMap
>
widget_actor_map_
;
...
@@ -155,13 +150,8 @@ private:
...
@@ -155,13 +150,8 @@ private:
/** \brief Boolean that holds whether or not the camera parameters were manually initialized*/
/** \brief Boolean that holds whether or not the camera parameters were manually initialized*/
bool
camera_set_
;
bool
camera_set_
;
bool
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkLODActor
>
&
actor
);
bool
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkActor
>
&
actor
);
bool
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkProp
>
&
actor
);
bool
removeActorFromRenderer
(
const
vtkSmartPointer
<
vtkProp
>
&
actor
);
//void addActorToRenderer (const vtkSmartPointer<vtkProp> &actor);
/** \brief Internal method. Creates a vtk actor from a vtk polydata object.
/** \brief Internal method. Creates a vtk actor from a vtk polydata object.
* \param[in] data the vtk polydata object to create an actor for
* \param[in] data the vtk polydata object to create an actor for
* \param[out] actor the resultant vtk actor object
* \param[out] actor the resultant vtk actor object
...
...
modules/viz/src/widget.cpp
View file @
af8a918e
...
@@ -40,7 +40,7 @@ cv::viz::Widget cv::viz::Widget::fromPlyFile(const String &file_name)
...
@@ -40,7 +40,7 @@ cv::viz::Widget cv::viz::Widget::fromPlyFile(const String &file_name)
reader
->
SetFileName
(
file_name
.
c_str
());
reader
->
SetFileName
(
file_name
.
c_str
());
vtkSmartPointer
<
vtkDataSet
>
data
=
reader
->
GetOutput
();
vtkSmartPointer
<
vtkDataSet
>
data
=
reader
->
GetOutput
();
CV_Assert
(
data
);
CV_Assert
(
"File does not exist or file format is not supported."
&&
data
);
vtkSmartPointer
<
vtkLODActor
>
actor
=
vtkSmartPointer
<
vtkLODActor
>::
New
();
vtkSmartPointer
<
vtkLODActor
>
actor
=
vtkSmartPointer
<
vtkLODActor
>::
New
();
...
@@ -77,7 +77,7 @@ cv::viz::Widget cv::viz::Widget::fromPlyFile(const String &file_name)
...
@@ -77,7 +77,7 @@ cv::viz::Widget cv::viz::Widget::fromPlyFile(const String &file_name)
void
cv
::
viz
::
Widget
::
setRenderingProperty
(
int
property
,
double
value
)
void
cv
::
viz
::
Widget
::
setRenderingProperty
(
int
property
,
double
value
)
{
{
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget type is not supported."
&&
actor
);
switch
(
property
)
switch
(
property
)
{
{
...
@@ -118,7 +118,7 @@ void cv::viz::Widget::setRenderingProperty(int property, double value)
...
@@ -118,7 +118,7 @@ void cv::viz::Widget::setRenderingProperty(int property, double value)
double
cv
::
viz
::
Widget
::
getRenderingProperty
(
int
property
)
const
double
cv
::
viz
::
Widget
::
getRenderingProperty
(
int
property
)
const
{
{
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget type is not supported."
&&
actor
);
double
value
=
0.0
;
double
value
=
0.0
;
switch
(
property
)
switch
(
property
)
...
@@ -239,7 +239,7 @@ struct cv::viz::Widget3D::MatrixConverter
...
@@ -239,7 +239,7 @@ struct cv::viz::Widget3D::MatrixConverter
void
cv
::
viz
::
Widget3D
::
setPose
(
const
Affine3f
&
pose
)
void
cv
::
viz
::
Widget3D
::
setPose
(
const
Affine3f
&
pose
)
{
{
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget is not 3D."
&&
actor
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
convertToVtkMatrix
(
pose
.
matrix
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
convertToVtkMatrix
(
pose
.
matrix
);
actor
->
SetUserMatrix
(
matrix
);
actor
->
SetUserMatrix
(
matrix
);
...
@@ -249,7 +249,7 @@ void cv::viz::Widget3D::setPose(const Affine3f &pose)
...
@@ -249,7 +249,7 @@ void cv::viz::Widget3D::setPose(const Affine3f &pose)
void
cv
::
viz
::
Widget3D
::
updatePose
(
const
Affine3f
&
pose
)
void
cv
::
viz
::
Widget3D
::
updatePose
(
const
Affine3f
&
pose
)
{
{
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget is not 3D."
&&
actor
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
if
(
!
matrix
)
if
(
!
matrix
)
...
@@ -269,7 +269,7 @@ void cv::viz::Widget3D::updatePose(const Affine3f &pose)
...
@@ -269,7 +269,7 @@ void cv::viz::Widget3D::updatePose(const Affine3f &pose)
cv
::
Affine3f
cv
::
viz
::
Widget3D
::
getPose
()
const
cv
::
Affine3f
cv
::
viz
::
Widget3D
::
getPose
()
const
{
{
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget is not 3D."
&&
actor
);
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
vtkSmartPointer
<
vtkMatrix4x4
>
matrix
=
actor
->
GetUserMatrix
();
Matx44f
matrix_cv
=
MatrixConverter
::
convertToMatx
(
matrix
);
Matx44f
matrix_cv
=
MatrixConverter
::
convertToMatx
(
matrix
);
...
@@ -280,7 +280,7 @@ void cv::viz::Widget3D::setColor(const Color &color)
...
@@ -280,7 +280,7 @@ void cv::viz::Widget3D::setColor(const Color &color)
{
{
// Cast to actor instead of prop3d since prop3d doesn't provide getproperty
// Cast to actor instead of prop3d since prop3d doesn't provide getproperty
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkActor
*
actor
=
vtkActor
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget type is not supported."
&&
actor
);
Color
c
=
vtkcolor
(
color
);
Color
c
=
vtkcolor
(
color
);
actor
->
GetMapper
()
->
ScalarVisibilityOff
();
actor
->
GetMapper
()
->
ScalarVisibilityOff
();
...
@@ -292,7 +292,7 @@ void cv::viz::Widget3D::setColor(const Color &color)
...
@@ -292,7 +292,7 @@ void cv::viz::Widget3D::setColor(const Color &color)
template
<>
cv
::
viz
::
Widget3D
cv
::
viz
::
Widget
::
cast
<
cv
::
viz
::
Widget3D
>
()
template
<>
cv
::
viz
::
Widget3D
cv
::
viz
::
Widget
::
cast
<
cv
::
viz
::
Widget3D
>
()
{
{
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkProp3D
*
actor
=
vtkProp3D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget cannot be cast."
&&
actor
);
Widget3D
widget
;
Widget3D
widget
;
WidgetAccessor
::
setProp
(
widget
,
actor
);
WidgetAccessor
::
setProp
(
widget
,
actor
);
...
@@ -305,7 +305,7 @@ template<> cv::viz::Widget3D cv::viz::Widget::cast<cv::viz::Widget3D>()
...
@@ -305,7 +305,7 @@ template<> cv::viz::Widget3D cv::viz::Widget::cast<cv::viz::Widget3D>()
void
cv
::
viz
::
Widget2D
::
setColor
(
const
Color
&
color
)
void
cv
::
viz
::
Widget2D
::
setColor
(
const
Color
&
color
)
{
{
vtkActor2D
*
actor
=
vtkActor2D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkActor2D
*
actor
=
vtkActor2D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget type is not supported."
&&
actor
);
Color
c
=
vtkcolor
(
color
);
Color
c
=
vtkcolor
(
color
);
actor
->
GetProperty
()
->
SetColor
(
c
.
val
);
actor
->
GetProperty
()
->
SetColor
(
c
.
val
);
actor
->
Modified
();
actor
->
Modified
();
...
@@ -314,7 +314,7 @@ void cv::viz::Widget2D::setColor(const Color &color)
...
@@ -314,7 +314,7 @@ void cv::viz::Widget2D::setColor(const Color &color)
template
<>
cv
::
viz
::
Widget2D
cv
::
viz
::
Widget
::
cast
<
cv
::
viz
::
Widget2D
>
()
template
<>
cv
::
viz
::
Widget2D
cv
::
viz
::
Widget
::
cast
<
cv
::
viz
::
Widget2D
>
()
{
{
vtkActor2D
*
actor
=
vtkActor2D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
vtkActor2D
*
actor
=
vtkActor2D
::
SafeDownCast
(
WidgetAccessor
::
getProp
(
*
this
));
CV_Assert
(
actor
);
CV_Assert
(
"Widget cannot be cast."
&&
actor
);
Widget2D
widget
;
Widget2D
widget
;
WidgetAccessor
::
setProp
(
widget
,
actor
);
WidgetAccessor
::
setProp
(
widget
,
actor
);
...
...
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