Geom Software - C++ Programming and Geometry Libraries
WOF Documentation pages v1.16
GEOM_WOF Namespace Reference

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< MeshMeshPtr
 

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, double sfactor=2.0, int numGrowSteps=10)
 Reconstruct with an automatic spacing value. More...
 
MeshPtr reconstruct_abs (std::vector< Point3 > &vPoints, 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...
 

Detailed Description

Namespace GEOM_WOF

Namespace of the WOF library

Typedef Documentation

◆ MeshPtr

typedef std::shared_ptr<Mesh> GEOM_WOF::MeshPtr

MeshPtr is a shared pointer to Mesh

Function Documentation

◆ autoOffset()

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.

Parameters
[in,out]vPointsare the points to be transformed
[out]xoff,yoff,zoffare used to return the applied offsets

◆ subscribe()

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.