Rhino C++ API  8.13
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
ON_HLD_Object Class Referenceabstract

#include <opennurbs_plus_hiddenline.h>

Public Member Functions

virtual void DestroyRuntimeCache (bool bDelete)=0
 
void EnableOccludingSection (bool bEnable=true)
 
virtual const ON_GeometryGeometry () const =0
 
const ON_XformGetXform () const
 
bool OccludingSectionOption () const
 
ON_HLD_Objectoperator= (const ON_HLD_Object &)=default
 
bool SelectiveClippingOption () const
 
bool UseXform () const
 

Public Attributes

ON__UINT_PTR m_obj_id = 0
 
ON_UUID m_obj_UUID = ON_nil_uuid
 

Protected Member Functions

 ON_HLD_Object ()=default
 
 ON_HLD_Object (const ON_HLD_Object &)=delete
 
virtual ~ON_HLD_Object ()
 
void EnableSelectiveClipping (bool bEnable)
 This function is only called by This function is only called by ON_HiddenLineDrawingImplBase::SetSelectiveClipping() More...
 

Protected Attributes

ON_SimpleArray< bool > m_Active_Clip
 
bool m_bOccludingSections = false
 If true clip sections occlude. More...
 
bool m_bSelectiveClipping = false
 If true clip sections o. More...
 
bool m_bUseXform = false
 if true use xform. This allows a simple test instead always testing for th More...
 
void * m_Reserved = nullptr
 
ON_Xform m_xform
 the xform is applied to the geometry, *geom, before it is located in the 3d world coordinates of the scene More...
 

Friends

class ON_HiddenLineDrawingImplBase
 refers to m_Clip[cpi] More...
 
class TL_HiddenLineDrawingImpl
 

Constructor & Destructor Documentation

◆ ON_HLD_Object() [1/2]

ON_HLD_Object::ON_HLD_Object ( )
protecteddefault

◆ ON_HLD_Object() [2/2]

ON_HLD_Object::ON_HLD_Object ( const ON_HLD_Object )
protecteddelete

◆ ~ON_HLD_Object()

virtual ON_HLD_Object::~ON_HLD_Object ( )
inlineprotectedvirtual

Member Function Documentation

◆ DestroyRuntimeCache()

virtual void ON_HLD_Object::DestroyRuntimeCache ( bool  bDelete)
pure virtual

◆ EnableOccludingSection()

void ON_HLD_Object::EnableOccludingSection ( bool  bEnable = true)

Description: Enable Occluding Sections option for this object Parameters: bEnable - true enables Occluding Sections option, false disables

◆ EnableSelectiveClipping()

void ON_HLD_Object::EnableSelectiveClipping ( bool  bEnable)
protected

This function is only called by This function is only called by ON_HiddenLineDrawingImplBase::SetSelectiveClipping()

◆ Geometry()

virtual const ON_Geometry* ON_HLD_Object::Geometry ( ) const
pure virtual

Geometry() is in world coordinates if UseXform() is false, otherwise geometry is in object space coordinates (see GetXform() below).

◆ GetXform()

const ON_Xform& ON_HLD_Object::GetXform ( ) const

Description GetXform returns the mapping from object space to world coordinates. If UseXform() is false then GetXform() returns the identity transform.

◆ OccludingSectionOption()

bool ON_HLD_Object::OccludingSectionOption ( ) const

Returns true iff the OccludingSectionOption is enabled.

◆ operator=()

ON_HLD_Object& ON_HLD_Object::operator= ( const ON_HLD_Object )
default

◆ SelectiveClippingOption()

bool ON_HLD_Object::SelectiveClippingOption ( ) const

◆ UseXform()

bool ON_HLD_Object::UseXform ( ) const

Description Returns true if there is an xform that must be applied to transform geom into the world coordinate system

Friends And Related Function Documentation

◆ ON_HiddenLineDrawingImplBase

friend class ON_HiddenLineDrawingImplBase
friend

refers to m_Clip[cpi]

◆ TL_HiddenLineDrawingImpl

friend class TL_HiddenLineDrawingImpl
friend

Member Data Documentation

◆ m_Active_Clip

ON_SimpleArray<bool> ON_HLD_Object::m_Active_Clip
protected

When Selective Clipping is enabled Active_Clip[cpi]

◆ m_bOccludingSections

bool ON_HLD_Object::m_bOccludingSections = false
protected

If true clip sections occlude.

◆ m_bSelectiveClipping

bool ON_HLD_Object::m_bSelectiveClipping = false
protected

If true clip sections o.

◆ m_bUseXform

bool ON_HLD_Object::m_bUseXform = false
protected

if true use xform. This allows a simple test instead always testing for th

◆ m_obj_id

ON__UINT_PTR ON_HLD_Object::m_obj_id = 0

◆ m_obj_UUID

ON_UUID ON_HLD_Object::m_obj_UUID = ON_nil_uuid

These user specified identifiers are available for the caller to identify the source of objects in the hidden line drawing. These fields are not used by the ON_HiddenLineDrawing class.

◆ m_Reserved

void* ON_HLD_Object::m_Reserved = nullptr
protected

◆ m_xform

ON_Xform ON_HLD_Object::m_xform
protected

the xform is applied to the geometry, *geom, before it is located in the 3d world coordinates of the scene