Lagrange
lagrange::subdivision Namespace Reference

Subdivision surfaces. More...

Classes

struct  InterpolatedAttributeIds
 
class  InterpolatedAttributes
 Helper class to select which attributes to interpolate. More...
 
struct  MeshConverter
 
struct  SubdivisionOptions
 Mesh subdivision options. More...
 

Typedefs

using SubdivisionScheme = OpenSubdiv::Sdc::SchemeType
 

Enumerations

enum class  SchemeType { Bilinear , CatmullClark , Loop }
 Subdivision scheme. More...
 
enum class  VertexBoundaryInterpolation { None , EdgeOnly , EdgeAndCorner }
 Boundary Interpolation Rules. More...
 
enum class  FaceVaryingInterpolation {
  None , CornersOnly , CornersPlus1 , CornersPlus2 ,
  Boundaries , All
}
 Face-varying Interpolation Rules. More...
 
enum class  RefinementType { Uniform , EdgeAdaptive }
 Topology refinement method. More...
 

Functions

template<typename input_meshType , typename output_meshType >
std::unique_ptr< output_meshType > subdivide_mesh (const input_meshType &input_mesh, SubdivisionScheme scheme_type, int maxlevel, OpenSubdiv::Sdc::Options::VtxBoundaryInterpolation vertexInterp=OpenSubdiv::Sdc::Options::VTX_BOUNDARY_EDGE_ONLY, OpenSubdiv::Sdc::Options::FVarLinearInterpolation primvarInterp=OpenSubdiv::Sdc::Options::FVAR_LINEAR_ALL)
 
template<typename Scalar , typename Index >
SurfaceMesh< Scalar, Index > subdivide_mesh (const SurfaceMesh< Scalar, Index > &mesh, const SubdivisionOptions &options={})
 Evaluates the subdivision surface of a polygonal mesh. More...
 
template<typename Scalar , typename Index >
SurfaceMesh< Scalar, Index > midpoint_subdivision (const SurfaceMesh< Scalar, Index > &mesh)
 Performs one step of midpoint subdivision for triangle meshes. More...
 
template<typename Scalar , typename Index >
SurfaceMesh< Scalar, Index > sqrt_subdivision (const SurfaceMesh< Scalar, Index > &mesh)
 Performs one step of sqrt(3)-subdivision. More...
 
template<typename Scalar , typename Index >
SurfaceMesh< Scalar, Index > subdivide_edge_adaptive (const SurfaceMesh< Scalar, Index > &input_mesh, OpenSubdiv::Far::TopologyRefiner &topology_refiner, const InterpolatedAttributeIds &interpolated_attr, const SubdivisionOptions &options)
 
template<typename Scalar , typename Index >
SurfaceMesh< Scalar, Index > subdivide_uniform (const SurfaceMesh< Scalar, Index > &input_mesh, OpenSubdiv::Far::TopologyRefiner &topology_refiner, const InterpolatedAttributeIds &interpolated_attr, const SubdivisionOptions &options)
 

Detailed Description

Subdivision surfaces.