|
PointCloud2BIM Library
1.0
Library to facilitate the transpormation of point clouds into digital BIM representation
|
Public Member Functions | |
| Plane () | |
| Creates empty plane. | |
| Plane (double _a, double _b, double _c, double _d) | |
Creates plane from given plane coefficients ( ). More... | |
| Plane (Vector3 _a, Vector3 _b, Vector3 _c) | |
| Creates plane from the coordinates (x,y,z) of the three given points. More... | |
| Plane (PointXYZ _a, PointXYZ _b, PointXYZ _c) | |
| Creates plane from three given points (PointXYZNormal). More... | |
| Plane (PointXYZNormal _a, PointXYZNormal _b, PointXYZNormal _c) | |
| Creates plane from three given points (PointXYZNormal). More... | |
| const double * | getNormal () const |
| Returns plane normal vector. More... | |
| double * | getNormal () |
| Returns plane normal vector. More... | |
| void | setNormal (double nx, double ny, double nz) |
| Sets plane normal vector. More... | |
| const double * | getMin () const |
| Returns minimum coordinates. More... | |
| void | setMin (double x, double y, double z) |
| Sets minimum coordinates. More... | |
| const double * | getMax () const |
| Returns maximum coordinates. More... | |
| void | setMax (double x, double y, double z) |
| Sets maximum coordinates. More... | |
| int | getId () const |
| Returns Plane identifier. More... | |
| void | setId (int id) |
| Sets Plane identifier. More... | |
| int | getFloorId () const |
| Returns Floor identifier. More... | |
| void | setFloorId (int id) |
| Sets Floor identifier. More... | |
| double | getD () const |
Returns coefficient d (Plane = ). More... | |
| void | setD (double d) |
Sets coefficient d (Plane = ). More... | |
| std::vector< int > & | getPointCloudIDs () |
| Returns Plane PointClouds identifiers. More... | |
| void | setPointCloudIDs (std::vector< int > pcl_ids) |
| const std::vector< PointCloud > & | getPointClouds () const |
| Returns Plane PointClouds. More... | |
| std::vector< PointCloud > & | getPointClouds () |
| Returns Plane PointClouds. More... | |
| void | addPointCloud (PointCloud &pc) |
| Adds PointCloud to the Plane. More... | |
| template<typename T > | |
| void | getPoints (std::vector< T > &points) |
| Returns Plane Points. More... | |
| Vector3 | getNormalVector () |
| Returns Plane normal vector. More... | |
| double | distanceTo (Vector3 &v) |
| Returns the distance between the receiver and the given point. More... | |
| double | distanceTo (PointXYZ &p) |
| Returns the distance between the receiver and the given point. More... | |
| double | distanceTo (PointXYZNormal p) |
| Returns the distance between the receiver and the given point. More... | |
| double | distanceTo (std::vector< PointXYZ > &points) |
| double | distanceTo (std::vector< PointXYZNormal > &points) |
| Returns the distance between the receiver and the given point. More... | |
Static Public Member Functions | |
| static double | angleBetween (double a1, double b1, double c1, double a2, double b2, double c2) |
| static void | getLocalContinuity (std::vector< PointXYZ > points1, std::vector< PointXYZ > points2, std::vector< int > &result) |
| static void | getLocalMatch (std::vector< PointXYZNormal > points1, std::vector< PointXYZNormal > points2, std::vector< int > &result1, std::vector< int > &result2) |
| Search for the overlapping points of two given planes. More... | |
| static bool | makeWall (Plane &plane1, Plane &plane2, std::vector< PointXYZ > &result1, std::vector< PointXYZ > &result2) |
| Search for the overlapping points of two given planes. More... | |
| static double | checkLocalMatch (std::vector< PointXYZNormal > points1, std::vector< PointXYZNormal > points2) |
| Returns the ratio of the overlapping area of two planes over the area of the smaller plane. More... | |
| static double | checkMatchingArea (std::vector< PointXYZNormal > points1, std::vector< PointXYZNormal > points2) |
| Returns the size of the overlapping area of two planes. More... | |
| static void | giveCenterPlane (std::vector< PointXYZNormal > points1, std::vector< PointXYZNormal > points2, double(&v1)[3], double(&v2)[3], double(&v3)[3], double &d, std::vector< PointXYZNormal > &corners) |
| Calculates the centerplane between the two given planes. More... | |
| static bool | isInnerPlane (std::vector< PointXYZNormal > points, std::vector< BitGrid > roomGrids, double minOffset) |
| Evaluates whether the plane is inner (between two rooms) or not (at the pointcloud boundary). More... | |
| static bool | generateOuterPlane (std::vector< PointXYZNormal > points, std::vector< PointXYZNormal > &outPoints, std::vector< BitGrid > roomGrids, double minOffset) |
| Generates a copy of the plane at the pointcloud boundary with given offset. More... | |
| static double | distanceBetweenPlanes (Plane &pl1, Plane &pl2) |
| Returns distance between planes with same a, b, c coefficients. More... | |
|
inline |
Creates plane from given plane coefficients (
).
| _a | Coefficient a |
| _b | Coefficient b |
| _c | Coefficient c |
| _d | Coefficient d |
Creates plane from the coordinates (x,y,z) of the three given points.
| _a | Vector of the coordinates of the point 1 |
| _b | Vector of the coordinates of the point 2 |
| _c | Vector of the coordinates of the point 3 |
Creates plane from three given points (PointXYZNormal).
|
inline |
Creates plane from three given points (PointXYZNormal).
|
inline |
Adds PointCloud to the Plane.
| pc | PointCloud to be added |
|
inlinestatic |
Returns the ratio of the overlapping area of two planes over the area of the smaller plane.
| points1 | Points of the first plane |
| points2 | Points of the second plane |
|
inlinestatic |
Returns the size of the overlapping area of two planes.
| points1 | Points of the first plane |
| points2 | Points of the second plane |
Returns distance between planes with same a, b, c coefficients.
| pl1 | The first plane |
| pl2 | The second plane |
|
inline |
Returns the distance between the receiver and the given point.
| v | Vector of the coordinates (x, y, z) of the point to which the distance is calculated |
|
inline |
Returns the distance between the receiver and the given point.
| p | Point to which the distance is calculated |
|
inline |
Returns the distance between the receiver and the given point.
| p | Point to which the distance is calculated |
|
inline |
Returns the distance between the receiver and the given point.
| p | Point to which the distance is calculated |
|
inlinestatic |
Generates a copy of the plane at the pointcloud boundary with given offset.
| points | Points of the plane to be copied |
| outPoints | Return parameter storing points of the newly generated plane |
| roomGrids | Vector of grids of all rooms in the pointcloud |
| minOffset | Parameter defining the offset (in the normal direction, positive value ~ out of the pointcloud) of the newly generated plane |
|
inline |
Returns coefficient d (Plane =
).
|
inlinestatic |
Search for the overlapping points of two given planes.
| points1 | Points of the first plane |
| points2 | Points of the second plane |
| result1 | Indexes of the points1 which are overlapping with the second plane |
| result2 | Indexes of the points2 which are overlapping with the first plane |
|
inline |
Returns maximum coordinates.
|
inline |
Returns minimum coordinates.
|
inline |
Returns plane normal vector.
|
inline |
Returns plane normal vector.
|
inline |
Returns Plane PointClouds identifiers.
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Calculates the centerplane between the two given planes.
| points1 | Plane 1 |
| points2 | Plane 2 |
| v1 | Return parameter corresponding to the normal vector of the calculated centerplane |
| v2 | Return parameter corresponding to the in-plane vector of the calculated centerplane |
| v3 | Return parameter corresponding to the in-plane vector of the calculated centerplane |
| d | Return parameter corresponding to coefficient d of the calculated plane |
| corners | Return parameter corresp[onding to the set of points defining the centerplane |
|
inlinestatic |
Evaluates whether the plane is inner (between two rooms) or not (at the pointcloud boundary).
| points | Points of the plane to be evaluated |
| roomGrids | Vector of grids of all rooms in the pointcloud |
| minOffset | Parameter defining how far from the plane to search for the room |
|
inlinestatic |
Search for the overlapping points of two given planes.
| points1 | Points of the first plane |
| points2 | Points of the second plane |
| result1 | Return parametr storing indexes of the points1 which are overlapping with the second plane |
| result2 | Return parametr storing indexes of the points2 which are overlapping with the first plane |
|
inline |
Sets coefficient d (Plane =
).
| d | Coefficient d to be set |
|
inline |
|
inline |
Sets maximum coordinates.
| x | X coordinate to be set |
| y | Y coordinate to be set |
| z | Z coordinate to be set |
|
inline |
Sets minimum coordinates.
| x | X coordinate to be set |
| y | Y coordinate to be set |
| z | Z coordinate to be set |
|
inline |
Sets plane normal vector.
| nx | X component |
| ny | Y component |
| nz | Z component |
1.8.11