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

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

#include <rhinoSdkMeshUtilities.h>

Public Member Functions

 RhinoMeshEdgeSlider (const ON_Mesh &mesh, const ON_SimpleArray< int > &edgeIndices, const ON_SimpleArray< int > &topVertexIndices, double minEdgeLength)
 
 RhinoMeshEdgeSlider (const ON_Mesh &mesh, const ON_SimpleArray< int > &edgeIndices, double minEdgeLength)
 
virtual ~RhinoMeshEdgeSlider ()
 
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_Mesh &meshOut, bool bAcross, bool bAbsolute, double amount, double smoothness)
 
bool SlideAbsolute (ON_Mesh &meshOut, double amount, double smoothness)
 
bool SlideProportional (ON_Mesh &meshOut, double amount, double smoothness)
 

Detailed Description

Class for sliding edges of a mesh.

Constructor & Destructor Documentation

◆ RhinoMeshEdgeSlider() [1/2]

RhinoMeshEdgeSlider::RhinoMeshEdgeSlider ( const ON_Mesh mesh,
const ON_SimpleArray< int > &  edgeIndices,
double  minEdgeLength 
)

Description: Constructs an object that can slide mesh edges Parameters: mesh - [in] Mesh to use as starting point edgeIndices - [in] Mesh edge indices to slide minEdgeLength - [in] Minimum allowed edge length

◆ RhinoMeshEdgeSlider() [2/2]

RhinoMeshEdgeSlider::RhinoMeshEdgeSlider ( const ON_Mesh mesh,
const ON_SimpleArray< int > &  edgeIndices,
const ON_SimpleArray< int > &  topVertexIndices,
double  minEdgeLength 
)

Description: Constructs an object that can slide mesh edges Parameters: mesh - [in] Mesh to use as starting point edgeIndices - [in] Mesh edge indices to slide topVertexIndices - [in] Mesh topology vertex indices to slide minEdgeLength - [in] Minimum allowed edge length

◆ ~RhinoMeshEdgeSlider()

virtual RhinoMeshEdgeSlider::~RhinoMeshEdgeSlider ( )
virtual

Member Function Documentation

◆ ClosestPickPoint() [1/2]

ON_3dPoint RhinoMeshEdgeSlider::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 mesh 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 RhinoMeshEdgeSlider::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* RhinoMeshEdgeSlider::EVF ( const wchar_t *  ,
void *   
)
inlinevirtual

Description: Emergency virtual function

◆ Slide()

bool RhinoMeshEdgeSlider::Slide ( ON_Mesh meshOut,
bool  bAcross,
bool  bAbsolute,
double  amount,
double  smoothness 
)

Description: Slides mesh edges. Returns true on success Parameters: meshOut - [in] Output mesh 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 if the path each vertex is slid along

◆ SlideAbsolute()

bool RhinoMeshEdgeSlider::SlideAbsolute ( ON_Mesh meshOut,
double  amount,
double  smoothness 
)

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

◆ SlideProportional()

bool RhinoMeshEdgeSlider::SlideProportional ( ON_Mesh meshOut,
double  amount,
double  smoothness 
)

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