Transformed object node. More...
#include <core/util/collection/kzc_dynamic_array.h>
#include <core/util/math/kzc_matrix4x4.h>
#include <core/util/math/kzc_vector2.h>
#include <system/debug/kzs_error.h>
Namespaces | |
kanzi | |
Functions | |
void | kzuTransformedObjectNodeCreate (const KzcMemoryManager *memoryManager, kanzi::Node3D *object, const KzcMatrix4x4 *parentTransform, bool parentTransformChanged, bool visible, bool instantiated, bool *out_transformChanged, KzuTransformedObjectNode **out_object) |
Creates new Transformed object node from regular scene graph object. More... | |
kzsError | kzuTransformedObjectNodeRefreshChildren (const struct KzuTransformedObjectNode *transformedObjectNode) |
Refreshes transformed object node's children to contain matrices from new matrix values in scene graph. More... | |
KANZI_API struct KzuTransformedObjectNode * | kzuTransformedObjectNodeGetParent (const struct KzuTransformedObjectNode *transformedObjectNode) |
Adds a child transformed object for parent. More... | |
kzsError | kzuTransformedObjectNodeAddChildNode (struct KzuTransformedObjectNode *parentObject, struct KzuTransformedObjectNode *childNode) |
Adds a child transformed object for parent. More... | |
kzsError | kzuTransformedObjectNodeRemove (struct KzuTransformedObjectNode *parentObject, const struct KzuTransformedObjectNode *destObject) |
Removes transformed object node from parent and moves its children upper in hierarchy. More... | |
kzsError | kzuTransformedObjectNodeCopyWithoutChildren (const struct KzcMemoryManager *memoryManager, const struct KzuTransformedObjectNode *sourceObject, struct KzuTransformedObjectNode **out_object) |
Copies a object without children to the new node. More... | |
void | kzuTransformedObjectNodeSetInstantiator3DNode (struct KzuTransformedObjectNode *node, struct KzuTransformedObjectNode *instantiatorNode) |
Sets transformed object node instantiated from given node. More... | |
struct KzuTransformedObjectNode * | kzuTransformedObjectNodeGetInstantiator3DNode (const struct KzuTransformedObjectNode *node) |
Gets instantiator from given node. More... | |
kzsError | kzuTransformedObjectTreeToDynamicArray (const struct KzcMemoryManager *memoryManager, const struct KzuTransformedObjectNode *rootNode, struct KzcDynamicArray **out_dynamicArray) |
Creates an array from tree. More... | |
struct KzcDynamicArrayIterator | kzuTransformedObjectNodeGetChildren (const struct KzuTransformedObjectNode *transformedObjectNode) |
Returns a children of transformed object node as iterator (list of KzuTransformedObjectNode:s). More... | |
kzUint | kzuTransformedObjectNodeGetChildCount (const struct KzuTransformedObjectNode *transformedObjectNode) |
Returns the child count. More... | |
struct KzuTransformedObjectNode * | kzuTransformedObjectNodeGetChildAtIndex (const struct KzuTransformedObjectNode *transformedObjectNode, kzUint index) |
Returns a child from given index from object node. More... | |
KANZI_API kanzi::Node3D * | kzuTransformedObjectNodeGetObjectNode (const struct KzuTransformedObjectNode *transformedObjectNode) |
Returns a KzuObjectNode owned by transformed object node. More... | |
struct KzuTransformedObjectNode * | kzuTransformedObjectNodeFindChildObjectNode (const struct KzuTransformedObjectNode *transformedObjectNode, const kanzi::Node3D *objectToFind) |
Finds transformed object node from destination object node's direct children. More... | |
struct KzuTransformedObjectNode * | kzuTransformedObjectNodeFindChildObjectNodeFromDescendants (const struct KzuTransformedObjectNode *transformedObjectNode, const kanzi::Node3D *objectToFind) |
Finds transformed object node from destination object node's direct descendants. More... | |
struct KzuTransformedObjectNode * | kzuTransformedObjectNodeFindChildTransformedObjectNodeFromDescendants (const struct KzuTransformedObjectNode *transformedObjectNode, const struct KzuTransformedObjectNode *transformedObjectNodeToFind) |
Finds given transformed object node from destination transformed object node's descendants. More... | |
KANZI_API kzsError | kzuTransformedObjectNodeGetBoundingVolumeUnionWorld (const struct KzuTransformedObjectNode *transformedObjectNode, struct KzcVolume *out_volume) |
Gets bounding volume union from transformed object node and its children. More... | |
kzsError | kzuTransformedObjectNodeGetBoundingVolumeWorld (const struct KzuTransformedObjectNode *transformedObjectNode, struct KzcVolume *out_volume) |
Gets bounding volume union from transformed object node without children taken into account. More... | |
KANZI_API void | kzuTransformedObjectNodeSetMatrix (struct KzuTransformedObjectNode *transformedObjectNode, const struct KzcMatrix4x4 *matrix) |
Sets the world matrix for transformed object node. More... | |
KANZI_API KzcMatrix4x4 | kzuTransformedObjectNodeGetMatrix (const struct KzuTransformedObjectNode *transformedObjectNode) |
Returns the world matrix of transformed object node. More... | |
void | kzuTransformedObjectNodeGetPosition (const struct KzuTransformedObjectNode *transformedObjectNode, struct KzcVector3 *out_position) |
Returns a position of this transformed object node. More... | |
KANZI_API struct KzuTransformedObjectNode * | kzuTransformedObjectListFindObject (const struct KzcDynamicArray *objectList, const kanzi::Node3D *objectToFind) |
Finds transformed object node from object list. More... | |
kzBool | kzuTransformedObjectNodeIsVisible (const struct KzuTransformedObjectNode *transformedObjectNode) |
Returns visibility of a transformed object node. More... | |
Transformed object node.
KzuTransformedObjectNode is created from a scene graph object node (KzuObjectNode). It contains all the same characteristics as the KzuObjectNode, as the transformed object node keeps a pointer to the KzuObjectNode. The world transformation matrix returned by kzuTransformedObjectNodeGetMatrix() is calculated on-demand from the KzuObjectNode's ::KzuObjectNode::TransformationProperty.get(), layout and ::KzuObjectNode::RenderTransformationProperty.get() matrix when the transformed object node is created and whenever kzuTransformedObjectNodeRefreshChildren() is called for its parent. The calculated matrix is also stored to the referenced KzuObjectNode and can be obtained by calling ::kzuObjectNodeGetFinalTransformation().
Copyright 2008-2020 by Rightware. All rights reserved.
void kzuTransformedObjectNodeCreate | ( | const KzcMemoryManager * | memoryManager, |
kanzi::Node3D * | object, | ||
const KzcMatrix4x4 * | parentTransform, | ||
bool | parentTransformChanged, | ||
bool | visible, | ||
bool | instantiated, | ||
bool * | out_transformChanged, | ||
KzuTransformedObjectNode ** | out_object | ||
) |
Creates new Transformed object node from regular scene graph object.
Saves the reference to original scene graph object and copies the matrix data.
kzsError kzuTransformedObjectNodeRefreshChildren | ( | const struct KzuTransformedObjectNode * | transformedObjectNode | ) |
Refreshes transformed object node's children to contain matrices from new matrix values in scene graph.
KANZI_API struct KzuTransformedObjectNode* kzuTransformedObjectNodeGetParent | ( | const struct KzuTransformedObjectNode * | transformedObjectNode | ) |
Adds a child transformed object for parent.
kzsError kzuTransformedObjectNodeAddChildNode | ( | struct KzuTransformedObjectNode * | parentObject, |
struct KzuTransformedObjectNode * | childNode | ||
) |
Adds a child transformed object for parent.
kzsError kzuTransformedObjectNodeRemove | ( | struct KzuTransformedObjectNode * | parentObject, |
const struct KzuTransformedObjectNode * | destObject | ||
) |
Removes transformed object node from parent and moves its children upper in hierarchy.
kzsError kzuTransformedObjectNodeCopyWithoutChildren | ( | const struct KzcMemoryManager * | memoryManager, |
const struct KzuTransformedObjectNode * | sourceObject, | ||
struct KzuTransformedObjectNode ** | out_object | ||
) |
Copies a object without children to the new node.
void kzuTransformedObjectNodeSetInstantiator3DNode | ( | struct KzuTransformedObjectNode * | node, |
struct KzuTransformedObjectNode * | instantiatorNode | ||
) |
Sets transformed object node instantiated from given node.
struct KzuTransformedObjectNode* kzuTransformedObjectNodeGetInstantiator3DNode | ( | const struct KzuTransformedObjectNode * | node | ) |
Gets instantiator from given node.
kzsError kzuTransformedObjectTreeToDynamicArray | ( | const struct KzcMemoryManager * | memoryManager, |
const struct KzuTransformedObjectNode * | rootNode, | ||
struct KzcDynamicArray ** | out_dynamicArray | ||
) |
Creates an array from tree.
struct KzcDynamicArrayIterator kzuTransformedObjectNodeGetChildren | ( | const struct KzuTransformedObjectNode * | transformedObjectNode | ) |
Returns a children of transformed object node as iterator (list of KzuTransformedObjectNode:s).
kzUint kzuTransformedObjectNodeGetChildCount | ( | const struct KzuTransformedObjectNode * | transformedObjectNode | ) |
Returns the child count.
struct KzuTransformedObjectNode* kzuTransformedObjectNodeGetChildAtIndex | ( | const struct KzuTransformedObjectNode * | transformedObjectNode, |
kzUint | index | ||
) |
Returns a child from given index from object node.
KANZI_API kanzi::Node3D* kzuTransformedObjectNodeGetObjectNode | ( | const struct KzuTransformedObjectNode * | transformedObjectNode | ) |
Returns a KzuObjectNode owned by transformed object node.
struct KzuTransformedObjectNode* kzuTransformedObjectNodeFindChildObjectNode | ( | const struct KzuTransformedObjectNode * | transformedObjectNode, |
const kanzi::Node3D * | objectToFind | ||
) |
Finds transformed object node from destination object node's direct children.
NULL if nothing was found.
struct KzuTransformedObjectNode* kzuTransformedObjectNodeFindChildObjectNodeFromDescendants | ( | const struct KzuTransformedObjectNode * | transformedObjectNode, |
const kanzi::Node3D * | objectToFind | ||
) |
Finds transformed object node from destination object node's direct descendants.
NULL if nothing was found.
struct KzuTransformedObjectNode* kzuTransformedObjectNodeFindChildTransformedObjectNodeFromDescendants | ( | const struct KzuTransformedObjectNode * | transformedObjectNode, |
const struct KzuTransformedObjectNode * | transformedObjectNodeToFind | ||
) |
Finds given transformed object node from destination transformed object node's descendants.
Returns KZ_NULL if nothing was found.
KANZI_API kzsError kzuTransformedObjectNodeGetBoundingVolumeUnionWorld | ( | const struct KzuTransformedObjectNode * | transformedObjectNode, |
struct KzcVolume * | out_volume | ||
) |
Gets bounding volume union from transformed object node and its children.
kzsError kzuTransformedObjectNodeGetBoundingVolumeWorld | ( | const struct KzuTransformedObjectNode * | transformedObjectNode, |
struct KzcVolume * | out_volume | ||
) |
Gets bounding volume union from transformed object node without children taken into account.
KANZI_API void kzuTransformedObjectNodeSetMatrix | ( | struct KzuTransformedObjectNode * | transformedObjectNode, |
const struct KzcMatrix4x4 * | matrix | ||
) |
Sets the world matrix for transformed object node.
KANZI_API KzcMatrix4x4 kzuTransformedObjectNodeGetMatrix | ( | const struct KzuTransformedObjectNode * | transformedObjectNode | ) |
Returns the world matrix of transformed object node.
void kzuTransformedObjectNodeGetPosition | ( | const struct KzuTransformedObjectNode * | transformedObjectNode, |
struct KzcVector3 * | out_position | ||
) |
Returns a position of this transformed object node.
KANZI_API struct KzuTransformedObjectNode* kzuTransformedObjectListFindObject | ( | const struct KzcDynamicArray * | objectList, |
const kanzi::Node3D * | objectToFind | ||
) |
Finds transformed object node from object list.
kzBool kzuTransformedObjectNodeIsVisible | ( | const struct KzuTransformedObjectNode * | transformedObjectNode | ) |
Returns visibility of a transformed object node.