曲率结构体:
struct PrincipalCurvatures { union { float principal_curvature[3]; struct { float principal_curvature_x; float principal_curvature_y; float principal_curvature_z; }; }; float pc1 = 0.f; float pc2 = 0.f; inline constexpr PrincipalCurvatures (): PrincipalCurvatures (0.f, 0.f) {} inline constexpr PrincipalCurvatures (float _pc1, float _pc2): PrincipalCurvatures (0.f, 0.f, 0.f, _pc1, _pc2) {} inline constexpr PrincipalCurvatures (float _x, float _y, float _z): PrincipalCurvatures (_x, _y, _z, 0.f, 0.f) {} inline constexpr PrincipalCurvatures (float _x, float _y, float _z, float _pc1, float _pc2): principal_curvature_x (_x), principal_curvature_y (_y), principal_curvature_z (_z), pc1 (_pc1), pc2 (_pc2) {} friend std::ostream& operator << (std::ostream& os, const PrincipalCurvatures& p); }; struct PrincipalCurvatures { union { float