18 #ifndef _HUTILITYGEOMHANDLE_H
19 #define _HUTILITYGEOMHANDLE_H
27 #include "HUtilityAnnotation.h"
28 #include "hic_types.h"
67 static void RegisterCallbacks();
75 virtual HC_KEY Insert(
HPoint position,
bool edges =
false,
int level = 4);
80 virtual void SetupGeomHandleSegment(
bool edges);
94 virtual void ConstrainToViewplane(
HC_KEY handlekey,
HBaseView *view = 0);
135 virtual void ShowBasePosition(
HC_KEY handlekey,
HPoint &bp);
141 virtual void GetConstraintParameters(
HC_KEY handlekey);
147 void Rotate(
HC_KEY handlekey,
float rotangle);
155 virtual float CalculatePlaneZ(
HC_KEY handlekey,
HPoint point);
175 virtual void CalculatePositionOnPlane(
HC_KEY handlekey,
HPoint &p,
float a,
float b,
float c,
float d);
196 virtual void AdjustPositionToPlane(
HC_KEY handlekey,
HPoint &p,
float a,
float b,
float c,
float d,
HC_KEY camerakey);
209 static bool ContainsGeomHandles(
HC_KEY key);
229 virtual void ShowHandle(HC_KEY handlekey,
float sf = 0.7f,
HBaseView *view = 0);
235 virtual void ResetHandle(HC_KEY handlekey,
float scale = 0.5f,
HBaseView *view = 0);
243 virtual void Scale(HC_KEY handlekey,
float scalex,
float scaley,
float scalez);
248 virtual void TurnOff(HC_KEY handlekey);
260 static void ClearAllHandles(
HBaseView *view);
277 static HC_KEY SelectObject(
HBaseView *view,
HPoint pos, HC_KEY oldkey,
bool exclude,
float proximity=0.3);
284 static void SetupObject(HC_KEY key,
HBaseView *view,
float boxzoom = 1.0f);
292 static void SetupTextObject(HC_KEY key,
HBaseView *view,
float boxzoom = 1.0f,
float scale = 1.0f);
298 static void SetupCuttingPlane(HC_KEY key,
HBaseView *view);
312 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);
318 static void SetupCuttingPlaneManipulator(HC_KEY startkey,
HBaseView *view,
HPoint *midpoint = 0,
bool omit_rotate =
false);
324 static HC_KEY GetMMSegment(HC_KEY handlekey);
330 static void GetCenterPoint(HC_KEY objectkey,
HPoint ¢erpoint);
336 static void SetVisibilityForAll(HC_KEY startkey,
const char *visibility);
339 static void drawTriangleCallback (HIC_Rendition *rendition, HIC_DC_Point *p);
341 static void FindTranslation(HC_KEY handlekey,
HPoint &trans);
342 static int GetMMLevel(HC_KEY handlekey);
HConstrainType GetConstraintType(HC_KEY handlekey)
Definition: HUtilityGeomHandle.h:223
Constrain to specific rotation vector.
Definition: HUtilityGeomHandle.h:41
virtual HPoint * GetRotationAxis(HC_KEY handlekey)
Definition: HUtilityGeomHandle.h:255
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
Constrain to plane.
Definition: HUtilityGeomHandle.h:42
No constraint.
Definition: HUtilityGeomHandle.h:39
Constrain to on/off by click.
Definition: HUtilityGeomHandle.h:45
Constrain to Scale factor.
Definition: HUtilityGeomHandle.h:44
Constrain to ray given by two points.
Definition: HUtilityGeomHandle.h:40
The HUtilityGeomHandle class contains a set of functions which controls the creation and manipulation...
Definition: HUtilityGeomHandle.h:59
HConstrainType
Definition: HUtilityGeomHandle.h:37
Constrain to viewplane.
Definition: HUtilityGeomHandle.h:43