| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| |
|
| | #ifndef RS_DIMLINEAR_H |
| | #define RS_DIMLINEAR_H |
| |
|
| | #include "rs_dimension.h" |
| |
|
| | |
| | |
| | |
| | struct RS_DimLinearData { |
| | |
| | |
| | |
| | RS_DimLinearData(); |
| | RS_DimLinearData(const RS_DimLinearData& other); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | RS_DimLinearData(const RS_Vector& extensionPoint1, |
| | const RS_Vector& extensionPoint2, |
| | double angle, double oblique); |
| |
|
| | ~RS_DimLinearData(); |
| |
|
| | |
| | RS_Vector extensionPoint1; |
| | |
| | RS_Vector extensionPoint2; |
| | |
| | double angle = 0.; |
| | |
| | double oblique = 0.; |
| | }; |
| |
|
| | std::ostream& operator << (std::ostream& os, |
| | const RS_DimLinearData& dd); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | class RS_DimLinear:public RS_Dimension { |
| | public: |
| | RS_DimLinear(RS_EntityContainer *parent,const RS_DimensionData &d, const RS_DimLinearData &ed); |
| | RS_DimLinear(const RS_DimLinear& entity); |
| | ~RS_DimLinear() override = default; |
| | RS_Entity *clone() const override; |
| |
|
| | |
| | RS2::EntityType rtti() const override{ |
| | return RS2::EntityDimLinear; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | RS_DimLinearData getEData() const{ |
| | return m_dimLinearData; |
| | } |
| |
|
| | RS_VectorSolutions getRefPoints() const override; |
| | QString getMeasuredLabel() override; |
| |
|
| | RS_Vector getExtensionPoint1() const{ |
| | return m_dimLinearData.extensionPoint1; |
| | } |
| |
|
| | RS_Vector getExtensionPoint2() const{ |
| | return m_dimLinearData.extensionPoint2; |
| | } |
| |
|
| | double getAngle() const{ |
| | return m_dimLinearData.angle; |
| | } |
| |
|
| | void setAngle(double a); |
| |
|
| | double getOblique() const{ |
| | return m_dimLinearData.oblique; |
| | } |
| |
|
| | void move(const RS_Vector &offset) override; |
| | void rotate(const RS_Vector ¢er, double angle) override; |
| | void rotate(const RS_Vector ¢er, const RS_Vector &angleVector) override; |
| | void scale(const RS_Vector ¢er, const RS_Vector &factor) override; |
| | void mirror(const RS_Vector &axisPoint1, const RS_Vector &axisPoint2) override; |
| | bool hasEndpointsWithinWindow(const RS_Vector &v1, const RS_Vector &v2) const override; |
| | void stretch( |
| | const RS_Vector &firstCorner, |
| | const RS_Vector &secondCorner, |
| | const RS_Vector &offset) override; |
| | void moveRef(const RS_Vector &ref, const RS_Vector &offset) override; |
| | friend std::ostream &operator<<( |
| | std::ostream &os, |
| | const RS_DimLinear &d); |
| | void getDimPoints(RS_Vector &dimP1, RS_Vector &dimP2); |
| | protected: |
| | |
| | RS_DimLinearData m_dimLinearData; |
| |
|
| | void doUpdateDim() override; |
| | }; |
| |
|
| | #endif |
| |
|