LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
trim.h
Go to the documentation of this file.
1 #ifndef TRIM_H
2 #define TRIM_H
3 
4 #include "cad/base/cadentity.h"
6 #include "cad/interface/entityvisitor.h"
8 
9 namespace lc {
10 
11  class Trim : public EntityDispatch {
12  public:
13  Trim(QList<shared_ptr<const lc::entity::CADEntity> > limitingEntities, shared_ptr<const lc::entity::CADEntity> trimmedShape, geo::Coordinate trimPoint);
14 
15  virtual void visit(shared_ptr<const lc::Line>);
16  virtual void visit(shared_ptr<const lc::Circle>);
17  virtual void visit(shared_ptr<const lc::Arc>);
18  virtual void visit(shared_ptr<const lc::Ellipse>);
19  virtual void visit(shared_ptr<const lc::Text>);
20  virtual void visit(shared_ptr<const lc::Spline>);
21 
22  QList<shared_ptr<const lc::entity::CADEntity> > result();
23  shared_ptr<const lc::entity::CADEntity> trimmedShape() const;
24 
25  private:
26  QList<shared_ptr<const lc::entity::CADEntity> > _limitingEntities;
27  shared_ptr<const lc::entity::CADEntity> _trimmedShape;
28  QList<shared_ptr<const lc::entity::CADEntity> > _newEntities;
30  };
31 }
32 #endif // TRIM_H
Definition: cadentity.h:12
QList< shared_ptr< const lc::entity::CADEntity > > _newEntities
Definition: trim.h:28
geo::Coordinate _trimPoint
Definition: trim.h:29
QList< shared_ptr< const lc::entity::CADEntity > > result()
Definition: trim.cpp:61
shared_ptr< const lc::entity::CADEntity > trimmedShape() const
Definition: trim.cpp:66
virtual void visit(shared_ptr< const lc::Line >)
Definition: trim.cpp:19
shared_ptr< const lc::entity::CADEntity > _trimmedShape
Definition: trim.h:27
Trim(QList< shared_ptr< const lc::entity::CADEntity > > limitingEntities, shared_ptr< const lc::entity::CADEntity > trimmedShape, geo::Coordinate trimPoint)
Definition: trim.cpp:12
Definition: trim.h:11
QList< shared_ptr< const lc::entity::CADEntity > > _limitingEntities
Definition: trim.h:26