Rhino C++ API  8.14
Public Types | Static Public Member Functions | List of all members
CRhinoFilletEdge Class Reference

#include <rhinoSdkUtilities.h>

Public Types

enum  BlendType { Chamfer, Fillet, Blend }
 
enum  RailType { DistFromEdge, RollingBall, DistBetweenRails }
 

Static Public Member Functions

static bool FilletEdges (const ON_Brep &brep, const ON_SimpleArray< int > &edges, const ON_SimpleArray< double > &radii0, const ON_SimpleArray< double > &radii1, CRhinoFilletEdge::BlendType blend_type, CRhinoFilletEdge::RailType rail_type, bool setback_fillets, double tolerance, double angle_tolerance, ON_SimpleArray< ON_Brep * > &out_breps)
 
static bool FilletEdges (const ON_Brep &brep, const ON_SimpleArray< int > &edges, const ON_SimpleArray< double > &radii0, const ON_SimpleArray< double > &radii1, CRhinoFilletEdge::BlendType blend_type, CRhinoFilletEdge::RailType rail_type, double tolerance, ON_SimpleArray< ON_Brep * > &out_breps)
 
static bool FilletEdgesVariableRadius (const ON_Brep &brep, const ON_SimpleArray< int > &edges, const ON_ClassArray< ON_SimpleArray< CRhinoBrepEdgeFilletDistance >> &distances, CRhinoFilletEdge::BlendType blend_type, CRhinoFilletEdge::RailType rail_type, bool setback_fillets, double tolerance, double angle_tolerance, ON_SimpleArray< ON_Brep * > &out_breps)
 

Member Enumeration Documentation

◆ BlendType

Enumerator
Chamfer 

Creates a ruled surface between Brep edges with varying chamfer distances. The Brep is trimmed and joined to the chamfer surfaces.

Fillet 

Creates a tangent surface between Brep edges with varying radius values. The Brep is trimmed and joined to the fillet surfaces.

Blend 

Creates a curvature-continuous blend surface between Brep edges with varying radius values. The Brep is trimmed and joined to the blend surfaces.

◆ RailType

Enumerator
DistFromEdge 

The distance from the edge curves determines the intersection.

RollingBall 

The radius of a rolling ball determines the intersection.

DistBetweenRails 

The distance between the edge rails determines the intersection.

Member Function Documentation

◆ FilletEdges() [1/2]

static bool CRhinoFilletEdge::FilletEdges ( const ON_Brep brep,
const ON_SimpleArray< int > &  edges,
const ON_SimpleArray< double > &  radii0,
const ON_SimpleArray< double > &  radii1,
CRhinoFilletEdge::BlendType  blend_type,
CRhinoFilletEdge::RailType  rail_type,
bool  setback_fillets,
double  tolerance,
double  angle_tolerance,
ON_SimpleArray< ON_Brep * > &  out_breps 
)
static

Description: Fillets, chamfers, or blends the edges of a Brep with support for a different start and end radius for each edge. Parameters: brep [in] - The Brep to fillet, chamfer, or blend edges. edges [in] - An array of one or more edge indices where the fillet, chamfer, or blend will occur. radii0 [in] - An array of starting fillet, chamfer, or blend radii, one for each edge index. radii1 [in] - An array of end fillet, chamfer, or blend radii, one for each edge index. blend_type [in] - The blend type (see above). rail_type [in] - The rail type (see above). bool setback_fillets [in] - Use setback fillets (only used for blend_type CRhinoFilletEdge::BlendType::Blend) tolerance [in] - The tolerance to be used to perform calculations. angle_tolerance [in] - The angle tolerance to be used to perform calculations. out_breps [out] - The results of the operation. It is the responsibility of the caller to clean up the memory. Return: True if successful, False otherwise Remarks: CRITICAL: Memory for the resulting Breps is allocated. It is the calling functions responsibility to clean up the memory.

◆ FilletEdges() [2/2]

static bool CRhinoFilletEdge::FilletEdges ( const ON_Brep brep,
const ON_SimpleArray< int > &  edges,
const ON_SimpleArray< double > &  radii0,
const ON_SimpleArray< double > &  radii1,
CRhinoFilletEdge::BlendType  blend_type,
CRhinoFilletEdge::RailType  rail_type,
double  tolerance,
ON_SimpleArray< ON_Brep * > &  out_breps 
)
static

Description: Fillets, chamfers, or blends the edges of a Brep with support for a different start and end radius for each edge. Parameters: brep [in] - The Brep to fillet, chamfer, or blend edges. edges [in] - An array of one or more edge indices where the fillet, chamfer, or blend will occur. radii0 [in] - An array of starting fillet, chamfer, or blend radii, one for each edge index. radii1 [in] - An array of end fillet, chamfer, or blend radii, one for each edge index. blend_type [in] - The blend type (see above). rail_type [in] - The rail type (see above). tolerance [in] - The tolerance to be used to perform calculations. out_breps [out] - The results of the operation. It is the responsibility of the caller to clean up the memory. Return: True if successful, False otherwise Remarks: CRITICAL: Memory for the resulting Breps is allocated. It is the calling functions responsibility to clean up the memory.

◆ FilletEdgesVariableRadius()

static bool CRhinoFilletEdge::FilletEdgesVariableRadius ( const ON_Brep brep,
const ON_SimpleArray< int > &  edges,
const ON_ClassArray< ON_SimpleArray< CRhinoBrepEdgeFilletDistance >> &  distances,
CRhinoFilletEdge::BlendType  blend_type,
CRhinoFilletEdge::RailType  rail_type,
bool  setback_fillets,
double  tolerance,
double  angle_tolerance,
ON_SimpleArray< ON_Brep * > &  out_breps 
)
static

Description: Fillets, chamfers, or blends the edges of a Brep with support for variable radii along each edge. Parameters: brep [in] - The Brep to fillet, chamfer, or blend edges. edges [in] - An array of one or more edge indices where the fillet, chamfer, or blend will occur. distances [in] - An array of arrays of distance data, one array for each edge. blend_type [in] - The blend type (see above). rail_type [in] - The rail type (see above). bool setback_fillets [in] - Use setback fillets (only used for blend_type CRhinoFilletEdge::BlendType::Blend) tolerance [in] - The tolerance to be used to perform calculations. angle_tolerance [in] - The angle tolerance to be used to perform calculations. out_breps [out] - The results of the operation. It is the responsibility of the caller to clean up the memory. Return: True if successful, False otherwise Remarks: CRITICAL: Memory for the resulting Breps is allocated. It is the calling functions responsibility to clean up the memory.