Rhino C++ API  8.13
Public Member Functions | List of all members
CRhinoSurfaceFillet Class Reference

New interactive attempt at FilletSrf. More...

#include <rhinoSdkUtilities.h>

Public Member Functions

 CRhinoSurfaceFillet (const ON_BrepFace &Face, const ON_2dPoint &uv, const ON_Curve &Curve, double t, double radius, double tolerance)
 FilletSrfCrv. More...
 
 CRhinoSurfaceFillet (const ON_BrepFace &FaceA, const ON_2dPoint &uvA, const ON_BrepFace &FaceB, const ON_2dPoint &uvB, double radius, bool bAllowExtend, double tolerance)
 FilletSrfSrf. More...
 
 CRhinoSurfaceFillet (const ON_BrepFace &FaceA, const ON_2dPoint &uvA, const ON_BrepFace &FaceB, const ON_2dPoint &uvB, double radius, double tolerance)
 
 CRhinoSurfaceFillet (const ON_BrepFace &RailFace, const ON_Curve &Rail3d, const ON_BrepFace &Face, const ON_2dPoint &uv, double tolerance)
 
 ~CRhinoSurfaceFillet ()
 
bool ChangeRadius (double new_radius)
 bool WhateverElse(); More...
 
void DebugArcData (ON_SimpleArray< ON_Curve * > &Crvs) const
 Center,start, apex, end. More...
 
void DebugArcs (ON_SimpleArray< ON_Curve * > &Crvs) const
 
void DebugPlines (int which_one, ON_SimpleArray< ON_Curve * > &Crvs) const
 0,1 for rails, 2 for center, 3-apex More...
 
bool G2ChordalQuintic (int rail_degree, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 
bool IsInitialized ()
 
bool NonRationalCubic (int rail_degree, double TanSlider, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 
bool NonRationalCubicArcs (int rail_degree, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 Arc approximation. More...
 
bool NonRationalQuartic (int rail_degree, double TanSlider, double InnerSlider, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 
bool NonRationalQuarticArcs (int rail_degree, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 Arc approximation. More...
 
bool NonRationalQuintic (int rail_degree, double TanSlider, double InnerSlider, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 
bool NonRationalQuinticArcs (int rail_degree, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 Arc approximation. More...
 
bool RationalArcs (int rail_degree, bool bExtend, ON_SimpleArray< ON_Brep * > &Fillets)
 
bool TrimBreps (bool bExtend, ON_SimpleArray< ON_Brep * > TrimmedBreps[2])
 Trim input breps with the rails. More...
 

Detailed Description

New interactive attempt at FilletSrf.

Constructor & Destructor Documentation

◆ CRhinoSurfaceFillet() [1/4]

CRhinoSurfaceFillet::CRhinoSurfaceFillet ( const ON_BrepFace FaceA,
const ON_2dPoint uvA,
const ON_BrepFace FaceB,
const ON_2dPoint uvB,
double  radius,
bool  bAllowExtend,
double  tolerance 
)

FilletSrfSrf.

◆ CRhinoSurfaceFillet() [2/4]

CRhinoSurfaceFillet::CRhinoSurfaceFillet ( const ON_BrepFace FaceA,
const ON_2dPoint uvA,
const ON_BrepFace FaceB,
const ON_2dPoint uvB,
double  radius,
double  tolerance 
)

◆ CRhinoSurfaceFillet() [3/4]

CRhinoSurfaceFillet::CRhinoSurfaceFillet ( const ON_BrepFace RailFace,
const ON_Curve Rail3d,
const ON_BrepFace Face,
const ON_2dPoint uv,
double  tolerance 
)

FilletSrfToRail Result will have v-min along Rail3d, v-max along the calculated rail on Face. CRhinoSurfaceFillet(const ON_BrepFace& RailFace, const ON_Curve& Rail3d, ///<On RailFace const ON_BrepFace& Face, const ON_2dPoint& uv,///<In Face's pspace bool bAllowExtend, double tolerance);

Parameters
Rail3dOn RailFace
uvIn Face's pspace

◆ CRhinoSurfaceFillet() [4/4]

CRhinoSurfaceFillet::CRhinoSurfaceFillet ( const ON_BrepFace Face,
const ON_2dPoint uv,
const ON_Curve Curve,
double  t,
double  radius,
double  tolerance 
)

FilletSrfCrv.

CRhinoSurfaceFillet(const ON_BrepFace& Face, const ON_2dPoint& uv, const ON_Curve& Curve, double t, double radius, bool bAllowExtend, double tolerance);

◆ ~CRhinoSurfaceFillet()

CRhinoSurfaceFillet::~CRhinoSurfaceFillet ( )

Member Function Documentation

◆ ChangeRadius()

bool CRhinoSurfaceFillet::ChangeRadius ( double  new_radius)

bool WhateverElse();

This will clear out the existing rails and fillet surfaces, and redo the offset intersections, etc. DO NOT use this for SrfToRail - there is no radius..
The trimmed brep must be redone.

◆ DebugArcData()

void CRhinoSurfaceFillet::DebugArcData ( ON_SimpleArray< ON_Curve * > &  Crvs) const

Center,start, apex, end.

◆ DebugArcs()

void CRhinoSurfaceFillet::DebugArcs ( ON_SimpleArray< ON_Curve * > &  Crvs) const

◆ DebugPlines()

void CRhinoSurfaceFillet::DebugPlines ( int  which_one,
ON_SimpleArray< ON_Curve * > &  Crvs 
) const

0,1 for rails, 2 for center, 3-apex

◆ G2ChordalQuintic()

bool CRhinoSurfaceFillet::G2ChordalQuintic ( int  rail_degree,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

◆ IsInitialized()

bool CRhinoSurfaceFillet::IsInitialized ( )

Call this before calling TrimBreps or any of the fillet creation functions. If it returns false, none of them will work.

◆ NonRationalCubic()

bool CRhinoSurfaceFillet::NonRationalCubic ( int  rail_degree,
double  TanSlider,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

◆ NonRationalCubicArcs()

bool CRhinoSurfaceFillet::NonRationalCubicArcs ( int  rail_degree,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

Arc approximation.

◆ NonRationalQuartic()

bool CRhinoSurfaceFillet::NonRationalQuartic ( int  rail_degree,
double  TanSlider,
double  InnerSlider,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

◆ NonRationalQuarticArcs()

bool CRhinoSurfaceFillet::NonRationalQuarticArcs ( int  rail_degree,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

Arc approximation.

◆ NonRationalQuintic()

bool CRhinoSurfaceFillet::NonRationalQuintic ( int  rail_degree,
double  TanSlider,
double  InnerSlider,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

◆ NonRationalQuinticArcs()

bool CRhinoSurfaceFillet::NonRationalQuinticArcs ( int  rail_degree,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

Arc approximation.

◆ RationalArcs()

bool CRhinoSurfaceFillet::RationalArcs ( int  rail_degree,
bool  bExtend,
ON_SimpleArray< ON_Brep * > &  Fillets 
)

These make fillet surfaces and hack them up to active pieces. Each adjusts cross sections and calls FitCrossSections().

◆ TrimBreps()

bool CRhinoSurfaceFillet::TrimBreps ( bool  bExtend,
ON_SimpleArray< ON_Brep * >  TrimmedBreps[2] 
)

Trim input breps with the rails.

If the two input breps are the same, TrimmedBreps[1] will be empty. The constructor idoes everything necessary for this to be called. Calles to the various fillet creation members will not change the result.