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

## Classes

class  Point3
3D Point More...

class  TimerC
Timer class. More...

class  Vector3
3D Vector 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 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)

bool isPure ()
Check if pure or lm build.

bool activateWof (const char *key, bool bSystemWide)

bool deactivateWof ()

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, int numGrowSteps)
Reconstruct with an automatic spacing value. More...

MeshPtr reconstruct_abs (std::vector< Point3 > &vPoints, double spacingAbs, int numGrowSteps)
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)

void setGlobalNumCPU (int numCPU)
setGlobalNumCPU More...

int getGlobalNumCPU ()
getGlobalNumCPU 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...

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

## ◆ MeshPtr

 typedef std::shared_ptr GEOM_WOF::MeshPtr

MeshPtr is a shared pointer to Mesh

## ◆ 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] vPoints are the points to be transformed [out] xoff,yoff,zoff are used to return the applied offsets

## ◆ getGlobalNumCPU()

 int GEOM_WOF::getGlobalNumCPU ( )
Returns
The number of CPUs per thread layer.

## ◆ setGlobalNumCPU()

 void GEOM_WOF::setGlobalNumCPU ( int numCPU )

Sets the number of CPUs per thread layer. This is a global property.

Parameters
 numCPU specifies the number of used CPUs. The special value 0 means autodetection

## ◆ 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.