38 CADEntity(CADEntity_CSPtr cadEntity,
bool sameID);
67 const double rotation_angle)
const = 0;
105 Layer_CSPtr
layer()
const;
113 const std::shared_ptr<const T>
metaInfo(std::string metaName)
const {
116 auto b=std::dynamic_pointer_cast<
const T>(a);
135 Block_CSPtr
block()
const;
virtual CADEntity_CSPtr scale(const geo::Coordinate &scale_center, const geo::Coordinate &scale_factor) const =0
Function implementation for Scale.
virtual ~CADEntity()=default
virtual CADEntity_CSPtr mirror(const geo::Coordinate &axis1, const geo::Coordinate &axis2) const =0
Layer_CSPtr layer() const
layer return the layer this entity is placed on
virtual CADEntity_CSPtr move(const geo::Coordinate &offset) const =0
Function for Move.
virtual CADEntity_CSPtr copy(const geo::Coordinate &offset) const =0
Function for Copy.
virtual void dispatch(EntityDispatch &) const =0
MetaInfo_CSPtr metaInfo() const
DECLARE_SHORT_SHARED_PTR(Document)
virtual CADEntity_CSPtr modify(Layer_CSPtr layer, const MetaInfo_CSPtr metaInfo, Block_CSPtr block) const =0
modify Return a new entity with the same ID bit with possible modified metainfo and/pr layer informat...
virtual void accept(GeoEntityVisitor &v) const override
const std::shared_ptr< const T > metaInfo(std::string metaName) const
Block_CSPtr block() const
Return the current entity block.
virtual CADEntity_CSPtr rotate(const geo::Coordinate &rotation_center, const double rotation_angle) const =0
Function implementation for rotate.
virtual const geo::Area boundingBox() const =0
boundingBox Return the bounding box of this entity. This should be as tight around the entity as poss...