Rhino C++ API  7.24
Public Types | Public Member Functions | List of all members
CRhinoDigitizerPlugIn Class Referenceabstract

#include <rhinoSdkPlugIn.h>

Inheritance diagram for CRhinoDigitizerPlugIn:
CRhinoPlugIn ON_Object

Public Types

enum  digitizer_plug_in_proc_message_id { digitizer_plug_in_force_32bit = 0xFFFFFFFF }
- Public Types inherited from CRhinoPlugIn
enum  license_capabilities {
  no_capabilities = 0x0, can_be_purchased = 0x1, can_be_specified = 0x2, can_be_evaluated = 0x4,
  evaluation_is_expired = 0x8, supports_rhino_accounts = 0x10, supports_standalone = 0x20, supports_zoo_per_user = 0x40,
  supports_zoo_per_core = 0x80, supports_license_discovery = 0x100, license_dialog_buttons_force_32bit = 0xFFFFFFFF
enum  plug_in_proc_message_id { plug_in_force_32bit = 0xFFFFFFFF }
enum  plugin_load_time {
  load_plugin_disabled = 0, load_plugin_when_needed = 2, load_plugin_at_startup = 1, load_plugin_when_needed_ignore_docked = 6,
  load_plugin_when_needed_or_optionsdlg = 10, load_plugin_when_needed_or_tabbed_dockbar = 18, plugin_load_time_force_32bit = 0xFFFFFFFF
enum  plugin_type : unsigned int {
  unknown_plugin_type = 0, render_plugin = 0x01, file_export_plugin = 0x02, file_import_plugin = 0x04,
  digitizer_plugin = 0x08, utility_plugin = 0x10, display_pipeline_plugin = 0x20, display_engine_plugin = 0x40
- Public Types inherited from ON_Object
enum  UserDataConflictResolution : unsigned char {
  UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3,
  UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6

Public Member Functions

 CRhinoDigitizerPlugIn ()
 ~CRhinoDigitizerPlugIn ()
virtual LRESULT DigitizerPlugInProc (UINT message, WPARAM wParam, LPARAM lParam)
 This will be used to extend this class without breaking the SDK. More...
virtual bool EnableDigitizer (bool bEnable)=0
plugin_type PlugInType () const override
virtual double PointTolerance () const =0
void SendPoint (ON_3dPoint point, UINT nFlags)
void SendRay (ON_3dRay ray, UINT nFlags)
virtual ON::LengthUnitSystem UnitSystem () const =0
- Public Member Functions inherited from CRhinoPlugIn
 CRhinoPlugIn ()
virtual ~CRhinoPlugIn ()
virtual void AddPagesToDocumentPropertiesDialog (CRhinoOptionsPageCollection &collection)
virtual void AddPagesToObjectPropertiesDialog (CRhinoPropertiesPanelPageCollection &collection)
virtual void AddPagesToOptionsDialog (CRhinoOptionsPageCollection &collection)
virtual BOOL AddToPlugInHelpMenu () const
virtual BOOL CallWriteDocument (const CRhinoFileWriteOptions &options)
const ON_SimpleArray< CRhinoCommand * > & CommandList () const
bool DisplayPlugInErrorDialog (const wchar_t *message) const
const ON_UUID GetLicenseId ()
virtual void GetMenuMessageString (HMENU hMenu, UINT nID, ON_wString &wMessage) const
BOOL GetPlugInFileName (ON_wString &result) const
BOOL GetPlugInFolder (ON_wString &result) const
virtual LPUNKNOWN GetPlugInObjectInterface (const ON_UUID &iid)
BOOL GetPlugInRegistryKey (ON_wString &result) const
class CRhPlugInPrivate * GetPrivateData ()
 Get extended data from plug-in. More...
BOOL InsertPlugInItemToRhinoMenu (HMENU hTargetMenu, UINT index, MENUITEMINFO *pMi)
BOOL InsertPlugInMenuToRhinoMenu (HMENU hmenu, int index)
BOOL InsertPlugInMenuToRhinoMenu (HMENU hmenu, LPCTSTR title)
bool IsRhinoCommonPlugIn () const
virtual void LoadProfile (LPCTSTR lpszSection, CRhinoProfileContext &pc)
virtual const wchar_t * LocalPlugInDescription () const
virtual const wchar_t * LocalPlugInName () const
virtual BOOL OnDisplayPlugInHelp (HWND hWnd) const
virtual void OnInitPlugInMenuPopups (WPARAM wparam, LPARAM lparam)
virtual int OnLoadPlugIn ()
virtual bool OnLoadPlugInErrorString (ON_wString &msg)
virtual BOOL OnPlugInMenuCommand (WPARAM wparam)
virtual void OnRegisterPlugIn (bool bDone)
virtual void OnSaveAllSettings ()
virtual void OnUnloadPlugIn ()
virtual const wchar_t * PlugInDescription () const
const wchar_t * PlugInFileName () const
virtual HICON PlugInIcon (const ON_2iSize &size)
virtual GUID PlugInID () const =0
HINSTANCE PlugInInstance () const
virtual plugin_load_time PlugInLoadTime ()
AFX_MODULE_STATE * PlugInModuleState () const
virtual const wchar_t * PlugInName () const =0
virtual LRESULT PlugInProc (UINT message, WPARAM wParam, LPARAM lParam)
 This will be used to extend this class without breaking the SDK. More...
void PlugInTypeString (ON_wString &wResult) const
virtual const wchar_t * PlugInVersion () const =0
virtual BOOL ReadDocument (CRhinoDoc &doc, ON_BinaryArchive &archive, const CRhinoFileReadOptions &options)
virtual void RemoveDocumentPropertiesDialogTabs (CRhinoDocumentPropertiesTabs &tab_manager)
BOOL RemovePlugInMenuFromRhino (HMENU hTargetMenu)
virtual void ResetMessageBoxes ()
virtual bool SaveAsV3 (const CRhinoFileWriteOptions &options)
virtual void SaveProfile (LPCTSTR lpszSection, CRhinoProfileContext &pc)
void SaveSettings ()
CRhinoSettingsSettings ()
virtual BOOL WriteDocument (CRhinoDoc &doc, ON_BinaryArchive &archive, const CRhinoFileWriteOptions &options)
- Public Member Functions inherited from ON_Object
 ON_Object (const ON_Object &)
virtual ~ON_Object ()
virtual ON_AggregateComponentStatus AggregateComponentStatus () const
bool AttachUserData (class ON_UserData *pUserData)
unsigned int ClearAllComponentStates () const
virtual unsigned int ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const
virtual unsigned int ClearComponentStates (ON_ComponentStatus states_to_clear) const
void CopyUserData (const ON_Object &source_object)
unsigned int CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution)
virtual ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
virtual bool DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)
virtual void DestroyRuntimeCache (bool bDelete=true)
bool DetachUserData (class ON_UserData *pUserData)
virtual void Dump (ON_TextLog &) const
void EmergencyDestroy ()
class ON_UserDataFirstUserData () const
virtual unsigned int GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const
class ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
bool IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const
bool IsKindOf (const ON_ClassId *pClassId) const
virtual void MarkAggregateComponentStatusAsNotCurrent () const
virtual void MemoryRelocate ()
virtual ON_UUID ModelObjectId () const
void MoveUserData (ON_Object &source_object)
unsigned int MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems)
virtual ON::object_type ObjectType () const
ON_Objectoperator= (const ON_Object &)
void PurgeUserData ()
virtual bool Read (ON_BinaryArchive &binary_archive)
virtual unsigned int SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const
virtual unsigned int SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
int SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace)
virtual unsigned int SizeOf () const
bool ThisIsNullptr (bool bSilentError) const
void TransformUserData (const class ON_Xform &xform)
virtual bool UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map)
int UserStringCount () const
virtual bool Write (ON_BinaryArchive &binary_archive) const

Additional Inherited Members

- Static Public Member Functions inherited from CRhinoPlugIn
static class CRhinoPlugInRecordGetLoadedPlugIn (ON_UUID uuid)
static class CRhinoPlugInRecordGetPlugIn (const wchar_t *lpsFileName)
static class CRhinoPlugInRecordGetPlugIn (int nIndex)
static class CRhinoPlugInRecordGetPlugIn (ON_UUID uuid)
static bool GetPlugInList (class ON_ClassArray< CRhinoPlugInRecord > &result, int nPlugInTypes=0xFFFFFFFF)
static int LoadPlugIn (const ON_UUID &uuid, bool bQuietly, bool ignore_load_failed)
static bool PlugInConstructionPermitted ()
static int PlugInCount ()
static const wchar_t * PlugInTypeString (int type)
static bool SaveLoadProtectionToRegistry (ON_UUID plugin_uuid, int load_protection)
- Protected Member Functions inherited from CRhinoPlugIn
bool GetLicense ()
bool GetLicense (unsigned int capabilities, const wchar_t *text_mask)
bool GetLicenseOwner (ON_wString &registeredOwner, ON_wString &registeredOrganization)
bool IsValid (ON_TextLog *text_log=nullptr) const override
bool ReturnLicense ()
void SetLicenseCapabilities (const wchar_t *format_string, CRhinoPlugIn::license_capabilities capabilities, ON_UUID licenseId)
- Protected Attributes inherited from CRhinoPlugIn
bool m_is_rhino_common_plug_in

Detailed Description

class CRhinoDigitizerPlugIn

Description: Control class used to create digitizer plug-ins.

Member Enumeration Documentation

◆ digitizer_plug_in_proc_message_id


for internal use only, this allows adding additional values without breaking the SDK in the future

Constructor & Destructor Documentation

◆ CRhinoDigitizerPlugIn()

CRhinoDigitizerPlugIn::CRhinoDigitizerPlugIn ( )

◆ ~CRhinoDigitizerPlugIn()

CRhinoDigitizerPlugIn::~CRhinoDigitizerPlugIn ( )

Member Function Documentation

◆ DigitizerPlugInProc()

virtual LRESULT CRhinoDigitizerPlugIn::DigitizerPlugInProc ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 

This will be used to extend this class without breaking the SDK.

◆ EnableDigitizer()

virtual bool CRhinoDigitizerPlugIn::EnableDigitizer ( bool  bEnable)
pure virtual

Digitizer plug-in specific Description: Called by Rhino to enable/disable input from the digitizer. If bEnable is true and EnableDigitizer() returns false, then Rhino will not calibrate the digitizer. Parameters: bEnable - [in] If true, enable the digitizer. If false, disable the digitizer. Remarks: This is pure virtual function that every digitizer plug-in must override.

◆ PlugInType()

plugin_type CRhinoDigitizerPlugIn::PlugInType ( ) const

Description: Identifies the type of plug-in. Returns: Codes described above. Remarks: Rhino will attempt to cast the one and only plug-in derived object when loading a plug-in. If it does not cast correctly then the plug-in will not be allowed to load.

Implements CRhinoPlugIn.

◆ PointTolerance()

virtual double CRhinoDigitizerPlugIn::PointTolerance ( ) const
pure virtual

Description: The point tolerance is the distance the digitizer must move (in digitizer coordinates) for a new point to be considered real rather than noise. Small desktop digitizer arms have values like 0.001 inches and 0.01 millimeters. This value should never be smaller than the accuracy of the digitizing device. Returns: The point tolerance of digitizer device. Remarks: This is pure virtual function that every digitizer plug-in must override.

◆ SendPoint()

void CRhinoDigitizerPlugIn::SendPoint ( ON_3dPoint  point,
UINT  nFlags 

Description: If the digitizer is enabled, call this function to send a point to Rhino. Call this function as much as you like. The digitizers that Rhino currently supports send a point every 15 milliseconds or so. This function should be called when users press or release any digitizer button. Parameters: point - [in] 3d point in digitizer coordinates nFlags - [in] Like the nFlags parameter of Windows OnMouseMove. Set the MK_LBUTTON | MK_RBUTTON | MK_MBUTTON bits if the corresponding digitizer button is down.

◆ SendRay()

void CRhinoDigitizerPlugIn::SendRay ( ON_3dRay  ray,
UINT  nFlags 

◆ UnitSystem()

virtual ON::LengthUnitSystem CRhinoDigitizerPlugIn::UnitSystem ( ) const
pure virtual

Description: Unit system digitizer is using. Rhino uses this value when it calibrates a digitizer. Parameters: bEnable - [in] If true, enable the digitizer. If false, disable the digitizer. Returns: Unit system of the points the digitizer passes to SendPoint(). This unit system must be not change. Remarks: This is pure virtual function that every digitizer plug-in must override.