You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
744 B
19 lines
744 B
#pragma once
|
|
|
|
#include <macros.h>
|
|
#include <data/data_type.hpp>
|
|
|
|
namespace internal
|
|
{
|
|
struct PE_API extrude_axis {
|
|
virtual ~extrude_axis() = default;
|
|
|
|
// 输入的p需要在axis局部坐标系下
|
|
virtual double get_closest_param(Eigen::Vector3d p) const = 0;
|
|
// 输入的p需要在axis局部坐标系下,且输出的局部坐标需要由轴坐标系到子面坐标系
|
|
virtual std::pair<Eigen::Vector2d, Eigen::Projective2d> to_pattern_local(double t, Eigen::Vector3d p) const = 0;
|
|
virtual Eigen::AffineCompact3d get_local_cap_mat(double t) const = 0;
|
|
|
|
virtual aabb_t get_local_aabb() const = 0;
|
|
};
|
|
} // namespace internal
|