Rhino C++ API  7.24
Classes | Public Member Functions | Friends | List of all members
CRhinoObjRef Class Reference

#include <rhinoSdkObject.h>

Inheritance diagram for CRhinoObjRef:
ON_ObjRef CRhinoMeshRef

Classes

class  CNestedIRef
 

Public Member Functions

 CRhinoObjRef ()
 
 CRhinoObjRef (class CRhinoPolyEdge *polyedge, ON_3dmObjectAttributes *attributes)
 
 CRhinoObjRef (const class CRhinoDoc &doc, class CRhinoPolyEdge *polyedge, const ON_3dmObjectAttributes *attributes)
 
 CRhinoObjRef (const CRhinoObject *object)
 
 CRhinoObjRef (const CRhinoObject *object, const class CRhinoGetObject &go)
 
 CRhinoObjRef (const CRhinoObject *object, const CRhinoPickContext &pick_context)
 
 CRhinoObjRef (const CRhinoObject *object, const ON_Geometry *geometry, BOOL bProxyGeometry)
 
 CRhinoObjRef (const CRhinoObjRef &)
 
 CRhinoObjRef (const ON_ObjRef &)
 
 CRhinoObjRef (const UUID &object_uuid)
 
 CRhinoObjRef (unsigned int doc_sn, const ON_ObjRef &)
 
 CRhinoObjRef (unsigned int doc_sn, const UUID &object_uuid)
 
 ~CRhinoObjRef ()
 
const ON_AnnotationAnnotation () const
 
const ON_AnnotationAnnotationParameter (double *annotation_parameter) const
 
bool BindToRuntimeObject ()
 
const ON_BrepBrep () const
 
const ON_CurveCurve () const
 
const ON_CurveCurveParameter (double *curve_parameter) const
 
void DecrementReferenceCount ()
 
unsigned int DocumentRuntimeSerialNumber () const
 
const ON_BrepEdgeEdge () const
 
const ON_BrepEdgeEdge (bool bAllowProxy) const
 
const ON_ExtrusionExtrusion () const
 
const ON_BrepFaceFace () const
 
const ON_BrepFaceFace (bool bAllowProxy) const
 
int Flags () const
 
const ON_GeometryGeometry () const
 
ON_COMPONENT_INDEX GeometryComponentIndex () const
 
CRhinoObject::GEOMETRY_TYPE GeometryType () const
 
const class CRhinoInstanceObjectGetInstanceTransformation (ON_Xform &xform, ON_SimpleArray< CNestedIRef > *nested_iref=0) const
 
bool IsSubGeometry () const
 
const ON_LightLight () const
 
const ON_BrepLoopLoop () const
 
const ON_MeshMesh () const
 
const ON_MeshComponentRefMeshComponentRef () const
 
const CRhinoObjectObject () const
 
ON_UUID ObjectUuid () const
 
bool operator!= (const CRhinoObjRef &) const
 
CRhinoObjRefoperator= (const CRhinoObjRef &)
 
bool operator== (const CRhinoObjRef &) const
 
const ON_PointPoint () const
 
const ON_PointCloudPointCloud () const
 
unsigned int RhinoObjectRuntimeSerialNumber () const
 
const ON_TextContentRichText () const
 
double SelectionDepth () const
 
double SelectionDistance () const
 
int SelectionMethod () const
 
bool SelectionPoint (ON_3dPoint &) const
 
int SelectionStyle () const
 
class CRhinoViewSelectionView () const
 
unsigned int SelectionViewDetailSerialNumber () const
 
void SetAnnotationSelectionPoint (ON_COMPONENT_INDEX component_index, const ON_3dPoint &point)
 
void SetCurveSelectionPoint (double curve_parameter, const ON_3dPoint &point)
 
void SetDetails (int flags, CRhinoObject::GEOMETRY_TYPE geotype, ON_COMPONENT_INDEX ci)
 
void SetEdgeSelectionPoint (double edge_parameter, const ON_3dPoint &point, const ON_BrepEdge &edge, const ON_BrepTrim &trim)
 
bool SetMeshEdgeSelectionPoint (int edge_index, double t, const ON_MeshTopology &meshtop)
 
bool SetMeshFaceSelectionPoint (int face_index, const double t[4], const ON_Mesh &mesh)
 
bool SetMeshVertexSelectionPoint (int vertex_index, const ON_Mesh &mesh)
 
bool SetParentInstanceObject (const class CRhinoInstanceObject *iref_object, int idef_geometry_index)
 
void SetSelectionComponent (ON_COMPONENT_INDEX component_index)
 
void SetSelectionDepth (double)
 
void SetSelectionDetailView (class CRhinoView *page_view, unsigned int detail_object_sn)
 
void SetSelectionDistance (double)
 
void SetSelectionPoint (const ON_3dPoint &point)
 
void SetSelectionView (class CRhinoView *)
 
void SetSurfaceSelectionPoint (double u, double v, const ON_3dPoint &point)
 
const ON_SubDSubD () const
 
const ON_SubDComponentPtr SubDComponent () const
 
const ON_SubDComponentRefSubDComponentRef () const
 
const ON_SubDEdgeSubDEdge () const
 
const ON_SubDComponentRef SubDEdgeRef () const
 
const ON_SubDFaceSubDFace () const
 
const ON_SubDComponentRef SubDFaceRef () const
 
ON_SubDRef SubDRef () const
 
const ON_SubDVertexSubDVertex () const
 
const ON_SubDComponentRef SubDVertexRef () const
 
const ON_SurfaceSurface () const
 
const ON_SurfaceSurfaceParameter (double *u, double *v) const
 
const ON_BrepTrimTrim () const
 
const ON_BrepTrimTrim (bool bAllowProxy) const
 
const ON_BrepTrimTrimParameter (double *trim_parameter) const
 
- Public Member Functions inherited from ON_ObjRef
 ON_ObjRef ()
 
 ON_ObjRef (const ON_ObjRef &src)
 
 ~ON_ObjRef ()
 
void DecrementProxyReferenceCount ()
 
void Destroy ()
 
ON_ObjRefoperator= (const ON_ObjRef &src)
 
const ON_ObjectProxyObject (int proxy_object_index) const
 
int ProxyReferenceCount () const
 
bool Read (ON_BinaryArchive &)
 
void RemapObjectId (const ON_SimpleArray< ON_UuidPair > &uuid_remap)
 
bool SetParentIRef (const ON_InstanceRef &iref, ON_UUID iref_id, int idef_geometry_index)
 
void SetProxy (ON_Object *proxy1, ON_Object *proxy2, bool bCountReferences)
 
bool Write (ON_BinaryArchive &) const
 

Friends

class CRhBrepDisplay
 for subobject picking More...
 
class CRhDropTargetManager
 For setting the pick flags during a drop operation. More...
 
class CRhinoBrepObject
 for shaded flag picking More...
 
class CRhinoDoc
 
class CRhinoExtrusionObject
 for shaded flag picking More...
 
class CRhinoInstanceObject
 for subobject picking More...
 
class CRhinoMeshObject
 for shaded flag picking More...
 
class CRhinoPointCloudObject
 for subobject picking More...
 
class CRhinoSubDObject
 for shaded flag picking More...
 

Additional Inherited Members

- Public Attributes inherited from ON_ObjRef
ON_SimpleArray< ON_ObjRef_IRefIDm__iref
 
ON_COMPONENT_INDEX m_component_index
 
ON_ObjRefEvaluationParameter m_evp
 
const ON_Geometrym_geometry
 
int m_geometry_type
 
ON::osnap_mode m_osnap_mode
 
const ON_Geometrym_parent_geometry
 
ON_3dPoint m_point
 
unsigned int m_runtime_sn
 
ON_UUID m_uuid
 

Detailed Description

CRhinoObjRef is used to store references to objects returned by CRhinoGetPoint and CRhinoGetObject

Constructor & Destructor Documentation

◆ CRhinoObjRef() [1/12]

CRhinoObjRef::CRhinoObjRef ( )

◆ CRhinoObjRef() [2/12]

CRhinoObjRef::CRhinoObjRef ( unsigned int  doc_sn,
const UUID &  object_uuid 
)
Parameters
doc_snDocument containing the object UUID
object_uuidobject UUID

◆ CRhinoObjRef() [3/12]

CRhinoObjRef::CRhinoObjRef ( const UUID &  object_uuid)
Deprecated:
Use the form that takes a document serial number and object Id
Parameters
object_uuidobject UUID

◆ CRhinoObjRef() [4/12]

CRhinoObjRef::CRhinoObjRef ( const CRhinoObject object)
Parameters
objectobject in doc

◆ CRhinoObjRef() [5/12]

CRhinoObjRef::CRhinoObjRef ( const CRhinoObject object,
const ON_Geometry geometry,
BOOL  bProxyGeometry 
)
Parameters
objectobject in doc
bProxyGeometrytrue if geometry is a proxy object that needs to be deleted

◆ CRhinoObjRef() [6/12]

CRhinoObjRef::CRhinoObjRef ( const CRhinoObject object,
const CRhinoPickContext pick_context 
)
Parameters
objectobject in doc

◆ CRhinoObjRef() [7/12]

CRhinoObjRef::CRhinoObjRef ( const CRhinoObject object,
const class CRhinoGetObject go 
)
Parameters
objectobject in doc

◆ CRhinoObjRef() [8/12]

CRhinoObjRef::CRhinoObjRef ( unsigned int  doc_sn,
const ON_ObjRef  
)
Parameters
doc_snDocument containing the object ON_ObjRef

◆ CRhinoObjRef() [9/12]

CRhinoObjRef::CRhinoObjRef ( const ON_ObjRef )
Deprecated:
Use the form that takes a document serial number and ON_ObjRef

◆ CRhinoObjRef() [10/12]

CRhinoObjRef::CRhinoObjRef ( const class CRhinoDoc doc,
class CRhinoPolyEdge polyedge,
const ON_3dmObjectAttributes attributes 
)

Creates an reference counted wrapper around the polyedge. When the last reference is destroyed, the polyedge is deleted. A CRhinoProxyObject is automatically created for the polyedge. Parameters: doc - [in] Document containing actual geometry objects in the polyedge. polyedge - [in]
This CRhinoPolyEdge class must be on the heap. The resulting objref will use reference counting and delete the polyedge when the last reference is deleted. attributes - [in]
If null, then CRhinoDoc::GetDefaultObjectAttributes() will be used to set the attributes on the CRhinoProxyObject().

◆ CRhinoObjRef() [11/12]

CRhinoObjRef::CRhinoObjRef ( class CRhinoPolyEdge polyedge,
ON_3dmObjectAttributes attributes 
)
Deprecated:
Use the form that takes a document serial number
Parameters
polyedgeobsolete version - attributes should be const

◆ ~CRhinoObjRef()

CRhinoObjRef::~CRhinoObjRef ( )

◆ CRhinoObjRef() [12/12]

CRhinoObjRef::CRhinoObjRef ( const CRhinoObjRef )

Member Function Documentation

◆ Annotation()

const ON_Annotation* CRhinoObjRef::Annotation ( ) const

Description: If the referenced geometry is some type of annotation, this returns the annotation. Returns: mesh or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ AnnotationParameter()

const ON_Annotation* CRhinoObjRef::AnnotationParameter ( double *  annotation_parameter) const

Description: If the reference geometry is an annotation with a selection point, then this gets the parameter of the selection point. Parameters: annotation_parameter - [out] If the selection point is on an annotation, then *annotation_parameter is the parameter of the selection point. Returns: If the selection point was on an annotation, a pointer to the annotation is returned. Remarks: If an annotation was selected and AnnotationParameter is called and the ObjectRef::SelectionMethod() is not 1 (point pick on object), the curve will be returned and curve_parameter will be set to 0. This can be misleading so it may be necessary to call SelectionMethod() first, before calling AnnotationParameter() to get the desired information. See Also: CRhinoObjRef::Annotation

◆ BindToRuntimeObject()

bool CRhinoObjRef::BindToRuntimeObject ( )

Description: Expert user tool to use the object UUID and component index to set m_object and m_geometry when they are NULL. Use DecrementReferenceCount() to unbind.

◆ Brep()

const ON_Brep* CRhinoObjRef::Brep ( ) const

Description: If the referenced geometry is a brep, a surface, or an edge, this returns the brep. Returns: brep or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType Remarks: Note that the brep may be a proxy brep from an extrusion or subds. This has been the case since 2010 for extrusions and always has happened for subds.

◆ Curve()

const ON_Curve* CRhinoObjRef::Curve ( ) const

Description: If the referenced geometry is a curve or edge, this returns the curve. Returns: curve or NULL. See Also: CRhinoObjectRef::Edge CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ CurveParameter()

const ON_Curve* CRhinoObjRef::CurveParameter ( double *  curve_parameter) const

Description: If the reference geometry is a curve or edge with a selection point, then this gets the parameter of the selection point. Parameters: curve_parameter - [out] If the selection point is on a curve or edge, then *curve_parametert is the parameter of the selection point. Returns: If the selection point was on a curve or edge, a pointer to the curve/edge is returned. Remarks: If a curve was selected and CurveParameter is called and the ObjectRef::SelectionMethod() is not 1 (point pick on object), the curve will be returned and curve_parameter will be set to the start parameter of the picked curve. This can be misleading so it may be necessary to call SelectionMethod() first, before calling CurveParameter() to get the desired information. See Also: CRhinoObjRef::Curve CRhinoObjRef::TrimParameter

◆ DecrementReferenceCount()

void CRhinoObjRef::DecrementReferenceCount ( )

Description: Expert user tool to decrement reference counts. Most users will never need to call this tool. It is called by ~CRhinoObjRef and used in rare cases when a CRhinoObjRef needs to reference an object only by UUID and component index.

◆ DocumentRuntimeSerialNumber()

unsigned int CRhinoObjRef::DocumentRuntimeSerialNumber ( ) const

Description: Returns the runtime document serial number for the document containing the referenced object. Returns: Returns the runtime document serial number for the document containing the referenced object.

◆ Edge() [1/2]

const ON_BrepEdge* CRhinoObjRef::Edge ( ) const

Description: If the referenced geometry is an edge, this returns the edge. Parameters: bAllowProxy - if true and the object is really a subd or extrusion, then a proxy will be returned when possible. The version with no parameter acts like bAllowProxy = false. Returns: edge or NULL. See Also: CRhinoObjectRef::Curve CRhinoObjectRef::Trim CRhinoObjectRef::Brep CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ Edge() [2/2]

const ON_BrepEdge* CRhinoObjRef::Edge ( bool  bAllowProxy) const

◆ Extrusion()

const ON_Extrusion* CRhinoObjRef::Extrusion ( ) const

Description: If the referenced geometry is a extrusion, this returns the extrusion. Returns: extrusion or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ Face() [1/2]

const ON_BrepFace* CRhinoObjRef::Face ( ) const

Description: If the referenced geometry is a brep face, a brep with one face, or an edge of a surface, this returns the brep face. Parameters: bAllowProxy - if true and the object is really a subd or extrusion, then a proxy will be returned when possible. The version with no parameter acts like bAllowProxy = false. Returns: surface or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ Face() [2/2]

const ON_BrepFace* CRhinoObjRef::Face ( bool  bAllowProxy) const

◆ Flags()

int CRhinoObjRef::Flags ( ) const

◆ Geometry()

const ON_Geometry* CRhinoObjRef::Geometry ( ) const

Description: Returns the referenced piece of geometry. This piece of geometry may be a sub-part of the parent object geometry.

In some cases, like when pieces of instance references are selected in CRhinoGetObject::GetObjects(), the CRhinoObjRef contains reference counted proxy geometry. You must keep at least one CRhinoObjRef in scope as long as you are using a pointer returned by Geometry(). After the destruction of the last CRhinoObjRef, the proxy geometry is deleted. At that time any pointers to the proxy geometry will be invalid. Example:

/ pReferencedGeometry may be a component of the pParentGeometry / For example, pParentGeometry may point to an ON_Brep and / pReferencedGeometry may point to an ON_BrepEdge in the brep. CRhinoObjRef objref = ...; const ON_Geometry* pReferencedGeometry = objref.Geometry(); const CRhinoObject* pParentObject = objref.Object(); const ON_Geometry* pParentGeometry = pParentObject->Geometry();

Returns: Pointer to the referenced piece of geometry. Remarks: CRhinoObjRef::Geometry is a low level utility function and, in general, it is more convenient to use GeometryType to determine the type of referenced geometry and the Point, Curve, ..., functions to get at the actual geometry. See Also: CRhinoObjRef::GeometryType CRhinoObjectRef::IsSubGeometry CRhinoObjRef::GeometryComponentIndex CRhinoObjectRef::Point CRhinoObjectRef::Curve CRhinoObjectRef::Surface CRhinoObjectRef::Edge CRhinoObjectRef::Trim CRhinoObjectRef::Face CRhinoObjectRef::Brep CRhinoObjectRef::Mesh

◆ GeometryComponentIndex()

ON_COMPONENT_INDEX CRhinoObjRef::GeometryComponentIndex ( ) const

Description: Get the component index of the referenced (sub) geometry. Returns: @untitled table -1 Top level object is referenced. >0 component index of the referenced sub-geometry. Remarks: Some objects have subobjects that are valid pieces of geometry. For example, breps have edges and faces that are valid curves and surfaces. Each subobject has a component index that is > 0. The parent geometry has a component index = -1. See Also: CRhinoObjRef::Geometry

◆ GeometryType()

CRhinoObject::GEOMETRY_TYPE CRhinoObjRef::GeometryType ( ) const

Description: Returns the type of referenced geometry. Returns: Type of referenced geometry. Remarks: The reference geometry may be a component of the parent object's geometry. So, the type returned by this function may be different than the type parent object's geometry. See Also: CRhinoObjRef::Geometry

◆ GetInstanceTransformation()

const class CRhinoInstanceObject* CRhinoObjRef::GetInstanceTransformation ( ON_Xform xform,
ON_SimpleArray< CNestedIRef > *  nested_iref = 0 
) const

Description: If the CRhinoObjRef geometry is in the list returned by RhinoGetRenderMeshes or RhinoGetAnalysisMeshes and a transformed version of a piece of geometry that is ultimately part of an instance definition, then this function returns that top level instance reference and the complete transformation that was applied to the piece of geometry. Parameters: xform - [out] transformation is returned here. nested_iref - [out] if not NULL a list of nested instance references is returned here. If there are no nested references the list is empty. The first item in the list is the non-nested instance. The last item in a multi-item list will be the penultimate instance reference. Returns: NULL if this geometry did not come from an instance definition. Pointer to the top level instance reference if the geometry did come from an instance definition. Example: Assume a CRhinoMeshObject M2 is the geometry for instance definition D1. CRhinoInstanceObject R1 is a reference to D1 and the geometry for instance definition D2. R2 is a reference to D2 and the geometry for instance definition D3. R3 is a reference to D3. Then CRhinoObjRef::Object() CRhinoObjRef::Object() would return a pointer to M2 and CRhinoObjRef::Geometry() would return a pointer to a mesh that is already transformed to be in the correct location. CRhinoObjRef::GetInstanceTransformation() would return a pointer to R3, xform would be the transformation that was used to move M2->Mesh() to the location of the returned mesh, and the and the nested_iref[] array would be (R2,R1). See Also: RhinoGetRenderMeshes RhinoGetAnalysisMeshes

◆ IsSubGeometry()

bool CRhinoObjRef::IsSubGeometry ( ) const

returns true if the selected piece of geometry is a proper sub-part of the parent object.

◆ Light()

const ON_Light* CRhinoObjRef::Light ( ) const

Description: If the referenced geometry is some type of render light, this returns the render light. Returns: mesh or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ Loop()

const ON_BrepLoop* CRhinoObjRef::Loop ( ) const

Description: If the referenced geometry is an edge of a surface, this returns the associated brep trim. Returns: loop or NULL. Remarks: The associated object is a CRhinoBrepObject. See Also: CRhinoObjectRef::Curve CRhinoObjectRef::Trim CRhinoObjectRef::Brep CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ Mesh()

const ON_Mesh* CRhinoObjRef::Mesh ( ) const

Description: If the referenced geometry is a mesh, mesh vertex, mesh edge, or mesh face, this returns the mesh. Returns: mesh or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ MeshComponentRef()

const ON_MeshComponentRef* CRhinoObjRef::MeshComponentRef ( ) const

Description: If the referenced geometry is a mesh vertex, face, edge or ngon this returns the mesh component reference. Returns: A mesh component reference or null if there isn't one.

◆ Object()

const CRhinoObject* CRhinoObjRef::Object ( ) const

Description: Returns the referenced Rhino object. Returns: Pointer to the referenced Rhino object. See Also: CRhinoObjRef::Geometry

◆ ObjectUuid()

ON_UUID CRhinoObjRef::ObjectUuid ( ) const

Description: Returns the id of the referenced Rhino object. Returns: Returns the id of the referenced Rhino object. See Also: CRhinoObjRef::Object

◆ operator!=()

bool CRhinoObjRef::operator!= ( const CRhinoObjRef ) const

Description: Determine if two CRhinoObjRefs refer to the same object. Returns: true if the object or geometry pointers are not equal.

◆ operator=()

CRhinoObjRef& CRhinoObjRef::operator= ( const CRhinoObjRef )

◆ operator==()

bool CRhinoObjRef::operator== ( const CRhinoObjRef ) const

Description: Determine if two CRhinoObjRefs refer to the same object. Returns: true if the object and object and geometry pointers are equal.

◆ Point()

const ON_Point* CRhinoObjRef::Point ( ) const

Description: If the referenced geometry is a point, this returns the point. Returns: point or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ PointCloud()

const ON_PointCloud* CRhinoObjRef::PointCloud ( ) const

Description: If the referenced geometry is a point cloud, this returns the point cloud. Returns: point or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ RhinoObjectRuntimeSerialNumber()

unsigned int CRhinoObjRef::RhinoObjectRuntimeSerialNumber ( ) const

◆ RichText()

const ON_TextContent* CRhinoObjRef::RichText ( ) const

Description: If the referenced geometry is ON_TextContent, this returns the text. Returns: Text or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ SelectionDepth()

double CRhinoObjRef::SelectionDepth ( ) const

Returns: Depth of selection point. -1 (far away) to 1 (near) or ON_UNSET_VALUE if not available.

◆ SelectionDistance()

double CRhinoObjRef::SelectionDistance ( ) const

Returns: Relative visual distance from pick point to the object. 0 (spot on) to 2 (outer corner of pick box) 0 is returned for objects that were not picked using a point pick.

◆ SelectionMethod()

int CRhinoObjRef::SelectionMethod ( ) const

Description: Get the method used to select this object. Returns: 0: selected by non-mouse method (SelAll, etc.) 1: selected by mouse click on the object 2: selected by being inside of a mouse window 3: selected by intersecting a mouse crossing window

◆ SelectionPoint()

bool CRhinoObjRef::SelectionPoint ( ON_3dPoint ) const

If the object was selected by picking a point on it, then SelectionPoint() returns true and the point where the selection occurred.

◆ SelectionStyle()

int CRhinoObjRef::SelectionStyle ( ) const

Returns: 0: not a shaded mode point pick 1: shaded mode point pick

◆ SelectionView()

class CRhinoView* CRhinoObjRef::SelectionView ( ) const

If the object was interactively selected in a particular viewport, then SelectionView() returns the view where the object was selected.

◆ SelectionViewDetailSerialNumber()

unsigned int CRhinoObjRef::SelectionViewDetailSerialNumber ( ) const

If the object was interactively selected in a page space detail view, then SelectionViewDetailSerialNumber() returns the CRhinoObject serial number of the detail view object. Use SelectionView() to get the page view that contains the detail view object. If SelectionViewDetailSerialNumber() returns 0, then the selection did not happen in a detail view.

◆ SetAnnotationSelectionPoint()

void CRhinoObjRef::SetAnnotationSelectionPoint ( ON_COMPONENT_INDEX  component_index,
const ON_3dPoint point 
)

Description: When an annotation is selected by picking a point on the annotation, SetAnnotationSelectionPoint is used to save the annotation parameter and location of the point. Parameters: component_index - [in] component index of snap point point - [in] Remarks: Use CRhinoObjRef::AnnotationParameter to get the location of the pick.

◆ SetCurveSelectionPoint()

void CRhinoObjRef::SetCurveSelectionPoint ( double  curve_parameter,
const ON_3dPoint point 
)

Description: When an curve is selected by picking a point on the curve, SetCurveSelectionPoint is used to save the curve parameter and location of the point. Parameters: curve_parameter - [in] curve parameter point - [in] Remarks: Use CRhinoObjRef::CurveParameter to get the location of the pick.

◆ SetDetails()

void CRhinoObjRef::SetDetails ( int  flags,
CRhinoObject::GEOMETRY_TYPE  geotype,
ON_COMPONENT_INDEX  ci 
)

◆ SetEdgeSelectionPoint()

void CRhinoObjRef::SetEdgeSelectionPoint ( double  edge_parameter,
const ON_3dPoint point,
const ON_BrepEdge edge,
const ON_BrepTrim trim 
)

Description: When a point is picked on the edge of a brep, SetEdgeSelectionPoint is used to save the edge parameter, trim parameter, and the location of the point. Parameters: edge_parameter - [in] edge parameter point - [in] edge - [in] trim - [in] Remarks: Use CRhinoObjRef::TrimParameter, CRhinoObjRef::CurveParameter, and CRhinoObjRef::SurfaceParameter to get the location of the pick.

◆ SetMeshEdgeSelectionPoint()

bool CRhinoObjRef::SetMeshEdgeSelectionPoint ( int  edge_index,
double  t,
const ON_MeshTopology meshtop 
)

◆ SetMeshFaceSelectionPoint()

bool CRhinoObjRef::SetMeshFaceSelectionPoint ( int  face_index,
const double  t[4],
const ON_Mesh mesh 
)

◆ SetMeshVertexSelectionPoint()

bool CRhinoObjRef::SetMeshVertexSelectionPoint ( int  vertex_index,
const ON_Mesh mesh 
)

◆ SetParentInstanceObject()

bool CRhinoObjRef::SetParentInstanceObject ( const class CRhinoInstanceObject iref_object,
int  idef_geometry_index 
)

◆ SetSelectionComponent()

void CRhinoObjRef::SetSelectionComponent ( ON_COMPONENT_INDEX  component_index)

Description: When an object is selected by picking a sub-object, SetSelectionComponent may be used to identify the sub-object. Parameters: component_index - [in] Remarks: Unconditionally sets the ON_ObjRef::m_component_index field.

◆ SetSelectionDepth()

void CRhinoObjRef::SetSelectionDepth ( double  )

◆ SetSelectionDetailView()

void CRhinoObjRef::SetSelectionDetailView ( class CRhinoView page_view,
unsigned int  detail_object_sn 
)

◆ SetSelectionDistance()

void CRhinoObjRef::SetSelectionDistance ( double  )

◆ SetSelectionPoint()

void CRhinoObjRef::SetSelectionPoint ( const ON_3dPoint point)

Description: When an object is selected by picking a point on the object, SetSelectionPoint is used to save the location of the point. Parameters: point - [in]

◆ SetSelectionView()

void CRhinoObjRef::SetSelectionView ( class CRhinoView )

◆ SetSurfaceSelectionPoint()

void CRhinoObjRef::SetSurfaceSelectionPoint ( double  u,
double  v,
const ON_3dPoint point 
)

Description: When an surface is selected by picking a point on the surface, SetSurfaceSelectionPoint is used to save the surface parameters and location of the point. Parameters: u - [in] first surface parameter v - [in] second surface parameter point - [in] Remarks: Use CRhinoObjRef::SurfaceParameter to get the location of the pick.

◆ SubD()

const ON_SubD* CRhinoObjRef::SubD ( ) const

Description: If the referenced geometry is a subd, this returns the subd. Returns: subd or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ SubDComponent()

const ON_SubDComponentPtr CRhinoObjRef::SubDComponent ( ) const

◆ SubDComponentRef()

const ON_SubDComponentRef* CRhinoObjRef::SubDComponentRef ( ) const

◆ SubDEdge()

const ON_SubDEdge* CRhinoObjRef::SubDEdge ( ) const

◆ SubDEdgeRef()

const ON_SubDComponentRef CRhinoObjRef::SubDEdgeRef ( ) const

◆ SubDFace()

const ON_SubDFace* CRhinoObjRef::SubDFace ( ) const

◆ SubDFaceRef()

const ON_SubDComponentRef CRhinoObjRef::SubDFaceRef ( ) const

◆ SubDRef()

ON_SubDRef CRhinoObjRef::SubDRef ( ) const

◆ SubDVertex()

const ON_SubDVertex* CRhinoObjRef::SubDVertex ( ) const

◆ SubDVertexRef()

const ON_SubDComponentRef CRhinoObjRef::SubDVertexRef ( ) const

◆ Surface()

const ON_Surface* CRhinoObjRef::Surface ( ) const

Description: If the referenced geometry is a surface, a brep with one face, or an edge of a surface, this returns the surface. Returns: surface or NULL. See Also: CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ SurfaceParameter()

const ON_Surface* CRhinoObjRef::SurfaceParameter ( double *  u,
double *  v 
) const

Description: If the reference geometry is a surface, brep with one face, or surface edge with a selection point, then this gets the surface parameters of the selection point. Parameters: u - [out] v - [out] If the selection point was on surface, then (*u,*v) are the parameters of the selection point. Returns: If the selection point was on a surface, the the surface is returned.

◆ Trim() [1/2]

const ON_BrepTrim* CRhinoObjRef::Trim ( ) const

Description: If the referenced geometry is an edge of a surface, this returns the associated brep trim. Parameters: bAllowProxy - if true and the object is really a subd or extrusion, then a proxy will be returned when possible. The version with no parameter acts like bAllowProxy = false. Returns: trim or NULL. Remarks: The associated object is a CRhinoBrepObject. See Also: CRhinoObjectRef::Curve CRhinoObjectRef::Trim CRhinoObjectRef::Brep CRhinoObjectRef::Geometry CRhinoObjectRef::GeometryType

◆ Trim() [2/2]

const ON_BrepTrim* CRhinoObjRef::Trim ( bool  bAllowProxy) const

◆ TrimParameter()

const ON_BrepTrim* CRhinoObjRef::TrimParameter ( double *  trim_parameter) const

Description: If the reference geometry is an edge of a surface, then this gets the trim parameter of the selection point. Parameters: trim_parameter - [out] If non-null pointer is returned, this is then trim_parameter is the parameter of the selection point. Returns: If the selection point was on the edge of a surface, a pointer to the associated trim is returned. See Also: CRhinoObjRef::CurveParameter

Friends And Related Function Documentation

◆ CRhBrepDisplay

friend class CRhBrepDisplay
friend

for subobject picking

◆ CRhDropTargetManager

friend class CRhDropTargetManager
friend

For setting the pick flags during a drop operation.

◆ CRhinoBrepObject

friend class CRhinoBrepObject
friend

for shaded flag picking

◆ CRhinoDoc

friend class CRhinoDoc
friend

◆ CRhinoExtrusionObject

friend class CRhinoExtrusionObject
friend

for shaded flag picking

◆ CRhinoInstanceObject

friend class CRhinoInstanceObject
friend

for subobject picking

◆ CRhinoMeshObject

friend class CRhinoMeshObject
friend

for shaded flag picking

◆ CRhinoPointCloudObject

friend class CRhinoPointCloudObject
friend

for subobject picking

◆ CRhinoSubDObject

friend class CRhinoSubDObject
friend

for shaded flag picking