


SMLib™ SMLib™ Our flagship product built upon TSNLib™ provides fully functional nonmanifold topological structure and solid modeling functionality including the ability to perform NURBS boolean operations, fillets, etc.
TSNLib™ TSNLib™ Built on top of NLib™ supporting trimmed surface representations.
NLib™ NLib™ A comprehensive BSpline NURBs library fully supporting curves, surfaces, and volumes with an extensive set of shape query and construction tools.
SDLib™ SDLib™ Subdivision surface library that creates and modifies complex shapes with hierarchical CatmullClark surfaces.
PolyMLib™ PolyMLib™ Polygonal based geometric modeling to repair, optimize, review and edit triangle mesh models. Analyze surface properties, repair and optimize surface meshes.
Data Translators Data Translators NURBS based geometry translators to interface between NLib™, TSNLib™, SMLib™ and IGES, STEP, SAT, VDAFS, OpenNURBS, and Parasolid XT.








SDLib™  The Subdivision Surface Library 

SDLib™ is an object oriented, subdivision surface library to easily model complex shapes with hierarchical CatmullClark surfaces. Subdivision surfaces provide smooth surfaces with C2 continuity well suited for many modeling applications. Subdivision surface can easily be converted to and from polygonal representations. 
Key Features 


• Code distribution of C++ objects and methods to create and modify surfaces, faces, edges, and vertices.
• Convert from polygon representation to subdivision surfaces and from subdivision surfaces to a NURBS representation compatible with SMLib where the NURBS patches are exactly equivalent to the subdivision surface nearly everywhere.
• Tessellate subdivision surfaces to a polygon representation.
• Continuity  Creation of smooth C2 surfaces.
• Surface modification  Control point manipulation at any level of the hierarchy: fine, medium, coarse.
• Evaluate for crease or continuity information at edges or points Includes iterators to evaluate positions, normals, or derivatives at any point on the subdivision surface.


Summary of Functions 

• Subdivision surface creation from a polygonal mesh:
• A polygonal representation is input to give the basic topological layout of the subdivision surface.
• Any manifold mesh may be used, giving a wide range of shape possibilities.
• Resulting subdivision surface contains faces, edges, vertices at every level.
• Subdivision surface operations:
• Level iterators for faces, edges, and vertices.
• Counting of faces, edges and vertices at any level.
• Subdivide entire level to get a finer level.
• Compute coarserlevel influence on all vertices at this level.
• Face operations:
• Query adjacent face, vertex, edge at the same level.
• Query parent faces and finerlevel features.
• Boundary queries.
• Compute position or normal at a (u,v) parameter within this face.
• Edge operations:
• Access adjacent face, vertex, edge.
• Access hierarchy of sub edges.
• Boundary queries.
• Vertex operations:
• Get and set CV position at vertices.
• Compute position where this vertex maps on the surface.
• Compute normal at this vertex on the surface.
• Crease management for the vertex: set and query crease information.
• Tessellation:
• Limit positions at any level may be output as a watertight polygonal mesh.
• Surface CVs at any level may be output as a connected polygonal mesh. This allows a means for topological modification at finer levels in the surface.
• NURBS output:
• A closely approximating NURBS representation of the subdivision surface may be produced.
• The NURBS representation is compatible with SMLib.

Back To Top 


