FougTools  0.7.0dev-046fb6a
Handy tools for C++, Qt and OpenCascade
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
brep_point_on_faces_projection.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** FougTools
3 ** Copyright Fougue (30 Mar. 2015)
4 ** contact@fougue.pro
5 **
6 ** This software is a computer program whose purpose is to provide utility
7 ** tools for the C++ language and the Qt toolkit.
8 **
9 ** This software is governed by the CeCILL-C license under French law and
10 ** abiding by the rules of distribution of free software. You can use,
11 ** modify and/ or redistribute the software under the terms of the CeCILL-C
12 ** license as circulated by CEA, CNRS and INRIA at the following URL
13 ** "http://www.cecill.info".
14 ****************************************************************************/
15 
16 #pragma once
17 
18 #include "occtools.h"
19 #include <TopoDS_Face.hxx>
20 #include <TopoDS_Shape.hxx>
21 #include <gp_Pnt.hxx>
22 #include <gp_Vec.hxx>
23 #include <utility>
24 
25 namespace occ {
26 
28 {
29 public:
31  BRepPointOnFacesProjection(const TopoDS_Shape& faces);
33  void releaseMemory();
34 
35  void prepare(const TopoDS_Shape& faces);
36  BRepPointOnFacesProjection& compute(const gp_Pnt& point);
37  bool isDone() const;
38 
39  const TopoDS_Face& solutionFace() const;
40  gp_Pnt solutionPoint() const;
41  std::pair<double, double> solutionUV() const;
42  gp_Vec solutionNormal() const;
43 
44 private:
45  class Private;
46  Private* const d;
47 };
48 
49 } // namespace occ
#define OCCTOOLS_EXPORT
Definition: occtools.h:27
Definition: ais_text.cpp:31
Framework to perform normal point projection on a soup of topologic faces.
Definition: brep_point_on_faces_projection.h:27