LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ftrim.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "cad/base/cadentity.h"
6 #include <vector>
7 
8 namespace lc {
9 
10  class FTrim : public EntityDispatch {
11  public:
12  FTrim(std::vector<entity::CADEntity_CSPtr> limitingEntities, entity::CADEntity_CSPtr trimmedShape, geo::Coordinate trimPoint);
13 
14  virtual void visit(entity::Line_CSPtr);
15  virtual void visit(entity::Point_CSPtr);
16  virtual void visit(entity::Circle_CSPtr);
17  virtual void visit(entity::Arc_CSPtr);
18  virtual void visit(entity::Ellipse_CSPtr);
19  virtual void visit(entity::Text_CSPtr);
20  virtual void visit(entity::Spline_CSPtr);
21  virtual void visit(entity::MText_CSPtr);
22  virtual void visit(entity::DimAligned_CSPtr);
23  virtual void visit(entity::DimAngular_CSPtr);
24  virtual void visit(entity::DimDiametric_CSPtr);
25  virtual void visit(entity::DimLinear_CSPtr);
26  virtual void visit(entity::DimRadial_CSPtr);
27  std::vector<entity::CADEntity_CSPtr> result();
28  entity::CADEntity_CSPtr trimmedShape() const;
29 
30  private:
31  std::vector<entity::CADEntity_CSPtr> _limitingEntities;
32  entity::CADEntity_CSPtr _trimmedShape;
33  std::vector<entity::CADEntity_CSPtr> _newEntities;
35  };
36 
37  class FTrim;
39 }
std::vector< entity::CADEntity_CSPtr > _limitingEntities
Definition: ftrim.h:31
std::vector< entity::CADEntity_CSPtr > _newEntities
Definition: ftrim.h:33
DECLARE_SHORT_SHARED_PTR(Document)
Definition: cadentity.h:12
entity::CADEntity_CSPtr trimmedShape() const
Definition: ftrim.cpp:98
geo::Coordinate _trimPoint
Definition: ftrim.h:34
FTrim(std::vector< entity::CADEntity_CSPtr > limitingEntities, entity::CADEntity_CSPtr trimmedShape, geo::Coordinate trimPoint)
Definition: ftrim.cpp:14
virtual void visit(entity::Line_CSPtr)
Definition: ftrim.cpp:21
entity::CADEntity_CSPtr _trimmedShape
Definition: ftrim.h:32
std::vector< entity::CADEntity_CSPtr > result()
Definition: ftrim.cpp:93