|
|
|
@ -9,8 +9,8 @@ namespace internal |
|
|
|
{ |
|
|
|
|
|
|
|
// ==================== 前置声明:辅助函数 ====================
|
|
|
|
paired_model_matrix compute_polyline_bottom_cap_matrix(const polyline_descriptor_t& desc); |
|
|
|
paired_model_matrix compute_polyline_top_cap_matrix(const polyline_descriptor_t& desc); |
|
|
|
paired_model_matrix compute_polyline_bottom_cap_matrix(const extrude_polyline_geometry_t& geom); |
|
|
|
paired_model_matrix compute_polyline_top_cap_matrix(const extrude_polyline_geometry_t& geom); |
|
|
|
|
|
|
|
// ==================== Polyline 拉伸侧面 ====================
|
|
|
|
|
|
|
|
@ -77,13 +77,14 @@ struct extrude_polyline_side_face_t : subface { |
|
|
|
internal::paired_model_matrix get_bottom_cap_matrix() const |
|
|
|
{ |
|
|
|
assert(geometry_ptr); |
|
|
|
return compute_polyline_bottom_cap_matrix(geometry_ptr->descriptor.axis); |
|
|
|
// 传入完整几何对象,使 calculate_tangent() 能正确处理圆弧段
|
|
|
|
return compute_polyline_bottom_cap_matrix(*geometry_ptr); |
|
|
|
} |
|
|
|
|
|
|
|
internal::paired_model_matrix get_top_cap_matrix() const |
|
|
|
{ |
|
|
|
assert(geometry_ptr); |
|
|
|
return compute_polyline_top_cap_matrix(geometry_ptr->descriptor.axis); |
|
|
|
return compute_polyline_top_cap_matrix(*geometry_ptr); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|