mirror of
https://github.com/opencv/opencv.git
synced 2025-06-12 20:42:53 +08:00
Merge pull request #12951 from catree:easy_fixes_const_viz
This commit is contained in:
commit
c92e0838c1
@ -246,8 +246,9 @@ namespace cv
|
||||
@param ambientColor The ambient color of the light
|
||||
@param specularColor The specular color of the light
|
||||
*/
|
||||
void addLight(Vec3d position, Vec3d focalPoint = Vec3d(0, 0, 0), Color color = Color::white(),
|
||||
Color diffuseColor = Color::white(), Color ambientColor = Color::black(), Color specularColor = Color::white());
|
||||
void addLight(const Vec3d &position, const Vec3d &focalPoint = Vec3d(0, 0, 0), const Color &color = Color::white(),
|
||||
const Color &diffuseColor = Color::white(), const Color &ambientColor = Color::black(),
|
||||
const Color &specularColor = Color::white());
|
||||
|
||||
/** @brief Returns whether the event loop has been stopped.
|
||||
*/
|
||||
|
@ -167,7 +167,7 @@ namespace cv
|
||||
|
||||
@note 3D Widgets can only be cast to 3D Widgets. 2D Widgets can only be cast to 2D Widgets.
|
||||
*/
|
||||
template<typename _W> _W cast();
|
||||
template<typename _W> _W cast() const;
|
||||
private:
|
||||
class Impl;
|
||||
Impl *impl_;
|
||||
@ -814,33 +814,33 @@ namespace cv
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
/// Utility exports
|
||||
|
||||
template<> CV_EXPORTS Widget2D Widget::cast<Widget2D>();
|
||||
template<> CV_EXPORTS Widget3D Widget::cast<Widget3D>();
|
||||
template<> CV_EXPORTS WLine Widget::cast<WLine>();
|
||||
template<> CV_EXPORTS WPlane Widget::cast<WPlane>();
|
||||
template<> CV_EXPORTS WSphere Widget::cast<WSphere>();
|
||||
template<> CV_EXPORTS WCylinder Widget::cast<WCylinder>();
|
||||
template<> CV_EXPORTS WArrow Widget::cast<WArrow>();
|
||||
template<> CV_EXPORTS WCircle Widget::cast<WCircle>();
|
||||
template<> CV_EXPORTS WCone Widget::cast<WCone>();
|
||||
template<> CV_EXPORTS WCube Widget::cast<WCube>();
|
||||
template<> CV_EXPORTS WCoordinateSystem Widget::cast<WCoordinateSystem>();
|
||||
template<> CV_EXPORTS WPolyLine Widget::cast<WPolyLine>();
|
||||
template<> CV_EXPORTS WGrid Widget::cast<WGrid>();
|
||||
template<> CV_EXPORTS WText3D Widget::cast<WText3D>();
|
||||
template<> CV_EXPORTS WText Widget::cast<WText>();
|
||||
template<> CV_EXPORTS WImageOverlay Widget::cast<WImageOverlay>();
|
||||
template<> CV_EXPORTS WImage3D Widget::cast<WImage3D>();
|
||||
template<> CV_EXPORTS WCameraPosition Widget::cast<WCameraPosition>();
|
||||
template<> CV_EXPORTS WTrajectory Widget::cast<WTrajectory>();
|
||||
template<> CV_EXPORTS WTrajectoryFrustums Widget::cast<WTrajectoryFrustums>();
|
||||
template<> CV_EXPORTS WTrajectorySpheres Widget::cast<WTrajectorySpheres>();
|
||||
template<> CV_EXPORTS WCloud Widget::cast<WCloud>();
|
||||
template<> CV_EXPORTS WPaintedCloud Widget::cast<WPaintedCloud>();
|
||||
template<> CV_EXPORTS WCloudCollection Widget::cast<WCloudCollection>();
|
||||
template<> CV_EXPORTS WCloudNormals Widget::cast<WCloudNormals>();
|
||||
template<> CV_EXPORTS WMesh Widget::cast<WMesh>();
|
||||
template<> CV_EXPORTS WWidgetMerger Widget::cast<WWidgetMerger>();
|
||||
template<> CV_EXPORTS Widget2D Widget::cast<Widget2D>() const;
|
||||
template<> CV_EXPORTS Widget3D Widget::cast<Widget3D>() const;
|
||||
template<> CV_EXPORTS WLine Widget::cast<WLine>() const;
|
||||
template<> CV_EXPORTS WPlane Widget::cast<WPlane>() const;
|
||||
template<> CV_EXPORTS WSphere Widget::cast<WSphere>() const;
|
||||
template<> CV_EXPORTS WCylinder Widget::cast<WCylinder>() const;
|
||||
template<> CV_EXPORTS WArrow Widget::cast<WArrow>() const;
|
||||
template<> CV_EXPORTS WCircle Widget::cast<WCircle>() const;
|
||||
template<> CV_EXPORTS WCone Widget::cast<WCone>() const;
|
||||
template<> CV_EXPORTS WCube Widget::cast<WCube>() const;
|
||||
template<> CV_EXPORTS WCoordinateSystem Widget::cast<WCoordinateSystem>() const;
|
||||
template<> CV_EXPORTS WPolyLine Widget::cast<WPolyLine>() const;
|
||||
template<> CV_EXPORTS WGrid Widget::cast<WGrid>() const;
|
||||
template<> CV_EXPORTS WText3D Widget::cast<WText3D>() const;
|
||||
template<> CV_EXPORTS WText Widget::cast<WText>() const;
|
||||
template<> CV_EXPORTS WImageOverlay Widget::cast<WImageOverlay>() const;
|
||||
template<> CV_EXPORTS WImage3D Widget::cast<WImage3D>() const;
|
||||
template<> CV_EXPORTS WCameraPosition Widget::cast<WCameraPosition>() const;
|
||||
template<> CV_EXPORTS WTrajectory Widget::cast<WTrajectory>() const;
|
||||
template<> CV_EXPORTS WTrajectoryFrustums Widget::cast<WTrajectoryFrustums>() const;
|
||||
template<> CV_EXPORTS WTrajectorySpheres Widget::cast<WTrajectorySpheres>() const;
|
||||
template<> CV_EXPORTS WCloud Widget::cast<WCloud>() const;
|
||||
template<> CV_EXPORTS WPaintedCloud Widget::cast<WPaintedCloud>() const;
|
||||
template<> CV_EXPORTS WCloudCollection Widget::cast<WCloudCollection>() const;
|
||||
template<> CV_EXPORTS WCloudNormals Widget::cast<WCloudNormals>() const;
|
||||
template<> CV_EXPORTS WMesh Widget::cast<WMesh>() const;
|
||||
template<> CV_EXPORTS WWidgetMerger Widget::cast<WWidgetMerger>() const;
|
||||
|
||||
//! @}
|
||||
|
||||
|
@ -91,7 +91,7 @@ cv::viz::WCloud::WCloud(cv::InputArray cloud, cv::InputArray colors, cv::InputAr
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WCloud cv::viz::Widget::cast<cv::viz::WCloud>()
|
||||
template<> cv::viz::WCloud cv::viz::Widget::cast<cv::viz::WCloud>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCloud&>(widget);
|
||||
@ -201,7 +201,7 @@ cv::viz::WPaintedCloud::WPaintedCloud(InputArray cloud, const Point3d& p1, const
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WPaintedCloud cv::viz::Widget::cast<cv::viz::WPaintedCloud>()
|
||||
template<> cv::viz::WPaintedCloud cv::viz::Widget::cast<cv::viz::WPaintedCloud>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WPaintedCloud&>(widget);
|
||||
@ -271,7 +271,7 @@ void cv::viz::WCloudCollection::finalize()
|
||||
VtkUtils::SetInputData(mapper, polydata);
|
||||
}
|
||||
|
||||
template<> cv::viz::WCloudCollection cv::viz::Widget::cast<cv::viz::WCloudCollection>()
|
||||
template<> cv::viz::WCloudCollection cv::viz::Widget::cast<cv::viz::WCloudCollection>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCloudCollection&>(widget);
|
||||
@ -357,7 +357,7 @@ cv::viz::WCloudNormals::WCloudNormals(InputArray _cloud, InputArray _normals, in
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WCloudNormals cv::viz::Widget::cast<cv::viz::WCloudNormals>()
|
||||
template<> cv::viz::WCloudNormals cv::viz::Widget::cast<cv::viz::WCloudNormals>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCloudNormals&>(widget);
|
||||
@ -461,7 +461,7 @@ cv::viz::WMesh::WMesh(InputArray cloud, InputArray polygons, InputArray colors,
|
||||
*this = WMesh(mesh);
|
||||
}
|
||||
|
||||
template<> CV_EXPORTS cv::viz::WMesh cv::viz::Widget::cast<cv::viz::WMesh>()
|
||||
template<> CV_EXPORTS cv::viz::WMesh cv::viz::Widget::cast<cv::viz::WMesh>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WMesh&>(widget);
|
||||
@ -523,7 +523,7 @@ void cv::viz::WWidgetMerger::finalize()
|
||||
mapper->Modified();
|
||||
}
|
||||
|
||||
template<> CV_EXPORTS cv::viz::WWidgetMerger cv::viz::Widget::cast<cv::viz::WWidgetMerger>()
|
||||
template<> CV_EXPORTS cv::viz::WWidgetMerger cv::viz::Widget::cast<cv::viz::WWidgetMerger>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WWidgetMerger&>(widget);
|
||||
|
@ -66,7 +66,7 @@ cv::viz::WLine::WLine(const Point3d &pt1, const Point3d &pt2, const Color &color
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WLine cv::viz::Widget::cast<cv::viz::WLine>()
|
||||
template<> cv::viz::WLine cv::viz::Widget::cast<cv::viz::WLine>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WLine&>(widget);
|
||||
@ -97,7 +97,7 @@ cv::viz::WSphere::WSphere(const Point3d ¢er, double radius, int sphere_resol
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WSphere cv::viz::Widget::cast<cv::viz::WSphere>()
|
||||
template<> cv::viz::WSphere cv::viz::Widget::cast<cv::viz::WSphere>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WSphere&>(widget);
|
||||
@ -138,7 +138,7 @@ cv::viz::WPlane::WPlane(const Point3d& center, const Vec3d& normal, const Vec3d&
|
||||
*this = plane;
|
||||
}
|
||||
|
||||
template<> cv::viz::WPlane cv::viz::Widget::cast<cv::viz::WPlane>()
|
||||
template<> cv::viz::WPlane cv::viz::Widget::cast<cv::viz::WPlane>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WPlane&>(widget);
|
||||
@ -178,7 +178,7 @@ cv::viz::WArrow::WArrow(const Point3d& pt1, const Point3d& pt2, double thickness
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WArrow cv::viz::Widget::cast<cv::viz::WArrow>()
|
||||
template<> cv::viz::WArrow cv::viz::Widget::cast<cv::viz::WArrow>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WArrow&>(widget);
|
||||
@ -220,7 +220,7 @@ cv::viz::WCircle::WCircle(double radius, const Point3d& center, const Vec3d& nor
|
||||
*this = circle;
|
||||
}
|
||||
|
||||
template<> cv::viz::WCircle cv::viz::Widget::cast<cv::viz::WCircle>()
|
||||
template<> cv::viz::WCircle cv::viz::Widget::cast<cv::viz::WCircle>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCircle&>(widget);
|
||||
@ -262,7 +262,7 @@ cv::viz::WCone::WCone(double radius, const Point3d& center, const Point3d& tip,
|
||||
*this = circle;
|
||||
}
|
||||
|
||||
template<> cv::viz::WCone cv::viz::Widget::cast<cv::viz::WCone>()
|
||||
template<> cv::viz::WCone cv::viz::Widget::cast<cv::viz::WCone>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCone&>(widget);
|
||||
@ -295,7 +295,7 @@ cv::viz::WCylinder::WCylinder(const Point3d& axis_point1, const Point3d& axis_po
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WCylinder cv::viz::Widget::cast<cv::viz::WCylinder>()
|
||||
template<> cv::viz::WCylinder cv::viz::Widget::cast<cv::viz::WCylinder>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCylinder&>(widget);
|
||||
@ -338,7 +338,7 @@ cv::viz::WCube::WCube(const Point3d& min_point, const Point3d& max_point, bool w
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WCube cv::viz::Widget::cast<cv::viz::WCube>()
|
||||
template<> cv::viz::WCube cv::viz::Widget::cast<cv::viz::WCube>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCube&>(widget);
|
||||
@ -382,7 +382,7 @@ cv::viz::WCoordinateSystem::WCoordinateSystem(double scale)
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WCoordinateSystem cv::viz::Widget::cast<cv::viz::WCoordinateSystem>()
|
||||
template<> cv::viz::WCoordinateSystem cv::viz::Widget::cast<cv::viz::WCoordinateSystem>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCoordinateSystem&>(widget);
|
||||
@ -422,7 +422,7 @@ cv::viz::WPolyLine::WPolyLine(InputArray points, const Color &color)
|
||||
*this = polyline;
|
||||
}
|
||||
|
||||
template<> cv::viz::WPolyLine cv::viz::Widget::cast<cv::viz::WPolyLine>()
|
||||
template<> cv::viz::WPolyLine cv::viz::Widget::cast<cv::viz::WPolyLine>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WPolyLine&>(widget);
|
||||
@ -472,7 +472,7 @@ cv::viz::WGrid::WGrid(const Point3d& center, const Vec3d& normal, const Vec3d& n
|
||||
*this = grid;
|
||||
}
|
||||
|
||||
template<> cv::viz::WGrid cv::viz::Widget::cast<cv::viz::WGrid>()
|
||||
template<> cv::viz::WGrid cv::viz::Widget::cast<cv::viz::WGrid>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WGrid&>(widget);
|
||||
@ -538,7 +538,7 @@ cv::String cv::viz::WText3D::getText() const
|
||||
return textSource->GetText();
|
||||
}
|
||||
|
||||
template<> cv::viz::WText3D cv::viz::Widget::cast<cv::viz::WText3D>()
|
||||
template<> cv::viz::WText3D cv::viz::Widget::cast<cv::viz::WText3D>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WText3D&>(widget);
|
||||
@ -567,7 +567,7 @@ cv::viz::WText::WText(const String &text, const Point &pos, int font_size, const
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WText cv::viz::Widget::cast<cv::viz::WText>()
|
||||
template<> cv::viz::WText cv::viz::Widget::cast<cv::viz::WText>() const
|
||||
{
|
||||
Widget2D widget = this->cast<Widget2D>();
|
||||
return static_cast<WText&>(widget);
|
||||
@ -658,7 +658,7 @@ void cv::viz::WImageOverlay::setImage(InputArray image)
|
||||
mapper->SetInputConnection(image_reslice->GetOutputPort());
|
||||
}
|
||||
|
||||
template<> cv::viz::WImageOverlay cv::viz::Widget::cast<cv::viz::WImageOverlay>()
|
||||
template<> cv::viz::WImageOverlay cv::viz::Widget::cast<cv::viz::WImageOverlay>() const
|
||||
{
|
||||
Widget2D widget = this->cast<Widget2D>();
|
||||
return static_cast<WImageOverlay&>(widget);
|
||||
@ -746,7 +746,7 @@ void cv::viz::WImage3D::setSize(const cv::Size& size)
|
||||
plane->SetPoint2(-0.5 * size.width, 0.5 * size.height, 0.0);
|
||||
}
|
||||
|
||||
template<> cv::viz::WImage3D cv::viz::Widget::cast<cv::viz::WImage3D>()
|
||||
template<> cv::viz::WImage3D cv::viz::Widget::cast<cv::viz::WImage3D>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WImage3D&>(widget);
|
||||
@ -920,7 +920,7 @@ cv::viz::WCameraPosition::WCameraPosition(const Vec2d &fov, InputArray _image, d
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WCameraPosition cv::viz::Widget::cast<cv::viz::WCameraPosition>()
|
||||
template<> cv::viz::WCameraPosition cv::viz::Widget::cast<cv::viz::WCameraPosition>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WCameraPosition&>(widget);
|
||||
@ -971,7 +971,7 @@ cv::viz::WTrajectory::WTrajectory(InputArray _path, int display_mode, double sca
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WTrajectory cv::viz::Widget::cast<cv::viz::WTrajectory>()
|
||||
template<> cv::viz::WTrajectory cv::viz::Widget::cast<cv::viz::WTrajectory>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WTrajectory&>(widget);
|
||||
@ -1032,7 +1032,7 @@ cv::viz::WTrajectoryFrustums::WTrajectoryFrustums(InputArray _path, const Vec2d
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WTrajectoryFrustums cv::viz::Widget::cast<cv::viz::WTrajectoryFrustums>()
|
||||
template<> cv::viz::WTrajectoryFrustums cv::viz::Widget::cast<cv::viz::WTrajectoryFrustums>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WTrajectoryFrustums&>(widget);
|
||||
@ -1100,7 +1100,7 @@ cv::viz::WTrajectorySpheres::WTrajectorySpheres(InputArray _path, double line_le
|
||||
WidgetAccessor::setProp(*this, actor);
|
||||
}
|
||||
|
||||
template<> cv::viz::WTrajectorySpheres cv::viz::Widget::cast<cv::viz::WTrajectorySpheres>()
|
||||
template<> cv::viz::WTrajectorySpheres cv::viz::Widget::cast<cv::viz::WTrajectorySpheres>() const
|
||||
{
|
||||
Widget3D widget = this->cast<Widget3D>();
|
||||
return static_cast<WTrajectorySpheres&>(widget);
|
||||
|
@ -102,7 +102,8 @@ void cv::viz::Viz3d::spin() { impl_->spin(); }
|
||||
void cv::viz::Viz3d::spinOnce(int time, bool force_redraw) { impl_->spinOnce(time, force_redraw); }
|
||||
void cv::viz::Viz3d::setOffScreenRendering() { impl_->setOffScreenRendering(); }
|
||||
void cv::viz::Viz3d::removeAllLights() { impl_->removeAllLights(); }
|
||||
void cv::viz::Viz3d::addLight(Vec3d position, Vec3d focalPoint, Color color, Color diffuseColor, Color ambientColor, Color specularColor)
|
||||
void cv::viz::Viz3d::addLight(const Vec3d &position, const Vec3d &focalPoint, const Color &color,
|
||||
const Color &diffuseColor, const Color &ambientColor, const Color &specularColor)
|
||||
{ impl_->addLight(position, focalPoint, color, diffuseColor, ambientColor, specularColor); }
|
||||
bool cv::viz::Viz3d::wasStopped() const { return impl_->wasStopped(); }
|
||||
void cv::viz::Viz3d::close() { impl_->close(); }
|
||||
|
@ -203,7 +203,8 @@ void cv::viz::Viz3d::VizImpl::removeAllLights()
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////
|
||||
void cv::viz::Viz3d::VizImpl::addLight(Vec3d position, Vec3d focalPoint, Color color, Color diffuseColor, Color ambientColor, Color specularColor)
|
||||
void cv::viz::Viz3d::VizImpl::addLight(Vec3d position, Vec3d focalPoint, const Color &color, const Color &diffuseColor,
|
||||
const Color &ambientColor, const Color &specularColor)
|
||||
{
|
||||
Color color_ = vtkcolor(color);
|
||||
Color diffuseColor_ = vtkcolor(diffuseColor);
|
||||
|
@ -65,7 +65,8 @@ public:
|
||||
void setOffScreenRendering();
|
||||
|
||||
void removeAllLights();
|
||||
void addLight(Vec3d position, Vec3d focalPoint, Color color, Color diffuseColor, Color ambientColor, Color specularColor);
|
||||
void addLight(Vec3d position, Vec3d focalPoint, const Color &color, const Color &diffuseColor,
|
||||
const Color &ambientColor, const Color &specularColor);
|
||||
|
||||
void showWidget(const String &id, const Widget &widget, const Affine3d &pose = Affine3d::Identity());
|
||||
void removeWidget(const String &id);
|
||||
|
@ -319,7 +319,7 @@ void cv::viz::Widget3D::setColor(const Color &color)
|
||||
actor->Modified();
|
||||
}
|
||||
|
||||
template<> cv::viz::Widget3D cv::viz::Widget::cast<cv::viz::Widget3D>()
|
||||
template<> cv::viz::Widget3D cv::viz::Widget::cast<cv::viz::Widget3D>() const
|
||||
{
|
||||
vtkProp3D *actor = vtkProp3D::SafeDownCast(WidgetAccessor::getProp(*this));
|
||||
CV_Assert("Widget cannot be cast." && actor);
|
||||
@ -341,7 +341,7 @@ void cv::viz::Widget2D::setColor(const Color &color)
|
||||
actor->Modified();
|
||||
}
|
||||
|
||||
template<> cv::viz::Widget2D cv::viz::Widget::cast<cv::viz::Widget2D>()
|
||||
template<> cv::viz::Widget2D cv::viz::Widget::cast<cv::viz::Widget2D>() const
|
||||
{
|
||||
vtkActor2D *actor = vtkActor2D::SafeDownCast(WidgetAccessor::getProp(*this));
|
||||
CV_Assert("Widget cannot be cast." && actor);
|
||||
|
Loading…
Reference in New Issue
Block a user