Rhino C++ API  6.11
Namespaces | Classes | Macros | Typedefs | Enumerations | Functions | Variables
Rhino

Namespaces

 RhRdk
 Forward declaration for CRhinoDisplayPipeline::RealtimeDisplayMode.
 

Classes

class  CArgsRhinoFair
 
class  CArgsRhinoHatch
 
class  CArgsRhinoLoft
 
class  CArgsRhinoMatch
 
class  CArgsRhinoPrintExportDlg
 
class  CArgsRhinoSweep1
 
class  CArgsRhinoSweep2
 
class  CChannelAttributes
 
class  CColorVec
 
class  CDisplayAttributeMaterial
 
class  CDisplayPipelineAttributes
 
class  CDisplayPipelineMaterial
 
class  CLinesDescriptor
 Lines helper class used to describe and draw large chunks of lines. More...
 
struct  ClippingInfo
 
struct  CRhCurveAttributes
 
class  CRhinoAfterTransformObject
 
class  CRhinoAnnotation
 
class  CRhinoAnnotationSettings
 3-19-03 LW changed to exported class More...
 
class  CRhinoAnnotationSettingsEx
 
class  CRhinoApp
 CRhinoApp: More...
 
class  CRhinoAppAliasList
 
More...
 
class  CRhinoAppAppearanceSettings
 
More...
 
class  CRhinoAppChooseOneObjectSettings
 
More...
 
class  CRhinoAppContextMenuSettings
 
More...
 
class  CRhinoAppCursorToolTipSettings
 
More...
 
class  CRhinoAppDontRepeatCommandSettings
 
More...
 
class  CRhinoAppFileSettings
 
More...
 
class  CRhinoAppFonts
 
class  CRhinoAppGeneralSettings
 
More...
 
class  CRhinoAppGridSettings
 
More...
 
class  CRhinoAppModelAidSettings
 
More...
 
class  CRhinoAppMouseSettings
 
More...
 
class  CRhinoAppSettings
 
class  CRhinoAppShortcutKeys
 
More...
 
class  CRhinoAppSmartTrackSettings
 
More...
 
class  CRhinoAppSpaceBallSettings
 
More...
 
class  CRhinoAppViewSettings
 
More...
 
class  CRhinoBendSpaceMorph
 
class  CRhinoBitmap
 
class  CRhinoBitmapTable
 
class  CRhinoBrepObject
 
class  CRhinoCacheHandle
 
class  CRhinoCageObject
 
class  CRhinoCCXEvent
 
class  CRhinoCentermark
 
class  CRhinoClippingPlaneObject
 
class  CRhinoColorButton
 
class  CRhinoCommand
 Every command is Rhino is defined by a class derived from CRhinoCommand. More...
 
class  CRhinoCommandAlias
 
More...
 
class  CRhinoCommandContext
 
class  CRhinoCommandManager
 
class  CRhinoCommandOption
 
class  CRhinoCommandOptionName
 
class  CRhinoCommandOptionValue
 
class  CRhinoComponentNameConflictUI
 
class  CRhinoContextMenu
 
class  CRhinoContextMenuContext
 
class  CRhinoContextMenuExtension
 
class  CRhinoContourInput
 
class  CRhinoCopyGripsHelper
 
class  CRhinoCoreAppActivity
 
class  CRhinoCreateDocumentOptions
 
class  CRhinoCSXEvent
 
class  CRhinoCurvatureAnalysisSettings
 
More...
 
class  CRhinoCurvatureGraphSettings
 
class  CRhinoCurveObject
 
class  CRhinoDetailViewIterator
 
class  CRhinoDetailViewObject
 
class  CRhinoDialog
 
class  CRhinoDigitizerInfo
 
class  CRhinoDigitizerManager
 
class  CRhinoDigitizerPlugIn
 
class  CRhinoDimAngular
 
class  CRhinoDimension
 
class  CRhinoDimensionHistoryEnabler
 
class  CRhinoDimLinear
 
class  CRhinoDimOrdinate
 
class  CRhinoDimRadial
 
class  CRhinoDimStyle
 CRhinoDimStyle class. More...
 
class  CRhinoDimStyleComboBox
 CRhinoDimStyleComboBox window. More...
 
class  CRhinoDimStyleContext
 
class  CRhinoDimStyleTable
 
class  CRhinoDirectoryManager
 
class  CRhinoDisplayAttrsMgr
 
class  CRhinoDisplayConduit
 
class  CRhinoDisplayEngine
 
class  CRhinoDisplayEngine_GDI
 
class  CRhinoDisplayEngine_OGL
 
class  CRhinoDisplayErrorMessage
 
class  CRhinoDisplayModeChanged
 
class  CRhinoDisplayPipeline
 
class  CRhinoDisplayPipeline_GDI
 
class  CRhinoDisplayPipeline_OGL
 
class  CRhinoDisplaySettings
 
More...
 
class  CRhinoDoc
 
class  CRhinoDocIterator
 
class  CRhinoDocProperties
 
class  CRhinoDocTableReference
 
class  CRhinoDocumentPropertiesTabs
 
class  CRhinoDoubleClickContext
 
class  CRhinoDpi
 
class  CRhinoDraftAngleAnalysisSettings
 
More...
 
class  CRhinoDrawAttributes
 
class  CRhinoDrawCallback
 
class  CRhinoDrawCommonAttributes
 Location for new V6 public SDK display. More...
 
class  CRhinoDrawFancyAttributes
 
class  CRhinoDrawGripsSettings
 
class  CRhinoDropTarget
 
class  CRhinoDump
 
class  CRhinoEdgeAnalysisSettings
 
More...
 
class  CRhinoEmapAnalysisSettings
 
More...
 
class  CRhinoEndAnalysisSettings
 
More...
 
class  CRhinoEventWatcher
 
class  CRhinoEventWatcherEx
 
class  CRhinoExtend
 
class  CRhinoExtrusionObject
 
class  CRhinoFileExportPlugIn
 
class  CRhinoFileImportPlugIn
 
class  CRhinoFileMenu
 
class  CRhinoFileReadOptions
 
class  CRhinoFileType
 
class  CRhinoFileUtilities
 File IO helpers. More...
 
class  CRhinoFileWriteOptions
 
class  CRhinoFilletEdge
 
class  CRhinoFitPatch
 
class  CRhinoFlowSpaceMorph
 
class  CRhinoGetDimAngular
 Class to interactively get user input for angular dimensions. More...
 
class  CRhinoGetDimLinear
 Class to interactively get user input for linear dimensions. More...
 
class  CRhinoGetDimOrdinate
 Class to interactively get user input for radial dimensions. More...
 
class  CRhinoGetDimRadial
 Class to interactively get user input for radial dimensions. More...
 
class  CRhinoGripDirections
 
class  CRhinoGripObject
 
class  CRhinoGripObjectEx
 
class  CRhinoGripsEnabler
 
class  CRhinoGripStatus
 
class  CRhinoGroup
 
class  CRhinoGroupGeometry
 
class  CRhinoGroupObject
 
class  CRhinoGroupTable
 
class  CRhinoGumball
 
class  CRhinoGumballAppearance
 
class  CRhinoGumballColors
 
More...
 
class  CRhinoGumballDisplayConduit
 
class  CRhinoGumballDragger
 
class  CRhinoGumballDragSettings
 
class  CRhinoGumballFrame
 
class  CRhinoGumballPickResult
 
class  CRhinoGumballPopUpMenu
 
class  CRhinoGumballSizes
 
More...
 
class  CRhinoHatch
 
class  CRhinoHatchPattern
 CRhinoHatchPattern class. More...
 
class  CRhinoHatchPatternTable
 CRhinoHatchPatternTable class - A list of Hatch Pattern definitions. More...
 
class  CRhinoHistory
 
class  CRhinoHistoryManager
 
class  CRhinoHistoryRecord
 
class  CRhinoHistoryRecordTable
 
class  CRhinoInferredCurve
 9-17-03 LW added in conjunction with inferred curve osnap testing More...
 
class  CRhinoInferredCurveArray
 
class  CRhinoInstanceDefinition
 
class  CRhinoInstanceDefinitionTable
 
class  CRhinoInstanceObject
 
class  CRhinoInstanceObjectPiece
 
class  CRhinoIntSnapCandidate
 
class  CRhinoIsIdle
 
class  CRhinoKeepKinkySurfaces
 
More...
 
class  CRhinoLayer
 
class  CRhinoLayerComboBox
 CRhinoLayerComboBox window. More...
 
class  CRhinoLayerNode
 
class  CRhinoLayerTable
 
class  CRhinoLeader
 
class  CRhinoLeaseChangedEventArgs
 
class  CRhinoLicenseLease
 
class  CRhinoLicenseValidator
 
class  CRhinoLight
 
class  CRhinoLightTable
 
class  CRhinoLinetype
 
class  CRhinoLinetypeTable
 
class  CRhinoLoftCurve
 
class  CRhinoMaelstromSpaceMorph
 
class  CRhinoMaterial
 
class  CRhinoMaterialTable
 
class  CRhinoMeshDensity
 
class  CRhinoMeshObject
 
class  CRhinoMeshObjectsUI
 
class  CRhinoMeshStlUI
 
class  CRhinoModelessUserInterfaceDocChanged
 
class  CRhinoModelViewIterator
 
class  CRhinoMorphControl
 
class  CRhinoMouseCallback
 
class  CRhinoNamedColor
 
More...
 
class  CRhinoObject
 Base class for all runtime Rhino objects. More...
 
class  CRhinoObjectAttributes
 
class  CRhinoObjectColorComboBox
 CRhinoObjectColorComboBox window. More...
 
class  CRhinoObjectDrawContext
 
class  CRhinoObjectDrawIterator
 
class  CRhinoObjectGrips
 
class  CRhinoObjectIterator
 
class  CRhinoObjectMesh
 
class  CRhinoObjectPair
 
class  CRhinoObjectPropertiesModelessDockingDialog
 CRhinoObjectPropertiesModelessDockingDialog. More...
 
class  CRhinoObjectVisualAnalysisMode
 
class  CRhinoObjRef
 
class  CRhinoObjRefArray
 
class  CRhinoOnAfterPostReadViewUpdate
 
class  CRhinoOnBeforePostReadViewUpdate
 
class  CRhinoOnChangeObjectSelectState
 
class  CRhinoOnMainLoopEvent
 
class  CRhinoOnSetActiveDetailObject
 
class  CRhinoOnTransformObject
 
class  CRhinoOpenDocumentOptions
 
class  CRhinoOpenGLSettings
 
More...
 
class  CRhinoOptionsPageCollection
 
class  CRhinoOptionsPageCollectionItem
 
class  CRhinoOptionsPageEventArgs
 
class  CRhinoPageView
 
class  CRhinoPageViewIterator
 
class  CRhinoPageViewObjectIterator
 
class  CRhinoPhantomObject
 
class  CRhinoPickContext
 
struct  CRhinoPickContext_MeshEdgeInfo
 
class  CRhinoPickFilter
 
class  CRhinoPlotColorComboBox
 CRhinoPlotColorComboBox window. More...
 
class  CRhinoPlugIn
 
class  CRhinoPlugInCommandRecord
 
class  CRhinoPlugInInfo
 
class  CRhinoPlugInRecord
 
class  CRhinoPlugInSettingsChanged
 
class  CRhinoPointCloudObject
 
class  CRhinoPointObject
 
class  CRhinoPolyEdge
 
class  CRhinoPolyEdgeSegment
 
class  CRhinoPolylineOnMeshUserData
 
class  CRhinoPopupMenu
 
class  CRhinoPrintControlsBase
 
class  CRhinoPrintInfo
 
class  CRhinoPropertiesPanelPageCollection
 
class  CRhinoPropListFileProfileContext
 
class  CRhinoPropListProfileContext
 
class  CRhinoPropListProfileContextIterator
 
class  CRhinoProxyObject
 
class  CRhinoRecordHistoryCommandOptionHelper
 
class  CRhinoRenderOverlays
 
class  CRhinoRenderPlugIn
 
class  CRhinoReplaceColorDialog
 
class  CRhinoSaveAndRestoreAppFileReadOptions
 
class  CRhinoScriptCommand
 
class  CRhinoScriptContext
 
class  CRhinoSdkRender
 
class  CRhinoSdkRenderEx
 
class  CRhinoSdkRenderEx2
 
class  CRhinoSelCommand
 
class  CRhinoSettings
 
class  CRhinoSkinDLL
 
class  CRhinoSkinDLLEx
 
class  CRhinoSnapContext
 
class  CRhinoSnapEvent
 
class  CRhinoSpaceMorph
 
class  CRhinoSplopSpaceMorph
 
class  CRhinoSporphSpaceMorph
 Flow along surface morph. More...
 
class  CRhinoStereoDisplayConduit
 
class  CRhinoStretchSpaceMorph
 
class  CRhinoSurfaceObject
 
class  CRhinoTabbedDockBarDialog
 
class  CRhinoTaperSpaceMorph
 Taper morph. More...
 
class  CRhinoTargetDocChanged
 
class  CRhinoTempAttachCMenu
 
class  CRhinoTestCommand
 
class  CRhinoText
 
class  CRhinoTextDot
 
class  CRhinoTextDump
 
class  CRhinoTextOut
 
class  CRhinoTextOutTextLog
 
class  CRhinoTextureMapping
 
class  CRhinoTextureMappingTable
 
class  CRhinoThicknessAnalysisSettings
 
More...
 
class  CRhinoTransformCommand
 
class  CRhinoTwistSpaceMorph
 Twist morph. More...
 
class  CRhinoUiFileEvent
 
class  CRhinoUiFontComboBox
 CRhinoUiFontComboBox. More...
 
class  CRhinoUiPaintColorSettings
 
class  CRhinoUndoEventHandler
 Use CRhinoUndoEventHandlerEx instead. More...
 
class  CRhinoUndoEventHandlerEx
 
class  CRhinoUnroll
 
class  CRhinoUtilityPlugIn
 
class  CRhinoUuidCollection
 
class  CRhinoView
 
class  CRhinoViewIterator
 
class  CRhinoViewport
 
class  CRhinoViewportIterator
 
class  CRhinoVisualAnalysisMode
 
class  CRhinoWidget
 
class  CRhinoWidgetColorSettings
 
More...
 
class  CRhinoWidgetGeometry
 
class  CRhinoWidgetGrip
 
class  CRhinoWindow
 
class  CRhinoWindowCreateOptions
 
class  CRhinoWireframeObject
 
class  CRhinoWorkerThread
 
class  CRhinoWorkSession
 
class  CRhinoZBuffer
 
class  CRhinoZebraAnalysisSettings
 
More...
 
class  CRhWidgetDrawAttr
 
class  CRhWidgetThickerDottedDrawAttr
 
struct  CSupportChannels
 
class  CUD_source_index
 
class  DisplayAttrsMgrList
 
class  DisplayAttrsMgrListDesc
 
class  IDockBarEventWatcher
 Interface class for forwarding dockbar events. More...
 
class  IRhinoMeshExtruder
 Interface to preview and perform mesh extrusions. More...
 
class  IRhinoOptionsPage
 
class  IRhinoOptionsPageHost
 
class  IRhinoPage
 
class  IRhinoPageHost
 
class  IRhinoPropertiesPanelPage
 
class  IRhinoPropertiesPanelPageEventArgs
 
class  IRhinoPropertiesPanelPageEventWatcher
 
class  IRhinoPropertiesPanelPageHost
 
class  IRhinoSdkRenderFrame
 
class  IRhinoSdkRenderFrameEx
 
class  IRhinoSnapshotsClient
 
class  IRhinoWindow
 
class  IRhWidgetDrawCache
 
class  ITabbedDockBarEventWatcher
 Extension interface for forwarding tabbed dockbar events. More...
 
class  MRhinoApp
 
struct  RealtimeDisplayMode
 
struct  RegisteredPipeline
 
class  RhDevelopableSurface
 
class  RhDisplacement
 Represents surface displacement on an object. More...
 
class  RhDisplacementArgs
 A class containing all displacement options. More...
 
class  RhEdgeSofteningArgs
 
class  RhinoCheckMeshOutput
 
class  RhinoReduceMeshParameters
 
class  RhinoSdkBlend
 
class  RhinoVersion
 
class  RhMeshPipeArgs
 
class  RhShutLiningArgs
 Shutlining arguments. More...
 
class  RhShutLiningCurveArgs
 Shutlining curve arguments. More...
 
class  RhSimplifyCurveFlags
 
struct  tagMakeRadiusSplineData
 

Macros

#define _CRT_SECURE_NO_DEPRECATE
 
#define _WIN32_IE   RHINO_IE_VERSION
 
#define _WIN32_WINDOWS   _WIN32_WINNT
 
#define _WIN32_WINNT   RHINO_WINVER
 
#define CRhinoPickList   CRhinoObjRefArray
 obsolete symbol - use CRhinoObjRefArray More...
 
#define DECLARE_DYNAMIC_PIPELINE(class_name)
 
#define DECLARE_PIPELINE_ATTRIBUTE_CLASS   ON_UUID ClassId() const override;
 
#define HATCH_GRIPS
 
#define IMPLEMENT_DYNAMIC_PIPELINE(class_name, base_name, description, uuid, bwire, bshade)
 
#define NTDDI_VERSION   RHINO_NTDDI_VERSION
 
#define OPENNURBS_IMPORTS
 
#define OPENNURBS_IMPORTS
 release build More...
 
#define OPENNURBS_VERSION_DEFINITION
 
#define REGISTER_PIPELINE_ATTRIBUTE_CLASS(className, classId)
 
#define RHCMDOPTNAME(s)   CRhinoCommandOptionName(s,s)
 
#define RHCMDOPTVALUE(s)   CRhinoCommandOptionValue(s,s)
 
#define RHINO_6_OR_LATER
 
#define RHINO__SDK__VERSION__DEFINITION__
 
#define RHINO_CLAMP(V, L, H)   ( (V) < (L) ? (L) : ( (V) > (H) ? (H) : (V) ) )
 
#define RHINO_COMPONENT_INDEX   OBSOLETE__USE__ON_COMPONENT_INDEX
 RHINO_COMPONENT_INDEX is OBSOLETE as of 9/30/2004 - user ON_COMPONENT_INDEX. More...
 
#define RHINO_CURRENT_FILE_VERSION_NUMBER   OPENNURBS_VERSION_MAJOR
 .3dm file version More...
 
#define RHINO_IE_VERSION   0x0700
 
#define RHINO_NOEXCEPT   ON_NOEXCEPT
 
#define RHINO_NTDDI_VERSION   0x06010000
 
#define RHINO_PLUG_IN_DECLARE
 
#define RHINO_PLUG_IN_DECLARE   #error include .../SDK/inc/rhinoSdkPlugInDeclare.h in the .cpp file where you are seeing this error.
 A Rhino plug-in is being compiled - import Rhino SDK symbols. More...
 
#define RHINO_PLUG_IN_DECLARE_IS_ERROR
 
#define RHINO_PLUG_IN_DEPENDENCIES(sIdList)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDependencies(void) {return sIdList;}
 
#define RHINO_PLUG_IN_DESCRIPTION(sPlugInDescription)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDescription(void) { return sPlugInDescription; }
 
#define RHINO_PLUG_IN_DEVELOPER_ADDRESS(sDeveloperAddress)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperAddress(void) {return sDeveloperAddress;}
 
#define RHINO_PLUG_IN_DEVELOPER_COUNTRY(sDeveloperCountry)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperCountry(void) {return sDeveloperCountry;}
 
#define RHINO_PLUG_IN_DEVELOPER_EMAIL(sDeveloperEmail)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperEmail(void) {return sDeveloperEmail;}
 
#define RHINO_PLUG_IN_DEVELOPER_FAX(sDeveloperFax)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperFax(void) {return sDeveloperFax;}
 
#define RHINO_PLUG_IN_DEVELOPER_ORGANIZATION(sDeveloperOrganization)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperOrganization(void) {return sDeveloperOrganization;}
 
#define RHINO_PLUG_IN_DEVELOPER_PHONE(sDeveloperPhone)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperPhone(void) {return sDeveloperPhone;}
 
#define RHINO_PLUG_IN_DEVELOPER_WEBSITE(sDeveloperWebsite)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperWebsite(void) {return sDeveloperWebsite;}
 
#define RHINO_PLUG_IN_ICON_RESOURCE_ID(nIconResourceId)   extern "C" RHINO_SDK_EXPORT unsigned int RhinoPlugInIconResourceId(void) { return nIconResourceId; }
 
#define RHINO_PLUG_IN_ID(sPlugInId)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInId(void) {return sPlugInId;}
 
#define RHINO_PLUG_IN_NAME(sPlugInName)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInName(void) {return sPlugInName;}
 
#define RHINO_PLUG_IN_UPDATE_URL(sUpdatePlugInURL)   extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInUpdateURL(void) {return sUpdatePlugInURL;}
 
#define RHINO_PLUG_IN_VERSION(sPlugInVersion)   extern "C" RHINO_SDK_EXPORT const char* RhinoPlugInVersion(void) {return sPlugInVersion;}
 
#define RHINO_PLUGIN_COMPILE
 Use MAC_DEPRECATED to decorate functions that should not be used in Rhino for Mac. More...
 
#define RHINO_PREPROC_STRINGIZE(s)   RHINO_PREPROC_STRINGIZE_HELPER(s)
 #pragma once More...
 
#define RHINO_PREPROC_STRINGIZE_HELPER(s)   #s
 
#define RHINO_REGISTRY_ROOT_STRING   "McNeel\\Rhinoceros\\6.0"
 
#define RHINO_REGISTRY_ROOT_WSTRING   L"McNeel\\Rhinoceros\\6.0"
 
#define RHINO_SDK_CHECKS__LINKER__INSTRUCTIONS__
 These checks are very specific to Windows Rhino. More...
 
#define RHINO_SDK_CLASS   __attribute__ ((visibility ("default")))
 
#define RHINO_SDK_DATA   __attribute__ ((visibility ("default")))
 
#define RHINO_SDK_EXPORT   __attribute__ ((visibility ("default")))
 
#define RHINO_SDK_FUNCTION   __attribute__ ((visibility ("default")))
 
#define RHINO_SDK_H__INCLUDED__
 3rd party Rhino SDK plug-in developer path to openNURBS tools More...
 
#define RHINO_SDK_H_IN_PROGRESS_
 the following line must be the first line in this file that is not a comment More...
 
#define RHINO_SDK_OSX_VERSION   RHINO_SDK_SERVICE_RELEASE
 
#define RHINO_SDK_PLUG_IND_DECLARE_INC_
 
#define RHINO_SDK_SERVICE_RELEASE   RHINO_VERSION_NUMBER
 
#define RHINO_SDK_STDAFX_PREAMBLE_H__
 
#define RHINO_SDK_TEMPLATE   __attribute__ ((visibility ("default")))
 
#define RHINO_SDK_WINDOWS_VERSION   ON_VERSION_NUMBER_CTOR(6, 0, 2017, 8, 15, 1 )
 SDK is frozen when the definition of RHINO_SDK_WINDOWS_VERSION is a hardcoded number. More...
 
#define RHINO_SDK_WINVER_H_INCLUDED_
 Please discuss any changes to this file with Dale Lear. More...
 
#define RHINO_V6SR   0
 
#define RHINO_VERSION_BRANCH   OPENNURBS_VERSION_BRANCH
 
#define RHINO_VERSION_DAY_OF_MONTH   OPENNURBS_VERSION_DAY_OF_MONTH
 
#define RHINO_VERSION_HOUR   OPENNURBS_VERSION_HOUR
 
#define RHINO_VERSION_MAJOR   OPENNURBS_VERSION_MAJOR
 Public SDK path to opennurbs_version.h. More...
 
#define RHINO_VERSION_MINOR   OPENNURBS_VERSION_MINOR
 "minor" corresponds to the Rhinoceros 6 service release number More...
 
#define RHINO_VERSION_MINUTE   OPENNURBS_VERSION_MINUTE
 
#define RHINO_VERSION_MONTH   OPENNURBS_VERSION_MONTH
 
#define RHINO_VERSION_NUMBER
 
#define RHINO_VERSION_NUMBER_MAJOR_STRING   RMA_VERSION_NUMBER_MAJOR_STRING
 
#define RHINO_VERSION_NUMBER_MAJOR_WSTRING   RMA_VERSION_NUMBER_MAJOR_WSTRING
 
#define RHINO_VERSION_NUMBER_SR_STRING   RMA_VERSION_NUMBER_SR_STRING
 
#define RHINO_VERSION_NUMBER_SR_WSTRING   RMA_VERSION_NUMBER_SR_WSTRING
 
#define RHINO_VERSION_NUMBER_STRING   RMA_VERSION_WITH_PERIODS_STRING
 
#define RHINO_VERSION_NUMBER_WITH_COMMAS   VERSION_WITH_COMMAS
 
#define RHINO_VERSION_NUMBER_WSTRING   RMA_VERSION_WITH_PERIODS_WSTRING
 
#define RHINO_VERSION_YEAR   OPENNURBS_VERSION_YEAR
 
#define RHINO_WINDOWS_REGISTRY_SVN_BRANCH   L"trunk"
 
#define RHINO_WINVER   0x0601
 
#define RHINOCEROS_APP_NAME_STRING   "Rhinoceros 6"
 char strings More...
 
#define RHINOCEROS_APP_NAME_WSTRING   L"Rhinoceros 6"
 wchar_t strings More...
 
#define SDKMFCUSAGE   true
 
#define SDKMFCVER   0
 
#define TL_IMPORTS
 
#define WINVER   _WIN32_WINNT
 

Typedefs

typedef ON_SimpleArray< CRhinoDisplayConduit * > ConduitList
 
typedef bool(* CUSTOM_MESH_HANDLER_FUNC) (const CRhinoObject &, ON_SimpleArray< ON_Mesh *> &aMeshes)
 
typedef ON_SimpleArray< int > DisplayBucket
 Object management constructs... More...
 
typedef struct tagMakeRadiusSplineData MakeRadiusSplineData
 
typedef ON_SimpleArray< const CRhinoObject * > ObjectArray
 
typedef bool(* PFDRAWOVERRIDEPROC) (CRhinoDisplayPipeline &)
 
typedef ON_ClassArray< RealtimeDisplayModeRealtimeDisplayModeList
 
typedef ON_ClassArray< RegisteredPipelineRegisteredPipelineList
 
typedef long long RhTimestamp
 

Enumerations

enum  : unsigned int {
  COMBINE_ADD = 1, COMBINE_MULTIPLY = 2, COMBINE_BLEND = 3, COMBINE_HATCHED = 4,
  COMBINE_MULTIPLY_WITH_COLOR = 5
}
 Texture combiner constants used in DrawCombinedTextures() method... More...
 
enum  CRhinoDocStatus {
  doc_status_first = 0, create_before_construct, create_enter_construct, create_exit_construct,
  create_begin, create_before_CRhinoDoc_OnNewDocument, create_enter_CRhinoDoc_OnNewDocument, create_before_CDocument_OnNewDocument,
  create_after_CDocument_OnNewDocument, create_before_event_post_OnNewDocument, create_enter_event_post_OnNewDocument, create_exit_event_post_OnNewDocument,
  create_after_event_post_OnNewDocument, create_exit_CRhinoDoc_OnNewDocument, create_after_CRhinoDoc_OnNewDocument, create_before_read_template_file,
  create_enter_read_3dm_template_file, create_before_event_post_OnBeginOpenDocument, create_enter_event_post_OnBeginOpenDocument, create_exit_event_post_OnBeginOpenDocument,
  create_after_event_post_OnBeginOpenDocument, create_after_read_3dm_template_file, create_before_event_post_OnEndOpenDocument, create_enter_event_post_OnEndOpenDocument,
  create_exit_event_post_OnEndOpenDocument, create_after_event_post_OnEndOpenDocument, create_read_3dm_template_before_views, create_read_3dm_template_after_views,
  create_exit_read_3dm_template_file, create_after_read_template_file, create_before_default_views, create_after_default_views,
  create_end, open_begin, open_before_CRhinoDoc_OnOpenDocument, open_enter_CRhinoDoc_OnOpenDocument,
  open_before_CDocument_OnOpenDocument, open_before_read_model_file, open_before_read_3dm_model_file, open_enter_read_3dm_model_file,
  open_before_event_post_OnBeginOpenDocument, open_enter_event_post_OnBeginOpenDocument, open_exit_event_post_OnBeginOpenDocument, open_after_event_post_OnBeginOpenDocument,
  open_enter_read_model_file, open_exit_read_model_file, open_before_event_post_OnEndOpenDocument, open_enter_event_post_OnEndOpenDocument,
  open_exit_event_post_OnEndOpenDocument, open_after_event_post_OnEndOpenDocument, open_read_3dm_model_before_views, open_read_3dm_model_after_views,
  open_exit_read_3dm_model_file, open_after_read_3dm_model_file, open_after_CDocument_OnOpenDocument, open_after_read_model_file,
  open_exit_CRhinoDoc_OnOpenDocument, open_after_CRhinoDoc_OnOpenDocument, open_before_views, open_after_views,
  open_end, available, close_begin, close_before_CRhinoDoc_OnCloseDocument,
  close_enter_CRhinoDoc_OnCloseDocument, close_before_event_post_OnCloseDocument, close_enter_event_post_OnCloseDocument, close_exit_event_post_OnCloseDocument,
  close_after_event_post_OnCloseDocument, close_before_CDocument_OnCloseDocument, close_after_CDocument_OnCloseDocument, close_exit_CRhinoDoc_OnCloseDocument,
  close_after_CRhinoDoc_OnCloseDocument, close_end, close_enter_destruct, close_before_destroy,
  close_enter_destroy, close_exit_destroy, close_after_destroy, close_exit_destruct,
  doc_status_last = 0x7FFFFFFF
}
 
enum  EConduitNotifiers {
  CN_PIPELINEADDED = 1, CN_PIPELINEDELETED, CN_PIPELINECLONED, CN_PIPELINEOPENED,
  CN_PIPELINECLOSED, CN_FRAMESIZECHANGED, CN_PROJECTIONCHANGED, CN_NESTEDPIPELINE_OPENED,
  CN_NESTEDPIPELINE_CLOSED
}
 Conduit notification values... More...
 
enum  ECullFaceMode : unsigned int { CFM_DRAW_FRONT_AND_BACK = 0, CFM_DRAW_FRONT_FACES = 1, CFM_DRAW_BACK_FACES = 2 }
 
enum  EDepthMode : unsigned int { DM_NEUTRAL = 0, DM_ALWAYS_IN_FRONT, DM_ALWAYS_IN_BACK }
 
enum  EFrameBufferFillMode : int {
  FBFM_DEFAULT_COLOR = 1, FBFM_SOLID_COLOR, FBFM_GRADIENT_2_COLOR, FBFM_GRADIENT_4_COLOR,
  FBFM_BITMAP, FBFM_RENDERER, FBFM_TRANSPARENT
}
 
enum  ELightingScheme : int {
  LS_NONE = 0, LS_DEFAULT_LIGHTING = 1, LS_SCENE_LIGHTING = 2, LS_CUSTOM_LIGHTING = 3,
  LS_AMBIENT_OCCLUSION = 4
}
 
enum  EnvironmentBackgroundProjection : int {
  EnvironmentBackgroundProjection::planar = 0, EnvironmentBackgroundProjection::spherical = 1, EnvironmentBackgroundProjection::emap = 2, EnvironmentBackgroundProjection::box = 3,
  EnvironmentBackgroundProjection::lightprobe = 4, EnvironmentBackgroundProjection::cubemap = 5, EnvironmentBackgroundProjection::vertical_cross_cubemap = 6, EnvironmentBackgroundProjection::horizontal_cross_cubemap = 7,
  EnvironmentBackgroundProjection::hemispherical = 8, EnvironmentBackgroundProjection::none = -1
}
 
enum  ERenderOverlayFeatures {
  ROF_POINTS = 0x00000001, ROF_LIGHTS = 0x00000002, ROF_MESHWIRES = 0x00000004, ROF_ISOS = 0x00000008,
  ROF_EDGES = 0x00000010, ROF_TEXT = 0x00000020, ROF_CURVES = 0x00000040, ROF_ANNOTATIONS = 0x00000080
}
 Post rendering features that make up all possible post renderables... More...
 
enum  ERhinoPointStyle : unsigned int {
  RPS_SQUARE = 50, RPS_CIRCLE = 51, RPS_TRIANGLE = 2, RPS_HEART = 3,
  RPS_CHEVRON = 4, RPS_CLOVER = 5, RPS_TAG = 6, RPS_X = 7,
  RPS_ASTERISK = 8, RPS_PIN = 9, RPS_ARROW_TAIL_OFF_POINT = 10, RPS_ARROW_TIP_OFF_POINT = 11,
  RPS_VARIABLE_DOT = 50, RPS_ROUND_DOT = 51, RPS_CONTROL_POINT = 100, RPS_ACTIVE_POINT = 101,
  RPS_ROUND_CONTROL_POINT = 102, RPS_ROUND_ACTIVE_POINT = 103
}
 Points helper types and classes used to describe and draw points... More...
 
enum  eRhSnapGeom {
  sng_plane_uv, sng_plane_uvw, sng_box, sng_sphere,
  sng_cylinder
}
 
enum  EZBiasMode : int { ZBM_AWAY_FROM_CAMERA = -1, ZBM_NEUTRAL = 0, ZBM_TOWARDS_CAMERA = 1 }
 
enum  GUMBALL_MODE {
  gb_mode_nothing, gb_mode_menu, gb_mode_translatefree, gb_mode_translatex,
  gb_mode_translatey, gb_mode_translatez, gb_mode_translatexy, gb_mode_translateyz,
  gb_mode_translatezx, gb_mode_scalex, gb_mode_scaley, gb_mode_scalez,
  gb_mode_scalexy, gb_mode_scaleyz, gb_mode_scalezx, gb_mode_rotatex,
  gb_mode_rotatey, gb_mode_rotatez, gb_mode_extrudex, gb_mode_extrudey,
  gb_mode_extrudez
}
 Transformation modes for gumballs. More...
 
enum  GUMBALL_POPUP_MENU_ITEM {
  gb_menu_nothing = 0, gb_menu_relocate = 1, gb_menu_autogumballon = 2, gb_menu_autogumballoff = 4,
  gb_menu_snappyon = 8, gb_menu_snappyoff = 16, gb_menu_settingscmd = 32, gb_menu_reset = 64,
  gb_rotate_view_around_autogumball = 128, gb_menu_align_to_object = 256, gb_menu_align_to_cplane = 512, gb_menu_align_to_world = 1024,
  gb_menu_drag_ratio = 2048, gb_menu_drag_ratio_popup = 4096, gb_menu_autoreset = 8192, gb_menu_enter = 16384,
  gb_menu_everything = 0xFFFFFFFF
}
 
enum  RhDisplacementSweepResolutionFormula : int { RhDisplacementSweepResolutionFormula::Default = 0, RhDisplacementSweepResolutionFormula::AbsoluteToleranceDependent = 1 }
 
enum  RHINO_IDEF_STATUS {
  RHINO_IDEF_NOT_A_LINKED_IDEF = -3, RHINO_IDEF_LINKED_FILE_NOT_READABLE = -2, RHINO_IDEF_LINKED_FILE_NOT_FOUND = -1, RHINO_IDEF_LINKED_FILE_IS_TO_DATE = 0,
  RHINO_IDEF_LINKED_FILE_IS_NEWER = 1, RHINO_IDEF_LINKED_FILE_IS_OLDER = 2, RHINO_IDEF_LINKED_FILE_IS_DIFFERENT = 3
}
 
enum  RhinoConicSectionType : int {
  RhinoConicSectionType::Unknown = 0, RhinoConicSectionType::Circle = 1, RhinoConicSectionType::Ellipse = 2, RhinoConicSectionType::Hyperbola = 3,
  RhinoConicSectionType::Parabola = 4
}
 
enum  RhinoDashStyle : unsigned int { RhinoDashStyle::Solid, RhinoDashStyle::Dash }
 
enum  RhinoFilletSurfaceSplitType : int { RhinoFilletSurfaceSplitType::Nothing = 0, RhinoFilletSurfaceSplitType::Trim = 1, RhinoFilletSurfaceSplitType::Split = 2 }
 
enum  RhinoFilletSurfaceType : int { RhinoFilletSurfaceType::RollingBall = 0, RhinoFilletSurfaceType::Chamfer = 1, RhinoFilletSurfaceType::Rails = 2 }
 
enum  RhinoLineCapStyle : int { RhinoLineCapStyle::None = 0, RhinoLineCapStyle::Round = 1, RhinoLineCapStyle::Flat = 2, RhinoLineCapStyle::Square = 3 }
 
enum  RhinoLineJoinStyle : int { RhinoLineJoinStyle::None = 0, RhinoLineJoinStyle::Round = 1, RhinoLineJoinStyle::Miter = 2, RhinoLineJoinStyle::Bevel = 3 }
 
enum  RhinoOptionPageButtons : int { RhinoOptionPageButtons::None = 0x00000000, RhinoOptionPageButtons::DefaultButton = 0x00000001, RhinoOptionPageButtons::ApplyButton = 0x00000002 }
 Standard IRhinoOptionsPageButton More...
 
enum  RhinoPropertiesPanelPageType : int {
  RhinoPropertiesPanelPageType::Material = 0, RhinoPropertiesPanelPageType::Light, RhinoPropertiesPanelPageType::Custom, RhinoPropertiesPanelPageType::ObjectProperties,
  RhinoPropertiesPanelPageType::Dimension, RhinoPropertiesPanelPageType::Leader, RhinoPropertiesPanelPageType::Text, RhinoPropertiesPanelPageType::Hatch,
  RhinoPropertiesPanelPageType::Dot, RhinoPropertiesPanelPageType::TextureMapping, RhinoPropertiesPanelPageType::Detail, RhinoPropertiesPanelPageType::ClippingPlane,
  RhinoPropertiesPanelPageType::NamedView, RhinoPropertiesPanelPageType::Decal, RhinoPropertiesPanelPageType::View, RhinoPropertiesPanelPageType::PageCount
}
 IRhinoProperties page type More...
 
enum  RhinoWindowCreateOptions : int {
  RhinoWindowCreateOptions::None = 0x00000000, RhinoWindowCreateOptions::ChildPage = 0x00000001, RhinoWindowCreateOptions::Visible = 0x00000002, RhinoWindowCreateOptions::Sizable = 0x4,
  RhinoWindowCreateOptions::Frame = 0x8, RhinoWindowCreateOptions::Minimizable = 0x10, RhinoWindowCreateOptions::Maximizable = 0x20
}
 
enum  RhinoYesNoResponse : unsigned int {
  RhinoYesNoResponse::Unset = 0, RhinoYesNoResponse::Yes = 1, RhinoYesNoResponse::YesToAll = 2, RhinoYesNoResponse::No = 3,
  RhinoYesNoResponse::NoToAll = 4, RhinoYesNoResponse::Cancel = 5, RhinoYesNoResponse::Error = 86
}
 define RhinoYesNoResponse enum More...
 
enum  RhPipeCapType { RhPipeCapType::None = 0, RhPipeCapType::Flat = 1, RhPipeCapType::Box = 2, RhPipeCapType::Dome = 3 }
 
enum  TextureReportFilter : unsigned int { TextureReportFilter::MissingOnly, TextureReportFilter::AllTextures }
 
enum  TextureReportResult : unsigned int { TextureReportResult::Abort, TextureReportResult::Continue, TextureReportResult::Success, TextureReportResult::Failure }
 

Functions

RHINO_SDK_FUNCTION bool CapOffSettedMesh (const ON_Mesh *pInputMesh, ON_Mesh *pOutputMesh, double Offset)
 
RHINO_SDK_FUNCTION CRhinoDisplayPipelineCreateDisplayPipeline (const ON_ClassId *)
 
RHINO_SDK_FUNCTION bool FindRegisteredPipeline (const ON_ClassId *, RegisteredPipeline &)
 
RHINO_SDK_FUNCTION bool FindRegisteredPipeline (const ON_UUID &, RegisteredPipeline &)
 
RHINO_SDK_FUNCTION const ON_ClassIdGetDefaultPageViewPipeline ()
 
RHINO_SDK_FUNCTION const ON_ClassIdGetDefaultShadingPipeline ()
 
RHINO_SDK_FUNCTION const ON_ClassIdGetDefaultWireframePipeline ()
 
RHINO_SDK_FUNCTION int GetRegisteredPipelines (RegisteredPipelineList &)
 
RHINO_SDK_FUNCTION int GetRegisteredShadingPipelines (RegisteredPipelineList &)
 
RHINO_SDK_FUNCTION int GetRegisteredWireframePipelines (RegisteredPipelineList &)
 
RHINO_SDK_FUNCTION bool MakeRhinoContours (const CRhinoContourInput &input, ON_SimpleArray< ON_Polyline *> &output_PlineArray, ON_SimpleArray< ON_Curve *> &output_CurveArray, ON_SimpleArray< ON_3dPoint > &output_PointArray)
 
RHINO_SDK_FUNCTION bool MakeRhinoContours (const CRhinoContourInput &input, ON_SimpleArray< ON_Polyline *> &output_PlineArray, ON_SimpleArray< ON_Curve *> &output_CurveArray, ON_SimpleArray< ON_3dPoint > &output_PointArray, double tolerance, CRhinoDoc *doc)
 
 ON_DEPRECATED_MSG ("This function will be removed in Rhino Version 7. \ "For assistance replacing this function post on discourse.mcneel.com/c/rhino-developer.") RHINO_SDK_FUNCTION bool RhinoBrepGet2dProjection(unsigned int rhino_doc_sn
 
RHINO_SDK_FUNCTION RhinoWindowCreateOptions operator & (RhinoWindowCreateOptions a, RhinoWindowCreateOptions b)
 
RHINO_SDK_FUNCTION RhinoOptionPageButtons operator & (RhinoOptionPageButtons a, RhinoOptionPageButtons b)
 
RHINO_SDK_FUNCTION RhinoWindowCreateOptionsoperator &= (RhinoWindowCreateOptions &a, RhinoWindowCreateOptions b)
 
RHINO_SDK_FUNCTION RhinoOptionPageButtonsoperator &= (RhinoOptionPageButtons &a, RhinoOptionPageButtons b)
 
RHINO_SDK_FUNCTION RhinoWindowCreateOptions operator| (RhinoWindowCreateOptions a, RhinoWindowCreateOptions b)
 
RHINO_SDK_FUNCTION RhinoOptionPageButtons operator| (RhinoOptionPageButtons a, RhinoOptionPageButtons b)
 
RHINO_SDK_FUNCTION RhinoWindowCreateOptionsoperator|= (RhinoWindowCreateOptions &a, RhinoWindowCreateOptions b)
 
RHINO_SDK_FUNCTION RhinoOptionPageButtonsoperator|= (RhinoOptionPageButtons &a, RhinoOptionPageButtons b)
 
RHINO_SDK_FUNCTION RhinoWindowCreateOptions operator~ (RhinoWindowCreateOptions a)
 
RHINO_SDK_FUNCTION RhinoOptionPageButtons operator~ (RhinoOptionPageButtons a)
 
RHINO_SDK_FUNCTION bool RegisterDisplayPipeline (const ON_ClassId *, const ON_UUID &, const ON_wString &, bool=true, bool=false, bool=false)
 
RHINO_SDK_FUNCTION const ON_ClassIdRegisterOpenGLEngine (const ON_ClassId *)
 
RHINO_SDK_FUNCTION bool RhCheckObjectSnapPoints (eRhSnapGeom sng, const CRhinoSnapContext &sc, CRhinoSnapEvent &se, const ON_Xform &xform)
 
RHINO_SDK_FUNCTION UUID RhCreateWidget (CRhinoDoc &doc, CRhinoWidget *pWidget, const CRhinoObjectAttributes *pAttr=NULL)
 
RHINO_SDK_FUNCTION void RhFindWidgetsAssociatedWithObject (const CRhinoObject &obj, ON_SimpleArray< CRhinoWidget *> &aWidgetsOut)
 
bool RhFormatNumber (double x, const ON_3dmUnitsAndTolerances &input_units, const ON_3dmUnitsAndTolerances &output_units, ON_wString &string, bool bAppendUnitSystemName, bool bBracketFractions)
 Returns true if formatting worked without fallbacks - no invalid input, overruns, etc. More...
 
RHINO_SDK_FUNCTION void RhGetGripPoints_Box (ON_3dPointArray &aOut)
 
RHINO_SDK_FUNCTION void RhGetGripPoints_Cylinder (ON_3dPointArray &aOut)
 
RHINO_SDK_FUNCTION void RhGetGripPoints_Plane_UV (ON_3dPointArray &aOut)
 
RHINO_SDK_FUNCTION void RhGetGripPoints_Plane_UVW (ON_3dPointArray &aOut)
 
RHINO_SDK_FUNCTION void RhGetGripPoints_Sphere (ON_3dPointArray &aOut)
 
RHINO_SDK_FUNCTION bool Rhino1RailSweep (ON_SimpleArray< ON_Brep *> &output_surfaces, const ON_Curve *pRail, const ON_SimpleArray< const ON_Curve *> shapes, bool bClosed=false, double tolerance=0.01)
 tolerance for fitting surface and rails More...
 
RHINO_SDK_FUNCTION bool Rhino2RailSweep (ON_SimpleArray< ON_Brep *> &output_surfaces, const ON_Curve *pRail[2], const ON_SimpleArray< const ON_Curve *> shapes, bool bClosed=false, double tolerance=0.01)
 tolerance for fitting surface and rails More...
 
RHINO_SDK_FUNCTION bool Rhino2RailSweepInParts (ON_SimpleArray< ON_Brep *> &output_surfaces, const ON_Curve *pRail[2], const ON_SimpleArray< const ON_Curve * > &shapes, bool bClosed=false, double tolerance=0.01)
 
RHINO_SDK_FUNCTION ON_BrepRhino3JoinBreps (const ON_SimpleArray< ON_Brep *> &Breps, ON_ClassArray< ON_SimpleArray< int > > &JoinData, double tolerance=0.0)
 
RHINO_SDK_FUNCTION int Rhino_dup_cmp_curve (const ON_Curve *crva, const ON_Curve *crvb)
 
RHINO_SDK_FUNCTION int Rhino_dup_cmp_surface (const ON_Surface *srfa, const ON_Surface *srfb)
 
RHINO_SDK_FUNCTION double Rhino_TestMathFunction (int function_index, double x, double y)
 
RHINO_SDK_FUNCTION void RhinoAcadNameString (char *name, int max_length=31, bool bAllowSpace=false)
 
RHINO_SDK_FUNCTION const ON_PlaneRhinoActiveCPlane ()
 
RHINO_SDK_FUNCTION ON_MeshRhinoAddShutLinesToMesh (const ON_Mesh &originalMesh, const RhShutLiningArgs &args, ON_Terminator *pCancelHandler=0)
 
RHINO_SDK_FUNCTION int RhinoAlignMeshVertices (ON_SimpleArray< ON_Mesh *> &MeshArray, const ON_ClassArray< ON_SimpleArray< bool >> &VertexFlags, double distance)
 
RHINO_SDK_FUNCTION class CRhinoAppRhinoApp ()
 returns theApp More...
 
RHINO_SDK_FUNCTION const char * RhinoAppVersionBuildDescription ()
 
RHINO_SDK_FUNCTION unsigned int RhinoAppVersionGetQuartet (unsigned int rhino_app_version_quartet[4])
 
RHINO_SDK_FUNCTION const char * RhinoAppVersionQuartetAsString ()
 
RHINO_SDK_FUNCTION const wchar_t * RhinoAppVersionQuartetAsWideString ()
 
RHINO_SDK_FUNCTION BOOL RhinoArePointsCoplanar (ON_SimpleArray< ON_3dPoint > &points, ON_3dPoint *pPoint=nullptr, ON_3dVector *pNormal=nullptr, double tolerance=ON_ZERO_TOLERANCE)
 
RHINO_SDK_FUNCTION BOOL RhinoArePointsCoplanar (ON_SimpleArray< ON_4dPoint > &points, ON_3dPoint *pPoint=nullptr, ON_3dVector *pNormal=nullptr, double tolerance=ON_ZERO_TOLERANCE)
 
RHINO_SDK_FUNCTION bool RhinoAutoAdjustTargetDepth (CRhinoViewport *pViewport, const ON_2iPoint *pMousePoint=nullptr, const double *pFocusSize=nullptr, const double *pWeight=nullptr)
 
RHINO_SDK_FUNCTION BOOL RhinoBackupFile (const wchar_t *filename, ON_wString &backup_filename)
 
RHINO_SDK_FUNCTION bool RhinoBooleanDifference (const ON_SimpleArray< const ON_Brep *> &InBreps0, const ON_SimpleArray< const ON_Brep *> &InBreps1, double tolerance, bool *bResult, ON_SimpleArray< ON_Brep *> &OutBreps, ON_SimpleArray< int > &InputIndexForOutput, bool bManifoldOnly=true, bool *bRaisedTol=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoBooleanIntersection (const ON_SimpleArray< const ON_Brep *> &InBreps0, const ON_SimpleArray< const ON_Brep *> &InBreps1, double tolerance, bool *bResult, ON_SimpleArray< ON_Brep *> &OutBreps, bool bManifoldOnly=true, bool *bRaisedTol=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoBooleanUnion (const ON_SimpleArray< const ON_Brep *> &InBreps, double tolerance, bool *bResult, ON_SimpleArray< ON_Brep *> &OutBreps, bool bManifoldOnly=true, bool *bRaisedTol=nullptr)
 
RHINO_SDK_FUNCTION ON_BrepRhinoBrepBaseballSphere (const ON_3dPoint &center, double radius, double tolerance, ON_Brep *pBrep=nullptr)
 
RHINO_SDK_FUNCTION ON_BrepRhinoBrepCapPlanarHoles (const ON_Brep *pInputBrep, const double &tol)
 
RHINO_SDK_FUNCTION ON_BrepRhinoBrepCapPlanarHoles (const ON_Brep *pInputBrep, const double &tol, const bool &bDisplayErrors)
 
RHINO_SDK_FUNCTION bool RhinoBrepClosestPoint (const ON_Brep &brep, ON_3dPoint pt, ON_COMPONENT_INDEX *ci, double *s, double *t, ON_3dPoint *brep_point=nullptr, double maximum_distance=0.0)
 
bool RhinoBrepCombineMarkedVerticesAndEdges (ON_Brep &B, double tol, bool bCompact=true)
 
RHINO_SDK_FUNCTION bool RhinoBrepFaceClosestPoint (const ON_BrepFace &face, ON_3dPoint P, double *s, double *t, double maximum_distance=0.0, const ON_Interval *sdomain=nullptr, const ON_Interval *tdomain=nullptr)
 
RHINO_SDK_FUNCTION ON_BrepRhinoBrepFaceRemoveInnerLoops (const ON_Brep &brep, ON_COMPONENT_INDEX face_ci, double tolerence)
 
RHINO_SDK_FUNCTION ON_BrepRhinoBrepRemoveAllInnerLoops (const ON_Brep &brep, double tolerence)
 
RHINO_SDK_FUNCTION ON_BrepRhinoBrepRemoveInnerLoops (const ON_Brep &brep, ON_SimpleArray< ON_COMPONENT_INDEX > loops_ci, double tolerence)
 
RHINO_SDK_FUNCTION bool RhinoBrepSplit (const ON_Brep &brep, const ON_Brep &splitter, double tolerance, ON_SimpleArray< ON_Brep *> &pieces, bool *bRaisedTol=nullptr)
 
RHINO_SDK_FUNCTION int RhinoBrepTrim (const ON_Brep &B, const ON_Brep &Cutter, double tol, ON_SimpleArray< ON_Brep *> &Trim, ON_ClassArray< ON_SimpleArray< int > > *fmap=nullptr, ON_ClassArray< ON_SimpleArray< int > > *emap=nullptr)
 
RHINO_SDK_FUNCTION int RhinoBrepTrim (const ON_Brep &B, const ON_Plane &Cutter, double tol, ON_SimpleArray< ON_Brep *> &Trim, ON_ClassArray< ON_SimpleArray< int > > *fmap=nullptr, ON_ClassArray< ON_SimpleArray< int > > *emap=nullptr)
 
RHINO_SDK_FUNCTION double RhinoCalcTriangleArea (ON_3dPoint A, ON_3dPoint B, ON_3dPoint C)
 
RHINO_SDK_FUNCTION double RhinoCalculateAspectRatio (ON_3dPoint A, ON_3dPoint B, ON_3dPoint C, ON_3dPoint D)
 
RHINO_SDK_FUNCTION bool RhinoCaptureObject (CRhinoMorphControl *control_object, CRhinoObject *captive_object)
 
RHINO_SDK_FUNCTION ON_BrepRhinoChangeSeam (const ON_BrepFace &Face, int di, double t, double tol)
 
RHINO_SDK_FUNCTION bool RhinoCheckMesh (const ON_SimpleArray< const CRhinoMeshObject *> &pMeshObjArray, ON_TextLog &text_log, RhinoCheckMeshOutput &output)
 
RHINO_SDK_FUNCTION ON_CurveRhinoCleanUpPolyCurve (const ON_PolyCurve &PC)
 
RHINO_SDK_FUNCTION bool RhinoCollapseMeshEdge (ON_Mesh &mesh, int edgeIndex)
 
RHINO_SDK_FUNCTION int RhinoCollapseMeshEdges (ON_Mesh &Mesh, bool bGreaterThan, double edgeLength)
 
RHINO_SDK_FUNCTION bool RhinoCollapseMeshFace (ON_Mesh &mesh, int faceIndex)
 
RHINO_SDK_FUNCTION int RhinoCollapseMeshFacesByArea (ON_Mesh &Mesh, double lessThanArea, double greaterThanArea)
 
RHINO_SDK_FUNCTION int RhinoCollapseMeshFacesByAspectRatio (ON_Mesh &Mesh, double aspectRatio)
 
RHINO_SDK_FUNCTION bool RhinoCollapseMeshVertex (ON_Mesh &mesh, int topVertexIndex1, int topVertexIndex2)
 
RHINO_SDK_FUNCTION BOOL RhinoColorDialog (HWND hwndParent, ON_Color &color, bool include_button_colors=false, const wchar_t *dialog_title=nullptr)
 
RHINO_SDK_FUNCTION BOOL RhinoColorDialogEx (HWND hwndParent, ON_Color &color, bool include_button_colors=false, const wchar_t *dialog_title=nullptr, bool use_alpha=false, HWND hwndMessage=nullptr, const ON_ClassArray< CRhinoNamedColor > *pCustomNamedColors=nullptr)
 
RHINO_SDK_FUNCTION int RhinoCompareCCXEvent (const CRhinoCCXEvent *, const CRhinoCCXEvent *)
 
RHINO_SDK_FUNCTION bool RhinoCompareGeometry (const ON_Geometry *a, const ON_Geometry *b)
 
RHINO_SDK_FUNCTION bool RhinoCompareGeometry (const CRhinoObject *a, const CRhinoObject *b)
 
RHINO_SDK_FUNCTION ON_wString RhinoComputerSerialNumber ()
 
RHINO_SDK_FUNCTION CRhinoMorphControlRhinoControlObject (const CRhinoObject *captive_object)
 
RHINO_SDK_FUNCTION ON_PolyCurveRhinoConvertCurveToArcs (const ON_Curve *pCurve, const double dTol, const double dAngleTol, const double dMinLength, const double dMaxLength)
 
RHINO_SDK_FUNCTION ON_PolyCurveRhinoConvertCurveToLines (const ON_Curve *pCurve, const double dTol, const double dAngleTol, const double dMinLength, const double dMaxLength)
 
RHINO_SDK_FUNCTION bool RhinoConvertCurveToPolyline (const ON_Curve &curve, int main_seg_count, int sub_seg_count, double max_ang_radians, double max_chr, double max_aspect, double tolerance, double min_edge_length, double max_edge_length, ON_PolylineCurve &polyline, bool bKeepStartPoint=true, ON_Interval *curve_domain=nullptr)
 
RHINO_SDK_FUNCTION int RhinoCopyAnalysisModes (const CRhinoObject *source_object, CRhinoObject *destination_object)
 
RHINO_SDK_FUNCTION int RhinoCopyAnalysisModes (const CRhinoObjectVisualAnalysisMode *analysis_mode_list, CRhinoObject *destination_object)
 
RHINO_SDK_FUNCTION ON_BrepRhinoCreate1FaceBrepFromPoints (const ON_3dPoint corners[4], int count, double tolerance=0)
 
RHINO_SDK_FUNCTION CRhinoDibRhinoCreateAnaglyph (const CRhinoDib &LeftEye, const CRhinoDib &RightEye, const int nType=0)
 
RHINO_SDK_FUNCTION ON_PolyCurveRhinoCreateArcBlend (const ON_3dPoint &startpt, const ON_3dVector &startdir, const ON_3dPoint &endpt, const ON_3dVector &enddir, const double controlpolygonlengthratio=1.0, ON_PolyCurve *curve_out=nullptr)
 
RHINO_SDK_FUNCTION ON_BrepRhinoCreateEdgeSrf (int curve_count, const ON_Curve **pCrvs)
 
RHINO_SDK_FUNCTION CRhinoTextDotRhinoCreateErrorMarker (ON_3dPoint Location, const wchar_t *msg, ON_3dmObjectAttributes *attr, unsigned int RhinoDocSN)
 
RHINO_SDK_FUNCTION bool RhinoCreateHatches (CArgsRhinoHatch &args, double tolerance, ON_SimpleArray< ON_Hatch *> &results)
 
RHINO_SDK_FUNCTION bool RhinoCreateHatches (CArgsRhinoHatch &args, ON_SimpleArray< ON_Hatch *> &results)
 
RHINO_SDK_FUNCTION bool RhinoCreateParabolaFromFocus (const ON_3dPoint &focus, const ON_3dPoint &start, const ON_3dPoint &end, ON_BezierCurve &parabola_out)
 
RHINO_SDK_FUNCTION bool RhinoCreateParabolaFromVertex (const ON_3dPoint &vertex, const ON_3dPoint &start, const ON_3dPoint &end, ON_BezierCurve &parabola_out)
 
RHINO_SDK_FUNCTION const CRhinoObjectRhinoCreatePictureFrame (class CRhinoDoc &doc, const ON_Plane &plane, const ON_wString &texturepath, bool makemesh=false, bool usealphaforobjecttransparency=false, double width=0.0, double height=0.0, bool selfillumination=true, bool embedbitmap=false, bool addtodoc=true)
 
RHINO_SDK_FUNCTION const CRhinoObjectRhinoCreatePictureFrame (class CRhinoDoc &doc, const ON_Plane &plane, const ON_wString &texturepath, bool makemesh=false, double width=0.0, double height=0.0, bool selfillumination=true, bool embedbitmap=false, bool addtodoc=true)
 
RHINO_SDK_FUNCTION const CRhinoObjectRhinoCreatePictureFrame (class CRhinoDoc &doc, const ON_Plane &plane, const ON_wString &texturepath, double width=0.0, double height=0.0, bool selfillumination=true, bool embedbitmap=false, bool addtodoc=true)
 
RHINO_SDK_FUNCTION int RhinoCreateSolid (const ON_SimpleArray< const ON_Brep *> &InBreps, ON_SimpleArray< ON_Brep *> &OutBreps, double tolerance)
 
RHINO_SDK_FUNCTION int RhinoCreateSubPictureMaterialIndex (CRhinoDoc &doc, const CRhinoObject *original_picture_object, const ON_Brep *shrunk_picture_brep)
 
RHINO_SDK_FUNCTION ON_NurbsSurfaceRhinoCreateSurfaceFromCorners (const ON_3dPoint &a, const ON_3dPoint &b, ON_3dPoint &c, ON_3dPoint &d, double dtol=0)
 
RHINO_SDK_FUNCTION bool RhinoCreateTaperedExtrude (const ON_Curve *input_curve, double distance, ON_3dVector direction, ON_3dPoint base, double draft_angle, int cornertype, double tol, double ang_tol, ON_SimpleArray< ON_Brep *> &output_breps)
 
RHINO_SDK_FUNCTION bool RhinoCreateTextObjectGeometry (const ON_Annotation *pAnno, const ON_Viewport *vp, const ON_DimStyle *dimstyle, double text_scale, bool close_contours, double join_tol, double small_caps_scale, ON::object_type variety, double height, double spacing, ON_SimpleArray< ON_Object *> &output)
 
RHINO_SDK_FUNCTION bool RhinoCullControlPolygon ()
 
RHINO_SDK_FUNCTION ON_MeshRhinoCullZeroAreaMeshFaces (const ON_Mesh &MeshIn, int &removed_faces_count, int &fixed_faces_count, ON_Mesh *pMeshOut=0)
 
RHINO_SDK_FUNCTION bool RhinoCurve2View (const ON_Curve &C0, const ON_Curve &C1, ON_3dVector D0, ON_3dVector D1, ON_SimpleArray< ON_Curve *> &output_curves, double tol, double angle_tol)
 
RHINO_SDK_FUNCTION int RhinoCurveBooleanDifference (const ON_Curve *crvA, const ON_Curve *crvB, double tolerance, ON_SimpleArray< ON_Curve *> &OutCurves)
 
RHINO_SDK_FUNCTION int RhinoCurveBooleanIntersection (const ON_Curve *crvA, const ON_Curve *crvB, double tolerance, ON_SimpleArray< ON_Curve *> &OutCurves)
 
RHINO_SDK_FUNCTION int RhinoCurveBooleanUnion (const ON_SimpleArray< const ON_Curve *> &InCurves, double tolerance, ON_SimpleArray< ON_Curve *> &OutCurves)
 
RHINO_SDK_FUNCTION bool RhinoCurveBrepIntersect (const ON_Curve &crv, const ON_Brep &brep, double tol, ON_SimpleArray< ON_Curve *> &curves, ON_3dPointArray &points)
 
RHINO_SDK_FUNCTION int RhinoCurveCurveIntersect (const ON_Curve &curveA, const ON_Curve &curveB, double tolerance, ON_SimpleArray< CRhinoCCXEvent > &x, const ON_Interval *curveA_domain=NULL, const ON_Interval *curveB_domain=NULL)
 
RHINO_SDK_FUNCTION int RhinoCurveExtremeParameters (const ON_Curve &curve, const ON_3dVector &dir, ON_SimpleArray< double > &out_parameters)
 
RHINO_SDK_FUNCTION bool RhinoCurveFaceIntersect (const ON_Curve &crv, const ON_BrepFace &face, double tol, ON_SimpleArray< ON_Curve *> &curves, ON_3dPointArray &points)
 
RHINO_SDK_FUNCTION bool RhinoCurveOnSurfacePoints (const ON_Surface &Srf, const ON_SimpleArray< ON_2dPoint > &Fixed2, double tol, bool Periodic, int init_count, int nlevels, ON_SimpleArray< ON_2dPoint > &out, ON_SimpleArray< double > &t, ON_SimpleArray< int > *pIndex=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoCurveOnSurfacePoints (const ON_Surface &Srf, const ON_SimpleArray< ON_2dPoint > &Fixed2, const ON_SimpleArray< double > &Dist, const ON_ClassArray< ON_SimpleArray< ON_2dPoint > > &Geo, double tol, bool Periodic, int init_count, int nlevels, ON_SimpleArray< ON_2dPoint > &out, ON_SimpleArray< double > &t, ON_SimpleArray< int > *pIndex)
 
RHINO_SDK_FUNCTION bool RhinoCurveOnSurfaceSolver (const ON_Surface &Srf, ON_SimpleArray< ON_2dPoint > &out, ON_SimpleArray< int > &Index, ON_SimpleArray< double > &t, ON_SimpleArray< double > &tol, bool Periodic, int Num_Levels)
 
RHINO_SDK_FUNCTION int RhinoCurveSelfIntersect (const ON_Curve &curve, double tolerance, ON_SimpleArray< CRhinoCCXEvent > &x, const ON_Interval *curveA_domain=NULL, const ON_Interval *curveB_domain=NULL)
 
RHINO_SDK_FUNCTION bool RhinoCurveSplit (const ON_Curve &curve, const ON_Brep &splitter, double tolerance, double angtolrads, ON_SimpleArray< ON_Curve *> &pieces)
 
RHINO_SDK_FUNCTION int RhinoCurveSurfaceIntersect (const ON_Curve &curve, const ON_Surface &surface, double distance_tolerance, double angle_tolerance_radians, ON_SimpleArray< CRhinoCSXEvent > &x, const ON_Interval *curve_domain=NULL, const ON_Interval *surface_u_domain=NULL, const ON_Interval *surface_v_domain=NULL)
 
RHINO_SDK_FUNCTION void RhinoCutUpSurface (const ON_Surface &srf, BOOL bFlip, const ON_SimpleArray< ON_Curve *> &EdgeCurves, double ftol, double ctol, ON_SimpleArray< ON_Brep *> &Breps, double *max_tol_used=nullptr)
 
RHINO_SDK_FUNCTION ON_UUID RhinoDefaultRendererId (void)
 
RHINO_SDK_FUNCTION wchar_t RhinoDegreesSymbol ()
 
RHINO_SDK_FUNCTION unsigned int RhinoDestroyDisplayMeshes (ON::mesh_type mesh_type, CRhinoObjectIterator &it, bool *bRedrawNeeded)
 
RHINO_SDK_FUNCTION ON_MeshRhinoDisplaceMesh (const ON_Mesh &originalMesh, const RhDisplacement &displacement, const RhDisplacementArgs &args, ON_wString &problemString, ON_Terminator *pCancelHandler=0, ON_ProgressReporter *pProgressReporter=0)
 
RHINO_SDK_FUNCTION bool RhinoDivideCurve (const ON_Curve &curve, double seg_count, double seg_length, bool bReverse, bool bIncludeEnd, ON_SimpleArray< ON_3dPoint > *curve_P, ON_SimpleArray< double > *curve_t)
 
RHINO_SDK_FUNCTION int RhinoDivideCurveEquidistant (const ON_Curve *curve, double distance, ON_SimpleArray< ON_3dPoint > &points)
 
RHINO_SDK_FUNCTION bool RhinoDoCurveDirectionsMatch (const ON_Curve *c0, const ON_Curve *c1)
 
RHINO_SDK_FUNCTION bool RhinoDollyExtents (const ON_Viewport &current_vp, ON_BoundingBox camcoord_bbox, ON_Viewport &zoomed_vp)
 
RHINO_SDK_FUNCTION bool RhinoDollyExtents (class CRhinoObjectIterator &it, const CRhinoViewport &rhino_vp, double border, ON_Viewport &zoomed_vp, const ON_SimpleArray< ON_3dPoint > *extra_points=nullptr, ON_BoundingBox *camcoord_box=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoDollyExtents (class CRhinoViewport &viewport, double border)
 
RHINO_SDK_FUNCTION bool RhinoDollyExtents (class CRhinoView *view, bool active_viewport=true)
 
RHINO_SDK_FUNCTION bool RhinoDollyExtentsSelected (class CRhinoViewport &viewport, double border)
 
RHINO_SDK_FUNCTION bool RhinoDollyExtentsSelected (class CRhinoView *view, bool active_viewport=true)
 
RHINO_SDK_FUNCTION int RhinoDuplicateCurveSegments (const ON_Curve *curve, ON_SimpleArray< ON_Curve *> &OutCurves)
 
RHINO_SDK_FUNCTION ON_PolylineCurveRhinoDupMeshBorder (const ON_MeshComponentRef *pMeshEdgeRef)
 
RHINO_SDK_FUNCTION void RhinoDynamicViewChange (CRhinoView *view)
 
RHINO_SDK_FUNCTION ON_MeshRhinoEdgeSoftenMesh (const ON_Mesh &originalMesh, const RhEdgeSofteningArgs &args, ON_Terminator *pCancelHandler=0)
 
RHINO_SDK_FUNCTION int RhinoExplodeMesh (const ON_Mesh *mesh_in, ON_SimpleArray< ON_Mesh *> &meshlist_out)
 
RHINO_SDK_FUNCTION bool RhinoExtendCrvOnSrf (const ON_BrepFace &face, ON_Curve *&crv, int side=2)
 
RHINO_SDK_FUNCTION bool RhinoExtendCurve (ON_Curve *&crv, CRhinoExtend::Type type, int side, double length)
 
RHINO_SDK_FUNCTION bool RhinoExtendCurve (ON_Curve *&crv, CRhinoExtend::Type type, int side, const ON_SimpleArray< const ON_Geometry *> &geom)
 
RHINO_SDK_FUNCTION bool RhinoExtendCurve (ON_Curve *&crv, CRhinoExtend::Type type, int side, ON_3dPoint end)
 
RHINO_SDK_FUNCTION BOOL RhinoExtendLineThroughBox (const ON_Line &line_in, const ON_BoundingBox &bbox, ON_Line &line_out)
 
RHINO_SDK_FUNCTION bool RhinoExtendSurface (ON_Surface *&srf, ON_Surface::ISO edge_index, double ExtensionLength, bool SmoothToggle)
 
RHINO_SDK_FUNCTION int RhinoExtractDuplicateMeshFaces (const ON_Mesh &MeshIn, ON_Mesh &MeshOut, ON_Mesh &MeshExtractionOut)
 
RHINO_SDK_FUNCTION bool RhinoExtractMeshFaces (ON_SimpleArray< int > &FaceIDXArray, ON_Mesh &MeshIn, ON_Mesh &MeshExtracted)
 
RHINO_SDK_FUNCTION int RhinoExtractNonManifoldMeshEdges (const ON_Mesh &MeshIn, bool bSelective, ON_Mesh &MeshOut, ON_Mesh &MeshExtractionOut)
 
RHINO_SDK_FUNCTION ON_SurfaceRhinoExtrudeCurveStraight (const ON_Curve *pCurve, ON_3dVector direction, double scale=1.0)
 
RHINO_SDK_FUNCTION ON_SurfaceRhinoExtrudeCurveToPoint (const ON_Curve *pCurve, const ON_3dPoint &apex)
 
RHINO_SDK_FUNCTION ON_CurveRhinoFairCurve (CArgsRhinoFair &args)
 
RHINO_SDK_FUNCTION ON_CurveRhinoFilletCurveCorners (const ON_Curve *curve, double radius, double tol, double ang_tol)
 
RHINO_SDK_FUNCTION bool RhinoFilletSurface (const ON_BrepFace *pFace0, double u0, double v0, double radius0, const ON_BrepFace *pFace1, double u1, double v1, double radius1, RhinoFilletSurfaceType fillet_type, bool bExtend, RhinoFilletSurfaceSplitType split_type, double tolerance, ON_SimpleArray< ON_Brep *> &OutFillets, ON_SimpleArray< ON_Brep *> &OutBreps0, ON_SimpleArray< ON_Brep *> &OutBreps1)
 
RHINO_SDK_FUNCTION bool RhinoFillMeshHole (const int StartEdgeIdx, ON_Mesh *pMesh, ON_Mesh **pMeshHolePatch=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoFillMeshHoles (ON_Mesh *pMesh)
 
RHINO_SDK_FUNCTION bool RhinoFitCircleToPoints (const ON_SimpleArray< ON_3dPoint > &point_array, ON_Circle &circle)
 
RHINO_SDK_FUNCTION bool RhinoFitCircleToPoints (int point_count, const ON_3dPoint *points, ON_Circle &circle)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoFitCurve (const ON_Curve &curve_in, int degree=3, double dFitTol=ON_UNSET_VALUE, double dAngleTol=ON_UNSET_VALUE, ON_NurbsCurve *curve_out=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoFitLineToPoints (const ON_SimpleArray< ON_3dPoint > &point_array, ON_Line &line)
 
RHINO_SDK_FUNCTION bool RhinoFitLineToPoints (int point_count, const ON_3dPoint *points, ON_Line &line)
 
RHINO_SDK_FUNCTION int RhinoFitPlaneToPoints (const ON_SimpleArray< ON_3dPoint > &point_array, ON_Plane &plane, ON_BoundingBox &box)
 
RHINO_SDK_FUNCTION int RhinoFitPlaneToPoints (int point_count, const ON_3dPoint *points, ON_Plane &plane, ON_BoundingBox &box)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoFitPointsOnSurface (const ON_Surface &srf, const ON_SimpleArray< ON_2dPoint > &points, double tol, bool Periodic)
 
RHINO_SDK_FUNCTION ON_SurfaceRhinoFitSurface (const ON_Surface &surface_in, int udegree=3, int vdegree=3, double dFitTol=ON_UNSET_VALUE, double *pAchievedTol=nullptr)
 
RHINO_SDK_FUNCTION void RhinoFormatColor (ON_Color color, ON_wString &string)
 
RHINO_SDK_FUNCTION double RhinoFormatDegreesInDMS (double angle_decimal_degrees, ON_wString &str, bool bWithSpaces=false)
 
RHINO_SDK_FUNCTION double RhinoFormatDegreesLatitude (double latitude_decimal_degrees, ON_wString &str, int format=0)
 
RHINO_SDK_FUNCTION double RhinoFormatDegreesLongitude (double longitude_decimal_degrees, ON_wString &str, int format=0)
 
RHINO_SDK_FUNCTION void RhinoFormatNumber (double x, ON_wString &string)
 
RHINO_SDK_FUNCTION void RhinoFormatNumber (double x, const ON_3dmUnitsAndTolerances &units, ON_wString &string, bool bAppendUnitSystemName=false)
 
RHINO_SDK_FUNCTION void RhinoFormatNumber (double x, const ON_3dmUnitsAndTolerances &input_units, const ON_3dmUnitsAndTolerances &output_units, ON_wString &string, bool bAppendUnitSystemName=false)
 
RHINO_SDK_FUNCTION void RhinoFormatPoint (ON_3dPoint point, ON_wString &string, const wchar_t *number_format=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoGet1RailFrames (const ON_Curve &curve, int count, const double *t, ON_SimpleArray< ON_Plane > &frames, ON_3dVector starting_x0)
 
RHINO_SDK_FUNCTION int RhinoGetAnalysisMeshes (const ON_SimpleArray< const CRhinoObject * > &objects, ON_ClassArray< CRhinoObjRef > &analysis_meshes, bool bOkToCreate, bool bReturnAllObjects, bool bSkipHiddenObjects)
 
RHINO_SDK_FUNCTION int RhinoGetAnalysisMeshes (const ON_SimpleArray< const CRhinoObject * > &objects, ON_ClassArray< CRhinoObjRef > &analysis_meshes, bool bOkToCreate=true, bool bReturnAllObjects=false)
 
RHINO_SDK_FUNCTION int RhinoGetBrepFaceIsoCurves (const ON_BrepFace &face, int iso_dir, double iso_constant, ON_SimpleArray< ON_Curve *> &iso_curves)
 
RHINO_SDK_FUNCTION int RhinoGetBrepFaceIsoIntervals (const ON_BrepFace &face, int iso_dir, double iso_constant, ON_SimpleArray< ON_Interval > &intervals)
 
RHINO_SDK_FUNCTION unsigned int RhinoGetCachedTexture (const ON_wString &Name)
 
RHINO_SDK_FUNCTION int RhinoGetCaptiveObjects (const CRhinoMorphControl *control_object, ON_SimpleArray< const CRhinoObject *> &captives)
 
RHINO_SDK_FUNCTION bool RhinoGetClosestPoint (const ON_NurbsCurve &crv, double &t_param, const ON_SimpleArray< const ON_Geometry *> &geom, int &obj_index, ON_COMPONENT_INDEX &comp_index, double &u_param, double &v_param, double MaxDist=0.0)
 
RHINO_SDK_FUNCTION CRhinoDigitizerInfo RhinoGetDigitizerInfo ()
 
RHINO_SDK_FUNCTION int RhinoGetDuplicateMeshFaces (ON_SimpleArray< int > &FaceIDXArray, const ON_Mesh *pMesh)
 
RHINO_SDK_FUNCTION BOOL RhinoGetFilletPoints (const ON_Curve &c0, const ON_Curve &c1, double radius, double t0_base, double t1_base, double &t0, double &t1, ON_Plane &FilletPlane)
 
RHINO_SDK_FUNCTION int RhinoGetIsoCurves (const ON_BrepFace &face, int iso_dir, double iso_constant, ON_SimpleArray< ON_Curve *> &curves)
 
RHINO_SDK_FUNCTION int RhinoGetIsoIntervals (const ON_BrepFace &face, int iso_dir, double iso_constant, ON_SimpleArray< ON_Interval > &intervals)
 
RHINO_SDK_FUNCTION DWORD RhinoGetLastWindowsError ()
 
RHINO_SDK_FUNCTION BOOL RhinoGetLineExtremes (const ON_Curve &curve, ON_Line &line)
 
RHINO_SDK_FUNCTION bool RhinoGetMeshOutline (const ON_SimpleArray< const ON_Mesh *> &InMeshes, const CRhinoView *view, double tolerance, ON_ClassArray< ON_SimpleArray< ON_PolylineCurve *> > &OutRegions)
 
RHINO_SDK_FUNCTION bool RhinoGetMeshOutline (const ON_SimpleArray< const ON_Mesh *> &InMeshes, const ON_Viewport &view, const ON_Plane &plane, double tolerance, ON_ClassArray< ON_SimpleArray< ON_PolylineCurve *>> &OutRegions)
 
RHINO_SDK_FUNCTION bool RhinoGetOverlapDistance (const ON_Curve *crv_a, const ON_Interval *dom_a, const ON_Curve *crv_b, const ON_Interval *dom_b, double tol, double lim, int *cnt, double int_a[3][2], double int_b[3][2], double *max_a, double *max_b, double *max_d, double *min_a, double *min_b, double *min_d)
 
RHINO_SDK_FUNCTION bool RhinoGetPerpendicularCurvePlane (const ON_Curve *crv, double crv_t, ON_Plane &plane)
 
RHINO_SDK_FUNCTION void RhinoGetPlugInCommandList (const class CRhinoPlugIn *plug_in, ON_SimpleArray< const class CRhinoCommand *> &cmd_list)
 
RHINO_SDK_FUNCTION int RhinoGetPointOnMesh (const CRhinoMeshObject *mesh_object, const wchar_t *sPrompt, BOOL bAcceptNothing, ON_MESH_POINT &output_point, CRhinoHistory *history=NULL)
 
RHINO_SDK_FUNCTION int RhinoGetRenderMeshes (const ON_SimpleArray< const CRhinoObject * > &objects, ON_ClassArray< CRhinoObjRef > &render_meshes, bool bOkToCreate, bool bReturnAllObjects, bool bSkipHiddenObjects)
 
RHINO_SDK_FUNCTION int RhinoGetRenderMeshes (const ON_SimpleArray< const CRhinoObject * > &objects, ON_ClassArray< CRhinoObjRef > &render_meshes, bool bOkToCreate=true, bool bReturnAllObjects=false)
 
RHINO_SDK_FUNCTION bool RhinoGetSplitPoints (const ON_Curve &curve, const ON_Brep &cutter, double tolerance, double angtolrads, ON_SimpleArray< double > &tsplit)
 
RHINO_SDK_FUNCTION bool RhinoGetSubCurves (const ON_Curve *pCurve, const ON_Interval *pDomain, bool bSkipSingleSegments, ON_SimpleArray< ON_Curve *> &curve_segments)
 
RHINO_SDK_FUNCTION bool RhinoGetTextOutlines (const wchar_t *str, const ON_Font *font, double text_height, bool close_contours, double join_tolerance, ON_ClassArray< ON_ClassArray< ON_SimpleArray< ON_Curve *>>> &out_glyphs)
 
RHINO_SDK_FUNCTION bool RhinoGetTextOutlines (const ON_Text *textobj, const ON_DimStyle *dimstyle, bool close_contours, double join_tol, ON_SimpleArray< ON_Curve *> &out_curves)
 
RHINO_SDK_FUNCTION bool RhinoGetTextOutlinesWithSmallCaps (const wchar_t *str, const ON_Font *font, double text_height, bool close_contours, double join_tolerance, double small_caps_scale, ON_ClassArray< ON_ClassArray< ON_SimpleArray< ON_Curve *>>> &out_glyphs)
 
RHINO_SDK_FUNCTION bool RhinoGetTextOutlinesWithSmallCaps (const ON_Text *pText, const ON_Viewport *viewport, const ON_DimStyle *dimstyle, double text_scale, bool close_contours, double join_tol, double small_caps_scale, ON_ClassArray< ON_ClassArray< ON_SimpleArray< ON_Curve *>>> &out_glyphs)
 
RHINO_SDK_FUNCTION bool RhinoGetTightBoundingBox (const ON_SimpleArray< const class CRhinoObject *> &geom, ON_BoundingBox &box, bool Grow=false, ON_Plane *onb=nullptr, bool MakeMeshes=true)
 
RHINO_SDK_FUNCTION double RhinoGetTimeInSecondsBetween (const RhTimestamp &start_time, const RhTimestamp &stop_time)
 
RHINO_SDK_FUNCTION double RhinoGetTimeInSecondsSince (const RhTimestamp &timestamp)
 
RHINO_SDK_FUNCTION RhTimestamp RhinoGetTimestamp ()
 
RHINO_SDK_FUNCTION ON_MeshRhinoGetTriangulation (const ON_SimpleArray< ON_3dPoint > &InputInnerPoints, const ON_SimpleArray< const ON_PolylineCurve *> &InputInnerBoundaryCurves, const ON_SimpleArray< const ON_PolylineCurve *> &InputInnerBothsideCurves, const ON_PolylineCurve *pInputOuterBoundaryCurve=nullptr, const ON_Surface *pInputPullBackSurface=nullptr, bool bTrimback=true, int divisions=10)
 
RHINO_SDK_FUNCTION bool RhinoGetZeroAreaMeshFaces (ON_SimpleArray< int > &WhollyDegenerateFaces, ON_SimpleArray< int > &PartiallyDegenerateFaces, const ON_Mesh *pMesh)
 
RHINO_SDK_FUNCTION bool RhinoHealMesh (const ON_Mesh *pMeshIn, ON_Mesh &MeshOut, const double distance)
 
RHINO_SDK_FUNCTION class CRhinoHistoryManagerRhinoHistoryManager ()
 
RHINO_SDK_FUNCTION RHINO_IDEF_STATUS RhinoInstanceArchiveFileStatus (const CRhinoInstanceDefinition *idef)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoInterpCurve (int degree, const ON_SimpleArray< ON_3dPoint > &Pt, const ON_3dVector *start_tan, const ON_3dVector *end_tan, int knot_style, ON_NurbsCurve *nc=nullptr)
 RhinoInterpCurve. More...
 
RHINO_SDK_FUNCTION ON_CurveRhinoInterpolatePointsOnSurface (const ON_Surface &srf, const ON_SimpleArray< ON_2dPoint > PtIn, int is_closed, double tol, int ClosedSrfHandling)
 
RHINO_SDK_FUNCTION bool RhinoIntersectBreps (const ON_Brep &brep0, const ON_Brep &brep1, double tolerance, ON_SimpleArray< ON_Curve *> &curves, ON_3dPointArray *points=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoIntersectSurfaces (const ON_Surface &srf0, const ON_Surface &srf1, double tolerance, ON_SimpleArray< ON_Curve *> &curves, ON_3dPointArray *points=nullptr)
 
RHINO_SDK_FUNCTION RhinoConicSectionType RhinoIsCurveConicSection (const ON_Curve *curve, ON_3dPoint *focus1, ON_3dPoint *focus2, ON_3dPoint *center)
 
RHINO_SDK_FUNCTION bool RhinoIsPointInBrep (const ON_Brep *pBrep, ON_3dPoint pt, double tolerance=ON_SQRT_EPSILON, bool bStrictlyIn=false)
 
RHINO_SDK_FUNCTION bool RhinoIsPointOnFace (const ON_BrepFace &face, double tolerance, bool bOkToWrap, double &s, double &t)
 
RHINO_SDK_FUNCTION int RhinoIsValidName (const wchar_t *name)
 
RHINO_SDK_FUNCTION int RhinoJoinBrepNakedEdges (ON_Brep &brep, double tolerance=0.0)
 
RHINO_SDK_FUNCTION bool RhinoJoinBreps (ON_SimpleArray< ON_Brep *> &input_breps, ON_SimpleArray< ON_Brep *> &output_breps, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoJoinBreps (ON_Brep &B, const ON_Brep &B1, double tolerance, bool bCompact=true)
 
RHINO_SDK_FUNCTION ON_BrepRhinoJoinBreps (ON_SimpleArray< ON_Brep *> &Breps, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoJoinEdges (ON_Brep &brep, int edge_index0, int edge_index1, double tolerance, bool bCompact)
 
RHINO_SDK_FUNCTION ON_BrepRhinoJoinEdges (const ON_Brep &brep0, int edge_index0, const ON_Brep &brep1, int edge_index1, double tolerance)
 
RHINO_SDK_FUNCTION void RhinoKillSplash ()
 
RHINO_SDK_FUNCTION int RhinoLayerManagerSelectedLayers (ON_SimpleArray< int > &layers)
 
RHINO_SDK_FUNCTION int RhinoLayerManagerSelectLayers (ON_SimpleArray< int > layers, bool bDeselect)
 
RHINO_SDK_FUNCTION BOOL RhinoLinetypeDialog (HWND hwndParent, int &linetype_index, bool bDisplayByLayer=false)
 
RHINO_SDK_FUNCTION const wchar_t * RhinoLocalizedUnitSystemName (bool bCapitalize, bool bSingular, bool bAbbreviate, ON::LengthUnitSystem length_unit_system)
 
RHINO_SDK_FUNCTION const wchar_t * RhinoLocalizedUnitSystemName (bool bCapitalize, bool bSingular, bool bAbbreviate, const ON_UnitSystem &unit_system)
 
RHINO_SDK_FUNCTION bool RhinoMakeCompatibleNurbs (ON_SimpleArray< const ON_Curve *> &curves, ON_3dPoint *startpt, ON_3dPoint *endpt, int simplify_method, int num_elmo_points, double refit_tolerance, double angle_tolerance_radians, ON_SimpleArray< ON_NurbsCurve *> &compatiblecurves)
 
RHINO_SDK_FUNCTION bool RhinoMakeCompatibleNurbsSurfaces (const ON_Surface &S0, const ON_Surface &S1, ON_NurbsSurface &C0, ON_NurbsSurface &C1)
 
RHINO_SDK_FUNCTION int RhinoMakeConnectedMeshFaceList (const ON_Mesh *pMesh, int StartFaceIDX, double AngleInRadians, bool bGreaterThan, ON_SimpleArray< int > &FaceIDXArray)
 
RHINO_SDK_FUNCTION int RhinoMakeCubicBeziers (const ON_Curve &Curve, ON_SimpleArray< ON_BezierCurve *> &BezArray, double dist_tol, double kink_tol)
 
RHINO_SDK_FUNCTION BOOL RhinoMakeCurveClosed (ON_Curve *pCrv, double tolerance=0.0)
 
RHINO_SDK_FUNCTION BOOL RhinoMakeCurveEndsMeet (ON_Curve *pCrv0, int end0, ON_Curve *pCrv1, int end1)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoMakeCurvePeriodic (const ON_Curve &curve, bool bSmooth)
 
RHINO_SDK_FUNCTION bool RhinoMakeG1Surface (ON_Surface &srf, double tol=0.0)
 
RHINO_SDK_FUNCTION int RhinoMakeMeshPartFaceList (const ON_Mesh *pMesh, int StartFaceIDX, bool bExtractToNonManifoldEdges, ON_SimpleArray< int > &FaceIDXArray)
 
RHINO_SDK_FUNCTION BOOL RhinoMakePlanarBreps (ON_SimpleArray< const ON_Curve *> &input_loops, ON_SimpleArray< ON_Brep *> &breps, ON_SimpleArray< int > *used=nullptr)
 
RHINO_SDK_FUNCTION BOOL RhinoMakePlanarBreps (ON_SimpleArray< const ON_Curve *> &input_loops, ON_SimpleArray< ON_Brep *> &breps, double tolerance, ON_SimpleArray< int > *used=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoMakePlanarMeshes (ON_SimpleArray< const ON_Curve *> &curves, const ON_MeshParameters &mp, ON_SimpleArray< ON_Mesh *> &meshes, double tol)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoMakeRadiusSpline (ON_Interval domain, ON_SimpleArray< MakeRadiusSplineData > distance_data, bool bClosed=false)
 
RHINO_SDK_FUNCTION ON_NurbsSurfaceRhinoMakeSurfacePeriodic (const ON_Surface &surface, int dir, bool bSmooth)
 
RHINO_SDK_FUNCTION bool RhinoMaskLastWindowsError (DWORD winerr)
 
RHINO_SDK_FUNCTION ON_CurveRhinoMeanCurve (const ON_Curve *pC0, const ON_Curve *pC1, double angle_tolerance=ON_UNSET_VALUE)
 
int RhinoMemoryErrorHandler (int)
 SDK classes. More...
 
RHINO_SDK_FUNCTION ON_BrepEdgeRhinoMergeAdjoiningEdges (ON_BrepEdge &edge, double angle_tolerance_radians, int *merge_cnt=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoMergeBrepCoplanarFaces (ON_Brep *brep, double tolerance=ON_UNSET_VALUE)
 
RHINO_SDK_FUNCTION bool RhinoMergeBreps (const ON_SimpleArray< const ON_Brep *> &InBreps, double tolerance, ON_Brep &MergedBrep)
 
RHINO_SDK_FUNCTION bool RhinoMergeCoplanarFaces (ON_Brep *brep, double tolerance=ON_UNSET_VALUE, double angle_tolerance=ON_UNSET_VALUE)
 
RHINO_SDK_FUNCTION BOOL RhinoMergeCurves (ON_SimpleArray< const ON_Curve *> &input_curves, ON_SimpleArray< ON_Curve *> &output, double join_tol=0.0, BOOL bPreserveDir=FALSE, ON_SimpleArray< int > *key=nullptr)
 
RHINO_SDK_FUNCTION ON_BrepRhinoMergeSrf (const ON_Brep *in_brep0, const ON_Brep *in_brep1, double tolerance, double angtolrads, const ON_2dPoint *pick_point0=nullptr, const ON_2dPoint *pick_point1=nullptr, double roundness=1.0, bool smooth=true)
 
RHINO_SDK_FUNCTION bool RhinoMeshBooleanDifference (const ON_SimpleArray< const ON_Mesh *> &InMeshes0, const ON_SimpleArray< const ON_Mesh *> &InMeshes1, double Intersection_Tolerance, double Overlap_Tolerance, bool *something_happened, ON_SimpleArray< ON_Mesh *> &OutMeshes, const ON_SimpleArray< const ON_3dmObjectAttributes *> *InputAttributeArray=0, ON_SimpleArray< const ON_3dmObjectAttributes *> *OuputAttributeArray=0)
 
RHINO_SDK_FUNCTION bool RhinoMeshBooleanIntersection (const ON_SimpleArray< const ON_Mesh *> &InMeshes0, const ON_SimpleArray< const ON_Mesh *> &InMeshes1, double Intersection_Tolerance, double Overlap_Tolerance, bool *something_happened, ON_SimpleArray< ON_Mesh *> &OutMeshes, const ON_SimpleArray< const ON_3dmObjectAttributes *> *InputAttributeArray=0, ON_SimpleArray< const ON_3dmObjectAttributes *> *OuputAttributeArray=0)
 
RHINO_SDK_FUNCTION bool RhinoMeshBooleanSplit (const ON_SimpleArray< const ON_Mesh *> &MeshesToSplit, const ON_SimpleArray< const ON_Mesh *> &MeshSplitters, double Intersection_Tolerance, double Overlap_Tolerance, bool *something_happened, ON_SimpleArray< ON_Mesh *> &OutMeshes, bool bMakeBooleanSplits=true, const ON_SimpleArray< const ON_3dmObjectAttributes *> *InputAttributeArray=0, ON_SimpleArray< const ON_3dmObjectAttributes *> *OuputAttributeArray=0)
 
RHINO_SDK_FUNCTION bool RhinoMeshBooleanUnion (const ON_SimpleArray< const ON_Mesh *> &InMeshes, double Intersection_Tolerance, double Overlap_Tolerance, bool *something_happened, ON_SimpleArray< ON_Mesh *> &OutMeshes, const ON_SimpleArray< const ON_3dmObjectAttributes *> *InputAttributeArray=0, ON_SimpleArray< const ON_3dmObjectAttributes *> *OuputAttributeArray=0)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshBox (ON_3dPoint box_corners[8], const CRhinoMeshDensity &md)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshBox (ON_3dPoint box_corners[8], int X, int Y, int Z)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshCone (const ON_Cone &cone, const CRhinoMeshDensity &mesh_density)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshCone (const ON_Cone &cone, int vertical, int around)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshCone (const ON_Cone &cone, int vertical, int around, bool bSolid)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshCylinder (const ON_Cylinder &cylinder, const CRhinoMeshDensity &mesh_density)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshCylinder (const ON_Cylinder &cylinder, int vertical, int around)
 
RHINO_SDK_FUNCTION bool RhinoMeshFace (ON_Mesh &mesh, const ON_SimpleArray< ON_3dPoint > &points)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshIcoSphere (const ON_Sphere &sphere, int subdivisions)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoMeshObjects (const ON_SimpleArray< const CRhinoObject * > &objects, ON_MeshParameters &mp, int &ui_style, ON_ClassArray< CRhinoObjectMesh > &meshes)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoMeshObjects (const ON_SimpleArray< const CRhinoObject * > &objects, ON_MeshParameters &mp, const ON_Xform &xform, int &ui_style, ON_ClassArray< CRhinoObjectMesh > &meshes)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoMeshObjects (const ON_SimpleArray< const CRhinoObject * > &objects, ON_MeshParameters &mp, const ON_Xform &xform, class CRhinoMeshObjectsUI &ui, ON_ClassArray< CRhinoObjectMesh > &meshes)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoMeshObjects (const ON_SimpleArray< const CRhinoObject * > &objects, ON_MeshParameters &mp, class CRhinoMeshObjectsUI &ui, ON_ClassArray< CRhinoObjectMesh > &meshes)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshOffset (double d, const ON_Mesh *pMesh)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshOffset (double d, const ON_Mesh *pMesh, bool bSolidify)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshOffset (double d, const ON_Mesh *pMesh, bool bSolidify, const ON_3dVector &direction)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshPipeFromCurve (const ON_Curve &curve, const RhMeshPipeArgs &args, ON_Terminator *pCancelHandler=0)
 summary>Enumerates sweep resolution formulas More...
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshPlane (const ON_Plane &plane, ON_Interval x_interval, ON_Interval y_interval, const CRhinoMeshDensity &mesh_density)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshPlane (const ON_Plane &plane, ON_Interval x_interval, ON_Interval y_interval, int X, int Y)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshQuadSphere (const ON_Sphere &sphere, int subdivisions)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshSphere (const ON_Sphere &sphere, const CRhinoMeshDensity &mesh_density)
 
RHINO_SDK_FUNCTION ON_MeshRhinoMeshSphere (const ON_Sphere &sphere, int vertical, int around)
 
RHINO_SDK_FUNCTION int RhinoMessageBox (const char *message, const char *title, UINT type)
 
RHINO_SDK_FUNCTION int RhinoMessageBox (const wchar_t *message, const wchar_t *title, UINT type)
 
RHINO_SDK_FUNCTION int RhinoMessageBox (HWND hParent, const char *message, const char *title, UINT type)
 
RHINO_SDK_FUNCTION int RhinoMessageBox (HWND hParent, const wchar_t *message, const wchar_t *title, UINT type)
 
RHINO_SDK_FUNCTION int RhinoNetworkSurface (const ON_SimpleArray< const ON_Curve *> &ucurves, const int ucontinuity[2], const ON_SimpleArray< const ON_Curve *> &vcurves, const int vcontinuity[2], ON_NurbsSurface &surface_out, const double dEdgeTol=0.0, const double dInteriorTol=0.0, const double dAngleTol=0.0)
 
RHINO_SDK_FUNCTION int RhinoNetworkSurface (const ON_SimpleArray< const ON_Curve *> &curves, const int continuity, ON_NurbsSurface &surface_out, const double dEdgeTol=0.0, const double dInteriorTol=0.0, const double dAngleTol=0.0)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoNurbsCurveInterpolant (int degree, const ON_SimpleArray< ON_3dPoint > &Pt, ON_3dPoint *CV1, ON_3dPoint *CVn1, int knot_style=0, ON_NurbsCurve *nurbs_curve=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoObjectClippingPlaneFills (const CRhinoObject &obj, ON_SimpleArray< const CRhinoClippingPlaneObject *> &cp, ON_SimpleArray< ON_Brep *> &aBreps, bool bUnclippedFills=false)
 
RHINO_SDK_FUNCTION bool RhinoObjectEnableMeshParameters (const CRhinoObject *obj, bool bEnable=true)
 
RHINO_SDK_FUNCTION bool RhinoObjectGetMeshParameters (const CRhinoObject *obj, ON_MeshParameters &mp)
 
RHINO_SDK_FUNCTION bool RhinoObjectIsMeshParametersEnabled (const CRhinoObject *obj, bool &bEnabled)
 
RHINO_SDK_FUNCTION bool RhinoObjectIsPictureFrame (const CRhinoObject *rhino_object)
 
RHINO_SDK_FUNCTION bool RhinoObjectRemoveMeshParameters (const CRhinoObject *obj)
 
RHINO_SDK_FUNCTION bool RhinoObjectSetMeshParameters (const CRhinoObject *obj, const ON_MeshParameters &mp, bool bEnable=true)
 
RHINO_SDK_FUNCTION bool RhinoOffsetBrep (const ON_Brep &B, double distance, double tolerance, bool bSolid, bool bExtend, ON_SimpleArray< ON_Brep *> &Offsets, ON_SimpleArray< ON_Brep *> &Blends, ON_SimpleArray< ON_Brep *> &Walls)
 
RHINO_SDK_FUNCTION bool RhinoOffsetCurve (const ON_Curve &curve, const ON_3dVector &normal, const ON_3dPoint &origin, double distance, ON_SimpleArray< ON_Curve *> &offset_curves, double tolerance=0.0, double angle_tolerance=0.0, int corner_style=1)
 
RHINO_SDK_FUNCTION int RhinoOffsetCurve (const ON_Curve &curve_in, double distance, ON_3dPoint direction_point, ON_3dVector normal, int corner_style, double tolerance, ON_SimpleArray< ON_Curve *> &curves_out)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoOffsetCurveNormal (const ON_Surface *pSrf, const ON_NurbsCurve *pNC, double height)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoOffsetCurveNormal (const ON_Surface *pSrf, const ON_NurbsCurve *pNC, const ON_NurbsCurve *pHeights)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoOffsetCurveNormal (const ON_Surface *pSrf, const ON_NurbsCurve *pNC, const ON_SimpleArray< double > &spine_parameters, const ON_NurbsCurve *pHeights)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoOffsetCurveOnSrf (const ON_Curve *p3dCrv, const ON_Brep *pBrep, int fid, double distance, double tol, ON_SimpleArray< ON_Curve *> &result_curves)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoOffsetCurveOnSrf (const ON_Curve *p3dCrv, const ON_Brep *pBrep, int fid, ON_2dPoint through_point, double tol, ON_SimpleArray< ON_Curve *> &result_curves)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoOffsetCurveOnSrf (const ON_Curve *p3dCrv, const ON_Brep *pBrep, int fid, ON_SimpleArray< double > &params, ON_SimpleArray< double > &dists, double tol, ON_SimpleArray< ON_Curve *> &result_curves)
 
RHINO_SDK_FUNCTION ON_BrepRhinoOffsetSurface (const ON_BrepFace &face, const double dOffsetDistance, const double dTolerance=0.0, const bool bBothSides=false, const bool bSolid=false, double *pAchievedTol=nullptr)
 
RHINO_SDK_FUNCTION int RhinoOsnapPickboxRadius (void)
 
RHINO_SDK_FUNCTION int RhinoParseAngle (const wchar_t *string, double *angle_radians_value)
 
RHINO_SDK_FUNCTION int RhinoParseAngleDegrees (const wchar_t *string, double *angle_degrees_value)
 
RHINO_SDK_FUNCTION int RhinoParseColor (const wchar_t *string, ON_Color *color_value)
 
RHINO_SDK_FUNCTION ON::AngleUnitSystem RhinoParseDefaultAngleUnitSystem ()
 
RHINO_SDK_FUNCTION int RhinoParseNumber (const wchar_t *string, double *number_value)
 
RHINO_SDK_FUNCTION int RhinoParsePoint (const wchar_t *string, ON_3dPoint *point_value)
 
RHINO_SDK_FUNCTION bool RhinoParsePythonFormula (const wchar_t *sformula, unsigned int sformula_count, double *value)
 
RHINO_SDK_FUNCTION bool RhinoPerspectiveMatch (CRhinoView *rhino_view, const ON_SimpleArray< POINT > &points2d, const ON_SimpleArray< ON_3dPoint > &points3d, ON_3dmView &view)
 
RHINO_SDK_FUNCTION bool RhinoPipe (const ON_Curve &rail, const ON_SimpleArray< double > &rail_params, const ON_SimpleArray< double > &radii, ON_SimpleArray< ON_Object *> &results, double abstol, double angtol, int blend_type=0, int cap_mode=0, bool fit_rail=false)
 
RHINO_SDK_FUNCTION bool RhinoPipe (const ON_Curve &rail, const ON_SimpleArray< double > &rail_params, const ON_SimpleArray< double > &radii0, const ON_SimpleArray< double > &radii1, ON_SimpleArray< ON_Object *> &results, double abstol, double angtol, int blend_type=0, int cap_mode=0, bool fit_rail=false)
 
RHINO_SDK_FUNCTION int RhinoPlanarClosedCurveContainmentTest (const ON_Curve &closed_curveA, const ON_Curve &closed_curveB, ON_Plane plane, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoPlanarCurveCollisionTest (const ON_Curve &curveA, const ON_Curve &curveB, ON_Plane plane, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoPlanarSrf (const ON_SimpleArray< const ON_Curve *> &InCurves, ON_SimpleArray< ON_Brep *> &OutBreps, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoPlugInSDKInstalled ()
 
RHINO_SDK_FUNCTION int RhinoPointInPlanarClosedCurve (ON_3dPoint point, const ON_Curve &closed_curve, ON_Plane plane, double tolerance)
 
RHINO_SDK_FUNCTION int RhinoPointInPlanarClosedCurve (ON_3dPoint point, const ON_Curve &closed_curve, ON_Plane plane)
 
RHINO_SDK_FUNCTION bool RhinoPrintExportDialog (CRhinoPrintInfo &info, const CArgsRhinoPrintExportDlg &args)
 
RHINO_SDK_FUNCTION bool RhinoPrintExportDialog (CRhinoPrintInfo &info, const CArgsRhinoPrintExportDlg &args, bool &bDontShowDialog)
 
RHINO_SDK_FUNCTION bool RhinoPrintExportDialog (const CRhinoPrintInfo &initialinfo, const CArgsRhinoPrintExportDlg &args, ON_ClassArray< CRhinoPrintInfo > &settings)
 
RHINO_SDK_FUNCTION BOOL RhinoPrintWidthDialog (HWND hwndParent, double &print_width)
 
RHINO_SDK_FUNCTION bool RhinoProjectCurvesToBreps (ON_SimpleArray< const ON_Brep *> &Breps, ON_SimpleArray< const ON_Curve *> &Curves, const ON_3dVector &ProjDir, ON_SimpleArray< ON_Curve *> &OutCurves, ON_SimpleArray< int > &CurveIndices, ON_SimpleArray< int > &BrepIndices, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoProjectCurvesToMeshes (ON_SimpleArray< const ON_Mesh *> &Meshes, ON_SimpleArray< const ON_Curve *> &Curves, const ON_3dVector &ProjDir, ON_SimpleArray< ON_Curve *> &OutCurves, ON_SimpleArray< int > &CurveIndices, ON_SimpleArray< int > &MeshIndices, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoProjectPointsToBreps (ON_SimpleArray< const ON_Brep *> &Breps, const ON_3dPointArray &Points, const ON_3dVector &ProjDir, ON_3dPointArray &OutPoints, ON_SimpleArray< int > &Indices, double tolerance)
 
RHINO_SDK_FUNCTION bool RhinoProjectPointsToMeshes (ON_SimpleArray< const ON_Mesh *> &Meshes, const ON_3dPointArray &Points, const ON_3dVector &ProjDir, ON_3dPointArray &OutPoints, ON_SimpleArray< int > &Indices, double tolerance)
 
RHINO_SDK_FUNCTION BOOL RhinoProjectToPlane (ON_NurbsCurve &curve, ON_Plane &plane)
 
RHINO_SDK_FUNCTION BOOL RhinoProjectToPlane (ON_BoundingBox &curve, ON_Plane &plane)
 
RHINO_SDK_FUNCTION int RhinoPullCurveToFace (const ON_BrepFace &face, const ON_Curve &curve, ON_SimpleArray< ON_Curve *> &OutCurves, double tolerance)
 
RHINO_SDK_FUNCTION ON_PolylineCurveRhinoPullCurveToMesh (const ON_Curve *pCrv, const ON_Mesh *pMesh, const double tolerance, CRhinoPolylineOnMeshUserData *YDData=0)
 
RHINO_SDK_FUNCTION int RhinoPullPointsToFace (const ON_BrepFace &face, const ON_SimpleArray< ON_3dPoint > &InPoints, ON_SimpleArray< ON_3dPoint > &OutPoints, double tolerance)
 
RHINO_SDK_FUNCTION int RhinoQueryImportScaleGeometry (ON::LengthUnitSystem current, ON::LengthUnitSystem file, bool bInteractive)
 
RHINO_SDK_FUNCTION bool RhinoReadFile (const wchar_t *lpsFileName, CRhinoDoc &doc, const CRhinoFileReadOptions &options)
 
RHINO_SDK_FUNCTION bool RhinoReadHatchPatternFile (const wchar_t *pFilename, ON_ClassArray< ON_HatchPattern > &hatchPatterns, bool bAllowDuplicates, bool bQuiet)
 
RHINO_SDK_FUNCTION bool RhinoReadHatchPatternFile (const wchar_t *pFilename, ON_ObjectArray< ON_HatchPattern > &hatchPatterns, bool bAllowDuplicates, bool bQuiet)
 
RHINO_SDK_FUNCTION int RhinoReadLinetypesFromFile (const wchar_t *filename, ON_ObjectArray< ON_Linetype > &linetypes)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoRebuildCurve (const ON_Curve &curve_in, int degree, int pointcount, bool bKeepTangents, ON_NurbsCurve *curve_out=nullptr)
 
RHINO_SDK_FUNCTION ON_NurbsCurveRhinoRebuildCurve (const ON_Curve &curve_in, int degree=3, int pointcount=10, ON_NurbsCurve *curve_out=nullptr)
 
RHINO_SDK_FUNCTION ON_MeshRhinoRebuildMeshNormals (const ON_Mesh *MeshIn)
 
RHINO_SDK_FUNCTION ON_NurbsSurfaceRhinoRebuildSurface (const ON_Surface &surface_in, int udegree=3, int vdegree=3, int upointcount=10, int vpointcount=10, ON_NurbsSurface *surface_out=nullptr)
 
RHINO_SDK_FUNCTION ON_NurbsSurfaceRhinoRebuildSurfaceOneDirection (const ON_Surface &surface_in, int direction, int point_count, int loft_type, double tolerance, ON_NurbsSurface *surface_out=nullptr)
 
RHINO_SDK_FUNCTION void RhinoRedrawLayerManagerWindow ()
 
RHINO_SDK_FUNCTION bool RhinoReduceMesh (ON_Mesh &mesh, int iDesiredPolygonCount, bool bAllowDistortion=true, int iAccuracy=10, bool bNormalizeMeshSize=true, ON_ProgressReporter *pProgressReporter=0, ON_Terminator *pCancelHandler=0, ON_wString *pStrProblemOut=0, ON_SimpleArray< int > *pFaceTagArray=0, ON_SimpleArray< ON_COMPONENT_INDEX > *pLockedComponents=0)
 
RHINO_SDK_FUNCTION bool RhinoReduceMesh (ON_Mesh &mesh, RhinoReduceMeshParameters &parameters)
 summary>Enumerates methods to end a mesh pipe. More...
 
RHINO_SDK_FUNCTION bool RhinoRegionSelect (CRhinoViewport &vp, const ON_SimpleArray< ON_3dPoint > &region, const int selectionmode=0, unsigned int geometry_filter=ON::any_object, ON_ClassArray< CRhinoObjRef > *output=nullptr)
 
RHINO_SDK_FUNCTION void RhinoRegisterCustomMeshHandler (CUSTOM_MESH_HANDLER_FUNC)
 
RHINO_SDK_FUNCTION bool RhinoRemoveShortSegments (ON_Curve *curve, double tolerance=ON_UNSET_VALUE)
 
RHINO_SDK_FUNCTION bool RhinoRenderDrawWiresInDIB (CRhinoDib &alpha_dib, CRhinoDib &dib2, CRhinoDib &final_dib)
 
RHINO_SDK_FUNCTION bool RhinoRenderDrawWiresInDIB (CRhinoDoc &doc, ON_3dmView view, const ON_2iSize &size, CRhinoDib &final_dib, bool bGetRenderSettingsFromDoc=true)
 
RHINO_SDK_FUNCTION bool RhinoRenderGetWireframeCompositeDIBs (CRhinoDoc &doc, ON_3dmView view, const ON_2iSize &size, CRhinoDib &alpha_dib, CRhinoDib &wires_dib, bool bGetRenderSettingsFromDoc)
 
RHINO_SDK_FUNCTION bool RhinoRepairBrep (ON_Brep *pBrep, double repair_tolerance)
 
RHINO_SDK_FUNCTION bool RhinoRepairCurve (ON_Curve *pCurve, double repair_tolerance, int dim)
 
RHINO_SDK_FUNCTION bool RhinoRepairMesh (ON_Mesh *pMesh, double repair_tolerance)
 
RHINO_SDK_FUNCTION bool RhinoRepairSurface (ON_Surface *pSurface, double repair_tolerance)
 
RHINO_SDK_FUNCTION ON_BrepRhinoRetrimSurface (const ON_BrepFace &trim_source, const ON_Surface &trim_target, double tol)
 
RHINO_SDK_FUNCTION CRhinoCommand::result RhinoScriptGetMeshParameters (ON_MeshParameters &mp)
 
RHINO_SDK_FUNCTION bool RhinoSdkLoft (CArgsRhinoLoft &args, ON_SimpleArray< ON_Brep *> &breps, CRhinoHistory *history=nullptr)
 
RHINO_SDK_FUNCTION bool RhinoSdkLoftSurface (CArgsRhinoLoft &args, ON_SimpleArray< ON_NurbsSurface *> &srfs, CRhinoHistory *history=nullptr)
 Rhino SDK function to make a loft surface through curves. More...
 
RHINO_SDK_FUNCTION unsigned int RhinoSdkServiceRelease ()
 
RHINO_SDK_FUNCTION unsigned int RhinoSdkVersion ()
 
RHINO_SDK_FUNCTION int RhinoSelectDimstyle (CRhinoDoc &doc, bool interactive)
 Added 11/10/2009 to eliminate ActiveDoc() call. More...
 
RHINO_SDK_FUNCTION int RhinoSelectDimstyle (bool interactive)
 Old version replaced 11/09/2009 SDKbreak. More...
 
RHINO_SDK_FUNCTION int RhinoSelectHatchPattern (unsigned int rhino_doc_sn, bool interactive)
 
RHINO_SDK_FUNCTION BOOL RhinoSelectLayerDialog (HWND hwndParent, const wchar_t *lpsPrompt, int &layer_index, BOOL bDisplayDialog=TRUE, BOOL bEnableNewLayerButton=FALSE, BOOL bEnableSetLayerCurrentButton=FALSE, BOOL *pbSetLayerCurrentButtonValue=nullptr)
 
RHINO_SDK_FUNCTION BOOL RhinoSelectMultipleLayersDialog (HWND hwndParent, const wchar_t *lpsPrompt, ON_SimpleArray< int > &layer_indices, BOOL bDisplayDialog=TRUE, BOOL bEnableNewLayerButton=FALSE)
 
unsigned int RhinoSerialNumberOrdinal (unsigned int runtime_serial_number)
 
unsigned int RhinoSerialNumberType (unsigned int runtime_serial_number)
 
RHINO_SDK_FUNCTION HCURSOR RhinoSetCursor (HCURSOR hCursor)
 
RHINO_SDK_FUNCTION bool RhinoSetExternalPackBrepTexturesRoutine (bool(*routine)(const ON_SimpleArray< const ON_Mesh *> &meshes, ON_SimpleArray< ON_Mesh *> &packed_tex_out))
 
RHINO_SDK_FUNCTION bool RhinoSetNurbsCurveEndCondition (ON_NurbsCurve *curve, int end, int continuity, const ON_3dPoint &point, const ON_3dVector &tangent, const ON_3dVector &curvature)
 RhinoSdkMatchCurve.h. More...
 
RHINO_SDK_FUNCTION int RhinoShellBrep (const ON_Brep &brep, const ON_SimpleArray< int > &faces_to_remove, double distance, double tolerance, ON_SimpleArray< ON_Brep *> &shells)
 
RHINO_SDK_FUNCTION ON_CurveRhinoShortPath (const ON_Surface &Srf, ON_2dPoint start, ON_2dPoint end, double tol)
 
RHINO_SDK_FUNCTION bool RhinoSimpleRollingBallFillet (const ON_BrepFace &FaceA, bool bFlipA, const ON_BrepFace &FaceB, bool bFlipB, double radius, double tol, ON_SimpleArray< ON_Surface *> &Fillets)
 
RHINO_SDK_FUNCTION bool RhinoSimpleRollingBallFillet (const ON_BrepFace &FaceA, const ON_2dPoint &uvA, const ON_BrepFace &FaceB, const ON_2dPoint &uvB, double radius, double tol, ON_SimpleArray< ON_Surface *> &Fillets)
 
RHINO_SDK_FUNCTION bool RhinoSimplifyCurve (ON_Curve *&crv, int flags, double dist_tol, double angle_tol)
 
RHINO_SDK_FUNCTION bool RhinoSimplifyCurve (ON_Curve *&crv, double dist_tol, double angle_tol)
 
RHINO_SDK_FUNCTION bool RhinoSimplifyCurveEnd (ON_Curve *&pC, int side, int flags, double dist_tol, double angle_tol)
 
RHINO_SDK_FUNCTION ON_CurveRhinoSmoothCurve (const ON_Curve *pInput, double dSmoothFactor, bool bXSmooth, bool bYSmooth, bool bZSmooth, bool bFixBoundaries, int nCoordinateSystem)
 
RHINO_SDK_FUNCTION ON_CurveRhinoSmoothCurve (const ON_Curve *pInput, double dSmoothFactor, bool bXSmooth, bool bYSmooth, bool bZSmooth, bool bFixBoundaries, int nCoordinateSystem, const ON_Plane *pPlane)
 
RHINO_SDK_FUNCTION ON_MeshRhinoSmoothMesh (const ON_Mesh *pInput, double dSmoothFactor, bool bXSmooth, bool bYSmooth, bool bZSmooth, bool bFixBoundaries, int nCoordinateSystem)
 
RHINO_SDK_FUNCTION ON_MeshRhinoSmoothMesh (const ON_Mesh *pInput, double dSmoothFactor, bool bXSmooth, bool bYSmooth, bool bZSmooth, bool bFixBoundaries, int nCoordinateSystem, const ON_Plane *pPlane)
 
RHINO_SDK_FUNCTION ON_MeshRhinoSmoothMesh (const ON_Mesh *pInput, const ON_SimpleArray< int > &InVertices, double dSmoothFactor, bool bXSmooth, bool bYSmooth, bool bZSmooth, bool bFixBoundaries, int nCoordinateSystem, const ON_Plane *pPlane)
 
RHINO_SDK_FUNCTION ON_SurfaceRhinoSmoothSurface (const ON_Surface *pInput, double dSmoothFactor, bool bXSmooth, bool bYSmooth, bool bZSmooth, bool bFixBoundaries, int nCoordinateSystem)
 
RHINO_SDK_FUNCTION ON_SurfaceRhinoSmoothSurface (const ON_Surface *pInput, double dSmoothFactor, bool bXSmooth, bool bYSmooth, bool bZSmooth, bool bFixBoundaries, int nCoordinateSystem, const ON_Plane *pPlane)
 
RHINO_SDK_FUNCTION bool RhinoSnapToNurbsCurve (const CRhinoObject *object, const ON_NurbsCurve &nurbs_curve, const CRhinoSnapContext &snap_context, CRhinoSnapEvent &snap_event)
 
RHINO_SDK_FUNCTION ON_CurveRhinoSoftEditCrv (const ON_Curve *curve, double curve_t, const ON_3dVector &delta, double length, bool bFixEnds)
 
RHINO_SDK_FUNCTION ON_SurfaceRhinoSoftEditSrf (const ON_Surface *surface, const ON_2dPoint &uv, const ON_3dVector &delta, double u_length, double v_length, double tolerance, bool bFixEnds)
 
RHINO_SDK_FUNCTION bool RhinoSortPointList (ON_SimpleArray< ON_3dPoint > &points, double mindist=ON_ZERO_TOLERANCE)
 
RHINO_SDK_FUNCTION bool RhinoSortPointList (int point_count, const ON_3dPoint *points, int *order, double mindist)
 
RHINO_SDK_FUNCTION bool RhinoSortPointList (int point_count, const ON_2dPoint *points, int *order, double mindist)
 
RHINO_SDK_FUNCTION ON_BrepRhinoSplitBrepFace (const ON_Brep &brep, int face_index, const ON_SimpleArray< const ON_Curve *> &curves, double tolerance, bool bCopySurface=false)
 
RHINO_SDK_FUNCTION int RhinoSplitDisjointMesh (const ON_Mesh *pMesh, ON_SimpleArray< ON_Mesh *> &MeshArray, bool bJustCount=false)
 
RHINO_SDK_FUNCTION bool RhinoSplitFaceAtTangents (ON_Brep &brep, int face_index)
 
RHINO_SDK_FUNCTION bool RhinoSplitFacesAtTangents (ON_Brep &brep)
 
RHINO_SDK_FUNCTION bool RhinoSplitMeshEdge (ON_Mesh *pMesh, const int edgeidx, const ON_SimpleArray< double > &params)
 
RHINO_SDK_FUNCTION bool RhinoSplitMeshEdge (ON_Mesh *pMesh, const int edgeidx, const ON_SimpleArray< ON_3dPoint > &points)
 
RHINO_SDK_FUNCTION ON_NurbsSurfaceRhinoSrfControlPtGrid (int point_count[2], int degree[2], const ON_3dPointArray &point_array, ON_NurbsSurface *nurbs_surface=nullptr)
 
RHINO_SDK_FUNCTION ON_NurbsSurfaceRhinoSrfPtGrid (int point_count[2], int degree[2], BOOL is_closed[2], const ON_3dPointArray &point_array, ON_NurbsSurface *nurbs_surface=nullptr)
 
RHINO_SDK_FUNCTION int RhinoStraightenBrep (ON_Brep &B, double tol=0.0)
 
RHINO_SDK_FUNCTION bool RhinoSurfaceDraftAnglePoint (const ON_BrepFace &face, const ON_2dPoint &test_point, double test_angle, const ON_3dVector &direction, bool bEdge, ON_3dPoint &draft_point, double *draft_angle)
 
RHINO_SDK_FUNCTION bool RhinoSwapMeshEdge (const ON_Mesh *pInputMesh, int topei, ON_Mesh **pOutputMesh=nullptr)
 
RHINO_SDK_FUNCTION BOOL RhinoSweep1 (CArgsRhinoSweep1 &args, ON_SimpleArray< ON_Brep *> &brep_array)
 
RHINO_SDK_FUNCTION BOOL RhinoSweep1Ex (CArgsRhinoSweep1 &args, int shape_blending, ON_SimpleArray< ON_Brep *> &brep_array)
 
RHINO_SDK_FUNCTION BOOL RhinoSweep2 (CArgsRhinoSweep2 &args, ON_SimpleArray< ON_Brep *> &brep_array)
 
RHINO_SDK_FUNCTION bool RhinoTransformBrepComponents (ON_Brep *brep, int brep_component_count, const ON_COMPONENT_INDEX *brep_components, ON_Xform xform, double tolerance, double time_limit, bool bUseMultipleThreads)
 
RHINO_SDK_FUNCTION int RhinoTriangulate2dRegion (int point_count, int point_stride, const double *point, int edge_count, int edge_stride, const int *edge, const int *edge_side, ON_SimpleArray< ON_3dex > &triangles)
 
RHINO_SDK_FUNCTION int RhinoTriangulate3dPolygon (int point_count, int point_stride, const double *P, int tri_stride, int *triangle)
 
RHINO_SDK_FUNCTION CRhinoObjectGripsRhinoTurnOnCaptiveGrips (const CRhinoMorphControl *control_object, const CRhinoObject *captive_object)
 
RHINO_SDK_FUNCTION bool RhinoTweenCurves (const ON_Curve *start_crv, const ON_Curve *end_crv, int num_of_crvs, double tol, ON_SimpleArray< ON_Curve *> &tween_crvs)
 
RHINO_SDK_FUNCTION bool RhinoTweenCurvesWithMatching (const ON_Curve *start_crv, const ON_Curve *end_crv, int num_of_crvs, double tol, ON_SimpleArray< ON_Curve *> &tween_crvs)
 
RHINO_SDK_FUNCTION bool RhinoTweenCurveWithSampling (const ON_Curve *start_crv, const ON_Curve *end_crv, int num_of_crvs, int sample_num, double tol, ON_SimpleArray< ON_Curve *> &tween_crvs)
 
RHINO_SDK_FUNCTION ON_MeshRhinoUnifyMeshNormals (const ON_Mesh &origmesh, ON_Mesh *pNewMesh=0, bool bGetCountOnly=false, int *pCount=0)
 
RHINO_SDK_FUNCTION bool RhinoUnjoinEdges (const ON_Brep &InBrep, const ON_SimpleArray< int > &eids, ON_SimpleArray< ON_Brep *> &OutBreps)
 
RHINO_SDK_FUNCTION ON_MeshRhinoUnWeldMesh (const ON_Mesh &OldMesh, double angle_tol, ON_Mesh *pOutputMesh=0)
 
RHINO_SDK_FUNCTION ON_MeshRhinoUnWeldMesh (const ON_Mesh &OldMesh, double angle_tol, bool ModifyNormals, ON_Mesh *pOutputMesh=0)
 
RHINO_SDK_FUNCTION ON_MeshRhinoUnweldMeshEdge (const ON_Mesh &mesh, const ON_SimpleArray< int > &edges, bool bModifyNormal)
 
RHINO_SDK_FUNCTION bool RhinoUpdateCachedTextureFromDib (unsigned int hTexture, const CRhinoDib &Dib)
 
RHINO_SDK_FUNCTION bool RhinoUpdateCachedTextureFromFile (unsigned int hTexture, const ON_wString &Filename)
 
RHINO_SDK_FUNCTION CRhinoObjectRhinoUpdateGripOwner (CRhinoObject *old_object, bool bCopyObject, ON_2dexMap *group_remap)
 
RHINO_SDK_FUNCTION void RhinoUpdateObjectGroups (CRhinoObject *new_object, ON_2dexMap &group_map)
 
RHINO_SDK_FUNCTION void RhinoUpdateObjectGroups (CRhinoObjectAttributes &attributes, ON_2dexMap &group_map)
 
RHINO_SDK_FUNCTION void RhinoUuidToString (const UUID &uuid, wchar_t s[37])
 
RHINO_SDK_FUNCTION void RhinoUuidToString (const UUID &uuid, char s[37])
 
RHINO_SDK_FUNCTION ON_MeshRhinoWeldMesh (const ON_Mesh &MeshIn, double angle_tol, ON_Mesh *pMeshOut=0)
 
RHINO_SDK_FUNCTION RhinoYesNoResponse RhinoYesNoMessageBox (HWND hWndParent, const wchar_t *lpsText, const wchar_t *lpsCaption=nullptr, int nIncludeButtons=1|4, UINT nMessageBoxTypeCodes=MB_ICONQUESTION|MB_DEFBUTTON1)
 
RHINO_SDK_FUNCTION RhinoYesNoResponse RhinoYesNoMessageBox (const wchar_t *lpsText, const wchar_t *lpsCaption=nullptr, int nIncludeButtons=1|4, UINT nMessageBoxTypeCodes=MB_ICONQUESTION|MB_DEFBUTTON1)
 
RHINO_SDK_FUNCTION bool RhPlanarRegionBoolean (const ON_SimpleArray< const ON_Brep *> &InRegions, const ON_Plane &plane, double tolerance, ON_SimpleArray< ON_Brep *> &OutRegions, ON_SimpleArray< bool > *pbRev=nullptr)
 
RHINO_SDK_FUNCTION bool RhPlanarRegionDifference (const ON_Brep *B0, const ON_Brep *B1, const ON_Plane &plane, double tolerance, ON_SimpleArray< ON_Brep *> &OutRegions)
 
RHINO_SDK_FUNCTION bool RhPlanarRegionIntersection (const ON_Brep *B0, const ON_Brep *B1, const ON_Plane &plane, double tolerance, ON_SimpleArray< ON_Brep *> &OutRegions)
 
RHINO_SDK_FUNCTION bool RhPlanarRegionUnion (const ON_Brep *B0, const ON_Brep *B1, const ON_Plane &plane, double tolerance, ON_SimpleArray< ON_Brep *> &OutRegions)
 
RHINO_SDK_FUNCTION void RhResetAllMessageBoxes ()
 
RHINO_SDK_FUNCTION bool UnregisterDisplayPipeline (const ON_ClassId *)
 

Variables

const ON_SimpleArray< const CRhinoBrepObject * > const ON_Plane ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > double double angTolerance
 
const ON_SimpleArray< const CRhinoBrepObject * > & brepObjects
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_BrepbrepSplitter
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Plane ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > double distTolerance = ON_UNSET_VALUE
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Brep const ON_Plane ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > * pBackgroundCurves = nullptr
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Brep const ON_Plane ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > * pBackgroundHiddenCurves = nullptr
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Brep const ON_Plane ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > * pForegroundCurves = nullptr
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Brep const ON_Plane ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > * pForegroundHiddenCurves = nullptr
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Plane ON_SimpleArray< CRhinoCurveObject * > ON_SimpleArray< CRhinoCurveObject * > * pProjectedHiddenCurves = nullptr
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Plane ON_SimpleArray< CRhinoCurveObject * > & projectedCurves
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_PlaneprojectionPlane
 
const ON_SimpleArray< const CRhinoBrepObject * > const ON_Brep const ON_Plane ON_SimpleArray< CRhinoCurveObject * > * pSectionCurves = nullptr
 
static const ON_UUID RHINO_CURVATURE_COLOR_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_CURVATURE_GRAPH_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_DIRECTION_ANALYSIS_MODE_ID
 {83141AA3-563B-4355-8009-48685119BC02} More...
 
static const ON_UUID RHINO_DRAFT_ANGLE_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_EDGE_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_EMAP_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_END_ANALYSIS_MODE_ID
 {F4477F56-BC94-4DD2-B941-7D21F9DC674A} More...
 
static const ON_UUID RHINO_FALSECOLOR_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_SECTION_ANALYSIS_MODE_ID
 {2FB89F74-0996-4C68-BD09-301EA64BF304} More...
 
static const ON_UUID RHINO_SHADED_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_TEXTURED_ANALYSIS_MODE_ID
 
static const ON_UUID RHINO_THICKNESS_ANALYSIS_MODE_ID
 {B28E5435-D299-4933-A95D-3783C496FC66} More...
 
static const ON_UUID RHINO_WIREFRAME_ANALYSIS_MODE_ID
 {43BB9491-51E9-493a-B838-89536DD00960} More...
 
static const ON_UUID RHINO_ZEBRA_STRIPE_ANALYSIS_MODE_ID
 

Detailed Description

Macro Definition Documentation

◆ _CRT_SECURE_NO_DEPRECATE

#define _CRT_SECURE_NO_DEPRECATE

This file should be the first header file included in your plug-in's stdafx.h.

◆ _WIN32_IE

#define _WIN32_IE   RHINO_IE_VERSION

◆ _WIN32_WINDOWS

#define _WIN32_WINDOWS   _WIN32_WINNT

◆ _WIN32_WINNT

#define _WIN32_WINNT   RHINO_WINVER

Allow third party plug-ins to require later versions of the Windows Platform SDK.

◆ CRhinoPickList

#define CRhinoPickList   CRhinoObjRefArray

obsolete symbol - use CRhinoObjRefArray

◆ DECLARE_DYNAMIC_PIPELINE

#define DECLARE_DYNAMIC_PIPELINE (   class_name)
Value:
private:\
ON_OBJECT_DECLARE( class_name );\
public: \
static bool m_bRegistered##class_name; \
static ON_UUID m_Uuid##class_name;\
static ON_UUID Uuid(void);\
virtual bool IsRegistered(void);
ON_UUID is a 16 byte universally unique identifier.
Definition: opennurbs_uuid.h:35

◆ DECLARE_PIPELINE_ATTRIBUTE_CLASS

#define DECLARE_PIPELINE_ATTRIBUTE_CLASS   ON_UUID ClassId() const override;

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

◆ HATCH_GRIPS

#define HATCH_GRIPS

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

◆ IMPLEMENT_DYNAMIC_PIPELINE

#define IMPLEMENT_DYNAMIC_PIPELINE (   class_name,
  base_name,
  description,
  uuid,
  bwire,
  bshade 
)
Value:
ON_OBJECT_IMPLEMENT_NO_COPY( class_name, base_name, uuid );\
ON_UUID class_name::m_Uuid##class_name = ::ON_UuidFromString( uuid );\
bool class_name::m_bRegistered##class_name = ::RegisterDisplayPipeline(&ON_CLASS_RTTI(class_name),\
class_name::m_Uuid##class_name,\
description,\
bwire, bshade); \
ON_UUID class_name::Uuid(void) { return class_name::m_Uuid##class_name; }\
bool class_name::IsRegistered(void) { return class_name::m_bRegistered##class_name; }
#define ON_OBJECT_IMPLEMENT_NO_COPY(cls, basecls, uuid)
Definition: opennurbs_object.h:420
RHINO_SDK_FUNCTION bool RegisterDisplayPipeline(const ON_ClassId *, const ON_UUID &, const ON_wString &, bool=true, bool=false, bool=false)
#define ON_CLASS_RTTI(cls)
Definition: opennurbs_object.h:237
ON_DECL ON_UUID ON_UuidFromString(const char *s)

◆ NTDDI_VERSION

#define NTDDI_VERSION   RHINO_NTDDI_VERSION

◆ OPENNURBS_IMPORTS [1/2]

#define OPENNURBS_IMPORTS

NEVER INCLUDE FILES FROM CORE RHINO IN ANY SDK/inc/rhinoSDK*.h file

◆ OPENNURBS_IMPORTS [2/2]

#define OPENNURBS_IMPORTS

release build

The disallowlib lines prevent embedded linking instructions in 3rd party object code from bringing in the wrong C runtime or MFC libraries. The linking instructions are commonly found in statically linked .lib files that were compiled with something besides Visual C++ 8 (Visual Studio 2005) or were compiled with the wrong "Code Generation setting".

For more details, see the McNeel developer CRunTimeTrauma Wiki page. Release Rhino and all 3rd party plug-ins use

Code Generation flag /MD msvcr80.dll (Multithreaded CRT) mfc80u.dll (Unicode MFC)

Debug Rhino and system debug plug-ins use Code Generation flag /MDd msvcr80d.dll (Multithreaded debug CRT) mfc80ud.dll (Unicode debug MFC)No static CRT libs NO STATIC MFC LIBRARES NO MFC 7.1 (Visual Studio 7 / 2003 libraries ) No MFC 4.2 (Visual Studio 4,5,6 libraries ) defining _INC_CRTDBG. if defined(_INC_CRTDBG) error Never include CRTDBG.H in Rhino or Rhino plug-ins. endif define _INC_CRTDBG

Force DEBUG_NEW to be the real "new". If you get a compile error here, it's because somewhere DEBUG_NEW is defined to be something besides "new". You need to find out why and change your compile flags, includes, etc., so that DEBUG_NEW is not defined or defined to be "new".

◆ OPENNURBS_VERSION_DEFINITION

#define OPENNURBS_VERSION_DEFINITION

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

The static member functions on RhinoVersion class provide runtime access to Rhinoceros application version information. In most cases, you should use those functions when you need to know version information about the Rhino application this is running.

In some rare case that you actually need the C++ prerpocessor defines for this verison information.

If you clearly understand why you are in a special case and you want to include this thoughtfully and diliberately use the C++ defines rather than the RhinoVersion functions, then you must define RHINO__SDK__VERSION__DEFINITION__ before including this file.

If you are confused or frustrated, please ask for help.

Todo - move the following defines to a file that is rarely inluded to eliminate the need to recompile 1000's of files when the build system updates the year, month, day, hour, minute values and other build version information that depend on these defined values.

◆ REGISTER_PIPELINE_ATTRIBUTE_CLASS

#define REGISTER_PIPELINE_ATTRIBUTE_CLASS (   className,
  classId 
)
Value:
static class className##RegistrationHelper\
{ public: className##RegistrationHelper()\
{ class Factory : public CDisplayPipelineAttributes::Factory\
{ virtual ON_UUID ClassId() const { return classId; }\
virtual CDisplayPipelineAttributes* NewObject() const { return new className; } };\
CDisplayPipelineAttributes::Factory::Register(std::make_unique<Factory>());}\
} g_the##className##RegistrationHelper;\
UUID className::ClassId() const { return classId; }
ON_UUID is a 16 byte universally unique identifier.
Definition: opennurbs_uuid.h:35
Definition: rhinoSdkDisplayPipelineAttributes.h:37
static RHINO_SDK_FUNCTION void Register(std::unique_ptr< Factory > &&factory)
Definition: rhinoSdkDisplayPipelineAttributes.h:30

◆ RHCMDOPTNAME

#define RHCMDOPTNAME (   s)    CRhinoCommandOptionName(s,s)

◆ RHCMDOPTVALUE

#define RHCMDOPTVALUE (   s)    CRhinoCommandOptionValue(s,s)

◆ RHINO_6_OR_LATER

#define RHINO_6_OR_LATER

This define may be used in code that needs to know which version of Rhino is being built but wants to avoid including rhinoSdkVersion.h to limit the number of files that are compiled when the build system increments the version numbers.

◆ RHINO__SDK__VERSION__DEFINITION__

#define RHINO__SDK__VERSION__DEFINITION__

This header file defines RHINO_PLUG_IN_DECLARE for plug-ins. Rhino plugins can include this file in exactly one .cpp rather than in stdafx.h if they want to minimize the amount of recompiling that is reqired when the version numbers are updated.

  • For plug-ins that use an installed Rhino SDK, this isn't an issue.
  • For Rhino plug-ins that compile against the core Rhino souce code, this is an issue and using rhinoSdkPlugInDeclare.h substantually reduces the amount of recompiling that is required when a developer updates source code.

◆ RHINO_CLAMP

#define RHINO_CLAMP (   V,
  L,
 
)    ( (V) < (L) ? (L) : ( (V) > (H) ? (H) : (V) ) )

Description: Returns V, clamped to lie between L & H, Make L <= V <= H Parameters: V [in] value to be clamped L [in] low bound H [in] high bound

◆ RHINO_COMPONENT_INDEX

#define RHINO_COMPONENT_INDEX   OBSOLETE__USE__ON_COMPONENT_INDEX

RHINO_COMPONENT_INDEX is OBSOLETE as of 9/30/2004 - user ON_COMPONENT_INDEX.

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

◆ RHINO_CURRENT_FILE_VERSION_NUMBER

#define RHINO_CURRENT_FILE_VERSION_NUMBER   OPENNURBS_VERSION_MAJOR

.3dm file version

◆ RHINO_IE_VERSION

#define RHINO_IE_VERSION   0x0700

Visual Studio 2012 and 2013's afxwin.h forces _WIN32_IE to be 0x0700 (We cannot require IE 8.0 while using VS 2012 or 2013.)

◆ RHINO_NOEXCEPT

#define RHINO_NOEXCEPT   ON_NOEXCEPT

#define RHINO_7_OR_LATER define RHINO_8_OR_LATER define RHINO_9_OR_LATER Ideally, RHINO_NOEXCEPT would be the C++11 "noexcept" specifier. Less than ideally, Visual Studio 2012 does not support "noexcept" and we use the, almost, equivalent "throw()". The key point being that it is important to indicate at compile time that a function, especially constructor and operator=, does not throw exceptions.

◆ RHINO_NTDDI_VERSION

#define RHINO_NTDDI_VERSION   0x06010000

◆ RHINO_PLUG_IN_DECLARE [1/2]

#define RHINO_PLUG_IN_DECLARE
Value:
extern "C" RHINO_SDK_EXPORT unsigned int RhinoPlugInSdkVersion(void) {return RHINO_SDK_VERSION;} \
extern "C" RHINO_SDK_EXPORT unsigned int RhinoPlugInSdkServiceRelease(void) { return RHINO_SDK_SERVICE_RELEASE;}
#define RHINO_SDK_SERVICE_RELEASE
Definition: rhinoSdkVersion.h:136
#define RHINO_SDK_EXPORT
Definition: rhinoSdk.h:232

◆ RHINO_PLUG_IN_DECLARE [2/2]

#define RHINO_PLUG_IN_DECLARE   #error include .../SDK/inc/rhinoSdkPlugInDeclare.h in the .cpp file where you are seeing this error.

A Rhino plug-in is being compiled - import Rhino SDK symbols.

<RHINO SDK_MFC If you get this error, then include .../SDK/inc/rhinoSdkPlugInDeclare.h on the line immediately before the line that has RHINO_PLUG_IN_DECLARE

  • The definition of RHINO_PLUG_IN_DECLARE depends on values defined in rhinoSdkVersion.h that are frequently changed by the build system.
  • Using rhinoSdkPlugInDeclare.h to define RHINO_PLUG_IN_DECLARE dramatically reduces the amount of code developers have to build when this version information is updated.

◆ RHINO_PLUG_IN_DECLARE_IS_ERROR

#define RHINO_PLUG_IN_DECLARE_IS_ERROR

◆ RHINO_PLUG_IN_DEPENDENCIES

#define RHINO_PLUG_IN_DEPENDENCIES (   sIdList)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDependencies(void) {return sIdList;}

If your plug-in requires other plug-ins to be loaded before, it can be loaded, then include the macro RHINO_PLUG_IN_DEPENDENCIES(L"id1") where id1 is the id of the plug-in that must be loaded first. If you require multiple plug-ins to be loaded, use commas to delimit the ids RHINO_PLUG_IN_DEPENDENCIES(L"id1,id2"). The id should have the format be in the standard format, i.e. RHINO_PLUG_IN_DEPENDENCIES(L"14D4C6C1-F5FD-4ee4-B2C0-FC7B6CEDF22D") In general, using plug-in dependencies is strongly discouraged. Use properly designed and installed DLLs instead.

◆ RHINO_PLUG_IN_DESCRIPTION

#define RHINO_PLUG_IN_DESCRIPTION (   sPlugInDescription)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDescription(void) { return sPlugInDescription; }

If you want your plug-in to provide a friendly description for use in various user interfaces, both inside and outside of Rhino, then include the RHINO_PLUG_IN_DESCRIPTION macro and specify the resource id of your plug-in's description.

◆ RHINO_PLUG_IN_DEVELOPER_ADDRESS

#define RHINO_PLUG_IN_DEVELOPER_ADDRESS (   sDeveloperAddress)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperAddress(void) {return sDeveloperAddress;}

◆ RHINO_PLUG_IN_DEVELOPER_COUNTRY

#define RHINO_PLUG_IN_DEVELOPER_COUNTRY (   sDeveloperCountry)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperCountry(void) {return sDeveloperCountry;}

◆ RHINO_PLUG_IN_DEVELOPER_EMAIL

#define RHINO_PLUG_IN_DEVELOPER_EMAIL (   sDeveloperEmail)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperEmail(void) {return sDeveloperEmail;}

◆ RHINO_PLUG_IN_DEVELOPER_FAX

#define RHINO_PLUG_IN_DEVELOPER_FAX (   sDeveloperFax)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperFax(void) {return sDeveloperFax;}

◆ RHINO_PLUG_IN_DEVELOPER_ORGANIZATION

#define RHINO_PLUG_IN_DEVELOPER_ORGANIZATION (   sDeveloperOrganization)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperOrganization(void) {return sDeveloperOrganization;}

◆ RHINO_PLUG_IN_DEVELOPER_PHONE

#define RHINO_PLUG_IN_DEVELOPER_PHONE (   sDeveloperPhone)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperPhone(void) {return sDeveloperPhone;}

◆ RHINO_PLUG_IN_DEVELOPER_WEBSITE

#define RHINO_PLUG_IN_DEVELOPER_WEBSITE (   sDeveloperWebsite)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInDeveloperWebsite(void) {return sDeveloperWebsite;}

◆ RHINO_PLUG_IN_ICON_RESOURCE_ID

#define RHINO_PLUG_IN_ICON_RESOURCE_ID (   nIconResourceId)    extern "C" RHINO_SDK_EXPORT unsigned int RhinoPlugInIconResourceId(void) { return nIconResourceId; }

If you want your plug-in to provide an icon for use in various user interfaces, both inside and outside of Rhino, then include the RHINO_PLUG_IN_ICON_RESOURCE_ID macro and specify the resource id of your plug-in's icon. For example: RHINO_PLUG_IN_ICON_RESOURCE_ID(IDI_MY_PLUGIN_ICON)

◆ RHINO_PLUG_IN_ID

#define RHINO_PLUG_IN_ID (   sPlugInId)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInId(void) {return sPlugInId;}

◆ RHINO_PLUG_IN_NAME

#define RHINO_PLUG_IN_NAME (   sPlugInName)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInName(void) {return sPlugInName;}

If you want to use a .rhi automagical installer file, then your plug-in must contain extern "C" const wchar_t* RhinoPlugInName() and a ON_UUID RhinoPlugInId() functions. The argument to the RHINO_PLUG_IN_ID() macro is a uuid in standard Windows string format; e.g., RHINO_PLUG_IN_ID(L"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")

◆ RHINO_PLUG_IN_UPDATE_URL

#define RHINO_PLUG_IN_UPDATE_URL (   sUpdatePlugInURL)    extern "C" RHINO_SDK_EXPORT const wchar_t* RhinoPlugInUpdateURL(void) {return sUpdatePlugInURL;}

◆ RHINO_PLUG_IN_VERSION

#define RHINO_PLUG_IN_VERSION (   sPlugInVersion)    extern "C" RHINO_SDK_EXPORT const char* RhinoPlugInVersion(void) {return sPlugInVersion;}

Note, this macro returns const char* in order to support the standard predefined DATE and TIME macros.

◆ RHINO_PLUGIN_COMPILE

#define RHINO_PLUGIN_COMPILE

Use MAC_DEPRECATED to decorate functions that should not be used in Rhino for Mac.

When the core Rhino executable is being compiled, RHINO_SDK_CLASS is defined in Rhino's stdafx.h as __declspec(dllexport). If RHINO_SDK_CLASS is not defined, then it means a Rhino plug-in is being compiled.

◆ RHINO_PREPROC_STRINGIZE

#define RHINO_PREPROC_STRINGIZE (   s)    RHINO_PREPROC_STRINGIZE_HELPER(s)

#pragma once

Do not put a #pragma once in this header file. It is intentionally included multiple times to insure key defines are not changed.These macros are used with #pragma message to print diagnostic messgages that show the values of #define macros. Usage #define RHINO_VAR = 42 ... #pragma message( "RHINO_VAR = " RHINO_PREPROC_STRINGIZE(RHINO_VAR) ) will print "RHINO_VAR = 42" in the compiler's output log.

◆ RHINO_PREPROC_STRINGIZE_HELPER

#define RHINO_PREPROC_STRINGIZE_HELPER (   s)    #s

◆ RHINO_REGISTRY_ROOT_STRING

#define RHINO_REGISTRY_ROOT_STRING   "McNeel\\Rhinoceros\\6.0"

◆ RHINO_REGISTRY_ROOT_WSTRING

#define RHINO_REGISTRY_ROOT_WSTRING   L"McNeel\\Rhinoceros\\6.0"

◆ RHINO_SDK_CHECKS__LINKER__INSTRUCTIONS__

#define RHINO_SDK_CHECKS__LINKER__INSTRUCTIONS__

These checks are very specific to Windows Rhino.

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.DO NOT USE define TO PROTECT THIS FILE AGAINST MULTIPLE INCLUDES. DO NOT PUT A #pragma once IN THIS FILE. This file checks that compile time defines are correctly set. If something incorrect is defined, it will call #error.#error Exactly one of WIN32 or WIN64 should be defined. If you are getting this error, then you are using the wrong brand of C++ compiler. Rhino application developers muse use use Microsoft Visual Studio 2012. If you are getting this error, then you are using the wrong version of the Microsoft C++ compiler. Rhino 6 application developers muse use use Microsoft Visual Studio 2012 (Microsoft Visual Studio 11.0).

Validate Windows version defines

MBCS/UNICODE define house keeping for plug-in developers

◆ RHINO_SDK_CLASS

#define RHINO_SDK_CLASS   __attribute__ ((visibility ("default")))

◆ RHINO_SDK_DATA

#define RHINO_SDK_DATA   __attribute__ ((visibility ("default")))

◆ RHINO_SDK_EXPORT

#define RHINO_SDK_EXPORT   __attribute__ ((visibility ("default")))

◆ RHINO_SDK_FUNCTION

#define RHINO_SDK_FUNCTION   __attribute__ ((visibility ("default")))

◆ RHINO_SDK_H__INCLUDED__

#define RHINO_SDK_H__INCLUDED__

3rd party Rhino SDK plug-in developer path to openNURBS tools

3rd party Rhino SDK plug-in developer path to rhino_wip.h

◆ RHINO_SDK_H_IN_PROGRESS_

#define RHINO_SDK_H_IN_PROGRESS_

the following line must be the first line in this file that is not a comment

Copyright (c) 1993-2015 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.7 June 2004 DO NOT USE //// pragma once It is important that this file be included multiple times in order for the checking to happen at the right places. Please do not put pragma once in this file. Ask Dale Lear if you have questions.

◆ RHINO_SDK_OSX_VERSION

#define RHINO_SDK_OSX_VERSION   RHINO_SDK_SERVICE_RELEASE

Apple OS X SDK version number When the Rhino SDK is frozen, this number will be hard coded. Until then, it will increase each time the build system increments the build version numbers.

◆ RHINO_SDK_PLUG_IND_DECLARE_INC_

#define RHINO_SDK_PLUG_IND_DECLARE_INC_

◆ RHINO_SDK_SERVICE_RELEASE

#define RHINO_SDK_SERVICE_RELEASE   RHINO_VERSION_NUMBER

Use RhinoApp().SdkServiceReleaseVersion() to get the value of RHINO_SDK_SERVICE_RELEASE.

RHINO_VERSION_NUMBER is defined in rhinoSdkRhinoVersion.h and is automatically set by the build system. Do not hard code this value. RHINO_SDK_SERVICE_RELEASE must increase so SDK addtions work as expected. Plug-ins that are built with an "updated SDK" will required a host Rhino that is the same or more recent than the "updated SDK".

◆ RHINO_SDK_STDAFX_PREAMBLE_H__

#define RHINO_SDK_STDAFX_PREAMBLE_H__

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

◆ RHINO_SDK_TEMPLATE

#define RHINO_SDK_TEMPLATE   __attribute__ ((visibility ("default")))

◆ RHINO_SDK_WINDOWS_VERSION

#define RHINO_SDK_WINDOWS_VERSION   ON_VERSION_NUMBER_CTOR(6, 0, 2017, 8, 15, 1 )

SDK is frozen when the definition of RHINO_SDK_WINDOWS_VERSION is a hardcoded number.

Windows SDK version number. When the Rhino SDK is frozen, this number will be hard coded. Until then, it will increase each time the build system increments the build version numbers.SDK FROZEN at Rhino 6.0 2017 August 14 "trunk build" It appears that nobody differentiates between DEVELOPER and RELEASE builds (the 1 in the final argument to ON_VERSION_NUMBER_CTOR, so we're setting it to RELEASE fr everyone.

◆ RHINO_SDK_WINVER_H_INCLUDED_

#define RHINO_SDK_WINVER_H_INCLUDED_

Please discuss any changes to this file with Dale Lear.

◆ RHINO_V6SR

#define RHINO_V6SR   0

System plug-ins that need to know if they are being built for a specific V6 service release can look at the RHINO_V6SR define. This symbol will not be defined in the V5 or V7 code.

◆ RHINO_VERSION_BRANCH

#define RHINO_VERSION_BRANCH   OPENNURBS_VERSION_BRANCH

RHINO_VERSION_BRANCH 0: developer build 1: Windows Commercial build 2: Mac Commercial build 3: Windows BETA build 4: Mac Beta build 5: Windows WIP build 6: Mac WIP build

◆ RHINO_VERSION_DAY_OF_MONTH

#define RHINO_VERSION_DAY_OF_MONTH   OPENNURBS_VERSION_DAY_OF_MONTH

◆ RHINO_VERSION_HOUR

#define RHINO_VERSION_HOUR   OPENNURBS_VERSION_HOUR

◆ RHINO_VERSION_MAJOR

#define RHINO_VERSION_MAJOR   OPENNURBS_VERSION_MAJOR

Public SDK path to opennurbs_version.h.

"major" will be 6 for all versions of Rhinoceros 6

◆ RHINO_VERSION_MINOR

#define RHINO_VERSION_MINOR   OPENNURBS_VERSION_MINOR

"minor" corresponds to the Rhinoceros 6 service release number

◆ RHINO_VERSION_MINUTE

#define RHINO_VERSION_MINUTE   OPENNURBS_VERSION_MINUTE

◆ RHINO_VERSION_MONTH

#define RHINO_VERSION_MONTH   OPENNURBS_VERSION_MONTH

◆ RHINO_VERSION_NUMBER

#define RHINO_VERSION_NUMBER
Value:
#define RHINO_VERSION_BRANCH
Definition: rhinoSdkVersion.h:87
#define RHINO_VERSION_MAJOR
Public SDK path to opennurbs_version.h.
Definition: rhinoSdkVersion.h:66
#define RHINO_VERSION_DAY_OF_MONTH
Definition: rhinoSdkVersion.h:73
#define RHINO_VERSION_YEAR
Definition: rhinoSdkVersion.h:71
#define RHINO_VERSION_MONTH
Definition: rhinoSdkVersion.h:72
#define ON_VERSION_NUMBER_CTOR(major, minor, year, month, day_of_month, branch)
Definition: opennurbs_version.h:213
#define RHINO_VERSION_MINOR
"minor" corresponds to the Rhinoceros 6 service release number
Definition: rhinoSdkVersion.h:69

◆ RHINO_VERSION_NUMBER_MAJOR_STRING

#define RHINO_VERSION_NUMBER_MAJOR_STRING   RMA_VERSION_NUMBER_MAJOR_STRING

◆ RHINO_VERSION_NUMBER_MAJOR_WSTRING

#define RHINO_VERSION_NUMBER_MAJOR_WSTRING   RMA_VERSION_NUMBER_MAJOR_WSTRING

◆ RHINO_VERSION_NUMBER_SR_STRING

#define RHINO_VERSION_NUMBER_SR_STRING   RMA_VERSION_NUMBER_SR_STRING

◆ RHINO_VERSION_NUMBER_SR_WSTRING

#define RHINO_VERSION_NUMBER_SR_WSTRING   RMA_VERSION_NUMBER_SR_WSTRING

◆ RHINO_VERSION_NUMBER_STRING

#define RHINO_VERSION_NUMBER_STRING   RMA_VERSION_WITH_PERIODS_STRING

◆ RHINO_VERSION_NUMBER_WITH_COMMAS

#define RHINO_VERSION_NUMBER_WITH_COMMAS   VERSION_WITH_COMMAS

Four integers separated by commas - useful for getting the version quartet values as unsigned int or int.

◆ RHINO_VERSION_NUMBER_WSTRING

#define RHINO_VERSION_NUMBER_WSTRING   RMA_VERSION_WITH_PERIODS_WSTRING

◆ RHINO_VERSION_YEAR

#define RHINO_VERSION_YEAR   OPENNURBS_VERSION_YEAR

◆ RHINO_WINDOWS_REGISTRY_SVN_BRANCH

#define RHINO_WINDOWS_REGISTRY_SVN_BRANCH   L"trunk"

The value of RHINO_WINDOWS_REGISTRY_SVN_BRANCH is used to build registry paths that require the name of the source code branch. Runtime code validates that it is set correctly. It must be hard coded because it is used in public and internal debug and release builds.

◆ RHINO_WINVER

#define RHINO_WINVER   0x0601

21 March 2012 Dale Lear: Windows 7 is the minimum Windows OS that Rhino 6 will run on. If you get a compile error or warning in this file, it is a serious problem. These values MUST be used by any code that McNeel ships with Rhino. This includes all code that gets linked into Rhino.exe and ALL code that gets linked into any plug-in that McNeel ships with Rhino. Minimum Windows platform = Windows 7 with IE 7.0 See http://msdn.microsoft.com/en-us/library/aa383745(v=vs.85).aspx#setting_winver_or__win32_winnt Note: The first 4 digits of RHINO_NTDDI_VERSION must match the value of RHINO_WINVER.

◆ RHINOCEROS_APP_NAME_STRING

#define RHINOCEROS_APP_NAME_STRING   "Rhinoceros 6"

char strings

Rhinoceros version numbers as strings

Whenever you need a string that has a 6 that will need to be changed to a 7 in the Rhino V7 code, use these macros. You can use string concatination for strings that are not explicitly defined. Example: L"Rhinoceros " RHINO_VERSION_NUMBER_MAJOR_WSTRING L" " RHINO_VERSION_NUMBER_SR_STRING is the same as L"Rhinoceros 6 SR2"

◆ RHINOCEROS_APP_NAME_WSTRING

#define RHINOCEROS_APP_NAME_WSTRING   L"Rhinoceros 6"

wchar_t strings

◆ SDKMFCUSAGE

#define SDKMFCUSAGE   true

◆ SDKMFCVER

#define SDKMFCVER   0

This include will define RHINO_SDK_VERSION and RHINO_SDK_SERVICE_RELEASE that are required for RHINO_PLUG_IN_DECLARE.

◆ TL_IMPORTS

#define TL_IMPORTS

◆ WINVER

#define WINVER   _WIN32_WINNT

Typedef Documentation

◆ ConduitList

◆ CUSTOM_MESH_HANDLER_FUNC

typedef bool(* CUSTOM_MESH_HANDLER_FUNC) (const CRhinoObject &, ON_SimpleArray< ON_Mesh * > &aMeshes)

◆ DisplayBucket

Object management constructs...

◆ MakeRadiusSplineData

Description: Makes a dimension = 1, degree = 3 spline curve that interpolates input values and doesn't overshoot extreme explicitly set in the input values. The output spline will have double knots at each interpolant and 0 derivative at extremes. The domain will be from dist_data[0].t to dist_data[dist_data.Count()-1].t. This makes a good smooth function for interpolating input values along a curve or for use wit the RhinoOffsetCurveNormal() function. Parameters: pSrf [in] - Surface from which normals are calculated. pCrv [in] - 3d curve lying on the surface along which normals are calculated. params [in] - parameters in the domain of pCrv for offset points to interpolate pHeights [in] - offset distance (distance from surface to result curve). pHeights is a NURBS curve of dimension 1 with the same domain as pCrv. It is evaluated at points corresponding to the locations where offsets from the surface are calculated to find the height of the offset at those points. Return: ON_NurbsCurve* pointing to offset curve at distance height from the surface. Remarks: Same as the function above, but the offset point locations are specified. THE CALLER IS RESPONSIBLE FOR DESTROYING THE OUTPUT CURVE. See Also: RhinoOffsetCurveNormal

◆ ObjectArray

◆ PFDRAWOVERRIDEPROC

typedef bool(* PFDRAWOVERRIDEPROC) (CRhinoDisplayPipeline &)

◆ RealtimeDisplayModeList

◆ RegisteredPipelineList

◆ RhTimestamp

typedef long long RhTimestamp

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : unsigned int

Texture combiner constants used in DrawCombinedTextures() method...

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

Enumerator
COMBINE_ADD 
COMBINE_MULTIPLY 
COMBINE_BLEND 
COMBINE_HATCHED 
COMBINE_MULTIPLY_WITH_COLOR 

◆ CRhinoDocStatus

Enumerator
doc_status_first 
create_before_construct 

CRhinoDoc member initialization occuring.

CRhinoDoc::CreateDocument status

create_enter_construct 

first line in CRhinoDoc::CRhinoDoc() body

create_exit_construct 

last line in CRhinoDoc::CRhinoDoc() body

create_begin 

in CRhinoDoc::CreateDocument()

create_before_CRhinoDoc_OnNewDocument 

in CRhinoDoc::CreateDocument()

create_enter_CRhinoDoc_OnNewDocument 

in CRhinoDoc::OnNewDocument()

create_before_CDocument_OnNewDocument 

CRhinoDoc::OnNewDocument() calls CDocument::OnNewDocument()

create_after_CDocument_OnNewDocument 
create_before_event_post_OnNewDocument 

CRhinoDoc::NewDocument() calls OnNewDocument event watchers.

create_enter_event_post_OnNewDocument 
create_exit_event_post_OnNewDocument 
create_after_event_post_OnNewDocument 
create_exit_CRhinoDoc_OnNewDocument 

in CRhinoDoc::OnNewDocument()

create_after_CRhinoDoc_OnNewDocument 

in CRhinoDoc::CreateDocument()

create_before_read_template_file 

CRhinoDoc::CreateDocument() reads template file.

create_enter_read_3dm_template_file 
create_before_event_post_OnBeginOpenDocument 
create_enter_event_post_OnBeginOpenDocument 
create_exit_event_post_OnBeginOpenDocument 
create_after_event_post_OnBeginOpenDocument 
create_after_read_3dm_template_file 
create_before_event_post_OnEndOpenDocument 
create_enter_event_post_OnEndOpenDocument 
create_exit_event_post_OnEndOpenDocument 
create_after_event_post_OnEndOpenDocument 
create_read_3dm_template_before_views 

before CRhinoDoc::Read3DM() updates template views

create_read_3dm_template_after_views 

after CRhinoDoc::Read3DM() updates template views

create_exit_read_3dm_template_file 
create_after_read_template_file 
create_before_default_views 

CRhinoDoc::CreateDocument() creates default views when no template is used or no views are included in the template.

create_after_default_views 
create_end 

CRhinoDoc::CreateDocument() is finished.

open_begin 

CRhinoDoc::OpenDocument status

open_before_CRhinoDoc_OnOpenDocument 

in CRhinoDoc::OpenDocument()

open_enter_CRhinoDoc_OnOpenDocument 

in CRhinoDoc::OnOpenDocument()

open_before_CDocument_OnOpenDocument 

CRhinoDoc::OnOpenDocument() calls CDocument::OnOpenDocument()

open_before_read_model_file 

CRhinoDoc::OpenDocument() is using a plug-in to read a model file.

open_before_read_3dm_model_file 

CRhinoDoc::OpenDocument() is using CRhinoDoc::Read3DM() to read a .3dm model file.

open_enter_read_3dm_model_file 
open_before_event_post_OnBeginOpenDocument 

CRhinoDoc::OnOpenDocument() calls OnOpenDocument event watchers.

open_enter_event_post_OnBeginOpenDocument 
open_exit_event_post_OnBeginOpenDocument 
open_after_event_post_OnBeginOpenDocument 
open_enter_read_model_file 

If a plug-in is reading a file to open a document, then these status settings bracket the call to the plug-in reading the file.

open_exit_read_model_file 
open_before_event_post_OnEndOpenDocument 
open_enter_event_post_OnEndOpenDocument 
open_exit_event_post_OnEndOpenDocument 
open_after_event_post_OnEndOpenDocument 
open_read_3dm_model_before_views 

before CRhinoDoc::Read3DM() updates views

open_read_3dm_model_after_views 

after CRhinoDoc::Read3DM() updates views

open_exit_read_3dm_model_file 
open_after_read_3dm_model_file 
open_after_CDocument_OnOpenDocument 

in CRhinoDoc::OnOpenDocument() after call to CDocument::OnOpenDocument()

open_after_read_model_file 

CRhinoDoc is finished using a plug-in to read the model file.

open_exit_CRhinoDoc_OnOpenDocument 

in CRhinoDoc::OnOpenDocument()

open_after_CRhinoDoc_OnOpenDocument 

in CRhinoDoc::OpenDocument()

open_before_views 

CRhinoDoc::OpenDocument() creates views.

open_after_views 
open_end 

CRhinoDoc::OpenDocument() is finished.

available 

document can be read and modified

doc is alive and usable and being used

close_begin 

soon ... read_only, ///< document cannot be modified unavailable, ///< document is being modified

CRhinoDoc::CloseDocument status

close_before_CRhinoDoc_OnCloseDocument 

in CRhinoDoc::CreateDocument()

close_enter_CRhinoDoc_OnCloseDocument 

in CRhinoDoc::NewDocument()

close_before_event_post_OnCloseDocument 

CRhinoDoc::OnCLoseDocument() calls OnCloseDocument event watchers.

close_enter_event_post_OnCloseDocument 
close_exit_event_post_OnCloseDocument 
close_after_event_post_OnCloseDocument 
close_before_CDocument_OnCloseDocument 

CRhinoDoc::OnCloseDocument() calls CDocument::OnCloseDocument()

close_after_CDocument_OnCloseDocument 
close_exit_CRhinoDoc_OnCloseDocument 

in CRhinoDoc::OnCloseDocument()

close_after_CRhinoDoc_OnCloseDocument 

in CRhinoDoc::CloseDocument()

close_end 
close_enter_destruct 

first line in CRhinoDoc::~CRhinoDoc() body

close_before_destroy 
close_enter_destroy 

first line of CRhinoDoc::Destroy() body

close_exit_destroy 

last line of CRhinoDoc::Destroy() body

close_after_destroy 

first line in CRhinoDoc::~CRhinoDoc() body

close_exit_destruct 

last line in CRhinoDoc::~CRhinoDoc() body

doc_status_last 

force 4 byte size

◆ EConduitNotifiers

Conduit notification values...

Enumerator
CN_PIPELINEADDED 
CN_PIPELINEDELETED 
CN_PIPELINECLONED 
CN_PIPELINEOPENED 
CN_PIPELINECLOSED 
CN_FRAMESIZECHANGED 
CN_PROJECTIONCHANGED 
CN_NESTEDPIPELINE_OPENED 
CN_NESTEDPIPELINE_CLOSED 

◆ ECullFaceMode

enum ECullFaceMode : unsigned int
Enumerator
CFM_DRAW_FRONT_AND_BACK 
CFM_DRAW_FRONT_FACES 
CFM_DRAW_BACK_FACES 

◆ EDepthMode

enum EDepthMode : unsigned int
Enumerator
DM_NEUTRAL 
DM_ALWAYS_IN_FRONT 
DM_ALWAYS_IN_BACK 

◆ EFrameBufferFillMode

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer. Flags and attributes need to be provided to pass back and forth to the conduits based on all of the default stuff the pipeline draws in its channels.

Reason: Conduits may want to override the default behavior (eg. DrawGrid), so we need a way for conduits to tell the pipeline what is being done, as well as let other conduits know what has already been done.

Note: These are all based on what Rhino's pipeline does...there is no way to second guess what other pipelines will or won't do, so all we can do for now is tell conduits as much as we can about Rhino's pipeline attributes...

Enumerator
FBFM_DEFAULT_COLOR 
FBFM_SOLID_COLOR 
FBFM_GRADIENT_2_COLOR 
FBFM_GRADIENT_4_COLOR 
FBFM_BITMAP 
FBFM_RENDERER 
FBFM_TRANSPARENT 

◆ ELightingScheme

enum ELightingScheme : int
Enumerator
LS_NONE 
LS_DEFAULT_LIGHTING 
LS_SCENE_LIGHTING 
LS_CUSTOM_LIGHTING 
LS_AMBIENT_OCCLUSION 

◆ EnvironmentBackgroundProjection

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

Enumerator
planar 
spherical 
emap 
box 
lightprobe 
cubemap 
vertical_cross_cubemap 
horizontal_cross_cubemap 
hemispherical 
none 

◆ ERenderOverlayFeatures

Post rendering features that make up all possible post renderables...

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

Enumerator
ROF_POINTS 
ROF_LIGHTS 
ROF_MESHWIRES 
ROF_ISOS 
ROF_EDGES 
ROF_TEXT 
ROF_CURVES 
ROF_ANNOTATIONS 

◆ ERhinoPointStyle

enum ERhinoPointStyle : unsigned int

Points helper types and classes used to describe and draw points...

Enumerator
RPS_SQUARE 

same as VARIABLE_DOT

RPS_CIRCLE 

same as ROUND_DOT

RPS_TRIANGLE 
RPS_HEART 
RPS_CHEVRON 
RPS_CLOVER 
RPS_TAG 
RPS_X 
RPS_ASTERISK 
RPS_PIN 
RPS_ARROW_TAIL_OFF_POINT 
RPS_ARROW_TIP_OFF_POINT 
RPS_VARIABLE_DOT 

"DOT's" are solid filled, single color entities...

varying radius

RPS_ROUND_DOT 
RPS_CONTROL_POINT 

Rhino's standard CV object...

"POINT's" are border filled color with white centers, 2 color entities... Note: The radius can vary on all of these...

RPS_ACTIVE_POINT 

Rhino's standard active CV object...

RPS_ROUND_CONTROL_POINT 
RPS_ROUND_ACTIVE_POINT 

◆ eRhSnapGeom

The geometry that can be checked by RhCheckObjectSnapPoints().

Enumerator
sng_plane_uv 
sng_plane_uvw 
sng_box 
sng_sphere 
sng_cylinder 

◆ EZBiasMode

enum EZBiasMode : int
Enumerator
ZBM_AWAY_FROM_CAMERA 
ZBM_NEUTRAL 
ZBM_TOWARDS_CAMERA 

◆ GUMBALL_MODE

Transformation modes for gumballs.

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

Enumerator
gb_mode_nothing 
gb_mode_menu 

gumball menu button was picked

gb_mode_translatefree 

unconstrained translation

gb_mode_translatex 

translation along a single axis

gb_mode_translatey 
gb_mode_translatez 
gb_mode_translatexy 

translation in a plane

gb_mode_translateyz 
gb_mode_translatezx 
gb_mode_scalex 

NOTE: CRhinoGumballFrame m_scale_mode is used to enable multi-axis scaling. This enum indicates which control is being dragged.

gb_mode_scaley 
gb_mode_scalez 
gb_mode_scalexy 

scaling in a plane

gb_mode_scaleyz 
gb_mode_scalezx 
gb_mode_rotatex 
gb_mode_rotatey 
gb_mode_rotatez 
gb_mode_extrudex 

extrusion along single axis

gb_mode_extrudey 
gb_mode_extrudez 

◆ GUMBALL_POPUP_MENU_ITEM

These enum values are used to set bitfields that control what appears on the gumball pop-up menu and are used to report what was selected from the menu.

Enumerator
gb_menu_nothing 
gb_menu_relocate 

Relocate current gumball.

gb_menu_autogumballon 

Auto-gumball on/off Rhino app setting.

gb_menu_autogumballoff 
gb_menu_snappyon 

Snappy/Smooth Rhino app setting.

gb_menu_snappyoff 
gb_menu_settingscmd 

Run Rhino GumballSettings command.

gb_menu_reset 

Reset current gumball transformation.

gb_rotate_view_around_autogumball 
gb_menu_align_to_object 

Gumball alignment setting.

gb_menu_align_to_cplane 
gb_menu_align_to_world 
gb_menu_drag_ratio 

gumball drag ratio/scale/stregth

gb_menu_drag_ratio_popup 
gb_menu_autoreset 

gumball autoreset after each drag

gb_menu_enter 

Show "Enter" on top of the gumball menu.

gb_menu_everything 

◆ RhDisplacementSweepResolutionFormula

Enumerator
Default 

summary>Default formula.

summary>Formula used in Rhino 5. Dependent on absolute tolerance.

AbsoluteToleranceDependent 

◆ RHINO_IDEF_STATUS

Description: Returns the status of a linked block. Parameters: idef [in] - The instance defintion to query. Return: RHINO_IDEF_STATUS - the status.

Enumerator
RHINO_IDEF_NOT_A_LINKED_IDEF 
RHINO_IDEF_LINKED_FILE_NOT_READABLE 
RHINO_IDEF_LINKED_FILE_NOT_FOUND 
RHINO_IDEF_LINKED_FILE_IS_TO_DATE 
RHINO_IDEF_LINKED_FILE_IS_NEWER 
RHINO_IDEF_LINKED_FILE_IS_OLDER 
RHINO_IDEF_LINKED_FILE_IS_DIFFERENT 

◆ RhinoConicSectionType

enum RhinoConicSectionType : int
strong
Enumerator
Unknown 
Circle 
Ellipse 
Hyperbola 
Parabola 

◆ RhinoDashStyle

enum RhinoDashStyle : unsigned int
strong
Enumerator
Solid 
Dash 

◆ RhinoFilletSurfaceSplitType

enum RhinoFilletSurfaceSplitType : int
strong
Enumerator
Nothing 
Trim 
Split 

◆ RhinoFilletSurfaceType

enum RhinoFilletSurfaceType : int
strong
Enumerator
RollingBall 
Chamfer 
Rails 

◆ RhinoLineCapStyle

enum RhinoLineCapStyle : int
strong
Enumerator
None 
Round 
Flat 
Square 

◆ RhinoLineJoinStyle

enum RhinoLineJoinStyle : int
strong
Enumerator
None 
Round 
Miter 
Bevel 

◆ RhinoOptionPageButtons

enum RhinoOptionPageButtons : int
strong

Standard IRhinoOptionsPageButton

class RhinoOptionPageButtons

Description: The standard buttons that can be optionally displayed by IRhinoOptionsPage

Enumerator
None 

Don't display any of the standard buttons.

DefaultButton 

The "Restore Defaults" button located at the bottom of the host.

ApplyButton 

The "Apply" button located at the bottom of the host.

◆ RhinoPropertiesPanelPageType

enum RhinoPropertiesPanelPageType : int
strong

IRhinoProperties page type

class RhinoPropertiesPanelPageType

Description: The type of properties page this is.

Enumerator
Material 

Replace the material page with this page; only works for the current render plug - in.

Light 

Replace the light page with this page; only works for the current render plug-in.

Custom 

User-defined custom object page.

ObjectProperties 

For internal use only.

Dimension 

If page is provided by Rhino and only dimensions are selected, activate this page.

Leader 

If page is provided by Rhino and leaders are selected, activate this page.

Text 

If page is provided by Rhino and only text objects are selected, activate this page.

Hatch 

If page is provided by Rhino and only hatch objects are selected, activate this page.

Dot 

If page is provided by Rhino and only dot objects are selected, activate this page.

TextureMapping 

Replace the texture mapping page with this page; only works for the current render plug-in.

Detail 

If page is provided by Rhino and only detail objects are selected, activate this page.

ClippingPlane 

If page is provided by Rhino and only clipping plane objects are selected, activate this page.

NamedView 

If page is provided by Rhino and only named view widget objects are selected, activate this page.

Decal 

Decals user interface

View 

Page is a view properties page and uses view properties methods. Does not use object properties methods.

PageCount 

Reserved, do not use.

◆ RhinoWindowCreateOptions

enum RhinoWindowCreateOptions : int
strong

Create window options

Enumerator
None 

No options set.

ChildPage 

The window is a child page being hosted by a core Rhino interface component.

Visible 

Window should be made visible when creating component.

Sizable 

Window should be resizable (WS_THICKFRAME on Windows) component.

Frame 

Window should have a title bar and border (WS_OVERLAPPED on Windows) component.

Minimizable 

Window should have a minimize button (WS_MINIMIZEBOX on Windows) component.

Maximizable 

Window should have a maximize button (WS_MAXIMIZEBOX on Windows) component.

◆ RhinoYesNoResponse

enum RhinoYesNoResponse : unsigned int
strong

define RhinoYesNoResponse enum

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.Deep, sigh. ... This file is included by Mac Rhino projects in a complicated, contrived, controversial, and complex, manner. In MacRhino, in some projects, the enum and functions are delcared at different points in time. In other projects, everything simply includes RhinoSdk.h and life is, well, simple.

In all Windows code, include RhinoSdk.h and move on. "There is nothing to see here."

Too keep Mac Rhino building.

NO NO NO NO #prag once<summary> RhinoYesNoResponse is a list of possible responses to a question that can be answered yes or no.

Enumerator
Unset 

Response is unset.

Yes 

User responded yes.

YesToAll 

User responded yes and wants to automatically respond yes to all identical queries in the future.

No 

User responded no.

NoToAll 

User responded no and wants to automatically respond no to all identical queries in the future.

Cancel 

User selected cancel in a dialog or other interface.

Error 

Response is not available. Possibly because an error occured in code execution.

◆ RhPipeCapType

enum RhPipeCapType
strong
Enumerator
None 

summary>Capping is skipped. The resulting object will be simpler.

summary>A flat surface will cap the pipe.

Flat 

summary>A simple construction will cap the pipe.

Box 

summary>A meridians-and-parallels hemisphere construction will cap the pipe.

Dome 

◆ TextureReportFilter

enum TextureReportFilter : unsigned int
strong
Enumerator
MissingOnly 
AllTextures 

◆ TextureReportResult

enum TextureReportResult : unsigned int
strong
Enumerator
Abort 
Continue 
Success 
Failure 

Function Documentation

◆ CapOffSettedMesh()

RHINO_SDK_FUNCTION bool CapOffSettedMesh ( const ON_Mesh pInputMesh,
ON_Mesh pOutputMesh,
double  Offset 
)

Description: Sort of an expert function meant to be called from the RhinoMeshOffset function above. It assumes, and checks for, the input and output meshes are topologically identical. What is meant by this is that they have the same m_V count and the same m_F count. In fact, the m_F arrays of both meshes must be identical.

This function creates the ribbon of faces along the associated naked edges of the input and output meshes. Once it makes those faces it add them and the input mesh to the output mesh to create a closed mesh. The Offset variable is only used for it's sign to determine the orientation of the ribbon faces.

Parameters: pInputMesh - Input mesh. pOutputMesh - Output mesh. Offset - Input only used for sign.

Returns: Returns a true on success. False on failure. Potentially modifies pOutputMesh even on failure.

◆ CreateDisplayPipeline()

RHINO_SDK_FUNCTION CRhinoDisplayPipeline* CreateDisplayPipeline ( const ON_ClassId )

◆ FindRegisteredPipeline() [1/2]

RHINO_SDK_FUNCTION bool FindRegisteredPipeline ( const ON_ClassId ,
RegisteredPipeline  
)

◆ FindRegisteredPipeline() [2/2]

RHINO_SDK_FUNCTION bool FindRegisteredPipeline ( const ON_UUID ,
RegisteredPipeline  
)

◆ GetDefaultPageViewPipeline()

RHINO_SDK_FUNCTION const ON_ClassId* GetDefaultPageViewPipeline ( )

◆ GetDefaultShadingPipeline()

RHINO_SDK_FUNCTION const ON_ClassId* GetDefaultShadingPipeline ( )

◆ GetDefaultWireframePipeline()

RHINO_SDK_FUNCTION const ON_ClassId* GetDefaultWireframePipeline ( )

RHINO_SDK_FUNCTION bool RegisterDefaultWireframePipeline(const ON_ClassId*);

RHINO_SDK_FUNCTION bool RegisterDefaultShadingPipeline(const ON_ClassId*);

RHINO_SDK_FUNCTION bool RegisterDefaultPageViewPipeline(const ON_ClassId*);

◆ GetRegisteredPipelines()

RHINO_SDK_FUNCTION int GetRegisteredPipelines ( RegisteredPipelineList )

◆ GetRegisteredShadingPipelines()

RHINO_SDK_FUNCTION int GetRegisteredShadingPipelines ( RegisteredPipelineList )

◆ GetRegisteredWireframePipelines()

RHINO_SDK_FUNCTION int GetRegisteredWireframePipelines ( RegisteredPipelineList )

◆ MakeRhinoContours() [1/2]

RHINO_SDK_FUNCTION bool MakeRhinoContours ( const CRhinoContourInput input,
ON_SimpleArray< ON_Polyline *> &  output_PlineArray,
ON_SimpleArray< ON_Curve *> &  output_CurveArray,
ON_SimpleArray< ON_3dPoint > &  output_PointArray 
)

Description: Create contour curves for breps and contour polylines for meshes that are input.m_interval distance apart and fill the output arrays with the results. If m_bAddOutputToDocument==true the output will be added to the current Rhino document instead of populating the output arrays. Parameters: input - [in] output_PlineArray - [out] ///<output from mesh and pointcloud intersection output_CurveArray - [out] ///<output from surface and polysurface intersection output_PointArray = [out] ///<output from curve intersection Returns: true or false depending on success or failure Remarks: It is the calling functions responsibility to clean up the memory used by these arrays.

◆ MakeRhinoContours() [2/2]

RHINO_SDK_FUNCTION bool MakeRhinoContours ( const CRhinoContourInput input,
ON_SimpleArray< ON_Polyline *> &  output_PlineArray,
ON_SimpleArray< ON_Curve *> &  output_CurveArray,
ON_SimpleArray< ON_3dPoint > &  output_PointArray,
double  tolerance,
CRhinoDoc doc 
)

Description: Create contour curves for breps and contour polylines for meshes that are input.m_interval distance apart and fill the output arrays with the results. If m_bAddOutputToDocument==true, then doc must NOT be NULL If m_bAddOutputToDocument==false, doc can be NULL and is ignored Parameters: input - [in] output_PlineArray - [out] ///<output from mesh and pointcloud intersection output_CurveArray - [out] ///<output from surface and polysurface intersection output_PointArray = [out] ///<output from curve intersection Returns: true or false depending on success or failure Remarks: It is the calling functions responsibility to clean up the memory used by these arrays.

◆ ON_DEPRECATED_MSG()

ON_DEPRECATED_MSG ( "This function will be removed in Rhino Version 7. \ "For assistance replacing this function post on discourse.mcneel.com/c/rhino-developer."  )

Description: RhinoBrepGet2dProjection generates a 2D projection of a list of breps.

Parameters: brepObjects - [in] List of brep objects to be projected. projectionPlane - [in] Plane used to get 2D projection. projectedCurves - [out] Curves that are in the positive part of the plane and are visible will be appended. pProjectedHiddenCurves - [out] If not NULL, curves that are in the positive part of the plane and are hidden will be appended. pDistTolerance - [in] Tolerance used for distance comparisions. Use CRhinoDoc.AbsoluteTolerance() when in doubt. pAngTolerance - [in] Tolerance used for angular comparisions. Use CRhinoDoc.AngleToleranceRadians() when in doubt.

Returns: true if success.

Description: Generates a 2D section of a list of breps. Splits all breps using the specified brep splitter, then generates the 2D projection of resulting pieces, and finally returns all output projection curves separeted depending in curve position (back or front) and visibility.

Parameters: brepObjects - [in] List of brep objects to be sectioned. brepSplitter - [in] Brep used to split objects. Splitter is a single possibly non-manifold brep. (See RhinoBrepSplit) projectionPlane - [in] Plane used to get 2D projection. pSectionCurves - [out] Curve objects that lies in brepSplitter pForegroundCurves - [out] Curves that are in the positive part of the splitter and are vidible. pBackgroundCurves - [out] Curves that are in the negative part of the splitter and are visible. pForegroundHiddenCurves - [out] Curves that are in the positive part of the splitter and are hidden. pBackgroundHiddenCurves - [out] Curves that are in the negative part of the splitter and are hidden. pDistTolerance - [in] Tolerance used for distance comparisions. Use CRhinoDoc.AbsoluteTolerance() when in doubt. pAngTolerance - [in] Tolerance used for angular comparisions. Use CRhinoDoc.AngleToleranceRadians() when in doubt.

Returns: true if success.

◆ operator &() [1/2]

◆ operator &() [2/2]

◆ operator &=() [1/2]

◆ operator &=() [2/2]

◆ operator|() [1/2]

◆ operator|() [2/2]

◆ operator|=() [1/2]

◆ operator|=() [2/2]

◆ operator~() [1/2]

◆ operator~() [2/2]

◆ RegisterDisplayPipeline()

RHINO_SDK_FUNCTION bool RegisterDisplayPipeline ( const ON_ClassId ,
const ON_UUID ,
const ON_wString ,
bool  = true,
bool  = false,
bool  = false 
)

◆ RegisterOpenGLEngine()

RHINO_SDK_FUNCTION const ON_ClassId* RegisterOpenGLEngine ( const ON_ClassId )

◆ RhCheckObjectSnapPoints()

RHINO_SDK_FUNCTION bool RhCheckObjectSnapPoints ( eRhSnapGeom  sng,
const CRhinoSnapContext sc,
CRhinoSnapEvent se,
const ON_Xform xform 
)

Description: Checks 'osnap' points for a particular geometry. Checks ON::os_end, ON::os_quadrant, ON::os_midpoint and ON::os_center in that order.

Parameters: sng - [in] The geometry to check (see eRhSnapGeom above). sc - [in] The snap context. se - [in/out] The snap event. xform - [in] The xform that transforms the object into world space.

Returns: True if any snap check was successful, else false.

◆ RhCreateWidget()

RHINO_SDK_FUNCTION UUID RhCreateWidget ( CRhinoDoc doc,
CRhinoWidget pWidget,
const CRhinoObjectAttributes pAttr = NULL 
)

Description: Creates a document-resident widget from a new instance of a CRhinoWidget subclass.

Parameters: doc - [in] The document to create the widget in. pWidget - [in] A pointer to a new instance of your widget class. pAttr - [in] A pointer to optional object attributes to use for the new widget.

Returns: The Rhino object UUID of the widget if successful, else ON_nil_uuid.

Remarks: Rhino will create the widget and take ownership of your instance; you must not store a pointer to it.

◆ RhFindWidgetsAssociatedWithObject()

RHINO_SDK_FUNCTION void RhFindWidgetsAssociatedWithObject ( const CRhinoObject obj,
ON_SimpleArray< CRhinoWidget *> &  aWidgetsOut 
)

◆ RhFormatNumber()

bool RhFormatNumber ( double  x,
const ON_3dmUnitsAndTolerances input_units,
const ON_3dmUnitsAndTolerances output_units,
ON_wString string,
bool  bAppendUnitSystemName,
bool  bBracketFractions 
)

Returns true if formatting worked without fallbacks - no invalid input, overruns, etc.

◆ RhGetGripPoints_Box()

RHINO_SDK_FUNCTION void RhGetGripPoints_Box ( ON_3dPointArray aOut)

◆ RhGetGripPoints_Cylinder()

RHINO_SDK_FUNCTION void RhGetGripPoints_Cylinder ( ON_3dPointArray aOut)

◆ RhGetGripPoints_Plane_UV()

RHINO_SDK_FUNCTION void RhGetGripPoints_Plane_UV ( ON_3dPointArray aOut)

◆ RhGetGripPoints_Plane_UVW()

RHINO_SDK_FUNCTION void RhGetGripPoints_Plane_UVW ( ON_3dPointArray aOut)

◆ RhGetGripPoints_Sphere()

RHINO_SDK_FUNCTION void RhGetGripPoints_Sphere ( ON_3dPointArray aOut)

◆ Rhino1RailSweep()

RHINO_SDK_FUNCTION bool Rhino1RailSweep ( ON_SimpleArray< ON_Brep *> &  output_surfaces,
const ON_Curve pRail,
const ON_SimpleArray< const ON_Curve *>  shapes,
bool  bClosed = false,
double  tolerance = 0.01 
)

tolerance for fitting surface and rails

Description: Make a 1-Rail or 2-Rail sweep with one or two rail curves and one or more shape curves Parameters: output_surfaces - [out] Array that will return sweep results pRail - [in] Curve to use for sweep rail shapes - [in] Array of curves to use for sweep shapes Shape curves must be going the correct direction They will be sorted for position along the rail. bClosed - [in] If the rail curve is closed this determines if the sweep will be closed or will use only part of the rail. If there are more than one shape and bClosed is false the sweep will go only between the first and last shape as sorted along the rail. If there is one shape and bClosed is false, the sweep will go from the shape to the end of the rail. tolerance - [in] Tolerance used by the sweep function for fitting the surface. Returns: true - success false - error

Parameters
output_surfacessweep results
pRailrail going the right direction
shapesshapes will be sorted on rail
bClosedonly matters if rail is closed

◆ Rhino2RailSweep()

RHINO_SDK_FUNCTION bool Rhino2RailSweep ( ON_SimpleArray< ON_Brep *> &  output_surfaces,
const ON_Curve pRail[2],
const ON_SimpleArray< const ON_Curve *>  shapes,
bool  bClosed = false,
double  tolerance = 0.01 
)

tolerance for fitting surface and rails

Parameters
output_surfacessweep results
pRail2 rails going the right direction
shapesshapes will be sorted on rail
bClosedonly matters if rails are closed

◆ Rhino2RailSweepInParts()

RHINO_SDK_FUNCTION bool Rhino2RailSweepInParts ( ON_SimpleArray< ON_Brep *> &  output_surfaces,
const ON_Curve pRail[2],
const ON_SimpleArray< const ON_Curve * > &  shapes,
bool  bClosed = false,
double  tolerance = 0.01 
)
Parameters
output_surfacessweep results
pRail2 rails going the right direction

◆ Rhino3JoinBreps()

RHINO_SDK_FUNCTION ON_Brep* Rhino3JoinBreps ( const ON_SimpleArray< ON_Brep *> &  Breps,
ON_ClassArray< ON_SimpleArray< int > > &  JoinData,
double  tolerance = 0.0 
)

Description: Low level brep joining utility designed for use in file reading. Use this when joining a list of breps for which it is know which pairs are supposed to be joined. Let Ei and Ej be naked edges of Breps[i] and Breps[j], i < j. This routine will attempt to join Ei and Ej if they have an overlap region and j is on the list JoinData[i].

Once this routine has been made more efficient, it will replace TL_JoinBreps() when the JoinData information is known

Parameters: Breps - [in] List of Breps to be joined. JoinData - [in] Attempt to join edges from Breps[i] with edges of Breps[JoinData[i][j]] tolerance - [in] overlap tolerance for joining edges Uses document tolerance if <= 0.0 Returns: Joined Brep, or 0 if no edges are joined Process: Append copies of all breps to JoinedBrep. Attempt to join any appropriate naked edges. Return result. Note: The returned brep may have several connected components. Caller must separate the components. Returns 0 if no edges are joined. See Also: Rhino3JoinBreps, RhinoJoinBrepNakedEdges(B, tol)

◆ Rhino_dup_cmp_curve()

RHINO_SDK_FUNCTION int Rhino_dup_cmp_curve ( const ON_Curve crva,
const ON_Curve crvb 
)

Description: Compare 2 curves to see if the geometry is the same. Parameters: Pointers to the curves to compare Returns: 1 or -1 if the curves are different 0 if they are the same Notes: This is a fast compare function that can be used for sorting

◆ Rhino_dup_cmp_surface()

RHINO_SDK_FUNCTION int Rhino_dup_cmp_surface ( const ON_Surface srfa,
const ON_Surface srfb 
)

Description: Compare 2 surfaces to see if the geometry is the same. Parameters: Pointers to the surfaces to compare Returns: 1 or -1 if the surfaces are different 0 if they are the same Notes: This is a fast compare function that can be used for sorting

◆ Rhino_TestMathFunction()

RHINO_SDK_FUNCTION double Rhino_TestMathFunction ( int  function_index,
double  x,
double  y 
)

Description: Test math library functions in the TL library. Parameters: function_index - [in] Determines which math library function is called.

     1:    z = x+y
     2:    z = x-y
     3:    z = x*y
     4:    z = x/y
     5:    z = fabs(x)
     6:    z = exp(x)
     7:    z = log(x)
     8:    z = logb(x)
     9:    z = log10(x)
    10:    z = pow(x,y)
    11:    z = sqrt(x)
    12:    z = sin(x)
    13:    z = cos(x)
    14:    z = tan(x)
    15:    z = sinh(x)
    16:    z = cosh(x)
    17:    z = tanh(x)
    18:    z = asin(x)
    19:    z = acos(x)
    20:    z = atan(x)
    21:    z = atan2(y,x)
    22:    z = fmod(x,y)
    23:    z = modf(x,&y)
    24:    z = frexp(x,&y)

double x - [in] double y - [in] Returns: Returns the "z" value listed in the function_index parameter description. Remarks: This function is used to test the results of class floating point functions. It is primarily used to see what happens when Rhino performs illegal math library calls.

◆ RhinoAcadNameString()

RHINO_SDK_FUNCTION void RhinoAcadNameString ( char *  name,
int  max_length = 31,
bool  bAllowSpace = false 
)

Description: Converts a string to a name string valid in AutoCAD Parameters: [in/out] name - a string to convert / the converted string [in] max_len - maximum length of output name [in] bAllowSpaces - optional to allow ' ' in output Remarks: Replaces characters not valid in AutoCAD strings with '_' and truncates to max_length (default == 31 characters)

◆ RhinoActiveCPlane()

RHINO_SDK_FUNCTION const ON_Plane& RhinoActiveCPlane ( )

Description: Return a pointer to the active cplane Returns: pointer to cplane or NULL if there is none.

◆ RhinoAddShutLinesToMesh()

RHINO_SDK_FUNCTION ON_Mesh* RhinoAddShutLinesToMesh ( const ON_Mesh originalMesh,
const RhShutLiningArgs args,
ON_Terminator pCancelHandler = 0 
)

Description: Use curves to add shutlines to a mesh. Parameters: originalMesh - [in] The mesh to apply shutlining to. args - [in] The arguments used in shutlining. pCancelHandler - [in] Pass an ON_Terminator to provide ability to cancel the operation, use NULL otherwise. Returns: A new mesh with shutlining. NULL if failed. See Also: RhinoMeshPipeFromCurve, RhinoEdgeSoftenMesh, RhinoDisplaceMesh

◆ RhinoAlignMeshVertices()

RHINO_SDK_FUNCTION int RhinoAlignMeshVertices ( ON_SimpleArray< ON_Mesh *> &  MeshArray,
const ON_ClassArray< ON_SimpleArray< bool >> &  VertexFlags,
double  distance 
)

Description: Moves mesh vertexes that belong to naked edges to neighboring vertexes within the specified distance.

Parameters: MeshArray - [in/out] Input array of meshes. These meshes are modified. VertexFlags - [in] Array of arrays of flags to determine which vertexes may be modified. distance - [in] Distance to not exceed when modifying the meshes.

Returns: Count of all vertexes that were modified if successful. -1 for error.

◆ RhinoApp()

RHINO_SDK_FUNCTION class CRhinoApp& RhinoApp ( )

returns theApp

◆ RhinoAppVersionBuildDescription()

RHINO_SDK_FUNCTION const char* RhinoAppVersionBuildDescription ( )

Returns: Rhino application version build description.

◆ RhinoAppVersionGetQuartet()

RHINO_SDK_FUNCTION unsigned int RhinoAppVersionGetQuartet ( unsigned int  rhino_app_version_quartet[4])

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer. Parameters: rhino_app_version_quartet - [out] rhino_app_version_quartet[0] = major version rhino_app_version_quartet[1] = minor version (service release) rhino_app_version_quartet[2] = (year - 1000)*1000 + (day of year) rhino_app_version_quartet[3] = (hour*1000 + minute*10 + branch) Returns: Rhino application version number = RHINO_VERSION_NUMBER. Remarks: The application version is not the same as the RhinoSdkVersion() or the RhinoSdkServiceRelease().

◆ RhinoAppVersionQuartetAsString()

RHINO_SDK_FUNCTION const char* RhinoAppVersionQuartetAsString ( )

Returns: Rhino application version quartet as a string = RHINO_VERSION_NUMBER_STRING. Remarks: The application version is not the same as the RhinoSdkVersion() or the RhinoSdkServiceRelease().

◆ RhinoAppVersionQuartetAsWideString()

RHINO_SDK_FUNCTION const wchar_t* RhinoAppVersionQuartetAsWideString ( )

Returns: Rhino application version quartet as a wide string = RHINO_VERSION_NUMBER_WSTRING. Remarks: The application version is not the same as the RhinoSdkVersion() or the RhinoSdkServiceRelease().

◆ RhinoArePointsCoplanar() [1/2]

RHINO_SDK_FUNCTION BOOL RhinoArePointsCoplanar ( ON_SimpleArray< ON_3dPoint > &  points,
ON_3dPoint pPoint = nullptr,
ON_3dVector pNormal = nullptr,
double  tolerance = ON_ZERO_TOLERANCE 
)

Description: Tests if the points in an array are coplanar Parameters: points [in] - the array of points to test pPlane [in] - Optional pointer to return the plane if the points are coplanar tolerance [in] - Optional toleranc for distance from the plane Returns: table TRUE Points are Coplanar False Points are not Coplanar

◆ RhinoArePointsCoplanar() [2/2]

RHINO_SDK_FUNCTION BOOL RhinoArePointsCoplanar ( ON_SimpleArray< ON_4dPoint > &  points,
ON_3dPoint pPoint = nullptr,
ON_3dVector pNormal = nullptr,
double  tolerance = ON_ZERO_TOLERANCE 
)

◆ RhinoAutoAdjustTargetDepth()

RHINO_SDK_FUNCTION bool RhinoAutoAdjustTargetDepth ( CRhinoViewport pViewport,
const ON_2iPoint pMousePoint = nullptr,
const double *  pFocusSize = nullptr,
const double *  pWeight = nullptr 
)

Description: Automatically adjusts camera target depth based on objects within the rectangular focus area in the viewport. Parameters: pViewport - [in/out] Viewport to adjust. pMousePoint - [in] Center of focus. Default is viewport center. pFocusSize - [in] Focus rectangle size relative to viewport size. Default is 0.5. pWeight - [in] Weight of adjustment. 0.0 means use old target (=no change), 1.0 means use the new adjusted target. Default is 1.0. Return: True if target was adjusted.

◆ RhinoBackupFile()

RHINO_SDK_FUNCTION BOOL RhinoBackupFile ( const wchar_t *  filename,
ON_wString backup_filename 
)

Description: Rename an existing file for temporary backup purposes. Parameters: filename - [in] name of existing file backup_filename - [out] new file name created by RhinoGetUnusedFilename(drive+path+$$rhino_temp$$+ext,...) Drive drive, path, and ext are from filename. Returns: TRUE if candidate_filename is successfully renamed unused_filename. FALSE if filename did not exist or could not be renamed. If FALSE is returned, then unused_filename is not changed. Remarks: The input string filename can be backup_filename. The backup filename is created by a call like RhinoGetUnusedFilename(

◆ RhinoBooleanDifference()

RHINO_SDK_FUNCTION bool RhinoBooleanDifference ( const ON_SimpleArray< const ON_Brep *> &  InBreps0,
const ON_SimpleArray< const ON_Brep *> &  InBreps1,
double  tolerance,
bool *  bResult,
ON_SimpleArray< ON_Brep *> &  OutBreps,
ON_SimpleArray< int > &  InputIndexForOutput,
bool  bManifoldOnly = true,
bool *  bRaisedTol = nullptr 
)

Description: Subtract each brep of Inbreps1 from each brep of InBreps0. Separate. Parameters: InBreps0 - [in] first set of input breps. InBreps1 - [in] second set of input breps. tolerance - [in] distance tolerance bResult - [out] true if any of the breps had intersecting faces if false, and OutBreps.Count() is less than InBreps0.Count(), then some closed Breps were inside others, or bManifoldOnly == true and some were non-manifold. OutBreps - [out] Resulting breps IndexForInputs - [out] OutBrep[i] is the result if subtracting something from InBreps0[InputIndexForOutPut[i]]. bManifoldOnly - [in] If true, leave out any non-manifold input breps. bRaisedTol - [out] If non-null and boolean fails at tolerance, try at twice tol and indicate success. Returns: false if error Remarks: Think of this as an operation on InBreps0. Each brep of InBreps1 may remove part of a brep of InBreps0. If a member of InBreps0 does not intersect any member of InBreps1, then it is copied to OutBreps.

◆ RhinoBooleanIntersection()

RHINO_SDK_FUNCTION bool RhinoBooleanIntersection ( const ON_SimpleArray< const ON_Brep *> &  InBreps0,
const ON_SimpleArray< const ON_Brep *> &  InBreps1,
double  tolerance,
bool *  bResult,
ON_SimpleArray< ON_Brep *> &  OutBreps,
bool  bManifoldOnly = true,
bool *  bRaisedTol = nullptr 
)

Description: Intersect each brep of InBreps0 with the breps of InBreps1, Separate into disjoint pieces. Parameters: InBreps0 - [in] first set of input breps. InBreps1 - [in] second set of input breps. tolerance - [in] distance tolerance bResult - [out] true if any of the breps had intersecting faces if false, and OutBreps.Count() is not empty, then some closed Breps were inside others, or bManifoldOnly == true and some were non-manifold. OutBreps - [out] Resulting breps bManifoldOnly - [in] If true, leave out any non-manifold input breps. bRaisedTol - [out] If non-null and boolean fails at tolerance, try at twice tol and indicate success. Returns: false if error Remarks: Think of this as an operation on InBreps0. Each brep of InBreps1 may remove part of a brep of InBreps0. If a member of InBreps0 does not intersect any member of InBreps1, then it is copied to OutBreps.

◆ RhinoBooleanUnion()

RHINO_SDK_FUNCTION bool RhinoBooleanUnion ( const ON_SimpleArray< const ON_Brep *> &  InBreps,
double  tolerance,
bool *  bResult,
ON_SimpleArray< ON_Brep *> &  OutBreps,
bool  bManifoldOnly = true,
bool *  bRaisedTol = nullptr 
)

Description: Find the union of the breps in InBreps. Separate into disjoint pieces. Parameters: InBreps - [in] breps to be unioned. tolerance - [in] distance tolerance bResult - [out] true if any of the breps had intersecting faces if false, and OutBreps.Count() is less than InBreps.Count(), then some closed Breps were inside others, or bManifoldOnly == true and some were non-manifold. OutBreps - [out] Resulting breps bManifoldOnly - [in] If true, leave out any non-manifold input breps. bRaisedTol - [out] If non-null and boolean fails at tolerance, try at twice tol and indicate success.

Returns: false if error

◆ RhinoBrepBaseballSphere()

RHINO_SDK_FUNCTION ON_Brep* RhinoBrepBaseballSphere ( const ON_3dPoint center,
double  radius,
double  tolerance,
ON_Brep pBrep = nullptr 
)

Description: Get a Brep definition of a sphere. Parameters: center - [in] Center of sphere radius - [in] Radius of shphere tolerance - [in] Used in computing 2d trimming curves. If <= 0.0, then max of ON_0.0001*radius and ON_ZERO_TOLERANCE will be used. pBrep - [in] If not nullptr, this Brep will be used and returned. If not nullptr and creation failed, nullptr will be returned and *pBrep will be an empty Brep. Returns: A Brep representation of the sphere with two similar trimmed NURBS surfaces and no singularities. or nullptr if failure. Remarks: NOTE: Memory for the Brep is allocated and becomes the responsibility of the caller.

◆ RhinoBrepCapPlanarHoles() [1/2]

RHINO_SDK_FUNCTION ON_Brep* RhinoBrepCapPlanarHoles ( const ON_Brep pInputBrep,
const double &  tol 
)

Description: Make planar faces out of planar closed boundaries. Parameters: pInputBrep - [in] the brep. tol - [in] tolerance to determine planarity and for joining Returns: A joined, capped brep if successful. Null if it failed.

◆ RhinoBrepCapPlanarHoles() [2/2]

RHINO_SDK_FUNCTION ON_Brep* RhinoBrepCapPlanarHoles ( const ON_Brep pInputBrep,
const double &  tol,
const bool &  bDisplayErrors 
)

Description: Make planar faces out of planar closed boundaries. Parameters: pInputBrep - [in] the brep. tol - [in] tolerance to determine planarity and for joining bDisplayErrors - [in] write error conditions to the command line Returns: A joined, capped brep if successful. Null if it failed.

◆ RhinoBrepClosestPoint()

RHINO_SDK_FUNCTION bool RhinoBrepClosestPoint ( const ON_Brep brep,
ON_3dPoint  pt,
ON_COMPONENT_INDEX ci,
double *  s,
double *  t,
ON_3dPoint brep_point = nullptr,
double  maximum_distance = 0.0 
)

Description: Finds a point on a brep that is closest to test_point. Parameters: brep - [in] input brep pt - [in] base point to project to surface ci - [out] Component index of the brep component that contains the closest point. Possible types are brep_face, brep_edge or brep_vertex s - [out] If the component_index type is brep_edge, then s is the parameter of the closest edge point. t - [out] If the component_index type is brep_face, then (s,t) is the parameter of the closest edge point. brep_point - [out] if not NULL and true is returned, this is the location of the closest brep point. maximum_distance - [in]. If maximum_distance > 0, then only points whose distance to p0 is <= maximum_distance will be returned. Using a positive value of maximum_distance can substantially speed up the search. Returns: TRUE - successful FALSE - failure - No point exists within maximum_distance See Also: ON_Surface::GetClosestPoint ON_Brep::ComponentIndexType

◆ RhinoBrepCombineMarkedVerticesAndEdges()

bool RhinoBrepCombineMarkedVerticesAndEdges ( ON_Brep B,
double  tol,
bool  bCompact = true 
)

Description: Combine vertices with same m_vertex_user.i, Combine edges with same m_edge_user.i that are within tolerance Parameters: B [in] Brep with edges and vertices to be combined. tol [in] 3d distance tolerance for detecting overlapping edges bCompact [in] if true, set brep flags and tolerances, remove unused faces and edges Returns: true if all indicated edges and vertices were combined. false if some pair could not be combined Remarks: The vertex and edge user fields will be changed by this routine. If bCompact is false, B will have unused edges and vertices. This routine is intended for use in file translation applications for which the topology information is available but not easily accessible at a useful time.

◆ RhinoBrepFaceClosestPoint()

RHINO_SDK_FUNCTION bool RhinoBrepFaceClosestPoint ( const ON_BrepFace face,
ON_3dPoint  P,
double *  s,
double *  t,
double  maximum_distance = 0.0,
const ON_Interval sdomain = nullptr,
const ON_Interval tdomain = nullptr 
)

Description: Get the parameters of the point on the brep face that is closest to P. Parameters: face - [in] face to test P - [in] test point s - [out] t - [out] (*s,*t) = parameters of the surface point that is closest to P. maximum_distance = 0.0 - [in] optional upper bound on the distance from P to the surface. If you are only interested in finding a point Q on the surface when P.DistanceTo(Q) < maximum_distance, then set maximum_distance to that value. sdomain = 0 - [in] optional domain restriction tdomain = 0 - [in] optional domain restriction Returns: True if successful. If false, the values of *s and *t are undefined. See Also: ON_Surface::GetClosestPoint RhinoBrepClosestPoint

◆ RhinoBrepFaceRemoveInnerLoops()

RHINO_SDK_FUNCTION ON_Brep* RhinoBrepFaceRemoveInnerLoops ( const ON_Brep brep,
ON_COMPONENT_INDEX  face_ci,
double  tolerence 
)

Description: Remove all inner loops (holes) in a brep face. Parameters: brep - [in] the curve to convert. face_ci - [in] face component index tolerence - [in] tolerance. Returns: Pointer to brep if success, NULL if unsuccessful.

◆ RhinoBrepRemoveAllInnerLoops()

RHINO_SDK_FUNCTION ON_Brep* RhinoBrepRemoveAllInnerLoops ( const ON_Brep brep,
double  tolerence 
)

Description: Remove all inner loops (holes) in a breps. Parameters: brep - [in] the curve to convert. tolerence - [in] tolerance. Returns: Pointer to brep if success, NULL if unsuccessful.

◆ RhinoBrepRemoveInnerLoops()

RHINO_SDK_FUNCTION ON_Brep* RhinoBrepRemoveInnerLoops ( const ON_Brep brep,
ON_SimpleArray< ON_COMPONENT_INDEX loops_ci,
double  tolerence 
)

Description: Remove a list of inner loops. Parameters: brep - [in] the curve to convert. loops_ci - [in] list of loops to remove tolerence - [in] tolerance. Returns: Pointer to brep if success, NULL if unsuccessful.

◆ RhinoBrepSplit()

RHINO_SDK_FUNCTION bool RhinoBrepSplit ( const ON_Brep brep,
const ON_Brep splitter,
double  tolerance,
ON_SimpleArray< ON_Brep *> &  pieces,
bool *  bRaisedTol = nullptr 
)

Description: Splits a brep into pieces. Parameters: brep - [in] Brep to split. splitter - [in] Splitter is a single possibly non-manifold brep. tolerance - [in] Intersection tolerance pieces - [out] Output array that contains all the split components. Note, the caller is responsible for destroying these objects. bRaisedTol - [in/out] If not null then *bRaisedTol is set to true if the split failed at tolerance but succeeded when the tolerance was increased to twice tolerance.

◆ RhinoBrepTrim() [1/2]

RHINO_SDK_FUNCTION int RhinoBrepTrim ( const ON_Brep B,
const ON_Brep Cutter,
double  tol,
ON_SimpleArray< ON_Brep *> &  Trim,
ON_ClassArray< ON_SimpleArray< int > > *  fmap = nullptr,
ON_ClassArray< ON_SimpleArray< int > > *  emap = nullptr 
)

Description: Trim a Brep B with an oriented cutter. The parts of B that lie to inside ( opposite the normal) of the cutter are retained while the parts to the outside ( in the direction of the normal ) are discarded. If the Cutter is closed, or is an ON_Plane, then a connected component of B that does not intersect the Cutter is kept iff it is contained in the inside of Cutter. That is the region bounded by Cutter opposite from the normal of Cutter, or in the case of an ON_Plane cutter the halfspace opposite from the plan normal If Cutter is not closed all these components are kept.

Parameters: B -(in) Brep to trim Cutter-(in) cutter is either a Brep or an ON_Plane object tol -(in) intersection tolerance Trim -(out) Results are appended to Trim, user is responsible for deleting these objects. fmap - (out) Optional parameter. fmap[i][fi] is the index of the face in B corresponding to Trim[i].Face(fi).

emap - (out) Optional parameter. emap[i][ei] is the index of the edge in B corresponding to Trim[i].Edge(ei) or -1 it this edge lies on the cutter.

Returns: The number, cnt, of connected components of what is retained from B. If cnt >1 or cnt=1 and the result is different from B then cnt many breps are appended to Trim. If cnt=0 or the object doesn't get trimmed by the cutter, in which case cnt=1, then no objects are appened to Trim.

Details: Trim, *fmap and *emap are parallel arrays so they must have the same count at entry and will have the same count at exit.

The special handling of cnt==1 is provided so that the function does not make extra copies of breps that are not modified by the trim operation. This could be important for example if this function is applied to many breps most of which don't actually get trimmed

◆ RhinoBrepTrim() [2/2]

RHINO_SDK_FUNCTION int RhinoBrepTrim ( const ON_Brep B,
const ON_Plane Cutter,
double  tol,
ON_SimpleArray< ON_Brep *> &  Trim,
ON_ClassArray< ON_SimpleArray< int > > *  fmap = nullptr,
ON_ClassArray< ON_SimpleArray< int > > *  emap = nullptr 
)

◆ RhinoCalcTriangleArea()

RHINO_SDK_FUNCTION double RhinoCalcTriangleArea ( ON_3dPoint  A,
ON_3dPoint  B,
ON_3dPoint  C 
)

Description: RhinoCalcTriangleArea calculates the area of a triangle using the Heron formula.

Heron Formula Area=SQRT(S(S-A)(S-B)(S-C)), where S=(A+B+C)/2 or perimeter/2.

Parameters: A - [In] First point of the triangle B - [In] Second point of the triangle C - [In] Third point of the triangle Returns: The area of the triangle.

◆ RhinoCalculateAspectRatio()

RHINO_SDK_FUNCTION double RhinoCalculateAspectRatio ( ON_3dPoint  A,
ON_3dPoint  B,
ON_3dPoint  C,
ON_3dPoint  D 
)

Description: Worker function to determine aspect ratios for the faces in the function above; Parameters: A, B, C, D - [In] 4 vertexes of a mesh face, face_points[2] and face_points[3] are identical for triangles

Returns: Aspect ratio of face.

Remarks: This function was is really meant for public consumption outside of the context of RhinoCollapseMeshFacesByAspectRatio. It's handy if you'd like to determine what faces might be considered as candidates prior to calling RhinoCollapseMeshFacesByAspectRatio.

◆ RhinoCaptureObject()

RHINO_SDK_FUNCTION bool RhinoCaptureObject ( CRhinoMorphControl control_object,
CRhinoObject captive_object 
)

Description: Sets up information that allows a control object to deform a captive. The captive object cannot have grips on. Parameters: control_object - [in] captive_object - [in] Returns: True if capture is successful.

◆ RhinoChangeSeam()

RHINO_SDK_FUNCTION ON_Brep* RhinoChangeSeam ( const ON_BrepFace Face,
int  di,
double  t,
double  tol 
)

Description Change the seam of a closed trimmed surface. The Parameters Face - [in] A face brep with a closed underlying surface. di - [in] the parameter direction to 0=u, 1 = v t - [in] the parameter at which to place the seam. tol - [in] tolerance used to cut up surface

Returns: a pointer to a new suface or polysurface that has the same geometry as Face with the relocated seam. Notes:

Must have the following conitions where Srf = Face.SurfaceOf() Srf->IsClosed(di), Srf->Domain(di).Includes(t,true)

◆ RhinoCheckMesh()

RHINO_SDK_FUNCTION bool RhinoCheckMesh ( const ON_SimpleArray< const CRhinoMeshObject *> &  pMeshObjArray,
ON_TextLog text_log,
RhinoCheckMeshOutput output 
)

Description: RhinoCheckMeshForHumans examines the input meshes contained in pMeshObjArray. It creates a description of what it finds wrong with the input in text_log. The various things the function checks for are described below in the output parameters. Parameters: pMeshObjArray - [In] Mesh(es) to examine. Numbers in output make most sense when one mesh is examined at a time though. text_log - [Out] ON_TextLog with printed output of what was discovered based on the things set to check in the ouput parameter output - [In/Out] Flags to determine what to check and counts for those things that were checked. See RhinoCheckMeshOutput above. Returns: Returns true if the function determined there was anything wrong with any of the input meshes, false otherwise.

◆ RhinoCleanUpPolyCurve()

RHINO_SDK_FUNCTION ON_Curve* RhinoCleanUpPolyCurve ( const ON_PolyCurve PC)

Description: Removes any nesting of polycurves. If PC has just a single segment, the segment is returned. If, after nest removal, there are adjacent segments which are polylines, they are combined into a single polyline.

Parameters: PC [in] Polycurve to clean up.

Returns: NULL if PC is unchanged Otherwise, a new curve that is not necessarily a polycurve.

Remarks: The new curve may have a different domain from PC. If the start and end segments of a closed input are polylines, the result may have a different seam location since the start and end segments will be combined. The caller is responsible for destroying the returned curve.

◆ RhinoCollapseMeshEdge()

RHINO_SDK_FUNCTION bool RhinoCollapseMeshEdge ( ON_Mesh mesh,
int  edgeIndex 
)

Description: Collapses a mesh edge based on criteria found in Stan Melax's polygon reduction, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf

Parameters: mesh - [In/Out] Input mesh edgeIndex - [In] Edge index to collapse

Returns: True on success.

◆ RhinoCollapseMeshEdges()

RHINO_SDK_FUNCTION int RhinoCollapseMeshEdges ( ON_Mesh Mesh,
bool  bGreaterThan,
double  edgeLength 
)

Description: Collapses a multiple mesh edges(faces), determined by edge length, based on criteria found in Stan Melax's polygon reduction, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf

Parameters: mesh - [In / Out] Input mesh bGreaterThan - [In] Determines whether edges with lengths greater than or equal to edgeLength are considered candidates. edgeLength - [In] Length of edge to consider as candidates.

Returns: Number of edges that were collapsed in the process. This number may differ from the initial number of edges that meet the input criteria because the lengths of some initial edges may be altered as other edges are collapsed.

◆ RhinoCollapseMeshFace()

RHINO_SDK_FUNCTION bool RhinoCollapseMeshFace ( ON_Mesh mesh,
int  faceIndex 
)

Description: Collapses a mesh face based on criteria found in Stan Melax's polygon reduction, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf

Parameters: mesh - [In/Out] Input mesh faceIndex - [In] Face index to collapse

Returns: True on success.

◆ RhinoCollapseMeshFacesByArea()

RHINO_SDK_FUNCTION int RhinoCollapseMeshFacesByArea ( ON_Mesh Mesh,
double  lessThanArea,
double  greaterThanArea 
)

Description: Collapses a multiple mesh faces, determined by face area, based on criteria found in Stan Melax's polygon reduction, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf

Parameters: mesh - [In / Out] Input mesh double lessThanArea - [In] Area in which faces are selected if their area is less than or equal to double greaterThanArea - [In] Area in which faces are selected if their area is greater than or equal to

Returns: Number of faces that were collapsed in the process. This number may differ from the initial number of faces that meet the input criteria because the areas of some initial faces may be altered as other faces are collapsed.

Remarks: The face area must be both <= LessThanArea and >= GreaterThanArea in order to be considered. Use large numbers for lessThanArea or zero for greaterThanArea to simulate an or.

◆ RhinoCollapseMeshFacesByAspectRatio()

RHINO_SDK_FUNCTION int RhinoCollapseMeshFacesByAspectRatio ( ON_Mesh Mesh,
double  aspectRatio 
)

Description: Collapses a multiple mesh faces, determined by face aspect ratio, based on criteria found in Stan Melax's polygon reduction, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf

Parameters: mesh - [In / Out] Input mesh aspectRatio - [In] Faces with an aspect ratio less than aspectRatio are considered as candidates.

Returns: Number of faces that were collapsed in the process. This number may differ from the initial number of faces that meet the input criteria because the aspect ratios of some initial faces may be altered as other faces are collapsed.

◆ RhinoCollapseMeshVertex()

RHINO_SDK_FUNCTION bool RhinoCollapseMeshVertex ( ON_Mesh mesh,
int  topVertexIndex1,
int  topVertexIndex2 
)

Description: Collapses a mesh vertex based on criteria found in Stan Melax's polygon reduction, see http://pomax.nihongoresources.com/downloads/PolygonReduction.pdf

Parameters: mesh - [In/Out] Input mesh topVertexIndex1 - [In] 1st vertex index to collapse topVertexIndex2 - [In] 2nd vertex index to collapse (set to -1, if it doesn't matter what vertex topVertexIndex1 is collapsed to)

Returns: True on success.

◆ RhinoColorDialog()

RHINO_SDK_FUNCTION BOOL RhinoColorDialog ( HWND  hwndParent,
ON_Color color,
bool  include_button_colors = false,
const wchar_t *  dialog_title = nullptr 
)

◆ RhinoColorDialogEx()

RHINO_SDK_FUNCTION BOOL RhinoColorDialogEx ( HWND  hwndParent,
ON_Color color,
bool  include_button_colors = false,
const wchar_t *  dialog_title = nullptr,
bool  use_alpha = false,
HWND  hwndMessage = nullptr,
const ON_ClassArray< CRhinoNamedColor > *  pCustomNamedColors = nullptr 
)

Description: Display Rhino's color selection dialog. Parameters: hwndParent - [in] Window handle of dialog's parent window. color - [in/out] Default color for dialog, and will receive new color if function returns TRUE. include_button_colors - [in] Display button face and text options at top of named color list. dialog_title - [in] The title of the dialog. use_alpha - [in] Display an alpha slider and use alpha value in color. hwndMessage - [in] Optional window that receives notifications when the color has changed. Uses the registered window message "RhinoColorPickerChangedMessage". The LPARAM of this message is a pointer to an ON_Color object. Example: ON_Color color = RGB(0,0,0); if( RhinoColorDialogEx(RhinoApp().MainWnd(), color) ) { / do something } Returns: TRUE - color changed FALSE - color not changed or dialog canceled

◆ RhinoCompareCCXEvent()

RHINO_SDK_FUNCTION int RhinoCompareCCXEvent ( const CRhinoCCXEvent ,
const CRhinoCCXEvent  
)

◆ RhinoCompareGeometry() [1/2]

RHINO_SDK_FUNCTION bool RhinoCompareGeometry ( const ON_Geometry a,
const ON_Geometry b 
)

Description: Compares the geometry of two objects, similarly to the SelDup command. Parameters: a - [in] The first object to compare b - [in] The second object to compare Returns: true: The two objects are geometrically equivalent false: The two objects are not geometrically equivalent

◆ RhinoCompareGeometry() [2/2]

RHINO_SDK_FUNCTION bool RhinoCompareGeometry ( const CRhinoObject a,
const CRhinoObject b 
)

Description: Compares the geometry of two objects, similarly to the SelDup command. Parameters: a - [in] The first object to compare b - [in] The second object to compare Returns: true: The two objects are geometrically equivalent false: The two objects are not geometrically equivalent

◆ RhinoComputerSerialNumber()

RHINO_SDK_FUNCTION ON_wString RhinoComputerSerialNumber ( )

Description: Returns the serial number of the computer running Rhino Returns: ON_wString containing computer serial number

◆ RhinoControlObject()

RHINO_SDK_FUNCTION CRhinoMorphControl* RhinoControlObject ( const CRhinoObject captive_object)

Description: Get a captive object's control object. Parameters: captive_object - [in] Returns: Point to control object if captive has one.

◆ RhinoConvertCurveToArcs()

RHINO_SDK_FUNCTION ON_PolyCurve* RhinoConvertCurveToArcs ( const ON_Curve pCurve,
const double  dTol,
const double  dAngleTol,
const double  dMinLength,
const double  dMaxLength 
)

Description: Converts a curve into polycurve consisting of arc segments. Sections of the input curves that are nearly straight are converted to straight-line segments. Parameters: pCurve - [in] the curve to convert. dTol - [in] maximum deviation from arc midpoints to curve. dAngleTol - [in] maximum deviation of the arc end directions from the curve direction in radians dMinLength - [in] minimum segment length dMaxLength - [in] maximum segment length Returns: Pointer to curve if success, NULL if unsuccessful.

◆ RhinoConvertCurveToLines()

RHINO_SDK_FUNCTION ON_PolyCurve* RhinoConvertCurveToLines ( const ON_Curve pCurve,
const double  dTol,
const double  dAngleTol,
const double  dMinLength,
const double  dMaxLength 
)

Description: Converts a curve into polycurve consisting of line segments. Parameters: pCurve - [in] the curve to convert. dTol - [in] maximum deviation from line midpoints to curve. dAngleTol - [in] maximum deviation of the line directions in radians dMinLength - [in] minimum segment length dMaxLength - [in] maximum segment length Returns: Pointer to curve if success, NULL if unsuccessful.

◆ RhinoConvertCurveToPolyline()

RHINO_SDK_FUNCTION bool RhinoConvertCurveToPolyline ( const ON_Curve curve,
int  main_seg_count,
int  sub_seg_count,
double  max_ang_radians,
double  max_chr,
double  max_aspect,
double  tolerance,
double  min_edge_length,
double  max_edge_length,
ON_PolylineCurve polyline,
bool  bKeepStartPoint = true,
ON_Interval curve_domain = nullptr 
)

Description: Get a polyline approximation of a curve Parameters:

curve - [in]

main_seg_count - [in] sub_seg_count - [in] If main_seg_count <= 0, then both these parameters are ignored. If main_seg_count > 0, then sub_seg_count must be >= 1. In this case the nurb will be broken into main_seg_count equally spaced chords. If needed, each of these chords can be split into as many sub_seg_count sub-parts if the subdivision is necessary for the mesh to meet the other meshing constraints. In particular, if sub_seg_count = 0, then the curve is broken into main_seg_count pieces and no further testing is performed.

max_ang_radians - [in] ( 0 to pi ) Maximum angle (in radians) between unit tangents at adjacent vertices.

max_chr - [in] Maximum permitted value of (distance chord midpoint to curve) / (length of chord)

max_aspect - [in] If max_aspect < 1.0, the parameter is ignored. If 1 <= max_aspect < sqrt(2), it is treated as if max_aspect = sqrt(2). This parameter controls the maximum permitted value of (length of longest chord) / (length of shortest chord)

tolerance - [in] If tolerance = 0, the parameter is ignored. This parameter controls the maximum permitted value of the distance from the curve to the polyline.

max_edge_length - [in] If max_edge_length = 0, the parameter is ignored. This parameter controls the maximum permitted edge length.

polyline - [out] The polyline approximation of the NURBS curve is appended to this polyline. If bKeepStartPoint is FALSE, the starting point is not appened.

bKeepStartPoint - [in] TRUE The starting point of the curve is added to the polyline FALSE The starting point of the curve is not added to the polyline

curve_domain - [in] if not NULL, this subdomain of the NURBS curve is approximated.

Returns: TRUE if successful.

Parameters
curveinput
main_seg_countinput
sub_seg_countinput
max_ang_radiansinput
max_chrinput
max_aspectinput
toleranceinput
min_edge_lengthinput
max_edge_lengthinput
polylineoutput
bKeepStartPointinput
curve_domaininput

◆ RhinoCopyAnalysisModes() [1/2]

RHINO_SDK_FUNCTION int RhinoCopyAnalysisModes ( const CRhinoObject source_object,
CRhinoObject destination_object 
)

Description: Copy analysis modes to destination object. Parameters: source_object - [in] analysis_mode_list - [in] destination_object - [in] Returns: Number of analysis modes enabled on destination_object.

◆ RhinoCopyAnalysisModes() [2/2]

RHINO_SDK_FUNCTION int RhinoCopyAnalysisModes ( const CRhinoObjectVisualAnalysisMode analysis_mode_list,
CRhinoObject destination_object 
)

◆ RhinoCreate1FaceBrepFromPoints()

RHINO_SDK_FUNCTION ON_Brep* RhinoCreate1FaceBrepFromPoints ( const ON_3dPoint  corners[4],
int  count,
double  tolerance = 0 
)

Description: Make a CRhinoBrep with 1 face from 3 or 4 points Parameters: ob - [out] pointer to the finished brep corners - [in] 3 or 4 corner points for the face count - [in] number of corners tolerance - [in] min edge length without colapsing to a singularity Returns: ON_Brep* - The resulting surface or NULL Remarks: Calls RhinoCreateSurfaceFromCorners() to make the surface and trims it to a triangle for 3-corners Makes a singular surface for 4 corneers with 2 coincident Memory for the brep is allocated and becomes the responsibility of the caller.

◆ RhinoCreateAnaglyph()

RHINO_SDK_FUNCTION CRhinoDib* RhinoCreateAnaglyph ( const CRhinoDib LeftEye,
const CRhinoDib RightEye,
const int  nType = 0 
)

Description: Creates a single anaglyph image from the two passed in images.

Parameters: LeftEye - [in] The image that represents pixels rendered from the "left" eye/camera RightEye - [in] The image that represents pixels rendered from the "right" eye/camera nType - [in] The type of anaglyph being requested... acceptable values are:

                   0 = red/cyan
                   1 = red/blue
                   2 = red/green
                   3 = amber/blue

Returns: A pointer to a new CRhinoDib object containing the anaglyph. NULL if the required criteria are not met (see remarks below).

Remarks: Both left and right images MUST have the same dimensions The resulting anaglyph will have the same dimensions as the left and right images.

THE CALLER IS RESPONSIBLE FOR DESTROYING THE OUTPUT CRhinoDib.

◆ RhinoCreateArcBlend()

RHINO_SDK_FUNCTION ON_PolyCurve* RhinoCreateArcBlend ( const ON_3dPoint startpt,
const ON_3dVector startdir,
const ON_3dPoint endpt,
const ON_3dVector enddir,
const double  controlpolygonlengthratio = 1.0,
ON_PolyCurve curve_out = nullptr 
)

Description: Creates a polycurve consisting of two tangent arc segments that connect two points and two directions. Parameters: startpt - [in] start of the arc blend curve startdir - [in] start direction of the arc blend curve endpt - [in] end of the arc blend curve enddir - [in] end direction of the arc blend curve controlpolygonlengthratio - [in] the ratio of the control polygon lengths of the two arcs curve_out - [out] optional curve out. If nullptr a new curve is created Returns: polycurve consisting of two arc segments if success, nullptr otherwise

◆ RhinoCreateEdgeSrf()

RHINO_SDK_FUNCTION ON_Brep* RhinoCreateEdgeSrf ( int  curve_count,
const ON_Curve **  pCrvs 
)

Description: Creates a coons patch from 2, 3, or 4 curves Parameters: curve_count [in] number of input curves pCrvs [in] Array of pointers to input curves Returns: ON_Brep* - The resulting surface or NULL Memory for the brep is allocated and becomes the responsibility of the caller.

◆ RhinoCreateErrorMarker()

RHINO_SDK_FUNCTION CRhinoTextDot* RhinoCreateErrorMarker ( ON_3dPoint  Location,
const wchar_t *  msg,
ON_3dmObjectAttributes attr,
unsigned int  RhinoDocSN 
)

Description: Create a text dot at the location of an error. Primary text will be "!". Secondary text is a description of the error. Parameters: Location [in] - the location of the text dot. s [in] - the error message attr [in] - attributes for the dot. If NULL, then the default is used RhinoDocSN [in] - if non-0, add the dot to the document with this runtime serial number. Returns: A pointer to the CRhinoTextDot. if RhinoDocSN = 0, then it is the caller's resposibility to manage the memory for the returned CRhinoTextDot. Otherwise, if RhinoDocSN is not the serial number for a document, the return will be 0.

◆ RhinoCreateHatches() [1/2]

RHINO_SDK_FUNCTION bool RhinoCreateHatches ( CArgsRhinoHatch args,
double  tolerance,
ON_SimpleArray< ON_Hatch *> &  results 
)

Description: Creates one or more hatches. Parameters: args - [in] The hatching arguments. tolerance - [in] The tolerance used for detecting planar loops. When in doubt, use the document's absolute tolerance. Returns: True if one or more hatches were created, false otherwise.

◆ RhinoCreateHatches() [2/2]

RHINO_SDK_FUNCTION bool RhinoCreateHatches ( CArgsRhinoHatch args,
ON_SimpleArray< ON_Hatch *> &  results 
)

Description: Creates one or more hatches. Parameters: args - [in] The hatching arguments. tolerance - [in] The tolerance used for detecting planar loops. When in doubt, use the document's absolute tolerance. Returns: True if one or more hatches were created, false otherwise.

◆ RhinoCreateParabolaFromFocus()

RHINO_SDK_FUNCTION bool RhinoCreateParabolaFromFocus ( const ON_3dPoint focus,
const ON_3dPoint start,
const ON_3dPoint end,
ON_BezierCurve parabola_out 
)

Description: Create parabola from focus and ends. Parameters: focus - [in] parabola focus start - [in] parabola start end - [in] parabola end parabola_out - [out] degree 2 bezier curve defining the parabola Returns: true if success

◆ RhinoCreateParabolaFromVertex()

RHINO_SDK_FUNCTION bool RhinoCreateParabolaFromVertex ( const ON_3dPoint vertex,
const ON_3dPoint start,
const ON_3dPoint end,
ON_BezierCurve parabola_out 
)

Description: Create parabola from vertex and ends. Parameters: vertex - [in] parabola vertex start - [in] parabola start end - [in] parabola end parabola_out - [out] degree 2 bezier curve defining the parabola Returns: true if success

◆ RhinoCreatePictureFrame() [1/3]

RHINO_SDK_FUNCTION const CRhinoObject* RhinoCreatePictureFrame ( class CRhinoDoc doc,
const ON_Plane plane,
const ON_wString texturepath,
bool  makemesh = false,
bool  usealphaforobjecttransparency = false,
double  width = 0.0,
double  height = 0.0,
bool  selfillumination = true,
bool  embedbitmap = false,
bool  addtodoc = true 
)

Description: Creates a PictureFrame object from a plane (or a mesh, if makemesh is true) and a path to an image file, and adds it to the specified document. Note, a PictureFrame object is just a Plane surface or mesh that has a material with a texture and assigned to it that displays in all display modes. If, for some reason, you need access the PictureFrameís underlying geometry, then just cast the objectís geometry as an ON_Brep or an ON_Mesh. For example:

const CRhinoObject* pPF = RhinoCreatePictureFrame(...); if (pPF) { const ON_Brep* pB = ON_Brep::Cast(pPF->Geometry()); if (pB) { / TODO... } }

You can also cast the returned CRhinoObject* as a CRhinoBrepObject* or a CRhinoMeshObject*.

Parameters: doc - [in] Document to which the PictureFrame will be added. plane - [in] Plane in which the PictureFrame will be created. Bottom left corner of picture will be at plane's origin, width will be in the plane's x axis direction, height will be in the plane's y axis direction. texturepath - [in] Path to an image file. File must exist if either width or height are 0.0 or return value will be null. makemesh - [in] If true, the function will make a PictureFrame object from a mesh rather than a plane. The default is false. width - [in] Width of the resulting PictureFrame. If 0.0, the width of the pictureframe is the width of the image if height is also 0.0 or calculated from the height and aspect ratio of the image if height is not 0.0. The default is 0.0. height - [in] Height of the resulting PictureFrame. If 0.0, the height of the pictureframe is the height of the image if width is also 0.0 or calculated from the width and aspect ratio of the image if width is not 0.0. The default is 0.0. selfillumination - [in] If true, the image mapped to the picture frame plane always displays at full intensity and is not affected by light or shadow. The default is true. embedbitmap - [in] If true, the funtion adds the the image to the bitmaptable of the document to which the PictureFrame will be added. The default is false. addtodoc - [in] If false, the object will not be added to the document. The material for the PictureFrame will be added regardless and the material index in the attributes will be an index into doc's material table. The default is true. usealphaforobjecttransparency - [in] If false, the picture frame is created without any transparency texture, as in all versions of Rhino previous to Rhino 5 SR2. If true, a transparency texture is created with a "Mask Texture" set to alpha, and an instance of the diffuse texture in the source texture slot. Not that when this flag is set, a full RDK material is created.

Returns: A pointer to a const CRhinoObject in the active document or null if the function fails for any reason.

◆ RhinoCreatePictureFrame() [2/3]

RHINO_SDK_FUNCTION const CRhinoObject* RhinoCreatePictureFrame ( class CRhinoDoc doc,
const ON_Plane plane,
const ON_wString texturepath,
bool  makemesh = false,
double  width = 0.0,
double  height = 0.0,
bool  selfillumination = true,
bool  embedbitmap = false,
bool  addtodoc = true 
)

Description: This function is the predecessor to the function above and is the same in every regard except for these things. It does not have the argument "usealphaforobjecttransparency" to determine whether the function should create an automatic transparency texture with an alpha mask..

◆ RhinoCreatePictureFrame() [3/3]

RHINO_SDK_FUNCTION const CRhinoObject* RhinoCreatePictureFrame ( class CRhinoDoc doc,
const ON_Plane plane,
const ON_wString texturepath,
double  width = 0.0,
double  height = 0.0,
bool  selfillumination = true,
bool  embedbitmap = false,
bool  addtodoc = true 
)

Description: This function is the predecessor to the function above and is the same in every regard except for these things. It does not have the argument "makemesh" to determine whether the function should create a CRhinoMeshObject or a CRhinoBrepObject. The CRhinoObject it returns may only be cast as a CRhinoBrepObject.

◆ RhinoCreateSolid()

RHINO_SDK_FUNCTION int RhinoCreateSolid ( const ON_SimpleArray< const ON_Brep *> &  InBreps,
ON_SimpleArray< ON_Brep *> &  OutBreps,
double  tolerance 
)

Description: Creates closed polysurfaces from surfaces and polysurfaces that bound a region in space. Parameters: InBreps - [in] The intersecting surfaces and polysurfaces to automatically trim and join into closed polysurfaces. OutBreps - [out] The resulting polysurfaces. tolerance - [in] The trim and join tolerance. Returns: The results of the operation, where: 0 - Success. 1 - InBreps has no non-NULL breps. 2 - Merge failed. 3 - All faces removed. 4 - Non-manifold after fins removed. 5 - Could not determine orientation. Remarks: THE CALLER IS RESPONSIBLE FOR DESTROYING THE RETURNED BREPS.

◆ RhinoCreateSubPictureMaterialIndex()

RHINO_SDK_FUNCTION int RhinoCreateSubPictureMaterialIndex ( CRhinoDoc doc,
const CRhinoObject original_picture_object,
const ON_Brep shrunk_picture_brep 
)

Description: When the brep behind a picture frame object is trimmed/split and the underlying surface is shrunk, a new material needs to be assigned that will display the appropriate subset of the original picture image. Parameters: doc - [in] original_picture_object - [in] shrunk_picture_brep - [in] Returns: Index of new material or ON_UNSET_INT_INDEX if the input is not valid.

◆ RhinoCreateSurfaceFromCorners()

RHINO_SDK_FUNCTION ON_NurbsSurface* RhinoCreateSurfaceFromCorners ( const ON_3dPoint a,
const ON_3dPoint b,
ON_3dPoint c,
ON_3dPoint d,
double  dtol = 0 
)

Description: Make a CRhinoNurbsSurface from 4 corner points Parameters: srf - [out] pointer to the finished surface a, b, c, d - [in] 3 or 4 corner points for the face dtol - [in] min edge length without collapsing to a singularity Returns: ON_NurbsSurface* - The resulting surface or NULL Remarks: Memory for the surface is allocated and becomes the responsibility of the caller.

◆ RhinoCreateTaperedExtrude()

RHINO_SDK_FUNCTION bool RhinoCreateTaperedExtrude ( const ON_Curve input_curve,
double  distance,
ON_3dVector  direction,
ON_3dPoint  base,
double  draft_angle,
int  cornertype,
double  tol,
double  ang_tol,
ON_SimpleArray< ON_Brep *> &  output_breps 
)

Description Extrude a curve to a taper making a brep (potentially more than 1) Parameters: [in] input_curve - the curve to extrude [in] distance - the distance to extrude [in] direction - the direction of the extrusion [in] base - the basepoint of the extrusion [in] draft_angle - angle of the extrusion [in] cornertype - corner type of the extrusion. valid options are no_corner = 0, sharp = 1, round = 2, smooth = 3, and chamfer = 4 [in] tol - tolerance to be used in calculation, if you don't have a tolerance in mind consider using the absolute tolerance from the document [in] ang_tol - angle tolerance to be used in calculation, if you don't have a tolerance in mind consider using the absolute tolerance from the document [out] output_breps - array of breps Returns: True if successful, false if not.

◆ RhinoCreateTextObjectGeometry()

RHINO_SDK_FUNCTION bool RhinoCreateTextObjectGeometry ( const ON_Annotation pAnno,
const ON_Viewport vp,
const ON_DimStyle dimstyle,
double  text_scale,
bool  close_contours,
double  join_tol,
double  small_caps_scale,
ON::object_type  variety,
double  height,
double  spacing,
ON_SimpleArray< ON_Object *> &  output 
)

Description: Creates various "TextObject type objects from the text of an annotation object.

Parameters: pAnno [in] - The text object to create outlines from. viewport [in] - The viewport from which the object was selected. Can be null. dimstyle [in] - The text object's dimension style. Can be null. If null, then ON_DimStyle::Default is used. text_scale [in] - Additional scaling factor. Use 1.0, for no scaling. close_contours [in] - Set this value to true when dealing with normal fonts and when you expect closed loops. You may want to set this to false when specifying a single-stroke font where you don't want closed loops. join_tol [in] - The tolerance used to join contours variety [in] - Determines type of objects the output will be. height [in] - Height of polysurfaces or extrusions. Set to 0.0 and variety to brep to ger trimmed planes as the output. spacing [in] - Additional spacing to add between glyphs. Set to 0.0 to disable. output [out] - An array of output objects.

Return: true or false indicating success or failure. NOTE, memory for the output is allocated and becomes the responsibility of the caller.

Remarks: A transformation is calculated from the viewport, dimstyle and text_scale arguments for proper placement of the output. See ON_Annotation::GetTextXform().

◆ RhinoCullControlPolygon()

RHINO_SDK_FUNCTION bool RhinoCullControlPolygon ( )

Returns: True if backfaces of surface and mesh control polygons are culled.

◆ RhinoCullZeroAreaMeshFaces()

RHINO_SDK_FUNCTION ON_Mesh* RhinoCullZeroAreaMeshFaces ( const ON_Mesh MeshIn,
int &  removed_faces_count,
int &  fixed_faces_count,
ON_Mesh pMeshOut = 0 
)

Description: RhinoCullZeroAreaMeshFaces Deletes or fixes mesh faces that have 0 area.

Parameters: MeshIn - [In] Mesh to be culled removed_faces_count - [In] Number of removed wholly degenerate faces fixed_faces_count - [In] Number of fixed partially degenerate faces pMeshOut - [Out] If pMeshOut is not null then the return will be pMeshOut

Returns: The a culled version of the MeshIn.

Notes: Reference ON_Mesh::CullDegenerateFaces for alternate implementation to cull degenerate faces using vertices

◆ RhinoCurve2View()

RHINO_SDK_FUNCTION bool RhinoCurve2View ( const ON_Curve C0,
const ON_Curve C1,
ON_3dVector  D0,
ON_3dVector  D1,
ON_SimpleArray< ON_Curve *> &  output_curves,
double  tol,
double  angle_tol 
)

Description: Creates a third curve from two curves that are planar in different construction planes. The new curve looks the same as each of the original curves when viewed in each plane. Parameter: C0 [in] - The first curve. C1 [in] - The second curve. D0 [in] - A vector defining the normal direction of the plane which the first curve is drawn upon. D1 [in] - A vector defining the normal direction of the plane which the second curve is drawn upon. tol [in] - The tolerance for the operation. angle_tol [in] - The angle tolerance for the operation. output_curves [out] - An array containing one or more curves if successful. Return:

◆ RhinoCurveBooleanDifference()

RHINO_SDK_FUNCTION int RhinoCurveBooleanDifference ( const ON_Curve crvA,
const ON_Curve crvB,
double  tolerance,
ON_SimpleArray< ON_Curve *> &  OutCurves 
)

Description: Calculates the boolean difference between two closed, planar curves. Note, curves must be co-planar. Parameters: crvA - [in] The first closed, planar curve. crvB - [in] The second closed, planar curve. tolerance - [in] 3d fitting and intersecting tolerance. OutCurves - [out] The results. NOTE: THE CALLER IS RESPONSIBLE FOR DESTROYING THESE CURVES. Returns: The number of curves added to OutCurves if successful. 0 if not successful. See Also: RhinoCurveBooleanUnion RhinoCurveBooleanIntersection

◆ RhinoCurveBooleanIntersection()

RHINO_SDK_FUNCTION int RhinoCurveBooleanIntersection ( const ON_Curve crvA,
const ON_Curve crvB,
double  tolerance,
ON_SimpleArray< ON_Curve *> &  OutCurves 
)

Description: Calculates the boolean intersection of two closed, planar curves. Note, curves must be co-planar. Parameters: crvA - [in] The first closed, planar curve. crvB - [in] The second closed, planar curve. tolerance - [in] 3d fitting and intersecting tolerance. OutCurves - [out] The results. NOTE: THE CALLER IS RESPONSIBLE FOR DESTROYING THESE CURVES. Returns: The number of curves added to OutCurves if successful. 0 if not successful. See Also: RhinoCurveBooleanUnion RhinoCurveBooleanDifference

◆ RhinoCurveBooleanUnion()

RHINO_SDK_FUNCTION int RhinoCurveBooleanUnion ( const ON_SimpleArray< const ON_Curve *> &  InCurves,
double  tolerance,
ON_SimpleArray< ON_Curve *> &  OutCurves 
)

Description: Calculates the boolean union of two or more closed, planar curves. Note, curves must be co-planar. Parameters: InCurves - [in] The curves co-planar curves to union. tolerance - [in] 3d fitting and intersecting tolerance. OutCurves - [out] The results. NOTE: THE CALLER IS RESPONSIBLE FOR DESTROYING THESE CURVES.

Returns: The number of curves added to OutCurves if successful. 0 if not successful. See Also: RhinoCurveBooleanIntersection RhinoCurveBooleanDifference

◆ RhinoCurveBrepIntersect()

RHINO_SDK_FUNCTION bool RhinoCurveBrepIntersect ( const ON_Curve crv,
const ON_Brep brep,
double  tol,
ON_SimpleArray< ON_Curve *> &  curves,
ON_3dPointArray points 
)

Description: Brep - curve intersector. Gets 3d points of intersection and 3d overlap curves. Returns FALSE if there is an error processing an overlap curve. In that case, partial results will be returned. Parameters: crv - [in] input curve brep - [in] input brep tol - [in] fitting and near miss tolerance curves - [out] output 3d overlap curves points - [out] output 3d intersection points Returns: TRUE - successful FALSE - failure. Partial results will be returned

◆ RhinoCurveCurveIntersect()

RHINO_SDK_FUNCTION int RhinoCurveCurveIntersect ( const ON_Curve curveA,
const ON_Curve curveB,
double  tolerance,
ON_SimpleArray< CRhinoCCXEvent > &  x,
const ON_Interval curveA_domain = NULL,
const ON_Interval curveB_domain = NULL 
)

Description: Interesect two curves. Parameters: curveA - [in] curveB - [in] x - [out] array of intersection events sorted by curveA parameters. Remarks: The curves must be 2 or 3 dimensional and have the same dimension. If the curves are the same, a single overlap event will be returned. See Also: RhinoCurveSelfIntersect

◆ RhinoCurveExtremeParameters()

RHINO_SDK_FUNCTION int RhinoCurveExtremeParameters ( const ON_Curve curve,
const ON_3dVector dir,
ON_SimpleArray< double > &  out_parameters 
)

Description: Returns the parameter values of all local extrema. Parameter values are in increasing order so consecutive extrema define an interval on which each component of the curve is monotone. Note, non-periodic curves always return the end points. Parameters: curve [in] - The curve to calculate all local extrema. dir [in] - The direction in which to perform the calculation. out_parameters [out] - The parameter values of all local extrema. Return: The number of parameter values added to out_parameters.

◆ RhinoCurveFaceIntersect()

RHINO_SDK_FUNCTION bool RhinoCurveFaceIntersect ( const ON_Curve crv,
const ON_BrepFace face,
double  tol,
ON_SimpleArray< ON_Curve *> &  curves,
ON_3dPointArray points 
)

Description: Brep face - curve intersector. Gets 3d points of intersection and 3d overlap curves. Returns FALSE if there is an error processing an overlap curve. In that case, partial results will be returned. Parameters: crv - [in] input curve face - [in] input face tol - [in] fitting and near miss tolerance curves - [out] output 3d overlap curves points - [out] output 3d intersection points Returns: TRUE - successful FALSE - failure. Partial results will be returned

◆ RhinoCurveOnSurfacePoints() [1/2]

RHINO_SDK_FUNCTION bool RhinoCurveOnSurfacePoints ( const ON_Surface Srf,
const ON_SimpleArray< ON_2dPoint > &  Fixed2,
double  tol,
bool  Periodic,
int  init_count,
int  nlevels,
ON_SimpleArray< ON_2dPoint > &  out,
ON_SimpleArray< double > &  t,
ON_SimpleArray< int > *  pIndex = nullptr 
)

Desciption: Detailed tool to compute 'splines' on a surface. This function creates a discrete 'spline' curve on the surface, i.e. a sequence of point on the surface each with a corresponding parameter value. The curve interpolates a sequence of points on the surface. Parameters: Srf - [in] The surface on which the curve is constructed. Fixed2 - [in] Surface points to interpolate given by parameters. These must be distinct. tol - [in] Relative tolerance used in solver. Use 0 for default value. Periodic - [in] Construct a smoothly closed curve when true. Fixed2[0]==Fixed2.Last() (at least up to addition of a period) init_count - [in] Maximum number of points to insert between fixed points on first level. nlevels - [in] Number of levels to be used in multilevel solver. out - [out] Sequence of surface points (given by surface parameters). t - [out] Curve parameter associated with each out value, where: out.Count()==t.Count() pIndex - [out] If not null, then out[(*pIndex)[i]]==Fixed2[i] Remarks: Srf should be G1 continuous. If Srf is closed in the u or the v direction and is G1 at the seam then the function can construct point sequences that cross over the seam. In this case the surface parameter space points in Fixed2 and out are in the covering space of Srf.Domain, i.e they extend across the domain boundaries of Srf.Domain(0) in the the sense of a natural periodic extension. (See ON_PeriodicDomain for more information). Also, the number of out points is approximatelely 2^(nlevel-1)*init_count*Fixed2.Count()

◆ RhinoCurveOnSurfacePoints() [2/2]

RHINO_SDK_FUNCTION bool RhinoCurveOnSurfacePoints ( const ON_Surface Srf,
const ON_SimpleArray< ON_2dPoint > &  Fixed2,
const ON_SimpleArray< double > &  Dist,
const ON_ClassArray< ON_SimpleArray< ON_2dPoint > > &  Geo,
double  tol,
bool  Periodic,
int  init_count,
int  nlevels,
ON_SimpleArray< ON_2dPoint > &  out,
ON_SimpleArray< double > &  t,
ON_SimpleArray< int > *  pIndex 
)

◆ RhinoCurveOnSurfaceSolver()

RHINO_SDK_FUNCTION bool RhinoCurveOnSurfaceSolver ( const ON_Surface Srf,
ON_SimpleArray< ON_2dPoint > &  out,
ON_SimpleArray< int > &  Index,
ON_SimpleArray< double > &  t,
ON_SimpleArray< double > &  tol,
bool  Periodic,
int  Num_Levels 
)

Description: Expert function to compute CurveOnSurfacePoints using a multilevel solver. On input out, index and t provide a rough approximation of the curve. Parameters: Srf -[in] Surface on which curve lies out- [in/out] on input out is a rough approximation of the curve including all interpolation points. On output out is a discete version of the curve on surface. On output out.Count() = 2^Num_Multilevels*( n_0 - 1) + 1 where n0 = out<.Count() at input. index -[in/out] The fixed interpolation values are identified by index. On input index.Count()<=out.Count() and the count of index is the same on output as on input. on both input and output index is an increasing list of indicies in the range 0 to out.Count()-1. Furthermore index[0]=0 and index.Last()==out.Count()-1. Srf.Evaluate( out[index[j]] ) is a surface point to be interpolated and this value is the same on input as on output. t -[in/out] - on input t is an increasing list of parameters. t[i] is the parameter corresponding to the surface point Srf.Evaulate( out[i] ). t.Count()==out.Count(). on output t is an increasing list of parameters t.Count()=out.Count(). The first and last value in t are the same as they were in the input list. t is a refinement of the list at input. tol -[in] - An array of Num_level tolerance values. tol[0] is used for the top coarsest level etc.. set all tol values to 0 for default values. Periodic -[in] Set to true to generate a periodic curve instead of an open curve. If true then out.First() == out.Last() mod domain. Num_Levels -[in] Number of levels in multilevel solver. Use Num_Level=1 for single level solve, in this case out.Count() doesn't change. Use sparingly probably should have Num_Level<4. Remarks: If Srf is G1-closed in one or both directions the points in out may be taken in a covering space of Srf.Domain. See ON_PeriodicDomain.

◆ RhinoCurveSelfIntersect()

RHINO_SDK_FUNCTION int RhinoCurveSelfIntersect ( const ON_Curve curve,
double  tolerance,
ON_SimpleArray< CRhinoCCXEvent > &  x,
const ON_Interval curveA_domain = NULL,
const ON_Interval curveB_domain = NULL 
)

Description: Interesect two curves. Parameters: curve - [in] tolerance - [in] intesection tolerance x - [out] array of intersection events sorted by curveA parameters. Remarks: The curves must be 2 or 3 dimensional and have the same dimension. If the curves are the same, a single overlap event will be returned. See Also: RhinoCurveSelfIntersect

◆ RhinoCurveSplit()

RHINO_SDK_FUNCTION bool RhinoCurveSplit ( const ON_Curve curve,
const ON_Brep splitter,
double  tolerance,
double  angtolrads,
ON_SimpleArray< ON_Curve *> &  pieces 
)

Description: Splits a curve into pieces using a surface or a polysurface Parameters: curve - [in] Curve to split. splitter - [in] Splitter is a single, non-manifold brep. tolerance - [in] intersection tolerance angtolrads - [in] angle tolerance in radians pieces - [out] Curves of all the splitted components. Returns: true if successful, false otherwise. Remarks: The caller is responsible for deleting the pieces when finished.

◆ RhinoCurveSurfaceIntersect()

RHINO_SDK_FUNCTION int RhinoCurveSurfaceIntersect ( const ON_Curve curve,
const ON_Surface surface,
double  distance_tolerance,
double  angle_tolerance_radians,
ON_SimpleArray< CRhinoCSXEvent > &  x,
const ON_Interval curve_domain = NULL,
const ON_Interval surface_u_domain = NULL,
const ON_Interval surface_v_domain = NULL 
)

Description: Intersect a curve and a surface. Parameters: curve - [in] surface - [in] distance_tolerance - [in] intersection 3d tolerance angle_tolerance_radians - in angle tolerance in radians (used to determine when a curve is tangent to the surface) x - [out] intersection event are appended to this array curve_domain - [in] if not NULL, the intersection is restricted to this subdomain of curve1 surface_u_domain - [in] if not NULL, the intersection is restricted to this subdomain of of the first surface paramter. surface_v_domain - [in] if not NULL, the intersection is restricted to this subdomain of of the second surface paramter. Returns: Number of intersection events added to x[]. A return value of zero indicates no intersections were found.

◆ RhinoCutUpSurface()

RHINO_SDK_FUNCTION void RhinoCutUpSurface ( const ON_Surface srf,
BOOL  bFlip,
const ON_SimpleArray< ON_Curve *> &  EdgeCurves,
double  ftol,
double  ctol,
ON_SimpleArray< ON_Brep *> &  Breps,
double *  max_tol_used = nullptr 
)

Description: Surface splitter. Parameters: srf - [in] The surface to be split bFlip - [in] If true, input curves are oriented clockwise. EdgeCurves - [in] The new edge curves (with consistent orientation). ftol - [in] The fitting tolerance. ctol - [in] Used to decide which face to keep. For best results, should be at least 2*ftol. Breps - [out] The results of the split. max_tol_used - [in] Default is NULL. ftol is the desired trimming tolerance. If the curves are not within ftol of the surface, the distance to the surface is used for trimming. max_ftol_used returns the maximum of the tolerances used. Always at least ftol.

◆ RhinoDefaultRendererId()

RHINO_SDK_FUNCTION ON_UUID RhinoDefaultRendererId ( void  )

◆ RhinoDegreesSymbol()

RHINO_SDK_FUNCTION wchar_t RhinoDegreesSymbol ( )

Returns: 0x0B0 - the ascii and unicode degrees symbol

◆ RhinoDestroyDisplayMeshes()

RHINO_SDK_FUNCTION unsigned int RhinoDestroyDisplayMeshes ( ON::mesh_type  mesh_type,
CRhinoObjectIterator it,
bool *  bRedrawNeeded 
)

Description: Destroy temporary meshes used for displaying shaded views of objects that are not mesh objects (like surfaces, polysurfaces and extrusions). Parameters: mesh_type - [in] Type of mesh to destroy. it - [in] Objects to test bRedrawNeeded - [out] If a mesh is destroyed and a viewport is not in wireframe display mode, the *bRedrawNeeded is set to true and the caller should eventually call doc.Redraw() to update Rhino's display. Return: Number of objects that had meshes that were destroyed.

◆ RhinoDisplaceMesh()

RHINO_SDK_FUNCTION ON_Mesh* RhinoDisplaceMesh ( const ON_Mesh originalMesh,
const RhDisplacement displacement,
const RhDisplacementArgs args,
ON_wString problemString,
ON_Terminator pCancelHandler = 0,
ON_ProgressReporter pProgressReporter = 0 
)

Description: Create a mesh displaced by a texture. This operation can be canceled by pressing Esc. Parameters: originalMesh - [in] The mesh which we want to displace. displacement - [in] The texture and transformation data representing the displacement. args - [in] The arguments passed to the displacement algorithm. problemString - [out] If the algorithm fails, this string contains a description of what went wrong. pCancelHandler - [in] Pass an ON_Terminator to provide ability to cancel the operation, use NULL otherwise. pProgressReporter - [in] Used to display algorithm progress information. Pass in NULL to use default progress reporting functionality. Returns: A displaced mesh. NULL if failed or canceled. See Also: RhinoMeshPipeFromCurve, RhinoEdgeSoftenMesh, RhinoAddShutLinesToMesh

◆ RhinoDivideCurve()

RHINO_SDK_FUNCTION bool RhinoDivideCurve ( const ON_Curve curve,
double  seg_count,
double  seg_length,
bool  bReverse,
bool  bIncludeEnd,
ON_SimpleArray< ON_3dPoint > *  curve_P,
ON_SimpleArray< double > *  curve_t 
)

Description: Calculation tool for the Rhino DivideCurve command. Parameters: curve - [in]; seg_count - [in] If > 0, the curve will be divided into this many segments. If > 0, then seg_length must be 0. seg_length -[in] If > 0, the curve will be divided into segments of this length. If > 0, then seg_count must be 0. bReverse - [in] If true and seg_length is used to divide the curve, then the divisions start from the end. bIncludeEnd - [in] If true, then the point at the start of the first division segment is returned. curve_P - [out] If not NULL, the division points are returned here. curve_t - [out] If not NULL, the curve parameters at the division points are returned here.

◆ RhinoDivideCurveEquidistant()

RHINO_SDK_FUNCTION int RhinoDivideCurveEquidistant ( const ON_Curve curve,
double  distance,
ON_SimpleArray< ON_3dPoint > &  points 
)

Description: Calculates 3d points on a curve where the linear distance between the points is equal. Parameters: curve - [in] The input curve. distance - [in] The distance betwen division points. points - [out] The results of the division. Returns: The number of points added to the output array if successful. 0 if not successful. See Also: RhinoDivideCurve Remarks: Unlike the RhinoDivideCurve SDK function, which divides a curve based on arc length, or the distance along the curve between two points, this function divides a curve based on the linear distance between points.

◆ RhinoDoCurveDirectionsMatch()

RHINO_SDK_FUNCTION bool RhinoDoCurveDirectionsMatch ( const ON_Curve c0,
const ON_Curve c1 
)

Description: Tests if two curves are generally in the same direction, or if they would be more in the same direction if they were flipped. Parameters: c0 - [in] the first curve to test. c1 - [in] the second curve to test. Returns: true - generally in the same direction false - would be more in the same direction if they were flipped

◆ RhinoDollyExtents() [1/4]

RHINO_SDK_FUNCTION bool RhinoDollyExtents ( const ON_Viewport current_vp,
ON_BoundingBox  camcoord_bbox,
ON_Viewport zoomed_vp 
)

Description: Dolly the camera location and so that the view frustum contains camcoord_bbox and the volume of camcoord_bbox fills the frustum. If the projection is perspective, the camera angle is not changed. Parameters: current_vp - [in] current projection - must be valid. camcoord_bbox - [in] valid bounding box in current_vp camera coordinates zoomed_vp - [out] (can be the same as current_vp projection Returns: True if successful.

◆ RhinoDollyExtents() [2/4]

RHINO_SDK_FUNCTION bool RhinoDollyExtents ( class CRhinoObjectIterator it,
const CRhinoViewport rhino_vp,
double  border,
ON_Viewport zoomed_vp,
const ON_SimpleArray< ON_3dPoint > *  extra_points = nullptr,
ON_BoundingBox camcoord_box = nullptr 
)

Description: Dolly the camera location and so that the view frustum contains the list of objects and the objects are as large as possible. If the projection is perspective, the camera angle is not changed. Parameters: it - [in] list of objects that need to be seen in the view. current_vp - [in] current projection - must be valid. border - [in] If border > 1.0, then the fustum in enlarged by this factor to provide a border around the view. 1.1 works well for parallel projections; 0.0 is suggested for perspective projections. zoomed_vp - [out] (can be the same as current_vp) projection with a view frustum that contains the list of objects. extra_points - [in] (default = NULL) optional list of world 3d points that need to be included in the view. camcoord_bbox - [out] (default = NULL) will be set to the camera coordinate bounding used to compute the extents with respect to the viewport Returns: True if successful. Remarks: This version of RhinoDollyExtents calculates a tight camera coordinate bounding box of the list of objects and calls

RhinoDollyExtents( current_vp, camcoord_bbox, zoomed_vp )

to calculate the new projection.

◆ RhinoDollyExtents() [3/4]

RHINO_SDK_FUNCTION bool RhinoDollyExtents ( class CRhinoViewport viewport,
double  border 
)

Description: Dolly the camera location and so that the view frustum contains all of the document objects that can be seen in view. If the projection is perspective, the camera angle is not changed. Parameters: viewport - [in/out] border - [in] If border > 1.0, then the fustum in enlarged by this factor to provide a border around the view. 1.1 works well for parallel projections; 0.0 is suggested for perspective projections. Returns: True if successful. Remarks: This version of RhinoDollyExtents sets up an appropriate iterator and uses

RhinoDollyExtents( iterator, viewport.VP(), border, viewport.VP() )

to calculate the new projection.

◆ RhinoDollyExtents() [4/4]

RHINO_SDK_FUNCTION bool RhinoDollyExtents ( class CRhinoView view,
bool  active_viewport = true 
)

Description: Dolly the camera location and so that the view frustum contains all of the selected document objects that can be seen in view. If the projection is perspective, the camera angle is not changed. Parameters: view - [in/out] The view to adjust active_viewport - [in] if true, dolly is performed on the ActiveViewport of the view if false, dolly is performed on the MainViewport of the view Returns: True if successful. Remarks: This version of RhinoDollyExtents determines what border factor would be used by the Rhino Zoom command and calls RhinoDollyExtents(view,border).

◆ RhinoDollyExtentsSelected() [1/2]

RHINO_SDK_FUNCTION bool RhinoDollyExtentsSelected ( class CRhinoViewport viewport,
double  border 
)

Description: Dolly the camera location and so that the view frustum contains all of the selected document objects that can be seen in view. If the projection is perspective, the camera angle is not changed. Parameters: viewport - [in/out] border - [in] If border > 1.0, then the fustum in enlarged by this factor to provide a border around the view. 1.1 works well for parallel projections; 0.0 is suggested for perspective projections. Returns: True if successful. Remarks: This version of RhinoDollyExtentsSelected sets up an appropriate iterator and uses

RhinoDollyExtents( iterator, viewport.VP(), border, viewport.VP() )

to calculate the new projection.

◆ RhinoDollyExtentsSelected() [2/2]

RHINO_SDK_FUNCTION bool RhinoDollyExtentsSelected ( class CRhinoView view,
bool  active_viewport = true 
)

Description: Dolly the camera location and so that the view frustum contains all of the selected document objects that can be seen in view. If the projection is perspective, the camera angle is not changed. Parameters: view - [in/out] active_viewport - [in] if true, dolly is performed on the ActiveViewport of the view if false, dolly is performed on the MainViewport of the view Returns: True if successful. Remarks: This version of RhinoDollyExtentsSelected determines what border factor would be used by the Rhino Zoom command and calls RhinoDollyExtentsSelected(view,border).

◆ RhinoDuplicateCurveSegments()

RHINO_SDK_FUNCTION int RhinoDuplicateCurveSegments ( const ON_Curve curve,
ON_SimpleArray< ON_Curve *> &  OutCurves 
)

Description: Curve segment duplicator (exploder). Explodes polylines, polycurves and G1 discontinuous NURBS curves. Parameters: curve - [in] The curve whose segments you want duplicated. OutCurves - [out] The curve segments that were duplicated. Returns: The number of curves added to OutCurves if successful, 0 otherwise. Remarks: THE CALLER IS RESPONSIBLE FOR DESTROYING THE OUTPUT CURVES.

◆ RhinoDupMeshBorder()

RHINO_SDK_FUNCTION ON_PolylineCurve* RhinoDupMeshBorder ( const ON_MeshComponentRef pMeshEdgeRef)

Description: Given a starting (naked) edge ref, this function attempts to determine a hole/border by chaining additional naked edges together until if returns to the start index.

Parameters: pMeshEdgeRef - [In] Starting naked edge reference

Returns: pointer to curve on success, nullptr on failure

◆ RhinoDynamicViewChange()

RHINO_SDK_FUNCTION void RhinoDynamicViewChange ( CRhinoView view)

Description: For expert use only. CRhinoView::InterruptDrawing() hook for spacemouse-type devices.

◆ RhinoEdgeSoftenMesh()

RHINO_SDK_FUNCTION ON_Mesh* RhinoEdgeSoftenMesh ( const ON_Mesh originalMesh,
const RhEdgeSofteningArgs args,
ON_Terminator pCancelHandler = 0 
)

Description: Soften the edges of a mesh. Parameters: originalMesh - [in] The mesh whose edges we want to soften. args - [in] The arguments used in edge softening. pCancelHandler - [in] Pass an ON_Terminator to provide ability to cancel the operation, use NULL otherwise. Returns: A new mesh with softened edges. NULL if failed. See Also: RhinoMeshPipeFromCurve, RhinoDisplaceMesh, RhinoAddShutLinesToMesh

◆ RhinoExplodeMesh()

RHINO_SDK_FUNCTION int RhinoExplodeMesh ( const ON_Mesh mesh_in,
ON_SimpleArray< ON_Mesh *> &  meshlist_out 
)

Description: RhinoExplodeMesh "explodes" the input mesh into submeshes where a submesh is a collection of faces that are contained within a closed loop of "unwelded" edges. Unwelded edges are edges where the faces that share the edge have unique mesh vertexes (not mesh topology vertexes) at both ends of the edge. See the definition of ON_MeshTopologyEdge and ON_MeshFace for more details.

Parameters: mesh_in - [In] Mesh to be exploded meshlist_out - [Out] Array of submeshes that result from exploding the input

Returns: The number of meshes that the input mesh was divided into. If the count is 1 then nothing happened and the output is essentially a copy of the input. Returns 0 on error, -1 if the input mesh has only 1 face, and -2 on user cancel.

◆ RhinoExtendCrvOnSrf()

RHINO_SDK_FUNCTION bool RhinoExtendCrvOnSrf ( const ON_BrepFace face,
ON_Curve *&  crv,
int  side = 2 
)

Description: Extend a curve on a face Pararmeters: face -[in] a brep face to extend the curve on crv -[in/out] pointer to the input curve can be either a 2d parameter space curve or a 3d-curve. At output this is a pointer to the output curve, which contains the input curve as a subcurve. side -[in] end to extend. 0- beginning, 1, end, 2 - both Returns: true the function suceeded false the function failed the crv is left unchanged Details: If crv is a 2d parameter space curve and either end is in the active region of the face the curve is extended at this end,in a C^1 fashion. the extension may not end at the boundary of the face. The resulting curve is a ON_PolyCurve with the original curve as one of the polycurve segments.

If crv is a 3d model space curve and either end projects, via the closest point projection, to the interior of the active region of the face then the curve is extended at this end, in a C^1 fashion.

◆ RhinoExtendCurve() [1/3]

RHINO_SDK_FUNCTION bool RhinoExtendCurve ( ON_Curve *&  crv,
CRhinoExtend::Type  type,
int  side,
double  length 
)

Description: Extend a curve by a line, arc or smooth extension for a specified distance Parameters: crv -[in/out] curve to extend. Note either *crv can change or the pointer crv can be changed by the routine. type -[in] type of extension, line, arc or smooth side -[in] end to extend. 0- beginning, 1, end, 2 - both length -[in] length of extension ( >= 0) Returns: true if desired extension achieved. Details: The parametric curve is extended, i.e. if c' is the extension of c then c(t) = c'(t) for any t in the domain of c. The extension is generally C1-continous at the point of the extension, and may be smoother depending on the type of extension.

When type==RhinoExtend::Smooth the parametric curve is extended by the analytic extension. The curve *crv is modified, in particular the type is unchanged. If the curve is a nurbs curve, or a poly curve with a nurbscurve at the end to be extended, then the extension length is only approximate. Also, refer to the comments in TL_ExtendNurb for warnings about smooth extensions of nurbs curves.

When type==RhinoExtend::Line or RhinoExtend::Arc the result is an ON_PolyCurve with the extensions being the first and/or last segments. The user must delete the returned polycurve.

When type=RhinoExtend::Arc the result is G2-continuous, but generally not C2-continuous.

Even if the function returns false the curve may be extended as far as possible, e.g., an arc may be extended to 360 degrees but not more.

Returns false on closed curves. See Also: TL_ExtendNurb

◆ RhinoExtendCurve() [2/3]

RHINO_SDK_FUNCTION bool RhinoExtendCurve ( ON_Curve *&  crv,
CRhinoExtend::Type  type,
int  side,
const ON_SimpleArray< const ON_Geometry *> &  geom 
)

Description: Extend a curve by a line, arc or smooth extension untill it intersects a collection of objects Parameters: crv -[in/out] curve to extend. Note either *crv can change or the pointer crv can be changed by the routine. type -[in] type of extension, line, arc or smooth side -[in] end to extend. 0- beginning, 1, end, 2 - both geom -[in] collection of objects. Allowable object types are ON_Curve, ON_Surface, ON_Brep, Return: Returns true if the extension hit an object.

◆ RhinoExtendCurve() [3/3]

RHINO_SDK_FUNCTION bool RhinoExtendCurve ( ON_Curve *&  crv,
CRhinoExtend::Type  type,
int  side,
ON_3dPoint  end 
)

Description: Extend a curve by a line, arc or smooth extension. The extension endpoint is specified. Parameters: crv -[in/out] curve to extend. Note either *crv can change or the pointer crv can be changed by the routine. type -[in] type of extension, line, arc or smooth side -[in] end to extend. 0- beginning, 1- end end -[in] end point of extension Return: Returns true if the extension hit an object.

◆ RhinoExtendLineThroughBox()

RHINO_SDK_FUNCTION BOOL RhinoExtendLineThroughBox ( const ON_Line line_in,
const ON_BoundingBox bbox,
ON_Line line_out 
)

Description: Find a line colinear with line_in that goes completely through the box Parameters: line_in [in] - The original line ( not modified) bbox [in] - The box to extend through line_out [out] - The extended line Returns: table TRUE Success False Failure

◆ RhinoExtendSurface()

RHINO_SDK_FUNCTION bool RhinoExtendSurface ( ON_Surface *&  srf,
ON_Surface::ISO  edge_index,
double  ExtensionLength,
bool  SmoothToggle 
)

Description: Extend an untrimmed surface along one edge. Parameters: srf - [in/out] surface to modify/ or replace. The surface must be on the heap since it may be deleted and a new object of the appropriate type is returned. edge -[in] edge to extend must be N_iso, E_iso, S_iso, or W_iso length -[in]>0 Smooth -[in] true for smooth (C-infinity) extension false for a C1- ruled extension Returns: true if extension is successfully computed false no changes

◆ RhinoExtractDuplicateMeshFaces()

RHINO_SDK_FUNCTION int RhinoExtractDuplicateMeshFaces ( const ON_Mesh MeshIn,
ON_Mesh MeshOut,
ON_Mesh MeshExtractionOut 
)

Description: RhinoExtractDuplicateMeshFaces extractsduplicate mesh faces. Parameters: MeshIn - [In] Input mesh MeshOut - [Out] output mesh without duplicate faces MeshExtractionOut - [Out] output extracted duplicate faces Returns: The number of extracted duplicate faces.

◆ RhinoExtractMeshFaces()

RHINO_SDK_FUNCTION bool RhinoExtractMeshFaces ( ON_SimpleArray< int > &  FaceIDXArray,
ON_Mesh MeshIn,
ON_Mesh MeshExtracted 
)

Description: RhinoExtractMeshFaces extracts mesh faces using list of indeces and return two meshes.

Parameters: FaceIDXArray - [in] input list of face indeces to be extracted MeshIn - [In/out] Input mesh. Output with extracted faces removed MeshExtracted - [out] extracted faces

Returns: true if at least one face was extracted.

◆ RhinoExtractNonManifoldMeshEdges()

RHINO_SDK_FUNCTION int RhinoExtractNonManifoldMeshEdges ( const ON_Mesh MeshIn,
bool  bSelective,
ON_Mesh MeshOut,
ON_Mesh MeshExtractionOut 
)

Description: RhinoExtractNonManifoldMeshEdges extracts non manifold edges. Parameters: MeshIn - [In] Input mesh bSelective - [In] if true, then extract hanging faces only MeshOut - [Out] output mesh pMeshExtractionOut - [Out] output extracted non-manifold part of the mesh Returns: The number of extracted faces.

◆ RhinoExtrudeCurveStraight()

RHINO_SDK_FUNCTION ON_Surface* RhinoExtrudeCurveStraight ( const ON_Curve pCurve,
ON_3dVector  direction,
double  scale = 1.0 
)

Copyright (c) 1993-2017 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer. Description Extrude a curve along a vector direction Parameters: [in] pCurve - curve to extrude [in] direction - the extrude vector [in] scale - optional scalar for the extrude vector Returns: The extruded surface if successful NULL if not Remarks: The direction vector is used for both distance and direction input The direction vector length is multiplied by scale

◆ RhinoExtrudeCurveToPoint()

RHINO_SDK_FUNCTION ON_Surface* RhinoExtrudeCurveToPoint ( const ON_Curve pCurve,
const ON_3dPoint apex 
)

Description Extrude a curve to a point making a coned surface Parameters: [in] pCurve - the curve to extrude [in] apex - the point for the tip of the surface Returns: The extruded surface if successful NULL if not

◆ RhinoFairCurve()

RHINO_SDK_FUNCTION ON_Curve* RhinoFairCurve ( CArgsRhinoFair args)

Description: Fair a curve according to the settings in args The input curve, args.m_pCurve, is not changed. Parameters: [in] args - What to fair and how to fair it ( see CArgsRhinoFair) Returns: The resulting faired curve. Caller must free this when done with it.

◆ RhinoFilletCurveCorners()

RHINO_SDK_FUNCTION ON_Curve* RhinoFilletCurveCorners ( const ON_Curve curve,
double  radius,
double  tol,
double  ang_tol 
)

Description: Rounds the corners of a kinked curve with arcs of a single, specified radius. Parameters: curve - [in] The curve to fillet. radius - [in] The fillet radius. tol - [in] The tolerance. When in doubt, use the document's model space absolute tolerance. ang_tol - [in] The angle tolerance in radians. When in doubt, use the document's model space angle tolerance. Returns: The modified curve if successful, NULL otherwise. Remarks: Memory for the result curve is allocated and becomes the responsibility of the caller.

◆ RhinoFilletSurface()

RHINO_SDK_FUNCTION bool RhinoFilletSurface ( const ON_BrepFace pFace0,
double  u0,
double  v0,
double  radius0,
const ON_BrepFace pFace1,
double  u1,
double  v1,
double  radius1,
RhinoFilletSurfaceType  fillet_type,
bool  bExtend,
RhinoFilletSurfaceSplitType  split_type,
double  tolerance,
ON_SimpleArray< ON_Brep *> &  OutFillets,
ON_SimpleArray< ON_Brep *> &  OutBreps0,
ON_SimpleArray< ON_Brep *> &  OutBreps1 
)

Description: Creates a surface between two surfaces. Parameters: pFace0 - [in] A pointer to the first face. u0 - [in] A parameter in the u directon of the first face at the side you want to keep after filleting. v0 - [in] A parameter in the v directon of the first face at the side you want to keep after filleting. radius0 - [in] The radius, or distance, from the intersection of pFace0 to the edge of the fillet. Note, radius0 should equal radius1 unless fillet_type == RhinoFilletSurfaceType::Chamfer, in which case the values can differ. pFace1 - [in] A pointer to the second face. u1 - [in] A parameter in the u directon of the second face at the side you want to keep after filleting. v1 - [in] A parameter in the v directon of the second face at the side you want to keep after filleting. radius1 - [in] The radius, or distance, from the intersection of pFace1 to the edge of the fillet. Note, radius0 should equal radius1 unless fillet_type == RhinoFilletSurfaceType::Chamfer, in which case the values can differ. fillet_type - [in] The type of fillet bExtend - [in] If true, then when one input surface is longer than the other, the fillet surface is extended to the input surface edges. split_type - [in] The split type tolerance - [in] The tolerance. In in doubt, the the document's absolute tolerance. OutFillets - [out] The results of the fillet calculation. NOTE: Memory for the output is allocated and is the responsibility of the caller. OutBreps0 - [out] The trim or split results of the brep owned by pFace0. NOTE: Memory for the output is allocated and is the responsibility of the caller. OutBreps1 - [out] The trim or split results of the brep owned by pFace1. NOTE: Memory for the output is allocated and is the responsibility of the caller. Returns: true if successful, false otherwise. Remarks: The trim or split input breps are in OutBreps0, and OutBreps1. If the input faces are from the same Brep, nothing will be added to OutBreps1. If you specified a split type of RhinoFilletSurfaceSplitType::Nothing, then nothing will be added to either OutBreps0 or OutBreps1.

◆ RhinoFillMeshHole()

RHINO_SDK_FUNCTION bool RhinoFillMeshHole ( const int  StartEdgeIdx,
ON_Mesh pMesh,
ON_Mesh **  pMeshHolePatch = nullptr 
)

Description: Given a starting "naked" edge index, this function attempts to determine a "hole" by chaining additional naked edges together until if returns to the start index. Then it triangulates the closed polygon and either adds the faces to pMesh or optionally to pMeshHolePatch.

Parameters: StartEdgeIdx - [In] Starting naked edge index pMesh - [In / Out] Input mesh pMeshHolePatch - [Out] Optional output. New mesh is created rather than adding to pMesh.

Returns: true on success

Remarks: "naked" in the context of RhinoFillMeshHole, RhinoFillMeshHoles and RhinoDupMeshBorder, refers to edges that border a single face.

◆ RhinoFillMeshHoles()

RHINO_SDK_FUNCTION bool RhinoFillMeshHoles ( ON_Mesh pMesh)

Description: This function attempts to determine "holes" in the input mesh by chaining naked edges together. Then it triangulates the closed polygons adds the faces to pMesh.

Parameters: pMesh - [In / Out] Input mesh

Returns: true on success

Remarks: This function does not differentiate between inner and outer naked edges. If you need that, it would be better to use RhinoFillMeshHole. You should be able to use ON_MeshTopologyFace::m_reve to determine what ought to be inner and outer.

◆ RhinoFitCircleToPoints() [1/2]

RHINO_SDK_FUNCTION bool RhinoFitCircleToPoints ( const ON_SimpleArray< ON_3dPoint > &  point_array,
ON_Circle circle 
)

Description: Fits a circle through an array of points. Parameters: points [in] - The points through which to fit. circle [out] - The resulting circle. Returns: true if successful, false otherwise. Remarks: Finds a best-fit circle throught the points.

◆ RhinoFitCircleToPoints() [2/2]

RHINO_SDK_FUNCTION bool RhinoFitCircleToPoints ( int  point_count,
const ON_3dPoint points,
ON_Circle circle 
)

◆ RhinoFitCurve()

RHINO_SDK_FUNCTION ON_NurbsCurve* RhinoFitCurve ( const ON_Curve curve_in,
int  degree = 3,
double  dFitTol = ON_UNSET_VALUE,
double  dAngleTol = ON_UNSET_VALUE,
ON_NurbsCurve curve_out = nullptr 
)

Description: Fits a new curve through an existing curve. Parameters: curve_in - [in] the curve to fit. degree - [in] the output curve degree. Must be bigger than 1. dFitTol - [in] the fitting tolerance. If dFitTol is ON_UNSET_VALUE or <=0.0, the document absolute tolerance is used. dAngleTol - [in] the kink smoothing tolerance in radians. If dAngleTol is 0.0, all kinks are smoothed. If dAngleTol is >0.0, kinks smaller than dAngleTol are smoothed. If dAngleTol is ON_UNSET_VALUE or <0.0, the document angle tolerance is used for the kink smoothing. curve_out - [in] if not NULL this curve will be used for output. Returns: pointer to curve if success. NULL if unsuccessful. Notes:

◆ RhinoFitLineToPoints() [1/2]

RHINO_SDK_FUNCTION bool RhinoFitLineToPoints ( const ON_SimpleArray< ON_3dPoint > &  point_array,
ON_Line line 
)

Description: Fit a plane through an array of points Parameters: points [in] - The points through which to fit plane [out] - The resulting plane box [out] - The 3d bounding box of the corners of the plane Returns: table 1 Results were inconclusive, as in colinear points, but some plane was found 0 Sucess -1 Couldn't find a plane Remarks: Finds a best-fit plane throught the points

◆ RhinoFitLineToPoints() [2/2]

RHINO_SDK_FUNCTION bool RhinoFitLineToPoints ( int  point_count,
const ON_3dPoint points,
ON_Line line 
)

◆ RhinoFitPlaneToPoints() [1/2]

RHINO_SDK_FUNCTION int RhinoFitPlaneToPoints