OpenLexocad  28.0
Clipping.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Geom/Bnd_Box.h>
4 #include <Geom/Pln.h>
5 
6 namespace Geom
7 {
8 class LX_GEOM_EXPORT Clipping
9 {
10 public:
12  Clipping(const std::vector<Geom::Pln>& planes);
13 
14  bool isClipped(const Geom::Pnt& p) const;
15  bool isOutSide(const Geom::Bnd_Box& b) const;
16  bool isClipped(const Geom::Bnd_Box& b) const;
17  void clear();
18 
19  void setGap(double e);
20 
21  std::vector<Geom::Pln> getPlanes() const;
22 
24  std::vector<std::pair<Geom::Pnt, Geom::Pnt>> asLines();
25  std::vector<Geom::Pnt> asPoints();
27 
28 private:
29  Clipping(Geom::Pln pl0, Geom::Pln pl1, Geom::Pln pl2, Geom::Pln pl3, Geom::Pln pl4, Geom::Pln pl5);
30  std::vector<Geom::Pln> _planes;
31  double _gap;
32 };
33 
34 } // namespace Geom
Geom::Clipping::asLines
std::vector< std::pair< Geom::Pnt, Geom::Pnt > > asLines()
Geom::Bnd_Box
Definition: Bnd_Box.h:67
Geom::Clipping::isClipped
bool isClipped(const Geom::Pnt &p) const
Geom::Clipping::Clipping
Clipping(const std::vector< Geom::Pln > &planes)
Geom::Clipping::setGap
void setGap(double e)
Geom::Pln
Definition: Pln.h:52
Geom::Pnt
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:44
Geom::Clipping::getPlanes
std::vector< Geom::Pln > getPlanes() const
Geom::Clipping::clear
void clear()
Geom::Clipping::transform
void transform(Geom::Trsf tr)
Geom::Clipping::Clipping
Clipping()
Geom::Clipping::isOutSide
bool isOutSide(const Geom::Bnd_Box &b) const
Bnd_Box.h
Pln.h
Geom::Clipping::isClipped
bool isClipped(const Geom::Bnd_Box &b) const
Geom::Trsf
Definition: Trsf.h:58
Geom::Clipping::asBBox
Geom::Bnd_Box asBBox()
Geom::Clipping
Definition: Clipping.h:9
Geom::Clipping::asPoints
std::vector< Geom::Pnt > asPoints()
Geom
Definition: PropertyContainer.h:33