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

Object node private members. More...

Data Structures

struct  KzuObjectNodeClass
 Defines functions for different object node types. More...
 
struct  KzuObjectNodeResource
 Object node resource entry. More...
 
struct  KzuObjectNodeResourceDictionary
 Object node resource dictionary. More...
 
struct  KzuObjectNodeAppliedStyleEntry
 Object node applied style entry. More...
 
struct  KzuObjectNodeBindingEntry
 Object node binding entry. More...
 
struct  KzuObjectNodeTriggerEntry
 Object node trigger entry. More...
 
struct  KzuObjectNode
 Base structure for object node. More...
 

Typedefs

typedef kzsError(* KzuObjectNodeInitializeFunction )(struct KzuObjectNode *objectNode)
 Function type of the initialize function for object node. More...
 
typedef kzsError(* KzuObjectNodeUninitializeFunction )(struct KzuObjectNode *objectNode)
 Function type of the uninitialize function for object node. More...
 
typedef kzsError(* KzuObjectNodeOnAttachedFunction )(struct KzuObjectNode *objectNode)
 Function type of callback function when an object node becomes attached. More...
 
typedef kzsError(* KzuObjectNodeOnDetachedFunction )(struct KzuObjectNode *objectNode)
 Function type of callback function when an object node becomes detached. More...
 
typedef kzsError(* KzuObjectNodeOnPropertyChangedFunction )(struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, enum KzuPropertyNotificationReason reason)
 Function type of the callback function that is called when object's property change or is removed. More...
 
typedef kzsError(* KzuObjectNodeCopyFunction )(const struct KzuObjectNode *sourceObjectNode, struct KzuObjectNode *targetObjectNode)
 Function type of the copier function for the object node. More...
 
typedef kzsError(* KzuObjectNodeRenderFunction )(const struct KzuObjectNode *objectNode, struct KzuRenderer *renderer, const struct KzuTransformedObjectNode *transformedObjectNode, struct KzcMatrix4x4 *worldTransformation)
 Function type of renderer function for the object node. More...
 
typedef kzsError(* KzuObjectNodeGetBoundingVolumeFunction )(const struct KzuObjectNode *objectNode, struct KzuBoundingVolume **out_boundingVolume)
 Function type of function for getting bounding volume from object node. More...
 
typedef kzsError(* KzuObjectNodeLoadFromKZBFunction )(struct KzuObjectNode *objectNode, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file)
 Function type of function for loading the object node from KZB file. More...
 

Functions

kzsError kzuObjectNodeInitialize_protected (struct KzuObjectNode *objectNode)
 Initializes an object node. More...
 
kzsError kzuObjectNodeUninitialize_protected (struct KzuObjectNode *objectNode)
 Uninitializes an object node. More...
 
kzBool kzuObjectNodeIsInitialized_protected (const struct KzuObjectNode *objectNode)
 Returns KZ_TRUE if object node already has been initialized. More...
 
kzsError kzuObjectNodeOnAttached_protected (struct KzuObjectNode *objectNode)
 Called when an object node becomes attached. More...
 
kzsError kzuObjectNodeOnDetached_protected (struct KzuObjectNode *objectNode)
 Called when an object node becomes detached. More...
 
kzsError kzuObjectNodeAttachStateManager_private (struct KzuObjectNode *objectNode, struct KzuStateManager *stateManager)
 Attaches the given state manager to an object node. More...
 
kzsError kzuObjectNodeDetachStateManager_private (struct KzuObjectNode *objectNode)
 Detaches the state manager of an object node. More...
 
kzsError kzuObjectNodeOnPropertyChanged_protected (struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, enum KzuPropertyNotificationReason reason)
 Default implementation for property change callback. More...
 
kzsError kzuObjectNodeGetBoundingVolume_protected (const struct KzuObjectNode *objectNode, struct KzuBoundingVolume **out_boundingVolume)
 Default implementation for bounding volume getter. More...
 
kzsError kzuObjectNodeRender_protected (const struct KzuObjectNode *objectNode, struct KzuRenderer *renderer, const struct KzuTransformedObjectNode *transformedObjectNode, struct KzcMatrix4x4 *worldTransformation)
 Default render function. More...
 
kzsError kzuObjectNodeCopy_protected (const struct KzuObjectNode *sourceObjectNode, struct KzuObjectNode *targetObjectNode)
 Default copy function implementation. More...
 
kzsError kzuObjectNodeCreate_protected (const struct KzcMemoryManager *memoryManager, struct KzuUIDomain *uiDomain, const struct KzuObjectNodeClass *objectNodeClass, kzString name, struct KzuObjectNode *objectNode)
 Creates a new object node. More...
 
kzsError kzuObjectNodeCopyBindings_private (const struct KzcMemoryManager *memoryManager, const struct KzuObjectNode *sourceObjectNode, struct KzuObjectNode *targetObjectNode)
 Copy bindings from one object node to another. More...
 
kzsError kzuObjectNodeCopyTriggers_private (const struct KzcMemoryManager *memoryManager, const struct KzuObjectNode *sourceObjectNode, struct KzuObjectNode *targetObjectNode)
 Copy triggers from one object node to another. More...
 
kzsError kzuObjectNodeCopyResources_private (const struct KzuObjectNode *sourceObjectNode, struct KzuObjectNode *targetObjectNode, kzBool preserveTarget)
 Copy resources from one object node to another. More...
 
kzsError kzuObjectNodeApplyStyle (struct KzuObjectNode *objectNode, struct KzuStyle *style, struct KzuObjectNodeAppliedStyleEntry **out_appliedStyleEntry)
 Applies a style to an object node. More...
 
kzsError kzuObjectNodeUnapplyStyle (const struct KzuObjectNode *objectNode, struct KzuObjectNodeAppliedStyleEntry *appliedStyleEntry)
 Unapplies a style from an object node. More...
 
kzsError kzuObjectNodeApplyStyles (struct KzuObjectNode *objectNode)
 Apply all styles for an object node. More...
 
kzsError kzuObjectNodeUnapplyStyles (const struct KzuObjectNode *objectNode)
 Unapplies and removes all applied styles. More...
 
kzsError kzuObjectNodeApplyStylesRecursive (struct KzuObjectNode *objectNode)
 Applies styles recursively. More...
 
kzsError kzuObjectNodeUnapplyStylesRecursive (const struct KzuObjectNode *objectNode)
 Unapplies styles recursively. More...
 
kzsError kzuObjectNodeLoadFromKZB_protected (struct KzuObjectNode *objectNode, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file)
 Loads object node from binary. More...
 
kzsError kzuObjectNodeLoadTrigger_protected (struct KzcInputStream *inputStream, struct KzuUIDomain *uiDomain, const struct KzuBinaryFileInfo *file, struct KzuTrigger **out_trigger)
 Loads a trigger from stream. More...
 
kzsError kzuObjectNodeLoadBinding_protected (struct KzcInputStream *inputStream, struct KzuUIDomain *uiDomain, const struct KzuBinaryFileInfo *file, struct KzuBindingRule **out_bindingRule)
 Loads a binding from stream. More...
 
kzsError kzuObjectNodeAttachRecursive_protected (struct KzuObjectNode *objectNode)
 Attaches an object node and its children recursively. More...
 
kzsError kzuObjectNodeDetachRecursive_protected (struct KzuObjectNode *objectNode)
 Detaches an object node and its children recursively. More...
 
kzsError kzuObjectNodeSetUiDomain_protected (struct KzuObjectNode *objectNode, struct KzuUIDomain *uiDomain)
 Sets a new UI domain for object node. More...
 

Variables

struct KzuObjectNodeClass KZU_OBJECT_NODE_CLASS
 Class type for object nodes. More...
 

Detailed Description

Object node private members.

Copyright 2008-2019 by Rightware. All rights reserved.

Typedef Documentation

typedef kzsError(* KzuObjectNodeInitializeFunction)(struct KzuObjectNode *objectNode)

Function type of the initialize function for object node.

typedef kzsError(* KzuObjectNodeUninitializeFunction)(struct KzuObjectNode *objectNode)

Function type of the uninitialize function for object node.

typedef kzsError(* KzuObjectNodeOnAttachedFunction)(struct KzuObjectNode *objectNode)

Function type of callback function when an object node becomes attached.

typedef kzsError(* KzuObjectNodeOnDetachedFunction)(struct KzuObjectNode *objectNode)

Function type of callback function when an object node becomes detached.

typedef kzsError(* KzuObjectNodeOnPropertyChangedFunction)(struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, enum KzuPropertyNotificationReason reason)

Function type of the callback function that is called when object's property change or is removed.

typedef kzsError(* KzuObjectNodeCopyFunction)(const struct KzuObjectNode *sourceObjectNode, struct KzuObjectNode *targetObjectNode)

Function type of the copier function for the object node.

typedef kzsError(* KzuObjectNodeRenderFunction)(const struct KzuObjectNode *objectNode, struct KzuRenderer *renderer, const struct KzuTransformedObjectNode *transformedObjectNode, struct KzcMatrix4x4 *worldTransformation)

Function type of renderer function for the object node.

typedef kzsError(* KzuObjectNodeGetBoundingVolumeFunction)(const struct KzuObjectNode *objectNode, struct KzuBoundingVolume **out_boundingVolume)

Function type of function for getting bounding volume from object node.

typedef kzsError(* KzuObjectNodeLoadFromKZBFunction)(struct KzuObjectNode *objectNode, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file)

Function type of function for loading the object node from KZB file.

Function Documentation

kzsError kzuObjectNodeInitialize_protected ( struct KzuObjectNode objectNode)

Initializes an object node.

Should be called from Initialize function of a child class before anything else is done.

kzsError kzuObjectNodeUninitialize_protected ( struct KzuObjectNode objectNode)

Uninitializes an object node.

Should be called from Uninitialize function of a child class after everything else is done.

kzBool kzuObjectNodeIsInitialized_protected ( const struct KzuObjectNode objectNode)

Returns KZ_TRUE if object node already has been initialized.

kzsError kzuObjectNodeOnAttached_protected ( struct KzuObjectNode objectNode)

Called when an object node becomes attached.

kzsError kzuObjectNodeOnDetached_protected ( struct KzuObjectNode objectNode)

Called when an object node becomes detached.

kzsError kzuObjectNodeAttachStateManager_private ( struct KzuObjectNode objectNode,
struct KzuStateManager stateManager 
)

Attaches the given state manager to an object node.

kzsError kzuObjectNodeDetachStateManager_private ( struct KzuObjectNode objectNode)

Detaches the state manager of an object node.

kzsError kzuObjectNodeOnPropertyChanged_protected ( struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType,
enum KzuPropertyNotificationReason  reason 
)

Default implementation for property change callback.

kzsError kzuObjectNodeGetBoundingVolume_protected ( const struct KzuObjectNode objectNode,
struct KzuBoundingVolume **  out_boundingVolume 
)

Default implementation for bounding volume getter.

kzsError kzuObjectNodeRender_protected ( const struct KzuObjectNode objectNode,
struct KzuRenderer renderer,
const struct KzuTransformedObjectNode transformedObjectNode,
struct KzcMatrix4x4 worldTransformation 
)

Default render function.

Does nothing.

kzsError kzuObjectNodeCopy_protected ( const struct KzuObjectNode sourceObjectNode,
struct KzuObjectNode targetObjectNode 
)

Default copy function implementation.

kzsError kzuObjectNodeCreate_protected ( const struct KzcMemoryManager memoryManager,
struct KzuUIDomain uiDomain,
const struct KzuObjectNodeClass objectNodeClass,
kzString  name,
struct KzuObjectNode objectNode 
)

Creates a new object node.

kzsError kzuObjectNodeCopyBindings_private ( const struct KzcMemoryManager memoryManager,
const struct KzuObjectNode sourceObjectNode,
struct KzuObjectNode targetObjectNode 
)

Copy bindings from one object node to another.

kzsError kzuObjectNodeCopyTriggers_private ( const struct KzcMemoryManager memoryManager,
const struct KzuObjectNode sourceObjectNode,
struct KzuObjectNode targetObjectNode 
)

Copy triggers from one object node to another.

kzsError kzuObjectNodeCopyResources_private ( const struct KzuObjectNode sourceObjectNode,
struct KzuObjectNode targetObjectNode,
kzBool  preserveTarget 
)

Copy resources from one object node to another.

kzsError kzuObjectNodeApplyStyle ( struct KzuObjectNode objectNode,
struct KzuStyle style,
struct KzuObjectNodeAppliedStyleEntry **  out_appliedStyleEntry 
)

Applies a style to an object node.

Returns a style entry that is used to unapply the style.

kzsError kzuObjectNodeUnapplyStyle ( const struct KzuObjectNode objectNode,
struct KzuObjectNodeAppliedStyleEntry appliedStyleEntry 
)

Unapplies a style from an object node.

kzsError kzuObjectNodeApplyStyles ( struct KzuObjectNode objectNode)

Apply all styles for an object node.

kzsError kzuObjectNodeUnapplyStyles ( const struct KzuObjectNode objectNode)

Unapplies and removes all applied styles.

kzsError kzuObjectNodeApplyStylesRecursive ( struct KzuObjectNode objectNode)

Applies styles recursively.

kzsError kzuObjectNodeUnapplyStylesRecursive ( const struct KzuObjectNode objectNode)

Unapplies styles recursively.

kzsError kzuObjectNodeLoadFromKZB_protected ( struct KzuObjectNode objectNode,
struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file 
)

Loads object node from binary.

kzsError kzuObjectNodeLoadTrigger_protected ( struct KzcInputStream inputStream,
struct KzuUIDomain uiDomain,
const struct KzuBinaryFileInfo file,
struct KzuTrigger **  out_trigger 
)

Loads a trigger from stream.

kzsError kzuObjectNodeLoadBinding_protected ( struct KzcInputStream inputStream,
struct KzuUIDomain uiDomain,
const struct KzuBinaryFileInfo file,
struct KzuBindingRule **  out_bindingRule 
)

Loads a binding from stream.

kzsError kzuObjectNodeAttachRecursive_protected ( struct KzuObjectNode objectNode)

Attaches an object node and its children recursively.

kzsError kzuObjectNodeDetachRecursive_protected ( struct KzuObjectNode objectNode)

Detaches an object node and its children recursively.

kzsError kzuObjectNodeSetUiDomain_protected ( struct KzuObjectNode objectNode,
struct KzuUIDomain uiDomain 
)

Sets a new UI domain for object node.

Variable Documentation

struct KzuObjectNodeClass KZU_OBJECT_NODE_CLASS

Class type for object nodes.