Classes | |
class | Point3 |
3D Point More... | |
class | TimerC |
Timer class. More... | |
class | Vector3 |
3D Vector More... | |
class | WofLicenseException |
License-Exception. More... | |
struct | WofBugException |
Bug-Exception. More... | |
class | ProgressBase |
Base class for progress subscribers. More... | |
class | Mesh |
3D Mesh class More... | |
Typedefs | |
typedef std::shared_ptr< Mesh > | MeshPtr |
Enumerations | |
enum | FileType { FT_STL , FT_PLY , FT_XYZ , FT_BIN , FT_LIST , FT_UNKNOWN } |
Filetype. More... | |
Functions | |
std::ostream & | operator<< (std::ostream &stream, const Point3 &pnt) |
std::istream & | operator>> (std::istream &stream, Point3 &pnt) |
double | sqDistance (const Point3 &p0, const Point3 &p1) |
Get the squared distance between two points. | |
double | sqDistance (const Point3 *p0, const Point3 *p1) |
Get the squared distance between two points. | |
double | distance (const Point3 &p0, const Point3 &p1) |
Get the squared distance between two points. | |
Point3 | center (const Point3 &p0, const Point3 &p1) |
Midpoint of p0 and p1. | |
std::ostream & | operator<< (std::ostream &stream, const Vector3 &vec) |
Vector3 | crossProduct (const Vector3 &vec0, const Vector3 &vec1) |
Cross product. | |
Vector3 | normalize (const Vector3 &other) |
Normalize. | |
Vector3 | operator- (const Vector3 &in) |
Vector3 | operator* (double d, const Vector3 &vec) |
Vector3 | operator+ (const Vector3 &vec0, const Vector3 &vec1) |
Vector3 | operator- (const Vector3 &vec0, const Vector3 &vec1) |
int | getLicenseState () |
Check the license state. More... | |
void | printLicense () |
Print license details. | |
bool | isPure () |
Check if pure or lm build. | |
bool | activateWof (const char *key, bool bSystemWide) |
Activate WOF license. More... | |
bool | deactivateWof () |
Deactivate WOF license. More... | |
bool | extendTrial (const char *key) |
Extend Trial. More... | |
void | printVersion () |
Print version number. More... | |
void | getVersion (int &versionMajor, int &versionMinor) |
Get version numbers. More... | |
bool | isRelease () |
Check if the present binary is a Release or Debug build. More... | |
MeshPtr | melt (std::vector< Point3 > &vInputCorners, double avgLength, double featureThresh=15.0) |
Remesh (melt) a triangle mesh. More... | |
MeshPtr | reconstruct_auto (std::vector< Point3 > &vPoints, bool bAllowSmoothing, double sfactor=2.0, int numGrowSteps=10) |
Reconstruct with an automatic spacing value. More... | |
MeshPtr | reconstruct_abs (std::vector< Point3 > &vPoints, bool bAllowSmoothing, double spacingAbs, int numGrowSteps=10) |
Reconstruct with an absolute spacing value. More... | |
void | toCloud (std::vector< Point3 > &vCornersIn, double length, double featureThresh, std::vector< Point3 > &vCloudOut) |
Mesh-to-Cloud. More... | |
void | edgeFlips (MeshPtr pMesh) |
Flip edges. More... | |
void | edgeFlipsSimA (MeshPtr pMesh) |
Flip edges - simulated annealing. More... | |
void | laplacianSmoothing (MeshPtr pMesh, int numIterations) |
Laplacian smoothing. More... | |
int | reduce (MeshPtr pMesh, double targetLen=DBL_MAX, double maxDev=2.0) |
Reduce. More... | |
void | autoOffset (std::vector< Point3 > &vPoints, double &xoff, double &yoff, double &zoff) |
Automatic offset. More... | |
void | subscribe (ProgressBase *pProgressBase) |
Subscribe to progress updates. More... | |
FileType | getFileType (const std::string &filename) |
Get File Type. More... | |
bool | writePoints_ASCII (const char *filename, const std::vector< Point3 > &vPoints) |
Write points to an ASCII file. More... | |
bool | writePoints_BIN (const char *filename, std::vector< Point3 > &vPoints) |
Write points to a binary file. More... | |
bool | readPly (const char *filename, bool bReadPoints, std::vector< Point3 > &vPointsOut) |
Write points to a *.ply file. More... | |
bool | writePointsPly (const std::string &filename, std::vector< GEOM_WOF::Point3 > &vPoints, bool bASCII) |
bool | readPoints_ASCII (const char *filename, std::vector< Point3 > &vPoints) |
Read points from an ASCII file. More... | |
bool | readPoints_BIN (const char *filename, std::vector< Point3 > &vPointsOut) |
Read points from a binary file. More... | |
bool | readSTL_ASCII (const char *filename, std::vector< Point3 > &vTriangleCorners) |
Read a mesh from ASCII STL. More... | |
bool | readPoints_auto (std::string &inFilename, std::vector< Point3 > &vPoints) |
Read points from a file (automatic detection) More... | |
bool | writePoints_auto (std::string &outFilename, std::vector< Point3 > &vPoints, bool bASCII) |
Write points to a file. More... | |
bool | writeMesh_auto (const std::string &filename, std::shared_ptr< Mesh > pMesh, bool bASCII) |
Write mesh to a file. More... | |
Namespace GEOM_WOF
Namespace of the WOF library
typedef std::shared_ptr<Mesh> GEOM_WOF::MeshPtr |
MeshPtr is a shared pointer to Mesh
void GEOM_WOF::autoOffset | ( | std::vector< Point3 > & | vPoints, |
double & | xoff, | ||
double & | yoff, | ||
double & | zoff | ||
) |
This function moves the center of the point cloud to the origin. This is beneficial for large coordinates because computations can then be carried out with the best possible accuracy. But it's also useful for output formats supporting only 32 bits like STL.
[in,out] | vPoints | are the points to be transformed |
[out] | xoff,yoff,zoff | are used to return the applied offsets |
void GEOM_WOF::subscribe | ( | ProgressBase * | pProgressBase | ) |
You can provide your own progress receiver class (e.g. progress bar) deriving from ProgressBase. Whenever the progress state changes its update method ProgressBase::update() will be called.