Improve alignment of its behaviour with std::unique_ptr - element_type typedef - release() method - identical to ptr() method - get() method to get the pointer without checking and without releasing it. - operator*() for dereferencing Method name changes - renamed rawPtr() to get() - renamed rawRef() to ref(), removed unused const version. Removed methods/operators - assignment from a raw pointer was deleted (was rarely used). Can be convenient, but uncontrolled and potentially unsafe. Do allow assignment from a literal nullptr though, since this can never leak (and also corresponds to the unique_ptr API). Additional methods - clone() method: forwards to the clone() method of the underlying data object with argument forwarding. - reset(autoPtr&&) as an alternative to operator=(autoPtr&&) STYLE: avoid implicit conversion from autoPtr to object type in many places - existing implementation has the following: operator const T&() const { return operator*(); } which means that the following code works: autoPtr<mapPolyMesh> map = ...; updateMesh(*map); // OK: explicit dereferencing updateMesh(map()); // OK: explicit dereferencing updateMesh(map); // OK: implicit dereferencing for clarity it may preferable to avoid the implicit dereferencing - prefer operator* to operator() when deferenced a return value so it is clearer that a pointer is involve and not a function call etc Eg, return *meshPtr_; vs. return meshPtr_(); |
||
---|---|---|
.. | ||
surfaceAdd | ||
surfaceBooleanFeatures | ||
surfaceCheck | ||
surfaceClean | ||
surfaceCoarsen | ||
surfaceConvert | ||
surfaceFeatureConvert | ||
surfaceFeatureExtract | ||
surfaceFind | ||
surfaceHookUp | ||
surfaceInertia | ||
surfaceInflate | ||
surfaceLambdaMuSmooth | ||
surfaceMeshConvert | ||
surfaceMeshExport | ||
surfaceMeshImport | ||
surfaceMeshInfo | ||
surfaceMeshTriangulate | ||
surfaceOrient | ||
surfacePatch | ||
surfacePointMerge | ||
surfaceRedistributePar | ||
surfaceRefineRedGreen | ||
surfaceSplitByPatch | ||
surfaceSplitByTopology | ||
surfaceSplitNonManifolds | ||
surfaceSubset | ||
surfaceToPatch | ||
surfaceTransformPoints | ||
README |
2008-10-23 Contents: surfaceAdd - adds to surface files. (but does not intersect or anything) surfaceBooleanOp - Boolean operations (add, or, xor) on closed surfaces. Probably not working. surfaceCheck - checks surface for incorrect topology. Checks normals of neighbouring faces. surfaceCoarsen - Stan Melax coarsening algorithm surfaceConvert - Converts surfaces to/from various formats surfaceFind - Finds nearest vertex and face to given point. surfaceMeshTriangulate - Triangulate external faces of mesh and write as surface. surfacePointMerge - Explicit point merge of surface. surfaceSetOutside - Orient normals on (closed) surface. surfaceSmooth - Laplacian smoothing on surface vertices surfaceSubset - Subsets surface surfaceToPatch - Applies region information of surfaces to mesh. Each external face of mesh gets region number of nearest surface triangle. ------------------------------------------------------------------------------- surfaceMeshConvert - Similar to surfaceConvert, but uses surfMesh library