Rhino C++ API  8.14
Public Member Functions | Public Attributes | List of all members
CRhGetSubCurvePoint Class Reference

#include <rhinoSdkGetSubCurve.h>

Inheritance diagram for CRhGetSubCurvePoint:
CRhinoGetPoint CRhinoGet

Public Member Functions

 CRhGetSubCurvePoint (CArgsRhinoGetSubCurve &)
 
 ~CRhGetSubCurvePoint ()
 
void DynamicDraw (CRhinoDisplayPipeline &dp, const ON_3dPoint &) override
 
bool GetLengthParameters (const double l, const double t0, const int direction, double &t_start, double &t_end)
 
void OnMouseMove (CRhinoViewport &, UINT nFlags, const ON_3dPoint &, const ON_2iPoint *) override
 
- Public Member Functions inherited from CRhinoGetPoint
 CRhinoGetPoint ()
 
 CRhinoGetPoint (const CRhinoGet &src)
 prompt and options copied More...
 
 CRhinoGetPoint (const CRhinoGetPoint &)=delete
 no implementation More...
 
virtual ~CRhinoGetPoint ()
 
int AddConstructionPoint (const ON_3dPoint &construction_point)
 
int AddSnapPoint (const ON_3dPoint &snap_point)
 
int AddSnapPoints (BOOL32 bRationalPoints, int point_count, int point_stride, const double *points)
 
int AddSnapPoints (int point_count, const ON_3dPoint *snap_points)
 
const CRhinoObjRefBaseObjRef () const
 
ON_3dPoint BasePoint () const
 
void ClearConstraints ()
 
void ClearConstructionPoints ()
 
void ClearLineConstraint ()
 
void ClearSnapPoints ()
 
bool ComplexPointInput () const
 
BOOL32 Constrain (const ON_Arc &)
 constrain point to lie on an arc More...
 
BOOL32 Constrain (const ON_Brep &, int wire_density=-1, int face_index=-1, bool bAllowPickingPointOffObject=false)
 
BOOL32 Constrain (const ON_BrepFace &, int wire_density=-1, bool bAllowPickingPointOffObject=false)
 
BOOL32 Constrain (const ON_Circle &)
 constrain point to lie on a circle More...
 
BOOL32 Constrain (const ON_Curve &, bool bAllowPickingPointOffObject=false)
 
BOOL32 Constrain (const ON_Cylinder &)
 constrain point to lie on a cylinder More...
 
BOOL32 Constrain (const ON_Line &, BOOL32 bTrackFromStart=true)
 constrain to a line More...
 
BOOL32 Constrain (const ON_Mesh &, bool bAllowPickingPointOffObject=false)
 
BOOL32 Constrain (const ON_Plane &, bool bAllowElevator=false)
 constrain point to lie on a plane More...
 
BOOL32 Constrain (const ON_Sphere &)
 constrain point to lie on a sphere More...
 
BOOL32 Constrain (const ON_Surface &, bool bAllowPickingPointOffObject=false)
 
BOOL32 Constrain (ON_3dPoint, ON_3dPoint)
 constrain to a line More...
 
void ConstrainDistanceFromBasePoint (double distance_from_basepoint)
 
bool Constrained () const
 
BOOL32 ConstrainEx (const ON_Mesh &, bool bAllowPickingPointOffObject=false, double dOffset=0.0)
 
BOOL32 ConstrainEx (const ON_SubD &, bool bAllowPickingPointOffObject=false, double dOffset=0.0)
 
BOOL32 ConstrainToConstructionPlane (BOOL32 bThroughBasePoint=true, BOOL32 bProjectOsnaps=false)
 
BOOL32 ConstrainToTargetPlane ()
 
BOOL32 ConstrainToVirtualCPlaneIntersection (const ON_Plane &)
 
HCURSOR CurrentCursor () const
 
void DrawLineFromPoint (ON_3dPoint start_point, BOOL32 bShowDistanceInStatusBar)
 
bool DrawsShadedMeshes () const
 
virtual void DynamicDraw (HDC, CRhinoViewport &, const ON_3dPoint &)
 
const ON_BoundingBoxDynamicDrawBounds () const
 
ON_Color DynamicDrawColor () const
 
void EnableCurveSnapArrow (BOOL32 bDrawDirectionArrowAtSnapPoint=true, BOOL32 bReverseArrow=false)
 
void EnableCurveSnapPerpBar (BOOL32 bDrawPerpBarAtSnapPoint=true, BOOL32 bDrawEndPoints=false)
 
void EnableCurveSnapTangentBar (BOOL32 bDrawTangentBarAtSnapPoint=true, BOOL32 bDrawEndPoints=false)
 
void EnableDrawLineFromPoint (BOOL32 bDrawLineFromPoint=true)
 
void EnableNoRedrawOnExit (bool bNoRedrawOnExit=true)
 
void EnableObjectSnapCursors (bool bEnableObjectSnapCursors=true)
 
void EnableOneShotOsnapHiddenOptions (bool bEnable)
 
void EnableOnObjectCursors (bool bEnableOnObjectCursors=true)
 
void EnableSnapToCurves (BOOL32=true)
 
CRhinoGet::result Get2dLine (CRhinoView *pView=NULL, const POINT *corner=NULL, BOOL32 bCentered=false, int pen_style=PS_SOLID, bool bClampToView=true)
 
CRhinoGet::result Get2dPoint (CRhinoView *pView=NULL, bool bOnMouseUp=false)
 
CRhinoGet::result Get2dRectangle (CRhinoView *pView=NULL, const POINT *corner=NULL, BOOL32 bCentered=false, int pen_style=PS_SOLID, bool bClampToView=true, const wchar_t *second_prompt=NULL)
 
int GetConstructionPoints (ON_SimpleArray< ON_3dPoint > &construction_points) const
 
BOOL32 GetPlanarConstraint (const CRhinoViewport *vp, ON_Plane &plane) const
 
CRhinoGet::result GetPoint (CRhinoHistory *history=nullptr, bool bOnMouseUp=false)
 
HCURSOR GetPointCursor () const
 
bool GetPointOnMouseUp () const
 true if getting point on mouse up event More...
 
int GetSnapPoints (ON_SimpleArray< ON_3dPoint > &snap_points) const
 
bool GetTabModeSettings (int *tab_mode=0, ON_Line *tab_mode_line=0)
 
bool GetView3dPoint (UINT nPointingDevice, CRhinoView &view, UINT_PTR nFlags, ON_3dPoint device_point, const ON_Line &world_line, ON_3dPoint &world_point)
 
BOOL32 HasBasePoint () const
 
BOOL32 InterruptMouseMove () const
 tool for use in More...
 
bool MouseMoved () const
 
bool NumberPreview (double *number=nullptr) const
 
virtual void OnMouseDown (CRhinoViewport &vp, UINT nFlags, const ON_3dPoint &point, const ON_2iPoint *view_wnd_point)
 
int OnViewMouseDown (CRhinoView &, int button, UINT nFlags, const ON_2iPoint &point, CRhinoViewport &vp)
 these functions are used by CRhinoView::OnMouseDown/Move/Up - pretend they don't exist More...
 
int OnViewMouseMove (CRhinoView &, int button, UINT nFlags, const ON_2iPoint &point, CRhinoViewport &vp)
 
int OnViewMouseUp (CRhinoView &, int button, UINT nFlags, const ON_2iPoint &point, CRhinoViewport &vp)
 
CRhinoGetPointoperator= (const CRhinoGetPoint &)=delete
 
bool OrthoSnap () const
 
bool OsnapOverideEnabled (CRhinoAppSettings::osnap_mode &mode) const
 
void PermitConstraintOptions (BOOL32 bPermitConstraintOptions=true)
 
void PermitElevatorMode (int permit_elevator_mode=1)
 
void PermitFromOption (BOOL32 bPermitFromOption=true)
 
void PermitObjectSnap (BOOL32 bPermitObjectSnap=true)
 
void PermitOrthoSnap (BOOL32 bPermitOrthoSnap=true)
 
void PermitTabMode (bool bPermitTabMode=true)
 
ON_3dPoint Point () const
 returns 3d point in world coordinates More...
 
const ON_BrepFacePointOnBrep (double *u, double *v) const
 
const ON_CurvePointOnCurve (double *t) const
 
const ON_BrepEdgePointOnEdge (double *edge_parameter, const ON_BrepTrim *&pTrim) const
 
BOOL32 PointOnObject (CRhinoObjRef &) const
 
const ON_SurfacePointOnSurface (double *u, double *v) const
 
void ProhibitObjectSnap (const CRhinoObject *object)
 
void SetBaseObjRef (const CRhinoObjRef &ref)
 
void SetBasePoint (ON_3dPoint basePoint, bool showDistanceInStatusBar=false)
 
void SetComplexPointInput (bool b)
 
void SetDrawsShadedMeshes (bool on)
 
void SetDynamicDrawBounds (const ON_BoundingBox &bbox)
 
void SetDynamicDrawColor (COLORREF color)
 
HCURSOR SetGetPointCursor (HCURSOR getpoint_cursor)
 
void SetNumberPreview (double number)
 
const CRhinoSnapEventSnapEvent () const
 
- Public Member Functions inherited from CRhinoGet
 CRhinoGet (TYPE)
 
 CRhinoGet (TYPE, const CRhinoGet &)
 
virtual ~CRhinoGet ()
 
void AcceptColor (BOOL32 b=true)
 
bool AcceptCustomWindowsMessage (UINT winmsg_id)
 
void AcceptNothing (BOOL32 b=true)
 
void AcceptNumber (bool b=true, bool bAcceptZero=true)
 
void AcceptPoint (BOOL32 b=true)
 
void AcceptString (BOOL32 b=true)
 
void AcceptUndo (BOOL32 b=true)
 call to allow user undo previous selection. More...
 
int AddCommandOption (CRhinoCommandOptionName option_name, CRhinoCommandOptionValue option_value=CRhinoCommandOptionValue(nullptr, nullptr), BOOL32 bHiddenOption=false)
 
int AddCommandOption (CRhinoCommandOptionName option_name, double number_value)
 
int AddCommandOption (CRhinoCommandOptionName option_name, int number_value)
 
int AddCommandOptionColor (CRhinoCommandOptionName option_name, ON_Color *color_value, const wchar_t *option_prompt=nullptr)
 
int AddCommandOptionInteger (CRhinoCommandOptionName option_name, int *integer_value, const wchar_t *option_prompt=nullptr, double lower_limit=ON_UNSET_VALUE, double upper_limit=ON_UNSET_VALUE)
 
int AddCommandOptionList (CRhinoCommandOptionName option_name, const ON_SimpleArray< CRhinoCommandOptionValue > &list_values, int list_current_index)
 
int AddCommandOptionList (CRhinoCommandOptionName option_name, int list_current_index, CRhinoCommandOptionValue list0_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list1_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list2_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list3_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list4_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list5_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list6_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list7_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list8_value=CRhinoCommandOptionValue(nullptr, nullptr), CRhinoCommandOptionValue list9_value=CRhinoCommandOptionValue(nullptr, nullptr))
 
int AddCommandOptionList (CRhinoCommandOptionName option_name, int list_values_count, const CRhinoCommandOptionValue *list_values, int list_current_index)
 
int AddCommandOptionNumber (CRhinoCommandOptionName option_name, double *number_value, const wchar_t *option_prompt=nullptr, BOOL32 bIntegerValue=false, double lower_limit=ON_UNSET_VALUE, double upper_limit=ON_UNSET_VALUE, int number_format=0)
 
int AddCommandOptionToggle (CRhinoCommandOptionName option_name, CRhinoCommandOptionValue option_off_value, CRhinoCommandOptionValue option_on_value, bool bToggleState, bool *bCurrentToggleState=nullptr)
 
int AddCommandOptionToggle (CRhinoCommandOptionName option_name, CRhinoCommandOptionValue option_off_value, CRhinoCommandOptionValue option_on_value, BOOL32 bToggleState, BOOL32 *bCurrentToggleState=nullptr)
 
void AddHiddenCommandOptionAlias (int option_index, const wchar_t *alias1, const wchar_t *alias2=nullptr, const wchar_t *alias3=nullptr, const wchar_t *alias4=nullptr)
 low level tool More...
 
void ClearCommandOptions ()
 Clear all command line options. More...
 
void ClearDefault ()
 
ON_Color Color () const
 Used to get color if Get*() returns CRhinoGet::color. More...
 
CRhinoCommand::result CommandResult () const
 
const ON_ColorDefaultColor () const
 
double DefaultNumber () const
 
unsigned int DocumentRuntimeSerialNumber () const
 
void EnableTransparentCommands (BOOL32 bEnableTransparentCommands)
 
BOOL32 GotDefault () const
 
bool In2dGet () const
 these functions are used by CRhinoView::OnMouseDown/Move/Up - pretend they don't exist More...
 
bool IsGetColor () const
 
bool IsGetMeshes () const
 
bool IsGetNumber () const
 
bool IsGetObject () const
 
bool IsGetOption () const
 
bool IsGetPoint () const
 
bool IsGetString () const
 
RH_LINE Line2d () const
 
double Number () const
 
const CRhinoCommandOptionOption () const
 
int OptionCount () const
 Get the number of available command line options. This information is useful when command flow depends on the existence of command line options. More...
 
int OptionCurrentListOptionIndex () const
 
int OptionIndex () const
 
CRhinoCommandOption::COMMAND_OPTION_TYPE OptionType () const
 
ON_4iRect PickRect () const
 
ON_3dPoint Point () const
 Used to get point if Get*() returns CRhinoGet::point. More...
 
ON_2iPoint Point2d () const
 
ON_4iRect Rectangle2d () const
 
CRhinoGet::result Result () const
 returns result of the Get*() call More...
 
unsigned int SerialNumber () const
 low level tool used to identify the get More...
 
void SetCommandPrompt (const wchar_t *prompt)
 
void SetCommandPromptDefault (const wchar_t *default_value)
 
void SetDefaultColor (ON_Color default_color)
 
void SetDefaultColor (ON_Color default_color, bool bUseAlpha)
 
void SetDefaultInteger (int default_integer)
 
void SetDefaultNumber (double default_number, const wchar_t *format=nullptr)
 
void SetDefaultPoint (ON_3dPoint default_point)
 
void SetDefaultString (const wchar_t *default_string)
 
void SetDocument (unsigned int rhino_doc_sn)
 
void SetOptionVaries (int option_index, bool bVaries)
 Set option that uses "option_name=value" format to show the value as "Varies". More...
 
void SetVector (const ON_3dVector &v)
 
void SetWaitDuration (double seconds)
 
const wchar_t * String () const
 
TYPE Type () const
 
ON_3dVector Vector () const
 
CRhinoViewView () const
 
MSG WindowsMessage () const
 
ON_3dPoint WorldPoint1 () const
 
ON_3dPoint WorldPoint2 () const
 

Public Attributes

CArgsRhinoGetSubCurvem_args
 Operating parameters, settings and defaults. More...
 
BOOL32 m_bHaveCurve
 Curve is calculated and can be drawn. More...
 
BOOL32 m_bIsClosed
 
BOOL32 m_bLastWasLong
 
BOOL32 m_bReverse
 
ON_Curvem_pC
 Working copy of the curve. More...
 
ON_3dPoint m_pt0
 
double m_t0
 
double m_t1
 
- Public Attributes inherited from CRhinoGet
class CRhGetSdkExtension * m__rhino_get_sdk_extension
 

Additional Inherited Members

- Public Types inherited from CRhinoGet
enum  result {
  no_result = 0, cancel = 1, nothing = 2, option,
  number, color, undo, miss,
  point, point2d, line2d, rect2d,
  object, string, winmsg, timeout,
  circle, plane, cylinder, sphere,
  angle, distance, direction, frame,
  number_preview, point_preview, user1 = 0xFFFFFFFF, user2 = 0xFFFFFFFE,
  user3 = 0xFFFFFFFD, user4 = 0xFFFFFFFC, user5 = 0xFFFFFFFB, exit_rhino = 0x0FFFFFFF
}
 
enum  TYPE {
  get_string = 1, get_point = 2, get_object = 3, get_meshes = 4,
  get_option = 5, get_number = 6, get_color = 7, force_32bit_enum = 0xFFFFFFFF
}
 
- Static Public Member Functions inherited from CRhinoGet
static BOOL32 IsValidOptionName (const wchar_t *option_name)
 
static BOOL32 IsValidOptionValueName (const wchar_t *option_value)
 
static void PostCustomWindowsMessage (UINT Msg, WPARAM wParam, LPARAM lParam)
 
- Protected Member Functions inherited from CRhinoGetPoint
ON_Plane GetCS (bool bWorldCoordinates, bool bRelativeCoordinates) override
 Helper used by IsAcceptableInput when parsing points. More...
 
bool InElevatorMode (ON_Line &elevator) const
 
- Protected Member Functions inherited from CRhinoGet
CRhinoGet::result AutoProcessOption ()
 
const CRhinoCommandOptionCommandOptionAtIndex (int option_index) const
 
int CommandOptionCount () const
 see source for comments More...
 
CRhinoGet::result IsAcceptableInput (const class CRhEventToken &, BOOL32 bAcceptNumber, BOOL32 *bUpdatedOptionValue, CRhinoHistory *history)
 
CRhinoGetoperator= (const CRhinoGet &)
 
void PreGet ()
 
void RemoveCommandOptions (int option_index)
 see source for comments More...
 
virtual void SetCommandWndPrompt () const
 
void SetOptionAccelerators ()
 
- Protected Attributes inherited from CRhinoGetPoint
ON_3dPointArray m_construction_points
 
ON_SimpleArray< ON_Linem_feedback_lines
 
ON_3dPointArray m_int_osnap_points
 
ON_3dPointArray m_point_osnap_points
 
ON_SimpleArray< ON_Linem_tracking_lines
 
- Protected Attributes inherited from CRhinoGet
bool m_2dClamp
 true to clamp 2d coordinates to window More...
 
int m_2dget_mode
 
int m_2dget_pen_style
 
ON_2iPoint m_2dget_point1
 first 2d rect corner-center / 2d line end More...
 
ON_2iPoint m_2dget_point2
 second 2d rect corner / 2d line end More...
 
ON_wString m_2dget_second_prompt
 
int m_2dget_step
 0 = none, 1 = get first point, 2 get second point, 3 = done More...
 
ON_3dPoint m_2dget_wpoint1
 first 3d world point input during 2d get point More...
 
ON_3dPoint m_2dget_wpoint2
 second 3d world point input during 2d get point More...
 
ON_2iPoint m_2dpoint
 2d window point (used by CRhinoGetPoint::Get2dPoint) More...
 
bool m_bAccept2dPoint
 2d screen point (used by CRhinoGet2dPoint) More...
 
BOOL32 m_bAcceptColor
 
BOOL32 m_bAcceptNothing
 
bool m_bAcceptNumber
 
bool m_bAcceptNumberZero
 
BOOL32 m_bAcceptPoint
 3d world point More...
 
BOOL32 m_bAcceptString
 
BOOL32 m_bAcceptString_0
 
BOOL32 m_bAcceptUndo
 
BOOL32 m_bEnableTransparentCommands
 
bool m_bGetPointOnMouseUp
 true if getting point on mouse up More...
 
ON_Color m_color
 
double m_number
 
CRhinoViewm_p2dPointView
 if not NULL, Get2dPoint()/Get2dRectangle() will use this view More...
 
ON_4iRect m_pick_rect
 
ON_3dPoint m_point
 3d world point More...
 
ON_wString m_prompt
 
ON_wString m_prompt_default
 
CRhinoGet::result m_result
 
unsigned int m_rhino_view_sn = 0
 
ON_wString m_string
 
const TYPE m_type
 
ON_3dVector m_vector
 3d world vector (from some digitizers) More...
 
UINT m_wait_duration
 milliseconds More...
 
ON_SimpleArray< UINT > m_winmsg_id_list
 

Detailed Description

GetPoint derived class This interactively gets the second subcurve point

Constructor & Destructor Documentation

◆ CRhGetSubCurvePoint()

CRhGetSubCurvePoint::CRhGetSubCurvePoint ( CArgsRhinoGetSubCurve )

◆ ~CRhGetSubCurvePoint()

CRhGetSubCurvePoint::~CRhGetSubCurvePoint ( )

Member Function Documentation

◆ DynamicDraw()

void CRhGetSubCurvePoint::DynamicDraw ( CRhinoDisplayPipeline ,
const ON_3dPoint  
)
overridevirtual

STEP 5a: Optional - override CRhinoGetPoint::DynamicDraw() if you want to dynamically draw things as the mouse/digitizer moves. Every time the mouse moves, DynamicDraw() will be called once per viewport. The calls to DynamicDraw() happen AFTER the call to OnMouseMove().

Use the CRhinoView::Draw* tools to draw things. Use Rhino::LayerColor(), etc., to get Rhino system colors.

If you are drawing anything that takes a long time, periodically call InterruptMouseMove() to see if you should stop.

If you override both OnMouseMove() and DynamicDraw(), then every time the mouse moves you will first get a single call to OnMouseMove() and then get a call to DynamicDraw() for each viewport.

If you override dynamic draw, you should call CRhinoGetPoint::DynamicDraw() at the end of your override.

Reimplemented from CRhinoGetPoint.

◆ GetLengthParameters()

bool CRhGetSubCurvePoint::GetLengthParameters ( const double  l,
const double  t0,
const int  direction,
double &  t_start,
double &  t_end 
)

◆ OnMouseMove()

void CRhGetSubCurvePoint::OnMouseMove ( CRhinoViewport vp,
UINT  nFlags,
const ON_3dPoint point,
const ON_2iPoint view_wnd_point 
)
overridevirtual

STEP 4: Optional - override CRhinoGetPoint::OnMouseMove() Description: If you want to be called every time the mouse moves, override this function. Parameters: vp - [in] active view nFlags - [in] standard windows OnMouseMove event flags point - [in] 3d world location ( May be uninitialized) view_wnd_point - [in] If the point is coming from a "mouse" pointing device, view_wnd_point is the CRhinoView window coordinates of mouse location. If the point is coming from a 3d digitizer pointing device, view_wnd_point is NULL. Remarks: CRhinoGetPoint::OnMouseMove is called once per mouse move and is called BEFORE any calls to CRhinoGetPoint::OnDynamicDraw. If you are doing anything that takes a long time, periodically call InterruptMouseMove() to see if you should stop. If the view is such that the 2d screen point can't be mapped to a 3d point, the 'point' argument will be ON_unset_point

Reimplemented from CRhinoGetPoint.

Member Data Documentation

◆ m_args

CArgsRhinoGetSubCurve& CRhGetSubCurvePoint::m_args

Operating parameters, settings and defaults.

◆ m_bHaveCurve

BOOL32 CRhGetSubCurvePoint::m_bHaveCurve

Curve is calculated and can be drawn.

◆ m_bIsClosed

BOOL32 CRhGetSubCurvePoint::m_bIsClosed

◆ m_bLastWasLong

BOOL32 CRhGetSubCurvePoint::m_bLastWasLong

◆ m_bReverse

BOOL32 CRhGetSubCurvePoint::m_bReverse

◆ m_pC

ON_Curve* CRhGetSubCurvePoint::m_pC

Working copy of the curve.

◆ m_pt0

ON_3dPoint CRhGetSubCurvePoint::m_pt0

◆ m_t0

double CRhGetSubCurvePoint::m_t0

◆ m_t1

double CRhGetSubCurvePoint::m_t1