41 const std::vector<geo::Coordinate> &
fitPoints,
44 double stanx,
double stany,
double stanz,
45 double etanx,
double etany,
double etanz,
47 const Layer_CSPtr
layer,
48 const MetaInfo_CSPtr
metaInfo =
nullptr,
49 const Block_CSPtr
block =
nullptr);
51 Spline(
const Spline_CSPtr other,
bool sameID =
false);
55 int maxNumberOfSnapPoints)
const override;
80 virtual CADEntity_CSPtr
rotate(
const geo::Coordinate &rotation_center,
const double rotation_angle)
const override;
100 virtual CADEntity_CSPtr
modify(Layer_CSPtr layer,
const MetaInfo_CSPtr
metaInfo, Block_CSPtr
block)
const override;
106 ed.
visit(shared_from_this());
110 virtual std::map<unsigned int, lc::geo::Coordinate>
dragPoints()
const override;
virtual CADEntity_CSPtr mirror(const geo::Coordinate &axis1, const geo::Coordinate &axis2) const override
virtual CADEntity_CSPtr move(const geo::Coordinate &offset) const override
move, moves by an offset
short degree() const
degree, Returns degree of spline
double fitTolerance() const
Returns the fit point tolerance of the spline.
virtual void visit(entity::Line_CSPtr)=0
Layer_CSPtr layer() const
layer return the layer this entity is placed on
virtual std::map< unsigned int, lc::geo::Coordinate > dragPoints() const override
Get all points of the entity that can be dragged.
bool closed() const
closed, returns if spline is closed or not
MetaInfo_CSPtr metaInfo() const
DECLARE_SHORT_SHARED_PTR(Document)
virtual void accept(GeoEntityVisitor &v) const override
void calculateBoundingBox()
virtual CADEntity_CSPtr copy(const geo::Coordinate &offset) const override
copy, copies line by an offset
virtual geo::Coordinate nearestPointOnPath(const geo::Coordinate &coord) const override
Find the nearest point on the path for this entity for the coordinate coord The path of a entity that...
Block_CSPtr block() const
Return the current entity block.
const std::vector< double > & knotPoints() const
Return a vector of knotpoints.
virtual std::vector< EntityCoordinate > snapPoints(const geo::Coordinate &coord, const SimpleSnapConstrain &constrain, double minDistanceToSnap, int maxNumberOfSnapPoints) const override
Find a number of snap points the line has available This function returns a ordered list...
const std::vector< Coordinate > & fitPoints() const
Return a vector of fitpoints.
virtual CADEntity_CSPtr rotate(const geo::Coordinate &rotation_center, const double rotation_angle) const override
rotate, rotate operation
Spline(const std::vector< geo::Coordinate > &controlPoints, const std::vector< double > &knotPoints, const std::vector< geo::Coordinate > &fitPoints, int degree, bool closed, double fitTolerance, double stanx, double stany, double stanz, double etanx, double etany, double etanz, double nx, double ny, double nz, splineflag flags, const Layer_CSPtr layer, const MetaInfo_CSPtr metaInfo=nullptr, const Block_CSPtr block=nullptr)
Spline, Constructor with MetaTypes.
const std::vector< Coordinate > & controlPoints() const
control_points, Returns Control points of spline
virtual void dispatch(EntityDispatch &ed) const override
virtual CADEntity_CSPtr setDragPoints(std::map< unsigned int, lc::geo::Coordinate > dragPoints) const override
Return modified entity.
virtual CADEntity_CSPtr modify(Layer_CSPtr layer, const MetaInfo_CSPtr metaInfo, Block_CSPtr block) const override
modify Return a new entity with the same ID bit with possible modified metainfo and/pr layer informat...
virtual const geo::Area boundingBox() const override
boundingBox of the entity
virtual CADEntity_CSPtr scale(const geo::Coordinate &scale_center, const geo::Coordinate &scale_factor) const override
scale, scales the entity