7 #ifndef TRANSFORM_SHAPE_H 8 #define TRANSFORM_SHAPE_H 10 #include "base_data_package.h" 20 template <
class BaseShapeType>
26 template <
typename... ConstructorArgs>
29 transformd_(transformd){};
34 void setTransform(
const Transformd &transformd) { transformd_ = transformd; };
36 virtual bool checkContain(
const Vecd &input_pnt,
bool BOUNDARY_INCLUDED =
true)
override 39 return BaseShapeType::checkContain(input_pnt_origin);
41 virtual Vecd findClosestPoint(
const Vecd &input_pnt)
override 44 Vecd closest_point_origin = BaseShapeType::findClosestPoint(input_pnt_origin);
49 Transformd transformd_;
51 virtual BoundingBox findBounds()
override 53 BoundingBox original_bound = BaseShapeType::findBounds();
54 return BoundingBox(transformd_.shiftFrameStationToBase(original_bound.first),
55 transformd_.shiftFrameStationToBase(original_bound.second));
60 #endif // TRANSFORM_SHAPE_H
Shape is the base class for all geometries.
Definition: solid_body_supplementary.cpp:9