FougTools  0.7.0dev-046fb6a
Handy tools for C++, Qt and OpenCascade
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
point_on_faces_projector.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 <gp_Pnt.hxx>
20 #include <gp_Vec.hxx>
21 #include <gp_Pnt.hxx>
22 #include <TopoDS_Face.hxx>
23 class TopoDS_Shape;
24 
25 namespace occ {
26 
28 {
29 public:
31  {
32  Result();
33  Result(const TopoDS_Face& sFace,
34  const gp_Pnt& sPoint,
35  const gp_Vec& sNormal);
36  const bool isValid;
37  const TopoDS_Face face;
38  const gp_Pnt point;
39  const gp_Vec normal;
40  };
41 
43  PointOnFacesProjector(const TopoDS_Shape& faces);
45 
46  void prepare(const TopoDS_Shape& faces);
47  const TopoDS_Face* faceOfProjection(const gp_Pnt& point) const;
48  Result projected(const gp_Pnt& point) const;
49  Result operator()(const gp_Pnt& point) const;
50 
51 private:
52  class Private;
53  Private* const d;
54 };
55 
56 } // namespace occ
const gp_Pnt point
Definition: point_on_faces_projector.h:38
const gp_Vec normal
Definition: point_on_faces_projector.h:39
Definition: point_on_faces_projector.h:30
#define OCCTOOLS_EXPORT
Definition: occtools.h:27
Provides projection of a point on a soup of faces.
Definition: point_on_faces_projector.h:27
Definition: ais_text.cpp:31
const TopoDS_Face face
Definition: point_on_faces_projector.h:37
const bool isValid
Definition: point_on_faces_projector.h:36