Rhino C++ API  8.13
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
IRhinoMeshExtruder Class Referenceabstract

Interface to preview and perform mesh extrusions. More...

#include <rhinoSdkMeshUtilities.h>

Public Types

enum  FaceDirectionMode : int { FaceDirectionMode::Keep = 0, FaceDirectionMode::OrientClosedFrontOut = 1 }
 Defines how mesh extruder decides orients faces More...
 
enum  ParameterMode : int { ParameterMode::CoverWalls = 0, ParameterMode::KeepAndStretch = 1 }
 Parameter mode for creating texture coordinates and surface parameters More...
 

Public Member Functions

virtual void DeleteThis (void)=0
 
virtual void * EVF (const wchar_t *, void *)
 
virtual bool ExtrudedMesh (ON_Mesh &meshOut)=0
 
virtual bool ExtrudedMesh (ON_Mesh &meshOut, ON_SimpleArray< ON_COMPONENT_INDEX > &extrudedComponentsOut)=0
 
virtual FaceDirectionMode FaceMode (void) const =0
 
virtual bool KeepOriginalFaces (void) const =0
 
virtual void PreviewLines (ON_SimpleArray< ON_Line > &linesOut)=0
 
virtual void SetFaceMode (FaceDirectionMode mode)=0
 
virtual void SetKeepOriginalFaces (bool bEnable)=0
 
virtual void SetSurfaceParameterMode (ParameterMode mode)=0
 
virtual void SetTextureCoordinateMode (ParameterMode mode)=0
 
virtual void SetTransform (const ON_3dVector &translation)=0
 
virtual void SetTransform (const ON_Xform &transform)=0
 
virtual void SetUVN (bool bEnable)=0
 
virtual ParameterMode SurfaceParameterMode (void) const =0
 
virtual ParameterMode TextureCoordinateMode (void) const =0
 
virtual ON_Xform Transform (void) const =0
 
virtual bool UVN (void) const =0
 

Static Public Member Functions

static IRhinoMeshExtruderNewMeshExtruder (const ON_Mesh &inputMesh, const ON_SimpleArray< ON_COMPONENT_INDEX > &componentIndices)
 

Protected Member Functions

 IRhinoMeshExtruder ()
 
 IRhinoMeshExtruder (const IRhinoMeshExtruder &)=delete
 
virtual ~IRhinoMeshExtruder ()
 
IRhinoMeshExtruderoperator= (const IRhinoMeshExtruder &)=delete
 

Detailed Description

Interface to preview and perform mesh extrusions.

Member Enumeration Documentation

◆ FaceDirectionMode

Defines how mesh extruder decides orients faces

Enumerator
Keep 

Maintain all face directions

OrientClosedFrontOut 

Orient closed meshes front face out

◆ ParameterMode

Parameter mode for creating texture coordinates and surface parameters

Enumerator
CoverWalls 

Stretch parameters slightly on extruded faces to cover walls

KeepAndStretch 

Keep parameters on extruded faces and stretch on walls

Constructor & Destructor Documentation

◆ IRhinoMeshExtruder() [1/2]

IRhinoMeshExtruder::IRhinoMeshExtruder ( )
inlineprotected

◆ ~IRhinoMeshExtruder()

virtual IRhinoMeshExtruder::~IRhinoMeshExtruder ( )
inlineprotectedvirtual

◆ IRhinoMeshExtruder() [2/2]

IRhinoMeshExtruder::IRhinoMeshExtruder ( const IRhinoMeshExtruder )
protecteddelete

Member Function Documentation

◆ DeleteThis()

virtual void IRhinoMeshExtruder::DeleteThis ( void  )
pure virtual

Description: Deletes this instance

◆ EVF()

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

Description: Emergency virtual function

◆ ExtrudedMesh() [1/2]

virtual bool IRhinoMeshExtruder::ExtrudedMesh ( ON_Mesh meshOut)
pure virtual

Description: Applies extrude Return true if any faces or edges were extruded. Parameters: meshOut - [out] This mesh will be the result of applying extrude to the input mesh passed to NewMeshExtruder.

◆ ExtrudedMesh() [2/2]

virtual bool IRhinoMeshExtruder::ExtrudedMesh ( ON_Mesh meshOut,
ON_SimpleArray< ON_COMPONENT_INDEX > &  extrudedComponentsOut 
)
pure virtual

Description: Applies extrude and gives list of components that should be selected in extruded mesh. Return true if any faces or edges were extruded. Parameters: meshOut - [out] This mesh will be the result of applying extrude to the input mesh passed to NewMeshExtruder. extrudedComponentsOut - [out] List of components that should be selected in extruded mesh.

◆ FaceMode()

virtual FaceDirectionMode IRhinoMeshExtruder::FaceMode ( void  ) const
pure virtual

Description: Gets face direction mode

◆ KeepOriginalFaces()

virtual bool IRhinoMeshExtruder::KeepOriginalFaces ( void  ) const
pure virtual

Description: True if original faces are deleted and false if not

◆ NewMeshExtruder()

static IRhinoMeshExtruder* IRhinoMeshExtruder::NewMeshExtruder ( const ON_Mesh inputMesh,
const ON_SimpleArray< ON_COMPONENT_INDEX > &  componentIndices 
)
static

Description: Returns a new instance of interface implementation. Caller must delete returned instance by calling DeleteThis(). Parameters: inputMesh - [in] Mesh to use as starting point componentIndices - [in] Mesh faces, edges and ngons to extrude

◆ operator=()

IRhinoMeshExtruder& IRhinoMeshExtruder::operator= ( const IRhinoMeshExtruder )
protecteddelete

◆ PreviewLines()

virtual void IRhinoMeshExtruder::PreviewLines ( ON_SimpleArray< ON_Line > &  linesOut)
pure virtual

Description: Creates a set of lines to preview extruded mesh. Parameters: linesOut - [out] Lines to preview extruded mesh

◆ SetFaceMode()

virtual void IRhinoMeshExtruder::SetFaceMode ( FaceDirectionMode  mode)
pure virtual

Description: Sets face direction mode Parameters: mode - [in] mode to use

◆ SetKeepOriginalFaces()

virtual void IRhinoMeshExtruder::SetKeepOriginalFaces ( bool  bEnable)
pure virtual

Description: Sets whether to keep original faces. By default they will be deleted. Parameters: bEnable - [in] True to keep original faces and false to delete them

◆ SetSurfaceParameterMode()

virtual void IRhinoMeshExtruder::SetSurfaceParameterMode ( ParameterMode  mode)
pure virtual

Description: Sets parameter mode for surface parameters Parameters: mode - [in] mode to use

◆ SetTextureCoordinateMode()

virtual void IRhinoMeshExtruder::SetTextureCoordinateMode ( ParameterMode  mode)
pure virtual

Description: Sets parameter mode for texture coordinates Parameters: mode - [in] mode to use

◆ SetTransform() [1/2]

virtual void IRhinoMeshExtruder::SetTransform ( const ON_3dVector translation)
pure virtual

Description: Sets transform of extrusion by translation vector. Parameters: translation - [in] Translation vector

◆ SetTransform() [2/2]

virtual void IRhinoMeshExtruder::SetTransform ( const ON_Xform transform)
pure virtual

Description: Sets transform of extrusion. Parameters: transform - [in] Transform to use

◆ SetUVN()

virtual void IRhinoMeshExtruder::SetUVN ( bool  bEnable)
pure virtual

Description: Sets whether or not to perform extrude in UVN basis Parameters: bEnable - [in] True to perform extrude in UVN basis, false to perform in world coordinate system

◆ SurfaceParameterMode()

virtual ParameterMode IRhinoMeshExtruder::SurfaceParameterMode ( void  ) const
pure virtual

Description: Gets parameter mode for surface parameters

◆ TextureCoordinateMode()

virtual ParameterMode IRhinoMeshExtruder::TextureCoordinateMode ( void  ) const
pure virtual

Description: Gets parameter mode for texture coordinates

◆ Transform()

virtual ON_Xform IRhinoMeshExtruder::Transform ( void  ) const
pure virtual

Description: Gets transform of extrusion.

◆ UVN()

virtual bool IRhinoMeshExtruder::UVN ( void  ) const
pure virtual

Description: Gets whether or not to perform extrude in UVN basis