Rhino C++ API  9.0
Public Member Functions | Public Attributes | List of all members
CRhinoGumballDisplayConduit Class Reference

#include <rhinoSdkGumball.h>

Inheritance diagram for CRhinoGumballDisplayConduit:
CRhinoDisplayConduit

Public Member Functions

 CRhinoGumballDisplayConduit (ON::active_space, CSupportChannels channel_mask=CSupportChannels::SC_CALCBOUNDINGBOX|CSupportChannels::SC_DRAWOVERLAY)
 
virtual ~CRhinoGumballDisplayConduit ()
 
const CRhinoGumball & BaseGumball () const
 
void CheckShiftAndControlKeys ()
 
void DisableAndDestroy ()
 
const ON_Line & DragLine () const
 
void EnableGumballDraw (bool bEnable)
 
bool ExecConduit (CRhinoDisplayPipeline &pipeline, UINT channel, bool &terminate)
 override of virtual CRhinoDisplayConduit function More...
 
const CRhinoGumball & Gumball () const
 
bool GumballDrawIsEnabled () const
 
const ON_Xform & GumballTransform () const
 
bool PickGumball (const CRhinoPickContext &pick_context, CRhinoGetPoint *gp)
 
const ON_Xform & PreTransform () const
 
bool PreTransformIsIdentity () const
 
bool RelocateBaseGumball (const CRhinoGumballFrame &base_gbframe)
 
bool SetBaseGumball (const CRhinoGumball &gumball)
 
bool SetPreTransform (const ON_Xform &xform0)
 
const ON_Xform & TotalTransform () const
 The total transformation is GumballTransform()*PreTransformation(). More...
 
bool UpdateGumball (const CRhinoGumballFrame &gbframe)
 
bool UpdateGumball (ON_3dPoint point, ON_Line world_line)
 
void UpdateRhinoStatusBar () const
 updates Rhion status bar based on current gumball location. More...
 
- Public Member Functions inherited from CRhinoDisplayConduit
 CRhinoDisplayConduit (CSupportChannels channel_mask)
 
 CRhinoDisplayConduit (CSupportChannels channel_mask, bool enable)
 
virtual ~CRhinoDisplayConduit ()
 
bool Bind (const CRhinoDisplayPipeline &pipeline)
 Binding methods... More...
 
bool Bind (const CRhinoView &view)
 See: bool CRhinoDisplayConduit::Bind(const CRhinoDisplayPipeline& pipeline);. More...
 
bool Bind (const CRhinoViewport &viewport)
 See: bool CRhinoDisplayConduit::Bind(const CRhinoDisplayPipeline& pipeline);. More...
 
bool Bind (const ON_Viewport &viewport)
 See: bool CRhinoDisplayConduit::Bind(const CRhinoDisplayPipeline& pipeline);. More...
 
void BindExclusive (const ON_Viewport &viewport, bool drawDocument)
 
int BindingCount () const
 
bool BindingsExist () const
 
bool ChannelSupported (UINT channel) const
 Attributes... More...
 
bool ConstantBinding () const
 
void Disable ()
 
class CRhinoDoc * Document () const
 
unsigned int DocumentSerialNumber () const
 
void Enable ()
 
void Enable (unsigned int docSerialNumber)
 
void EnableConstantBinding (bool enable=true)
 
unsigned int GetGeometryFilter () const
 
ON_UuidList GetObjectFilter () const
 
void GetSelectedFilter (bool &on, bool &checkSubObjects) const
 
bool InterestedInObject (const CRhinoObject *) const
 
bool IsBound (const CRhinoDisplayPipeline &pipeline, bool ignore_state=false) const
 
bool IsBound (const CRhinoView &view, bool ignore_state=false) const
 See: CRhinoDisplayConduit::IsBound( const CRhinoDisplayPipeline& pipeline, bool ignore_state = false) const;. More...
 
bool IsBound (const CRhinoViewport &viewport, bool ignore_state=false) const
 See: CRhinoDisplayConduit::IsBound( const CRhinoDisplayPipeline& pipeline, bool ignore_state = false) const;. More...
 
bool IsBound (const ON_Viewport &viewport, bool ignore_state=false) const
 See: CRhinoDisplayConduit::IsBound( const CRhinoDisplayPipeline& pipeline, bool ignore_state = false) const;. More...
 
bool IsEnabled () const
 
bool IsEnabled (unsigned int docSerialNumber) const
 
bool IsExclusivelyBound (bool *drawDocument) const
 
virtual void NotifyConduit (EConduitNotifiers notification_event, CRhinoDisplayPipeline &pipeline)
 Notifications... More...
 
class CRhinoPageView * PageView () const
 
unsigned int PageViewSerialNumber () const
 
bool ReplaceBinding (const CRhinoDisplayPipeline &old_pipeline, const CRhinoDisplayPipeline &new_pipeline)
 
bool ReplaceBinding (const CRhinoView &old_view, const CRhinoView &new_view)
 See: bool CRhinoDisplayConduit::ReplaceBinding(const CRhinoDisplayPipeline& old_pipeline, const CRhinoDisplayPipeline& new_pipeline);. More...
 
bool ReplaceBinding (const CRhinoViewport &old_viewport, const CRhinoViewport &new_viewport)
 See: bool CRhinoDisplayConduit::ReplaceBinding(const CRhinoDisplayPipeline& old_pipeline, const CRhinoDisplayPipeline& new_pipeline);. More...
 
bool ReplaceBinding (const ON_Viewport &old_viewport, const ON_Viewport &new_viewport)
 See: bool CRhinoDisplayConduit::ReplaceBinding(const CRhinoDisplayPipeline& old_pipeline, const CRhinoDisplayPipeline& new_pipeline);. More...
 
void SetGeometryFilter (unsigned int geometry_filter)
 
void SetObjectFilter (const ON_SimpleArray< ON_UUID > &objectIds)
 
void SetObjectFilter (ON_UUID objectId)
 
void SetSelectedFilter (bool on, bool checkSubObjects)
 
bool ToggleBinding (const CRhinoDisplayPipeline &pipeline)
 
bool ToggleBinding (const CRhinoView &view)
 See: bool CRhinoDisplayConduit::ToggleBinding(const CRhinoDisplayPipeline& pipeline);. More...
 
bool ToggleBinding (const CRhinoViewport &viewport)
 See: bool CRhinoDisplayConduit::ToggleBinding(const CRhinoDisplayPipeline& pipeline);. More...
 
bool ToggleBinding (const ON_Viewport &viewport)
 See: bool CRhinoDisplayConduit::ToggleBinding(const CRhinoDisplayPipeline& pipeline);. More...
 
bool Unbind (const CRhinoDisplayPipeline &pipeline)
 
bool Unbind (const CRhinoView &view)
 See: bool CRhinoDisplayConduit::Unbind(const CRhinoDisplayPipeline& pipeline);. More...
 
bool Unbind (const CRhinoViewport &viewport)
 See: bool CRhinoDisplayConduit::Unbind(const CRhinoDisplayPipeline& pipeline);. More...
 
bool Unbind (const ON_Viewport &viewport)
 See: bool CRhinoDisplayConduit::Unbind(const CRhinoDisplayPipeline& pipeline);. More...
 
void UnbindAll ()
 
class CRhinoView * View () const
 
class CRhinoViewport * Viewport () const
 
unsigned int ViewportSerialNumber () const
 
unsigned int ViewSerialNumber () const
 

Public Attributes

CRhinoGumballDragSettings m_drag_settings
 gumball relocation and snapping More...
 
CRhinoGumballPickResult m_pick_result
 The initial mouse down event sets m_pick_result. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CRhinoDisplayConduit
static CRhinoDisplayConduit * FromRuntimeSerialNumber (unsigned int display_conduit_sn)
 
static bool IsValidDisplayConduitPointer (const void *display_conduit)
 
static bool IsValidDisplayConduitReference (const CRhinoDisplayConduit &display_conduit)
 
static unsigned int RuntimeSerialNumber (const CRhinoDisplayConduit *conduit)
 
- Protected Attributes inherited from CRhinoDisplayConduit
const CSupportChannels m_Channels
 The channels that this class was constructed with. More...
 
class CChannelAttributes * m_pChannelAttrs = nullptr
 
CDisplayPipelineAttributes * m_pDisplayAttrs = nullptr
 
unsigned int m_rhino_doc_sn = 0
 
unsigned int m_rhino_view_sn = 0
 
unsigned int m_rhino_viewport_sn = 0
 

Constructor & Destructor Documentation

◆ CRhinoGumballDisplayConduit()

CRhinoGumballDisplayConduit::CRhinoGumballDisplayConduit ( ON::active_space  ,
CSupportChannels  channel_mask = CSupportChannels::SC_CALCBOUNDINGBOX|CSupportChannels::SC_DRAWOVERLAY 
)

◆ ~CRhinoGumballDisplayConduit()

virtual CRhinoGumballDisplayConduit::~CRhinoGumballDisplayConduit ( )
virtual

Member Function Documentation

◆ BaseGumball()

const CRhinoGumball& CRhinoGumballDisplayConduit::BaseGumball ( ) const

◆ CheckShiftAndControlKeys()

void CRhinoGumballDisplayConduit::CheckShiftAndControlKeys ( )

◆ DisableAndDestroy()

void CRhinoGumballDisplayConduit::DisableAndDestroy ( )

Description: Completely disables this CRhinoGumballDisplayConduit and sets every field as if this CRhinoGumballDisplayConduit were just constructed. Use this function when you'd like to delete a CRhinoGumballDisplayConduit but you cannot because you are inside of ExecConduit or some other function.

◆ DragLine()

const ON_Line& CRhinoGumballDisplayConduit::DragLine ( ) const

◆ EnableGumballDraw()

void CRhinoGumballDisplayConduit::EnableGumballDraw ( bool  bEnable)

◆ ExecConduit()

bool CRhinoGumballDisplayConduit::ExecConduit ( CRhinoDisplayPipeline &  pipeline,
UINT  channel,
bool &  terminate 
)
virtual

override of virtual CRhinoDisplayConduit function

Implements CRhinoDisplayConduit.

◆ Gumball()

const CRhinoGumball& CRhinoGumballDisplayConduit::Gumball ( ) const

◆ GumballDrawIsEnabled()

bool CRhinoGumballDisplayConduit::GumballDrawIsEnabled ( ) const

◆ GumballTransform()

const ON_Xform& CRhinoGumballDisplayConduit::GumballTransform ( ) const

The gumball transformation is the transformation calculated by comparing the current m_gumball to to the starting m_base_gumball.

◆ PickGumball()

bool CRhinoGumballDisplayConduit::PickGumball ( const CRhinoPickContext &  pick_context,
CRhinoGetPoint *  gp 
)

Command helper functions void DrawDragLine(CRhinoDisplayPipeline& dp) const;

◆ PreTransform()

const ON_Xform& CRhinoGumballDisplayConduit::PreTransform ( ) const

◆ PreTransformIsIdentity()

bool CRhinoGumballDisplayConduit::PreTransformIsIdentity ( ) const

◆ RelocateBaseGumball()

bool CRhinoGumballDisplayConduit::RelocateBaseGumball ( const CRhinoGumballFrame &  base_gbframe)

◆ SetBaseGumball()

bool CRhinoGumballDisplayConduit::SetBaseGumball ( const CRhinoGumball &  gumball)

◆ SetPreTransform()

bool CRhinoGumballDisplayConduit::SetPreTransform ( const ON_Xform &  xform0)

The pre-transform is a transformation that needs to be applied before the gumball transformation.

◆ TotalTransform()

const ON_Xform& CRhinoGumballDisplayConduit::TotalTransform ( ) const

The total transformation is GumballTransform()*PreTransformation().

◆ UpdateGumball() [1/2]

bool CRhinoGumballDisplayConduit::UpdateGumball ( const CRhinoGumballFrame &  gbframe)

◆ UpdateGumball() [2/2]

bool CRhinoGumballDisplayConduit::UpdateGumball ( ON_3dPoint  point,
ON_Line  world_line 
)

Update location of m_gumball using point and world_line. The inputs are often determined my a mouse location. Also updates m_gumball_xform, m_total_xform and then calls the virtual UpdateCallback().

◆ UpdateRhinoStatusBar()

void CRhinoGumballDisplayConduit::UpdateRhinoStatusBar ( ) const

updates Rhion status bar based on current gumball location.

Member Data Documentation

◆ m_drag_settings

CRhinoGumballDragSettings CRhinoGumballDisplayConduit::m_drag_settings

gumball relocation and snapping

◆ m_pick_result

CRhinoGumballPickResult CRhinoGumballDisplayConduit::m_pick_result

The initial mouse down event sets m_pick_result.