Kanzi Graphics Engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
kzu_transform_gizmo.h File Reference

Transform gizmo utility. More...

Macros

#define KZU_TRANSFORM_GIZMO_DEFAULT_GRID_SNAP_SIZE
 Default snap size for transform gizmo. More...
 
#define KZU_TRANSFORM_GIZMO_DEFAULT_ROTATE_SNAP_SIZE
 Default snap size for transform gizmo. More...
 
#define KZU_TRANSFORM_GIZMO_DEFAULT_SCALE_SNAP_SIZE
 Default snap size for transform gizmo. More...
 

Typedefs

typedef kzsError(* KzuTransformGizmoCallback )(kzString objectPath, const struct KzcMatrix4x4 *transformation, enum KzuTransformGizmoMode mode, void *userData)
 Transform gizmo callback prototype. More...
 

Enumerations

enum  KzuTransformGizmoMode { KZU_TRANSFORM_GIZMO_MODE_NONE, KZU_TRANSFORM_GIZMO_MODE_TRANSLATE, KZU_TRANSFORM_GIZMO_MODE_ROTATE, KZU_TRANSFORM_GIZMO_MODE_SCALE }
 Enumeration for transform gizmo modes. More...
 
enum  KzuTransformGizmoReferenceMode { KZU_TRANSFORM_GIZMO_REFERENCE_LOCAL, KZU_TRANSFORM_GIZMO_REFERENCE_GLOBAL }
 Enumeration for transform gizmo coordinate system reference modes. More...
 
enum  KzuTransformGizmoGridSnapMode { KZU_TRANSFORM_GIZMO_GRID_SNAP_NONE, KZU_TRANSFORM_GIZMO_GRID_SNAP_RELATIVE, KZU_TRANSFORM_GIZMO_GRID_SNAP_ABSOLUTE, KZU_TRANSFORM_GIZMO_GRID_SNAP_OBJECT }
 Enumeration for transform gizmo grid snap mode. More...
 

Functions

kzsError kzuTransformGizmoCreate (const struct KzcMemoryManager *memoryManager, struct KzuTransformGizmo **out_gizmo)
 Create a transform gizmo context. More...
 
kzsError kzuTransformGizmoDelete (struct KzuTransformGizmo *gizmo)
 Delete a transform gizmo context. More...
 
kzsError kzuTransformGizmoInitialize (struct KzuTransformGizmo *gizmo, struct KzuUIDomain *uiDomain)
 Initialize a transform gizmo context for a new project. More...
 
kzsError kzuTransformGizmoUninitialize (struct KzuTransformGizmo *gizmo)
 Uninitializes the transform gizmo. More...
 
kzsError kzuTransformGizmoSetMode (struct KzuTransformGizmo *gizmo, enum KzuTransformGizmoMode mode)
 Sets the transform gizmo mode. More...
 
enum KzuTransformGizmoMode kzuTransformGizmoGetMode (const struct KzuTransformGizmo *gizmo)
 Gets the transform gizmo mode. More...
 
kzBool kzuTransformGizmoIsGridSnapEnabled (const struct KzuTransformGizmo *gizmo)
 Tell whether or not grid snap is enabled. More...
 
void kzuTransformGizmoSetGridSnapEnabled (struct KzuTransformGizmo *gizmo, kzBool enabled)
 Sets the grid snap on or off in the transform gizmo. More...
 
kzFloat kzuTransformGizmoGetGridSize (const struct KzuTransformGizmo *gizmo)
 Get the size of the grid in the transform gizmo. More...
 
void kzuTransformGizmoSetGridSize (struct KzuTransformGizmo *gizmo, kzFloat size)
 Set the grid size for the transform gizmo. More...
 
enum KzuTransformGizmoGridSnapMode kzuTransformGizmoGetGridSnapMode (const struct KzuTransformGizmo *gizmo)
 Get the grid snap mode. More...
 
void kzuTransformGizmoSetGridSnapMode (struct KzuTransformGizmo *gizmo, enum KzuTransformGizmoGridSnapMode mode)
 Set the grid snap mode. More...
 
kzFloat kzuTransformGizmoGetRotateSnapSize (const struct KzuTransformGizmo *gizmo)
 Get the rotation snap size. More...
 
void kzuTransformGizmoSetRotateSnapSize (struct KzuTransformGizmo *gizmo, kzFloat size)
 Set the rotation snap size. More...
 
kzFloat kzuTransformGizmoGetScaleSnapSize (const struct KzuTransformGizmo *gizmo)
 Get the scale snap size. More...
 
void kzuTransformGizmoSetScaleSnapSize (struct KzuTransformGizmo *gizmo, kzFloat size)
 Set the scale snap size. More...
 
kzsError kzuTransformGizmoRender (const struct KzuTransformGizmo *gizmo, struct KzuRenderer *renderer, struct KzuRenderContextStack *renderContextStack, const struct KzuTransformedScene *transformedScene, kzString targetObjectPath)
 Render the transform gizmo. More...
 
kzsError kzuTransformGizmoProcessInput (struct KzuTransformGizmo *gizmo, const struct KzuEngine *engine, const struct KzuViewportLayer *viewportLayer, struct KzuPick *pick, kzInt x, kzInt y, enum KzsInputPointingDeviceState state, kzString targetObjectPath, kzBool *out_handled)
 Process key events for the transform gizmo. More...
 
void kzuTransformGizmoSetCallback (struct KzuTransformGizmo *gizmo, KzuTransformGizmoCallback callback, void *userData)
 Sets a callback for transform gizmo. More...
 

Detailed Description

Transform gizmo utility.

Copyright 2008-2019 by Rightware. All rights reserved.

Macro Definition Documentation

#define KZU_TRANSFORM_GIZMO_DEFAULT_GRID_SNAP_SIZE

Default snap size for transform gizmo.

#define KZU_TRANSFORM_GIZMO_DEFAULT_ROTATE_SNAP_SIZE

Default snap size for transform gizmo.

#define KZU_TRANSFORM_GIZMO_DEFAULT_SCALE_SNAP_SIZE

Default snap size for transform gizmo.

Typedef Documentation

typedef kzsError(* KzuTransformGizmoCallback)(kzString objectPath, const struct KzcMatrix4x4 *transformation, enum KzuTransformGizmoMode mode, void *userData)

Transform gizmo callback prototype.

Enumeration Type Documentation

Enumeration for transform gizmo modes.

Enumerator
KZU_TRANSFORM_GIZMO_MODE_NONE 
KZU_TRANSFORM_GIZMO_MODE_TRANSLATE 

No mode.

KZU_TRANSFORM_GIZMO_MODE_ROTATE 

Translate mode.

KZU_TRANSFORM_GIZMO_MODE_SCALE 

Rotate mode.

Scale mode.

Enumeration for transform gizmo coordinate system reference modes.

Enumerator
KZU_TRANSFORM_GIZMO_REFERENCE_LOCAL 
KZU_TRANSFORM_GIZMO_REFERENCE_GLOBAL 

Local reference.

Global reference.

Enumeration for transform gizmo grid snap mode.

Enumerator
KZU_TRANSFORM_GIZMO_GRID_SNAP_NONE 

Used when mode is not known.

KZU_TRANSFORM_GIZMO_GRID_SNAP_RELATIVE 

Snap to relative motion.

KZU_TRANSFORM_GIZMO_GRID_SNAP_ABSOLUTE 

Snap to absolute coordinates.

KZU_TRANSFORM_GIZMO_GRID_SNAP_OBJECT 

Snap to other objects.

Function Documentation

kzsError kzuTransformGizmoCreate ( const struct KzcMemoryManager memoryManager,
struct KzuTransformGizmo **  out_gizmo 
)

Create a transform gizmo context.

kzsError kzuTransformGizmoDelete ( struct KzuTransformGizmo gizmo)

Delete a transform gizmo context.

kzsError kzuTransformGizmoInitialize ( struct KzuTransformGizmo gizmo,
struct KzuUIDomain uiDomain 
)

Initialize a transform gizmo context for a new project.

kzsError kzuTransformGizmoUninitialize ( struct KzuTransformGizmo gizmo)

Uninitializes the transform gizmo.

kzsError kzuTransformGizmoSetMode ( struct KzuTransformGizmo gizmo,
enum KzuTransformGizmoMode  mode 
)

Sets the transform gizmo mode.

enum KzuTransformGizmoMode kzuTransformGizmoGetMode ( const struct KzuTransformGizmo gizmo)

Gets the transform gizmo mode.

kzBool kzuTransformGizmoIsGridSnapEnabled ( const struct KzuTransformGizmo gizmo)

Tell whether or not grid snap is enabled.

void kzuTransformGizmoSetGridSnapEnabled ( struct KzuTransformGizmo gizmo,
kzBool  enabled 
)

Sets the grid snap on or off in the transform gizmo.

kzFloat kzuTransformGizmoGetGridSize ( const struct KzuTransformGizmo gizmo)

Get the size of the grid in the transform gizmo.

void kzuTransformGizmoSetGridSize ( struct KzuTransformGizmo gizmo,
kzFloat  size 
)

Set the grid size for the transform gizmo.

If the user is trying to set the grid size to a value <= 0.0f, it is left unchanged.

enum KzuTransformGizmoGridSnapMode kzuTransformGizmoGetGridSnapMode ( const struct KzuTransformGizmo gizmo)

Get the grid snap mode.

void kzuTransformGizmoSetGridSnapMode ( struct KzuTransformGizmo gizmo,
enum KzuTransformGizmoGridSnapMode  mode 
)

Set the grid snap mode.

kzFloat kzuTransformGizmoGetRotateSnapSize ( const struct KzuTransformGizmo gizmo)

Get the rotation snap size.

void kzuTransformGizmoSetRotateSnapSize ( struct KzuTransformGizmo gizmo,
kzFloat  size 
)

Set the rotation snap size.

The size must be a positive number, greater than zero.

kzFloat kzuTransformGizmoGetScaleSnapSize ( const struct KzuTransformGizmo gizmo)

Get the scale snap size.

void kzuTransformGizmoSetScaleSnapSize ( struct KzuTransformGizmo gizmo,
kzFloat  size 
)

Set the scale snap size.

The size must be a positive number, greater than zero.

kzsError kzuTransformGizmoRender ( const struct KzuTransformGizmo gizmo,
struct KzuRenderer renderer,
struct KzuRenderContextStack *  renderContextStack,
const struct KzuTransformedScene transformedScene,
kzString  targetObjectPath 
)

Render the transform gizmo.

kzsError kzuTransformGizmoProcessInput ( struct KzuTransformGizmo gizmo,
const struct KzuEngine engine,
const struct KzuViewportLayer viewportLayer,
struct KzuPick pick,
kzInt  x,
kzInt  y,
enum KzsInputPointingDeviceState  state,
kzString  targetObjectPath,
kzBool out_handled 
)

Process key events for the transform gizmo.

void kzuTransformGizmoSetCallback ( struct KzuTransformGizmo gizmo,
KzuTransformGizmoCallback  callback,
void userData 
)

Sets a callback for transform gizmo.

Pass KZ_NULL to disable.