You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Creates the FindSurface context object and returns it into the given pointer context.
Return
An error code of FS_ERROR with value of FS_NO_ERROR indicating if succeeded to create the context. Otherwise, error codes corresponding to the reason of the failure is returned.
Possible Errors
FS_OUT_OF_MEMORY in case that the system fails to allocate memory for the context. In this case, context will not be modified.
Resets the context to the initial state. All parameters will be reset to their default value and the internal buffers allocated by the previous invocations of setPointCloudFloat/Double or getInOutlierFlags will be released.
FS_ERROR setPointCloudFloat(FIND_SURFACE_CONTEXT context, const void *pointer, unsigned int count, unsigned int stride)
FS_ERROR setPointCloudDouble(FIND_SURFACE_CONTEXT context, const void *pointer, unsigned int count, unsigned int stride)
Summary
Sets input pointcloud data through the pointer to the data array, count of the points and stride of the point element in the data array. stride can be zero if the data array contains tightly-packed xyz values. In that case, the value is considered to be 12 for `float` array or 24 for `double` array.
Return
An error code of FS_ERROR with value of FS_NO_ERROR indicating if succeeded to create the context. Otherwise, error codes corresponding to the reason of the failure is returned.
Possible Errors
FS_OUT_OF_MEMORY if the system fails to allocate memory for the input points.
stride is a non-zero value that is less than the stride of when the array contains tightly-packed xyz.
Note
The invocation of this function with pointer is set to NULL or count is zero will be ignored silently.
The points data given through pointer is copied to an internal buffer in the context. The buffer will be released and reallocated when new points is given to the context through this function.
Sets measurement accuracy to the given accuracy. The value must be non-zero positive. The default value is zero.
Note: this parameter must be set manually before invoking FindSurface's algorithm since the default value will be considered to be invalid when the algorithm begins to operate.
Sets mean distance to the given distance. The value must be non-zero positive. The default value is zero.
Note: this parameter must be set manually before invoking FindSurface's algorithm since the default value will be considered to be invalid when the algorithm begins to operate.
Run FindSurface algorithm on the point array that have been set to setPointCloudFloat/Double functions. The algorithm searches the points for a specific geometry surface represented by type around the point of which index is start_index (seed index) in the point array. touchRadius (seed radius) defines the initial search space and must be positive a non-zero value. The result will be written in the struct FS_FEATURE_RESULT pointed by result.
Return
An error code of FS_ERROR with value of FS_NO_ERROR indicating if succeeded to create the context. Otherwise, error codes corresponding to the reason of the failure is returned.
Possible errors
FS_OUT_OF_MEMORY if the system fails to allocate memory for intermediate data arrays.
The following variations are specializations of findSurface function, which is designed to search for surfaces of particular feature types. Refer to this document for the usage of these variations.
A specialization of findSurface function to search for a strip plane (long and narrow) using two seed points (index_1 and index_2) on the plane. touchRadius should be approximately half of the thickness of the target geometry for better results. Refer to the findSurface function reference for the common details.
A specialization of findSurface function to search for a rod cylinder (long and narrow) using two seed points (index_1 and index_2) on the lateral surface. touchRadius should be approximately half of the thickness of the target geometry for better results. Refer to the findSurface function reference for the common details.
A specialization of findSurface function to search for a disk cylinder (thin and broad) using three seed points (index_1, index_2 and index_3) on the lateral surface. touchRadius should be approximately half of the thickness of the target geometry for better results. Refer to the findSurface function reference for the common details.
A specialization of findSurface function to search for a disk cone (thin and broad) using three seed points (index_1, index_2 and index_3) on the lateral surface. touchRadius should be approximately half of the thickness of the target geometry for better results. Refer to the findSurface function reference for the common details.
A specialization of findSurface function to search for a thin ring torus using three seed points (index_1, index_2 and index_3) on the surface. touchRadius should be approximately half of the thickness of the target geometry for better results. Refer to the findSurface function reference for the common details.
Provides an array of which elements indicate whether the corresponding points are outliers. A non-zero value means outlier. Otherwise, it means inlier. The length of the array is the same with the input point array.
Note
The returned array must not be modified or deallocated because the returned pointer points to an internal buffer array in the context.