PCL 曲率 结构体

曲率结构体:

  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);
  };

在这个结构体中,principal_curvature数组和principal_curvature_xprincipal_curvature_yprincipal_curvature_z三个成员变量是等价的,它们都用来存储主曲率的值。

pc1pc2则是额外的成员变量,用来存储主曲率的最大值和最小值。在这个结构体中,pc1表示主曲率的最大值,pc2表示主曲率的最小值。

猜你喜欢

转载自blog.csdn.net/weixin_45824067/article/details/134432123
pcl