UsTK : Ultrasound ToolKit  version 2.0.1 under development (2024-05-16)
usGeometryDisplayTools.h
1 /****************************************************************************
2  *
3  * This file is part of the ustk software.
4  * Copyright (C) 2016 - 2017 by Inria. All rights reserved.
5  *
6  * This software is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * ("GPL") version 2 as published by the Free Software Foundation.
9  * See the file LICENSE.txt at the root directory of this source
10  * distribution for additional information about the GNU GPL.
11  *
12  * For using ustk with software that can not be combined with the GNU
13  * GPL, please contact Inria about acquiring a ViSP Professional
14  * Edition License.
15  *
16  * This software was developed at:
17  * Inria Rennes - Bretagne Atlantique
18  * Campus Universitaire de Beaulieu
19  * 35042 Rennes Cedex
20  * France
21  *
22  * If you have questions regarding the use of this file, please contact
23  * Inria at ustk@inria.fr
24  *
25  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27  *
28  * Author:
29  * Jason Chevrie
30  *
31  *****************************************************************************/
32 
33 #ifndef __usGeometryDisplayTools_h_
34 #define __usGeometryDisplayTools_h_
35 
36 #include <limits>
37 
38 #include <visp3/core/vpColor.h>
39 #include <visp3/core/vpHomogeneousMatrix.h>
40 #include <visp3/core/vpImage.h>
41 
42 #include <visp3/ustk_core/usBSpline3D.h>
43 #include <visp3/ustk_core/usOrientedPlane3D.h>
44 #include <visp3/ustk_core/usPolynomialCurve2D.h>
45 #include <visp3/ustk_core/usPolynomialCurve3D.h>
46 
48 {
49 
50 template <class ImageDataType>
51 VISP_EXPORT void displayFrame(const vpImage<ImageDataType> &I, const vpHomogeneousMatrix &imageMFrame,
52  double Xscale = 3000, double Yscale = 3000);
53 
55 
56 template <class ImageDataType>
57 VISP_EXPORT void display(const usOrientedPlane3D &plane, const vpImage<ImageDataType> &I,
58  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
59  const vpColor &color = vpColor::green);
60 
62 
63 template <class ImageDataType>
64 VISP_EXPORT void display(const usPolynomialCurve2D &curve, const vpImage<ImageDataType> &I, double Xscale = 3000,
65  double Yscale = 3000, const vpColor &color = vpColor::red, int nbRenderingLines = 10);
66 
68 
69 template <class ImageDataType>
70 VISP_EXPORT void display(const usPolynomialCurve3D &curve, const vpImage<ImageDataType> &I,
71  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
72  const vpColor &color = vpColor::red, int nbRenderingLines = 10,
73  double visibilityDistance = std::numeric_limits<double>::infinity());
74 template <class ImageDataType>
75 VISP_EXPORT void displayCurvatureFromShape(const usPolynomialCurve3D &spline, const vpImage<ImageDataType> &I,
76  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000,
77  double Yscale = 3000, const vpColor &color = vpColor::black);
78 
80 
81 template <class ImageDataType>
82 VISP_EXPORT void displayLine(const usBSpline3D &spline, const vpImage<ImageDataType> &I,
83  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
84  const vpColor &color = vpColor::red, int nbRenderingLinesPerSegment = 10,
85  double visibilityDistance = std::numeric_limits<double>::infinity());
86 template <class ImageDataType>
87 VISP_EXPORT void displayExtremities(const usBSpline3D &spline, const vpImage<ImageDataType> &I,
88  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
89  const vpColor &color = vpColor::red,
90  double visibilityDistance = std::numeric_limits<double>::infinity());
91 template <class ImageDataType>
92 VISP_EXPORT void display(const usBSpline3D &spline, const vpImage<ImageDataType> &I,
93  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
94  const vpColor &color = vpColor::red, int nbRenderingLines = 10,
95  double visibilityDistance = std::numeric_limits<double>::infinity());
96 template <class ImageDataType>
97 VISP_EXPORT void displayCurvatureFromShape(const usBSpline3D &spline, const vpImage<ImageDataType> &I,
98  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000,
99  double Yscale = 3000, const vpColor &color = vpColor::black);
100 
101 } // namespace usGeometryDisplayTools
102 
103 #endif // __usGeometryDisplayTools_h_
VISP_EXPORT void displayExtremities(const usBSpline3D &spline, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000, const vpColor &color=vpColor::red, double visibilityDistance=std::numeric_limits< double >::infinity())
VISP_EXPORT void display(const usOrientedPlane3D &plane, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000, const vpColor &color=vpColor::green)
Display usOrientedPlane3D.
VISP_EXPORT void displayLine(const usBSpline3D &spline, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000, const vpColor &color=vpColor::red, int nbRenderingLinesPerSegment=10, double visibilityDistance=std::numeric_limits< double >::infinity())
Display usBSpline3D.
VISP_EXPORT void displayFrame(const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMFrame, double Xscale=3000, double Yscale=3000)
VISP_EXPORT void displayCurvatureFromShape(const usPolynomialCurve3D &spline, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000, const vpColor &color=vpColor::black)