Rhino C++ API  7.21
Public Member Functions | Public Attributes | Friends | List of all members
CRhinoLight Class Reference

#include <rhinoSdkLight.h>

Inheritance diagram for CRhinoLight:
CRhinoObject ON_Object

Public Member Functions

ON_BoundingBox BoundingBox () const
ON_BoundingBox BoundingBox (const CRhinoViewport *pViewport) const
void DeleteDynamicLightLocation ()
void Draw (CRhinoDisplayPipeline &) const
 virtual CRhinoObject::Draw override More...
void EnableGrips (bool bGripsOn)
 virtual CRhinoObject::EnableGrips override More...
bool GetDynamicLightLocation (ON_Light &light) const
BOOL IsDeleted () const
BOOL IsReference () const
const ON_LightLight () const
int LightIndex () const
void MemoryRelocate ()
 virtual ON_Object override More...
ON::object_type ObjectType () const
int Pick (const CRhinoPickContext &, CRhinoObjRefArray &) const
 virtual CRhinoObject::Pick override More...
bool SetDynamicLightLocation (const ON_Light &light)
const wchar_t * ShortDescription (bool bPlural) const
 virtual CRhinoObject::ShortDescription override More...
bool SnapTo (const CRhinoSnapContext &snap_context, CRhinoSnapEvent &snap_event) const
 virtual CRhinoObject::SnapTo override More...
- Public Member Functions inherited from CRhinoObject
 CRhinoObject ()
 assigns a new object UUID More...
 CRhinoObject (const CRhinoObject &)
 copies source object UUID More...
 CRhinoObject (const ON_3dmObjectAttributes &)
virtual ~CRhinoObject ()
virtual void AddToDocNotification ()
BOOL AttachAttributeUserData (ON_UserData *pUserData)
bool AttachGeometryUserData (ON_UserData *pUserData)
virtual const CRhinoObjectAttributesAttributes () const
virtual void BeginTransform (CRhinoDoc &doc, bool bDeleteOriginal, bool bAddNewObjectToDoc, bool bAddTransformHistory)
virtual ON_BoundingBox BoundingBox (const class CRhinoViewport *pViewport) const
unsigned int BrepReferenceCount () const
class CRhObjectReferenceCounter * BrepReferenceCounter (void) const
void BrepReferenceCounter_DestroyRuntimeCache (bool bDelete) const
bool BrepReferenceCounterExists () const
bool CopyHistoryOnReplace () const
virtual int CreateMeshes (ON::mesh_type mesh_type, const ON_MeshParameters &mp, bool bIgnoreCustom=false)
BOOL DeleteAttributeUserData (ON_UUID userdata_uuid)
void DeleteDynamicTransform ()
virtual void DeleteFromDocNotification ()
bool DeleteGeometryUserData (ON_UUID userdata_uuid)
virtual void DestroyMeshes (ON::mesh_type mesh_type, bool bDeleteMeshes=true)
void DestroyRuntimeCache (bool bDelete=true) override
 virtual ON_Object override More...
class CRhinoDocDocument () const
unsigned int DocumentRuntimeSerialNumber () const
void Draw (CRhinoViewport &) const
virtual void DrawGrips (class CRhinoDisplayPipeline &) const
virtual void DrawHighlightedSubObjects (class CRhinoDisplayPipeline &) const
virtual void DrawSubObject (class CRhinoDisplayPipeline &, ON_COMPONENT_INDEX) const
 Draws wireframe representation of a sub object. More...
virtual void DrawV6 (class CRhinoObjectDrawContext *draw_context) const RHINO_NOEXCEPT
virtual CRhinoObjectDuplicateRhinoObject () const
*enum ANALYSIS_MODE **bool EnableAnalysisMode (ON_UUID am_id, bool bEnable=true) const
 new way (not virtual) More...
virtual bool EnableCustomGrips (class CRhinoObjectGrips *custom_grips)
virtual void EndTransform (CRhinoDoc &doc, bool bDeleteOriginal, bool bAddNewObjectToDoc, bool bAddTransformHistory)
const ON_GeometryGeometry () const
 returns a pointer to the object's geometry More...
ON_UserDataGetAttributeUserData (ON_UUID userdata_uuid) const
bool GetDynamicTransform (ON_Xform &dynamic_xform) const
virtual bool GetFrame (ON_Plane &plane) const
ON_UserDataGetGeometryUserData (ON_UUID userdata_uuid) const
virtual int GetGrips (ON_SimpleArray< class CRhinoGripObject * > &grip_list) const
virtual int GetHighlightedSubObjects (ON_SimpleArray< ON_COMPONENT_INDEX > &component_indices) const
virtual int GetMeshes (ON::mesh_type mesh_type, ON_SimpleArray< const ON_Mesh * > &meshes) const
void GetRenderMeshParameters (ON_MeshParameters &mp) const
virtual int GetSelectedSubObjects (ON_SimpleArray< ON_COMPONENT_INDEX > &component_indices) const
virtual int GetSubobjectMaterialComponents (ON_SimpleArray< ON_COMPONENT_INDEX > &components_with_subobject_materials) const
virtual int GetSubObjects (ON_SimpleArray< CRhinoObject * > &subObjects, const class CRhinoViewport *pViewport=NULL) const
virtual bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, bool bGrowBox=false, const ON_Xform *xform=nullptr) const
virtual int GetWireframeCurves (ON_SimpleArray< ON_Curve * > &curve_list) const
const class CRhinoGripsEnablerGripsEnabler () const
int GripsOn () const
bool GripsSelected () const
bool HasDynamicTransform () const
virtual bool HasSubobjectMaterials (void) const
bool Highlight (bool bHighlight=true) const
virtual bool HighlightRequiresRedraw () const
virtual bool HighlightSubObject (ON_COMPONENT_INDEX component_index, bool bHighlight=true) const
const CRhinoHistoryRecordHistoryRecord () const
const ON_UUID Id () const
bool InAnalysisMode () const
bool InAnalysisMode (const ON_UUID &am_id) const
 bool AnalysisMode( ANALYSIS_MODE am ) const; ///< old way More...
const class CRhinoVisualAnalysisModeInShadedAnalysisMode () const
unsigned int IsActiveInDocument () const
virtual bool IsActiveInViewport (const class CRhinoViewport &) const
virtual bool IsDeletable () const
bool IsDeleted () const
virtual bool IsGroupObject () const
bool IsHidden () const
int IsHighlighted (BOOL bCheckSubObjects=false) const
 highlighted state (almost always = IsSelected() except in one or two commands) More...
bool IsInstanceDefinitionGeometry () const
int IsInstanceDefinitionGeometryEx () const
bool IsLocked () const
int IsMarked () const
virtual bool IsMeshable (ON::mesh_type) const
 Returns true if the object is capable of having a mesh of the specified type. More...
bool IsModelObject () const
bool IsNormal () const
bool IsPageObject () const
int IsProxy () const
bool IsReference () const
bool IsSelectable (bool bIgnoreSelectionState, bool bIgnoreGripsState, bool bIgnoreLocking, bool bIgnoreVisibility) const
bool IsSelectable (bool bIgnoreSelectionState=false, bool bIgnoreGripsState=false) const
int IsSelected (bool bCheckSubObjects=false) const
virtual bool IsSolid () const
virtual bool IsSubObjectHighlighted (ON_COMPONENT_INDEX component_index) const
 true if specified component is highlighted More...
bool IsSubObjectSelectable (ON_COMPONENT_INDEX component_index, bool bIgnoreSelectionState=false) const
virtual bool IsSubObjectSelected (ON_COMPONENT_INDEX component_index) const
bool IsValid (ON_TextLog *text_log=nullptr) const override
bool IsVisible () const
unsigned int LinkedInstanceDefinitionSerialNumber () const
void Mark (int)
void MemoryRelocate () override
 virtual ON_Object override More...
virtual int MeshCount (ON::mesh_type mesh_type, const ON_MeshParameters *mp=0) const
virtual const class CDisplayPipelineAttributesMeshDisplayAttributes (int mesh_index, const ON_Mesh &mesh, const class CDisplayPipelineAttributes &display_attrs) const
const ON_ModelComponentModelComponent () const
ON_UUID ModelObjectId () const override
virtual bool ModifyAttributes (const ON_3dmObjectAttributes &new_attributes, bool bEnableUndo=true, bool bQuiet=false)
const ON_wString Name () const
ON_Color ObjectDrawColor (bool bIgnoreObjectState=false) const
ON_Color ObjectDrawColor (const CRhinoObjectAttributes &attributes, bool bIgnoreObjectState=false) const
ON_Color ObjectDrawColor (const CRhinoObjectAttributes &attributes, const ON_UUID &viewport_id, bool bIgnoreObjectState) const
const class CRhinoLayerObjectLayer () const
const class CRhinoLayerObjectLayerPtr () const
const CRhinoLinetypeObjectLinetype () const
const CRhinoLinetypeObjectLinetypePtr () const
virtual const CRhinoMaterialObjectMaterial () const
virtual const CRhinoMaterialObjectMaterial (const ON_3dmObjectAttributes &attrs) const
virtual const CRhinoMaterialObjectMaterial (const ON_COMPONENT_INDEX &ci, const ON_UUID &plugin_id=RhinoDefaultRendererId(), const ON_3dmObjectAttributes *attrs=NULL) const
 This is now the preferred version of the function. This should be used to get materials component-wise in all cases. More...
virtual const CRhinoMaterialObjectMaterial (const ON_UUID &plugin_id) const
virtual const CRhRdkMaterialObjectRdkMaterial (const ON_COMPONENT_INDEX &ci, const ON_UUID &plugin_id=RhinoDefaultRendererId(), const ON_3dmObjectAttributes *attrs=NULL) const
virtual ON_wString OnDoubleClick (const CRhinoDoubleClickContext &double_click_context) const
CRhinoObjectoperator= (const CRhinoObject &)
 copies source object UUID More...
bool PerViewportIsVisible (ON_UUID viewport_id) const
virtual bool PickFilter (const class CRhinoGetObject &, bool) const
virtual void PreDrawUpdate (CRhinoDisplayPipeline &dp) const
virtual bool PrepareToWrite (int archive_3dm_version)
virtual bool PromotePreviewMeshes (ON::mesh_type)
unsigned int RuntimeSerialNumber () const
int Select (bool bSelect, bool bSynchHighlight, bool bPersistentSelect, bool bIgnoreGripsState, bool bIgnoreLayerLocking, bool bIgnoreLayerVisibility) const
int Select (bool bSelect=true, bool bSynchHighlight=true, bool bPersistentSelect=true, bool bIgnoreGripsState=false) const
virtual int SelectSubObject (ON_COMPONENT_INDEX component_index, bool bSelect=true, bool bSynchHighlight=true, bool bPersistentSelect=false) const
void SetCopyHistoryOnReplace (bool bCopy) const
bool SetDynamicTransform (const ON_Xform &dynamic_xform)
bool SetHistory (class CRhinoHistory &history)
virtual bool SetRenderMeshParameters (const ON_MeshParameters &mp)
virtual bool SetTextureCoordinates (const ON_TextureMapping &mapping, const ON_Xform *object_xform, bool bLazy=true) const
virtual bool SetTextureCoordinatesFromPlugIn (const ON_UUID &plugin_id, int mapping_channel_id) const
virtual unsigned int SizeOf () const
 returns number of bytes used by this particular instance More...
virtual ON_ComponentStatus SubObjectStatus () const
virtual bool SupportsBrepProxyReferenceCounting () const
bool UndoModifyAttributes (unsigned int ur_sn=0)
virtual int UnhighlightAllSubObjects ()
 returns number of changed subobjects More...
virtual int UnselectAllSubObjects ()
 returns number of unselected subobjects More...
void UpdateBoundingBox ()
virtual bool VetoTransformObject (CRhinoDoc &doc, bool bDeleteOriginal, bool bAddNewObjectToDoc, bool bAddTransformHistory) const
unsigned int WorksessionReferenceModelSerialNumber () const
- 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)
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
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)
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)
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

Public Attributes

int m_remap_index
 runtime index used when remapping lights for import/export More...
int m_sort_index
 runtime index used to determine how lights are sorted in light dialig More...
- Public Attributes inherited from CRhinoObject
class CRhObjectSdkExtension * m__object_sdk_extension
const class CRhinoObjectVisualAnalysisModem_analysis_mode_list
 list of enabled analysis modes More...
CRhinoCacheHandle m_cache
class CRhinoObjectGripsm_grips
 managed by derived objects More...
unsigned char m_use_preview_mesh


class CRhinoDoc
class CRhinoLightTable
class CRhLightGrips
class ON_ClassArray< CRhinoLight >

Additional Inherited Members

- Public Types inherited from CRhinoObject
  unknown_object_type = ON::object_type::unknown_object_type, point_object = ON::object_type::point_object, pointset_object = ON::object_type::pointset_object, curve_object = ON::object_type::curve_object,
  surface_object = ON::object_type::surface_object, polysrf_object = ON::object_type::polysrf_filter, edge_object = ON::object_type::edge_filter, polyedge_object = ON::object_type::polyedge_filter,
  loop_object = ON::object_type::loop_object, brepvertex_filter = ON::object_type::brepvertex_filter, mesh_object = ON::object_type::mesh_object, annotation_object = ON::object_type::annotation_object,
  light_object = ON::object_type::light_object, instance_reference = ON::object_type::instance_reference, grip_object = ON::object_type::grip_object, morph_control_object = ON::object_type::morph_control_object,
  subd_object = ON::object_type::subd_object, meshvertex_filter = ON::object_type::meshvertex_filter, meshedge_filter = ON::object_type::meshedge_filter, meshface_filter = ON::object_type::meshface_filter,
  meshcomponent_reference = ON::object_type::meshcomponent_reference, cage_object = ON::object_type::cage_object, hatch_object = ON::object_type::hatch_object, phantom_object = ON::object_type::phantom_object,
  extrusion_object = ON::object_type::extrusion_object, any_object = ON::object_type::any_object
- 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
- Static Public Member Functions inherited from CRhinoObject
static const CRhinoObjectFromId (unsigned int rhino_doc_runtime_serial_number, ON_UUID rhino_object_id)
static const CRhinoObjectFromRuntimeSerialNumber (unsigned int rhino_doc_runtime_serial_number, unsigned int rhino_object_runtime_serial_number)
static unsigned int NextRuntimeObjectSerialNumber ()
- Static Public Attributes inherited from CRhinoObject
static int m_no_show_mark
- Protected Member Functions inherited from CRhinoObject
void Destroy ()
virtual bool InternalVirtual_IsSelectable (bool bIgnoreSelectionState, bool bIgnoreGripsState, bool bIgnoreLocking, bool bIgnoreVisibility) const
virtual bool IsSelectableWithGripsOn () const
 true if can be selected while grips are on More...
virtual int SubObjectsAreHighlighted () const
 returns number of highlighted subobjects More...
virtual int SubObjectsAreSelected () const
 returns number of selected subobjects More...
- Protected Attributes inherited from CRhinoObject
ON_BoundingBox m_bbox
 world coordinate bounding box More...
unsigned char m_geomem_type
const CRhinoHistoryRecordm_history_record

Detailed Description

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


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

Member Function Documentation

◆ BoundingBox() [1/2]

ON_BoundingBox CRhinoLight::BoundingBox ( ) const

Description: Gets 3d axis aligned bounding box that contains the object.

Returns: 3d bounding box

Remarks: The default implementation uses m_geometry->BoundingBox(), lazy evaluation, and caches the result in m_bbox.
If you override this function, then you must set m_bbox.

Reimplemented from CRhinoObject.

◆ BoundingBox() [2/2]

ON_BoundingBox CRhinoLight::BoundingBox ( const CRhinoViewport pViewport) const

◆ DeleteDynamicLightLocation()

void CRhinoLight::DeleteDynamicLightLocation ( )

Description: Delete the dynamic light.

◆ Draw()

void CRhinoLight::Draw ( CRhinoDisplayPipeline ) const

virtual CRhinoObject::Draw override

Reimplemented from CRhinoObject.

◆ EnableGrips()

void CRhinoLight::EnableGrips ( bool  bGripsOn)

virtual CRhinoObject::EnableGrips override

Reimplemented from CRhinoObject.

◆ GetDynamicLightLocation()

bool CRhinoLight::GetDynamicLightLocation ( ON_Light light) const

Description: Get the location of a light that is being dynamically edited by grip dragging or a transformation command. Properties: light - [out] Returns: True if the light is being edited and its location is available. False if light is not being edited, in which case the fixed location is returned.

◆ IsDeleted()

BOOL CRhinoLight::IsDeleted ( ) const

◆ IsReference()

BOOL CRhinoLight::IsReference ( ) const

◆ Light()

const ON_Light& CRhinoLight::Light ( ) const

All CRhinoLights are in CRhinoDoc::m_light_table[]. Use CRhinoLightTable::AddLight() to add new lights to the document and CRhinoLightTable::ModifyLight() to change light settings. Use CRhinoObject::ModifyAttributes to change CRhinoLight attributes like layer, etc.

◆ LightIndex()

int CRhinoLight::LightIndex ( ) const

◆ MemoryRelocate()

void CRhinoLight::MemoryRelocate ( )

virtual ON_Object override

Reimplemented from ON_Object.

◆ ObjectType()

ON::object_type CRhinoLight::ObjectType ( ) const

Returns: CRhinoLight returns ON::light_object.

Implements CRhinoObject.

◆ Pick()

int CRhinoLight::Pick ( const CRhinoPickContext ,
) const

virtual CRhinoObject::Pick override

Reimplemented from CRhinoObject.

◆ SetDynamicLightLocation()

bool CRhinoLight::SetDynamicLightLocation ( const ON_Light light)

Description: Set the location of a light that is being dynamically edited by grip dragging or a transformation command. Properties: light - [out] Returns: True if the light is a valid setting for a dynamic light.

◆ ShortDescription()

const wchar_t* CRhinoLight::ShortDescription ( bool  bPlural) const

virtual CRhinoObject::ShortDescription override

Implements CRhinoObject.

◆ SnapTo()

bool CRhinoLight::SnapTo ( const CRhinoSnapContext snap_context,
CRhinoSnapEvent snap_event 
) const

virtual CRhinoObject::SnapTo override

Reimplemented from CRhinoObject.

Friends And Related Function Documentation

◆ CRhinoDoc

friend class CRhinoDoc

◆ CRhinoLightTable

friend class CRhinoLightTable

◆ CRhLightGrips

friend class CRhLightGrips

◆ ON_ClassArray< CRhinoLight >

friend class ON_ClassArray< CRhinoLight >

Member Data Documentation

◆ m_remap_index

int CRhinoLight::m_remap_index

runtime index used when remapping lights for import/export

◆ m_sort_index

int CRhinoLight::m_sort_index

runtime index used to determine how lights are sorted in light dialig