Rhino C++ API  9.0
Public Member Functions | Public Attributes | List of all members
CRhinoVarSrfSettings Class Reference

#include <rhinoSdkUtilities.h>

Public Member Functions

 CRhinoVarSrfSettings (double tolerance, double angleToleranceRadians, double curvatureTolerance, double curvatureZeroTolerance, double internalTolerance)
 
 ~CRhinoVarSrfSettings ()
 
bool CvCounts (int &cvCountU, int &cvCountV) const
 calculate cv counts based on the number of spans and the degree More...
 

Public Attributes

double m_angleToleranceRadians
 tangency tolerance (G1) More...
 
double m_bending = 0
 
int m_continuity = 1
 
double m_curvatureRelativeTolerance
 curvature relative tolerance More...
 
double m_curvatureZeroTolerance
 curvature considered to be flat More...
 
int m_degreeU = 5
 surface degrees More...
 
int m_degreeV = 5
 
RhinoVariationalDomain m_domain = RhinoVariationalDomain::Molded
 the domain option for generating the surface More...
 
const ON_Surfacem_initialSurface = nullptr
 the initial surface. The knots and cvs are changed to fulfill the constraints. More...
 
double m_internalTolerance
 internal curve and points' tolerance More...
 
int m_maxRefinements = 5
 maximum number of refinements to apply More...
 
bool m_multiThreading = true
 Use multi-threading in the calculation. More...
 
bool m_preserveEdges = false
 if an initial surface is set, preserve the edges by not changing the boundary control points. More...
 
double m_rocBending = 1
 
int m_spanCountU = 1
 
int m_spanCountV = 1
 
double m_stretching = 0
 
double m_tolerance
 positional tolerance More...
 
double m_uvRotation = 0
 rotation of the UV domain in radians More...
 

Constructor & Destructor Documentation

◆ CRhinoVarSrfSettings()

CRhinoVarSrfSettings::CRhinoVarSrfSettings ( double  tolerance,
double  angleToleranceRadians,
double  curvatureTolerance,
double  curvatureZeroTolerance,
double  internalTolerance 
)

◆ ~CRhinoVarSrfSettings()

CRhinoVarSrfSettings::~CRhinoVarSrfSettings ( )

Member Function Documentation

◆ CvCounts()

bool CRhinoVarSrfSettings::CvCounts ( int &  cvCountU,
int &  cvCountV 
) const

calculate cv counts based on the number of spans and the degree

Member Data Documentation

◆ m_angleToleranceRadians

double CRhinoVarSrfSettings::m_angleToleranceRadians

tangency tolerance (G1)

◆ m_bending

double CRhinoVarSrfSettings::m_bending = 0

◆ m_continuity

int CRhinoVarSrfSettings::m_continuity = 1

this is the continuity chosen by the user during the command. during generation of the surfac, each curve has its own continuity

◆ m_curvatureRelativeTolerance

double CRhinoVarSrfSettings::m_curvatureRelativeTolerance

curvature relative tolerance

◆ m_curvatureZeroTolerance

double CRhinoVarSrfSettings::m_curvatureZeroTolerance

curvature considered to be flat

◆ m_degreeU

int CRhinoVarSrfSettings::m_degreeU = 5

surface degrees

◆ m_degreeV

int CRhinoVarSrfSettings::m_degreeV = 5

◆ m_domain

RhinoVariationalDomain CRhinoVarSrfSettings::m_domain = RhinoVariationalDomain::Molded

the domain option for generating the surface

◆ m_initialSurface

const ON_Surface* CRhinoVarSrfSettings::m_initialSurface = nullptr

the initial surface. The knots and cvs are changed to fulfill the constraints.

◆ m_internalTolerance

double CRhinoVarSrfSettings::m_internalTolerance

internal curve and points' tolerance

◆ m_maxRefinements

int CRhinoVarSrfSettings::m_maxRefinements = 5

maximum number of refinements to apply

◆ m_multiThreading

bool CRhinoVarSrfSettings::m_multiThreading = true

Use multi-threading in the calculation.

◆ m_preserveEdges

bool CRhinoVarSrfSettings::m_preserveEdges = false

if an initial surface is set, preserve the edges by not changing the boundary control points.

◆ m_rocBending

double CRhinoVarSrfSettings::m_rocBending = 1

◆ m_spanCountU

int CRhinoVarSrfSettings::m_spanCountU = 1

surface span counts. See the implementation of CvCounts for details on how span counts are used to calculate cv counts at degrees > 3

◆ m_spanCountV

int CRhinoVarSrfSettings::m_spanCountV = 1

◆ m_stretching

double CRhinoVarSrfSettings::m_stretching = 0

amounts of stretching, bending and rocBending applied. these are normalized to the sum of the three

◆ m_tolerance

double CRhinoVarSrfSettings::m_tolerance

positional tolerance

◆ m_uvRotation

double CRhinoVarSrfSettings::m_uvRotation = 0

rotation of the UV domain in radians