13 #ifndef _HUTILITYGEOMHANDLE_H
14 #define _HUTILITYGEOMHANDLE_H
22 #include "HUtilityAnnotation.h"
23 #include "hic_types.h"
62 static void RegisterCallbacks();
70 virtual HC_KEY Insert(
HPoint position,
bool edges =
false,
int level = 4);
75 virtual void SetupGeomHandleSegment(
bool edges);
89 virtual void ConstrainToViewplane(
HC_KEY handlekey,
HBaseView *view = 0);
130 virtual void ShowBasePosition(
HC_KEY handlekey,
HPoint &bp);
136 virtual void GetConstraintParameters(
HC_KEY handlekey);
142 void Rotate(
HC_KEY handlekey,
float rotangle);
150 virtual float CalculatePlaneZ(
HC_KEY handlekey,
HPoint point);
170 virtual void CalculatePositionOnPlane(
HC_KEY handlekey,
HPoint &p,
float a,
float b,
float c,
float d);
191 virtual void AdjustPositionToPlane(
HC_KEY handlekey,
HPoint &p,
float a,
float b,
float c,
float d,
HC_KEY camerakey);
204 static bool ContainsGeomHandles(
HC_KEY key);
224 virtual void ShowHandle(HC_KEY handlekey,
float sf = 0.7f,
HBaseView *view = 0);
230 virtual void ResetHandle(HC_KEY handlekey,
float scale = 0.5f,
HBaseView *view = 0);
238 virtual void Scale(HC_KEY handlekey,
float scalex,
float scaley,
float scalez);
243 virtual void TurnOff(HC_KEY handlekey);
255 static void ClearAllHandles(
HBaseView *view);
272 static HC_KEY SelectObject(
HBaseView *view,
HPoint pos, HC_KEY oldkey,
bool exclude,
float proximity=0.3);
279 static void SetupObject(HC_KEY key,
HBaseView *view,
float boxzoom = 1.0f);
287 static void SetupTextObject(HC_KEY key,
HBaseView *view,
float boxzoom = 1.0f,
float scale = 1.0f);
293 static void SetupCuttingPlane(HC_KEY key,
HBaseView *view);
307 static HC_KEY SetupManipulator(HC_KEY startkey,
HBaseView *view,
HPoint *mp,
bool AddNonUniformScale =
true,
bool AddScale =
true,
bool AddPlane =
true,
bool AddAxismove =
true,
bool AddAxisrotate =
true,
bool AddViewplaneMove =
true);
313 static void SetupCuttingPlaneManipulator(HC_KEY startkey,
HBaseView *view,
HPoint *midpoint = 0,
bool omit_rotate =
false);
319 static HC_KEY GetMMSegment(HC_KEY handlekey);
325 static void GetCenterPoint(HC_KEY objectkey,
HPoint ¢erpoint);
331 static void SetVisibilityForAll(HC_KEY startkey,
const char *visibility);
334 static void drawTriangleCallback (HIC_Rendition *rendition, HIC_DC_Point *p);
336 static void FindTranslation(HC_KEY handlekey,
HPoint &trans);
337 static int GetMMLevel(HC_KEY handlekey);
HConstrainType GetConstraintType(HC_KEY handlekey)
Definition: HUtilityGeomHandle.h:218
Constrain to specific rotation vector.
Definition: HUtilityGeomHandle.h:36
virtual HPoint * GetRotationAxis(HC_KEY handlekey)
Definition: HUtilityGeomHandle.h:250
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
Constrain to plane.
Definition: HUtilityGeomHandle.h:37
No constraint.
Definition: HUtilityGeomHandle.h:34
Constrain to on/off by click.
Definition: HUtilityGeomHandle.h:40
Constrain to Scale factor.
Definition: HUtilityGeomHandle.h:39
Constrain to ray given by two points.
Definition: HUtilityGeomHandle.h:35
The HUtilityGeomHandle class contains a set of functions which controls the creation and manipulation...
Definition: HUtilityGeomHandle.h:54
HConstrainType
Definition: HUtilityGeomHandle.h:32
Constrain to viewplane.
Definition: HUtilityGeomHandle.h:38