Rhino C++ API  8.14
Public Member Functions | List of all members
RhinoSubDEdgeSlider Class Reference

Class for sliding edges of a SubD. More...

#include <rhinoSdkMeshUtilities.h>

Public Member Functions

 RhinoSubDEdgeSlider (const ON_SubD &subD, const ON_SimpleArray< int > &edgeIds, const ON_SimpleArray< int > &vertexIds, double minEdgeLength)
 
 RhinoSubDEdgeSlider (const ON_SubD &subD, const ON_SimpleArray< int > &edgeIds, double minEdgeLength)
 
virtual ~RhinoSubDEdgeSlider ()
 
ON_3dPoint ClosestPickPoint (const ON_3dPoint &pt, bool &bPositiveDirectionOut, double &pickEdgeLength, double &pickOffset) const
 
ON_3dPoint ClosestPickPoint (const ON_3dPoint &pt, bool bAcross, bool &bPositiveDirectionOut, double &pickEdgeLength, double &pickOffset) const
 
virtual void * EVF (const wchar_t *, void *)
 
bool Slide (ON_SubD &subDOut, bool bAcross, bool bAbsolute, double amount, double smoothness)
 
bool SlideAbsolute (ON_SubD &subDOut, double amount, double smoothness)
 
bool SlideProportional (ON_SubD &subDOut, double amount, double smoothness)
 

Detailed Description

Class for sliding edges of a SubD.

Constructor & Destructor Documentation

◆ RhinoSubDEdgeSlider() [1/2]

RhinoSubDEdgeSlider::RhinoSubDEdgeSlider ( const ON_SubD subD,
const ON_SimpleArray< int > &  edgeIds,
double  minEdgeLength 
)

Description: Constructs an object that can slide SubD edges Parameters: subD - [in] SubD to use as starting point edgeIds - [in] SubD edge ids to slide minEdgeLength - [in] Minimum allowed edge length

◆ RhinoSubDEdgeSlider() [2/2]

RhinoSubDEdgeSlider::RhinoSubDEdgeSlider ( const ON_SubD subD,
const ON_SimpleArray< int > &  edgeIds,
const ON_SimpleArray< int > &  vertexIds,
double  minEdgeLength 
)

Description: Constructs an object that can slide SubD edges and vertices Parameters: subD - [in] SubD to use as starting point edgeIds - [in] SubD edge ids to slide vertexIds - [in] SubD vertex ids to slide minEdgeLength - [in] Minimum allowed edge length

◆ ~RhinoSubDEdgeSlider()

virtual RhinoSubDEdgeSlider::~RhinoSubDEdgeSlider ( )
virtual

Member Function Documentation

◆ ClosestPickPoint() [1/2]

ON_3dPoint RhinoSubDEdgeSlider::ClosestPickPoint ( const ON_3dPoint pt,
bool &  bPositiveDirectionOut,
double &  pickEdgeLength,
double &  pickOffset 
) const

Description: Returns closest point on edges crossing the edges being slid. Parameters: pt - [in] Point anywhere near the SubD bPositiveDirectionOut - [out] True if point is on an edge in positive slide direction pickEdgeLength - [out] Length of the crossing edge that the closest point is on pickOffset - [out] Offset from the loop

◆ ClosestPickPoint() [2/2]

ON_3dPoint RhinoSubDEdgeSlider::ClosestPickPoint ( const ON_3dPoint pt,
bool  bAcross,
bool &  bPositiveDirectionOut,
double &  pickEdgeLength,
double &  pickOffset 
) const

Description: Returns closest point on edges in given direction from the edges being slid. Parameters: pt - [in] Point anywhere near the mesh bAcross - [in] True to find closest point on edges crossing the edges being slid False to find closest point on edges along the edges being slid bPositiveDirectionOut - [out] True if point is on an edge in positive slide direction pickEdgeLength - [out] Length of the edge that the closest point is on pickOffset - [out] Offset from the component being slid

◆ EVF()

virtual void* RhinoSubDEdgeSlider::EVF ( const wchar_t *  ,
void *   
)
inlinevirtual

Description: Emergency virtual function

◆ Slide()

bool RhinoSubDEdgeSlider::Slide ( ON_SubD subDOut,
bool  bAcross,
bool  bAbsolute,
double  amount,
double  smoothness 
)

Description: Slides SubD edges. Returns true on success Parameters: subDOut - [in] Output SubD bAcross - [in] True to slide sideways across the selected edges False to slide along the selected edges bAbsolute - [in] True to use amount as absolute units False to use amount as proportion of edge length amount - [in] Slide amount in either absolute units or proportion of the edge length depending on the value of bAbsolute smoothness - [in] Smoothness of the path each vertex is slid along

◆ SlideAbsolute()

bool RhinoSubDEdgeSlider::SlideAbsolute ( ON_SubD subDOut,
double  amount,
double  smoothness 
)

Description: Slides SubD edges in absolute units Returns true on success Parameters: subDOut - [in] Output SubD amount - [in] Slide amount in absolute units smoothness - [in] Smoothness of the path each vertex is slid along

◆ SlideProportional()

bool RhinoSubDEdgeSlider::SlideProportional ( ON_SubD subDOut,
double  amount,
double  smoothness 
)

Description: Slides SubD edges in proportional units. Returns true on success Parameters: subDOut - [in] Output SubD amount - [in] Slide amount in proportion of the crossing edge smoothness - [in] Smoothness of the path each vertex is slid along