Site Tools

Developer Manual

The topic of a manual or getting started guide for developers has come up time and time again. We may be able to do this by writing small articles on the wiki and eventually compiling these together into a single guide. The following seem like they would be good sections for a guide.

The following is a work in progress. Feel free to add sections or articles under existing sections.




Installation and setup

Hello world plug-in

The plug-in and command classes

  • Types of plug-ins
  • Types of commands

Main components

  • CRhinoApp
  • CRhinoDoc
  • CRhinoView and CRhinoViewport

The objects (CRhinoObject)

User feedback (CRhinoGet)

GUI Widgets

  • Docking Dialogs
  • Toolbars
  • Menus

Application and Document level user data

Event watchers

Custom display

Object level user data


Installers, licensing, localization, and marketing support

Uncategorized topics

Question: In the Rhino.NET SDK every class has an interface that it derives from that starts with an I. What is the difference?

The Rhino.NET SDK is written as a wrapper around the standard Rhino C++ SDK with efforts made to try and keep the .NET classes and functions as close of a match as possible to the wrapped C++ classes. In C++ there is syntax for something called const (google C++ const keyword for more information.) In short const says that you are not able to modify any of the internal contents of a class.

There is no const concept in the .NET framework. (At least through version 2.0 .NET. This may change in the future.) This is where we used an interface to represent a const C++ class. Every I interface in Rhino.NET represents the const version of a C++ class, you can call functions that do not change the internal data of the class. The class that is derived from the I interface (begins with M or On) is the non-const class that you can call functions on to modify the internal data.

developer/sdksamples/manual.txt ยท Last modified: 2020/08/14 (external edit)