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

Property manager. More...

Functions

kzsError kzuPropertyMatrix4x4ValueSourceCreate (const struct KzuPropertyManager *propertyManager, struct KzcMatrix4x4 value, struct KzuPropertyMatrix4x4ValueSource **out_valueSource)
 Create a matrix4x4 value source. More...
 
kzsError kzuPropertyMatrix4x4ValueSourceCreateSRT (const struct KzuPropertyManager *propertyManager, const struct KzcVector3 *scale, const struct KzcVector3 *rotateInDegrees, const struct KzcVector3 *translate, struct KzuPropertyMatrix4x4ValueSource **out_valueSource)
 Create matrix4x4 value source from SRT. More...
 
kzsError kzuPropertyMatrix4x4ValueSourceDelete (struct KzuPropertyMatrix4x4ValueSource *valueSource)
 Delete a matrix4x4 value source. More...
 
kzsError kzuPropertyMatrix4x4ValueSourceClone (const struct KzuPropertyManager *propertyManager, const struct KzuPropertyMatrix4x4ValueSource *valueSource, struct KzuPropertyMatrix4x4ValueSource **out_newValueSource)
 Copy a matrix4x4 value source. More...
 
kzsError kzuPropertyMatrix4x4ValueSourceCopy (struct KzuPropertyMatrix4x4ValueSource *target, const struct KzuPropertyMatrix4x4ValueSource *source)
 Copy a matrix4x4 value source. More...
 
kzsError kzuPropertyMatrix4x4ValueSourceSetValue (struct KzuPropertyMatrix4x4ValueSource *valueSource, struct KzcMatrix4x4 value)
 Set a matrix4x4 value source. More...
 
kzsError kzuPropertyMatrix4x4ValueSourceSetValueSRT (struct KzuPropertyMatrix4x4ValueSource *valueSource, const struct KzcVector3 *scale, const struct KzcVector3 *rotateInDegrees, const struct KzcVector3 *translate)
 Set a matrix4x4 value source using SRT. More...
 
struct KzcMatrix4x4 kzuPropertyMatrix4x4ValueSourceGetValue (struct KzuPropertyMatrix4x4ValueSource *valueSource)
 Get a matrix4x4 value source. More...
 
void kzuPropertyMatrix4x4ValueSourceGetValueSRT (const struct KzuPropertyMatrix4x4ValueSource *valueSource, struct KzcVector3 *out_scale, struct KzcVector3 *out_rotateInDegrees, struct KzcVector3 *out_translate)
 Get a matrix4x4 value source using SRT. More...
 
kzsError kzuPropertyManagerSetMatrix4x4 (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, const struct KzcMatrix4x4 *value)
 Set a property of propertyType associated with an object. More...
 
kzsError kzuPropertyManagerSetMatrix4x4SRT (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, const struct KzcVector3 *scale, const struct KzcVector3 *rotateInDegrees, const struct KzcVector3 *translate)
 Set a property of propertyType associated with an object in SRT form, rotation in degrees. More...
 
kzBool kzuPropertyManagerGetMatrix4x4 (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, struct KzcMatrix4x4 *out_value)
 Get the value of a property of propertyType associated with an object. More...
 
kzBool kzuPropertyManagerGetMatrix4x4SRT (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, struct KzcVector3 *out_scale, struct KzcVector3 *out_rotateInDegrees, struct KzcVector3 *out_translate)
 Get the value of a property of propertyType associated with an object in SRT form. More...
 
kzBool kzuPropertyManagerGetBaseMatrix4x4 (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, struct KzcMatrix4x4 *out_value)
 Get the base value of a property of propertyType associated with an object. More...
 
kzBool kzuPropertyManagerGetBaseMatrix4x4SRT (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, struct KzcVector3 *out_scale, struct KzcVector3 *out_rotateInDegrees, struct KzcVector3 *out_translate)
 Get the base value of a property of propertyType associated with an object in SRT format. More...
 
struct KzcMatrix4x4 kzuPropertyManagerGetMatrix4x4Default (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType)
 Get a property of propertyType associated with an object and return the default value from the property type if not found. More...
 
void kzuPropertyManagerGetMatrix4x4DefaultSRT (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, struct KzcVector3 *out_scale, struct KzcVector3 *out_rotateInDegrees, struct KzcVector3 *out_translate)
 Get a property of propertyType associated with an object and return the default value from the property type if not found, in form of SRT. More...
 
kzBool kzuPropertyManagerGetMatrix4x4Combined (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, struct KzcMatrix4x4 *out_matrix, struct KzcVector3 *out_scale, struct KzcVector3 *out_rotation, struct KzcVector3 *out_translation, kzBool *out_isMatrixValue)
 Get combined value of matrix and SRT values. More...
 
kzsError kzuObjectNodeSetMatrix4x4Property (const struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, const struct KzcMatrix4x4 *value)
 Set a property on an object node. More...
 
kzsError kzuObjectNodeSetMatrix4x4SRTProperty (const struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, const struct KzcVector3 *scale, const struct KzcVector3 *rotateInDegrees, const struct KzcVector3 *translate)
 Set a property on an object node in SRT format. More...
 
kzBool kzuObjectNodeGetMatrix4x4Property (const struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, struct KzcMatrix4x4 *out_value)
 Get the value of a property of propertyType associated with an object node. More...
 
kzBool kzuObjectNodeGetMatrix4x4SRTProperty (const struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, struct KzcVector3 *out_scale, struct KzcVector3 *out_rotateInDegrees, struct KzcVector3 *out_translate)
 Get the value of a property of propertyType associated with an object node in SRT format. More...
 
kzBool kzuObjectNodeGetBaseMatrix4x4Property (const struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, struct KzcMatrix4x4 *out_value)
 Get the base value of a property of propertyType associated with an object node. More...
 
struct KzcMatrix4x4 kzuObjectNodeGetMatrix4x4PropertyDefault (const struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType)
 Get the value of a property associated with an object node. More...
 
void kzuObjectNodeGetMatrix4x4PropertyDefaultSRT (const struct KzuObjectNode *objectNode, const struct KzuPropertyType *propertyType, struct KzcVector3 *out_scale, struct KzcVector3 *out_rotateInDegrees, struct KzcVector3 *out_translate)
 Get the value of a property associated with an object node in SRT format. More...
 

Detailed Description

Property manager.

Copyright 2008-2019 by Rightware. All rights reserved.

Function Documentation

kzsError kzuPropertyMatrix4x4ValueSourceCreate ( const struct KzuPropertyManager *  propertyManager,
struct KzcMatrix4x4  value,
struct KzuPropertyMatrix4x4ValueSource **  out_valueSource 
)

Create a matrix4x4 value source.

kzsError kzuPropertyMatrix4x4ValueSourceCreateSRT ( const struct KzuPropertyManager *  propertyManager,
const struct KzcVector3 scale,
const struct KzcVector3 rotateInDegrees,
const struct KzcVector3 translate,
struct KzuPropertyMatrix4x4ValueSource **  out_valueSource 
)

Create matrix4x4 value source from SRT.

kzsError kzuPropertyMatrix4x4ValueSourceDelete ( struct KzuPropertyMatrix4x4ValueSource *  valueSource)

Delete a matrix4x4 value source.

kzsError kzuPropertyMatrix4x4ValueSourceClone ( const struct KzuPropertyManager *  propertyManager,
const struct KzuPropertyMatrix4x4ValueSource *  valueSource,
struct KzuPropertyMatrix4x4ValueSource **  out_newValueSource 
)

Copy a matrix4x4 value source.

kzsError kzuPropertyMatrix4x4ValueSourceCopy ( struct KzuPropertyMatrix4x4ValueSource *  target,
const struct KzuPropertyMatrix4x4ValueSource *  source 
)

Copy a matrix4x4 value source.

kzsError kzuPropertyMatrix4x4ValueSourceSetValue ( struct KzuPropertyMatrix4x4ValueSource *  valueSource,
struct KzcMatrix4x4  value 
)

Set a matrix4x4 value source.

kzsError kzuPropertyMatrix4x4ValueSourceSetValueSRT ( struct KzuPropertyMatrix4x4ValueSource *  valueSource,
const struct KzcVector3 scale,
const struct KzcVector3 rotateInDegrees,
const struct KzcVector3 translate 
)

Set a matrix4x4 value source using SRT.

struct KzcMatrix4x4 kzuPropertyMatrix4x4ValueSourceGetValue ( struct KzuPropertyMatrix4x4ValueSource *  valueSource)

Get a matrix4x4 value source.

void kzuPropertyMatrix4x4ValueSourceGetValueSRT ( const struct KzuPropertyMatrix4x4ValueSource *  valueSource,
struct KzcVector3 out_scale,
struct KzcVector3 out_rotateInDegrees,
struct KzcVector3 out_translate 
)

Get a matrix4x4 value source using SRT.

Parameters
out_scaleScale vector of the matrix SRT, not returned when KZ_NULL given as an argument.
out_rotateRotate vector of the matrix SRT in degrees, not returned when KZ_NULL given as an argument.
out_translateTranslate vector of the matrix SRT, not returned when KZ_NULL given as an argument.
kzsError kzuPropertyManagerSetMatrix4x4 ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
const struct KzcMatrix4x4 value 
)

Set a property of propertyType associated with an object.

kzsError kzuPropertyManagerSetMatrix4x4SRT ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
const struct KzcVector3 scale,
const struct KzcVector3 rotateInDegrees,
const struct KzcVector3 translate 
)

Set a property of propertyType associated with an object in SRT form, rotation in degrees.

kzBool kzuPropertyManagerGetMatrix4x4 ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
struct KzcMatrix4x4 out_value 
)

Get the value of a property of propertyType associated with an object.

Returns KZ_TRUE if the property is found and KZ_FALSE otherwise. The return value is calculated based on the following steps:

  1. If an animation is applied to the property, the animated value is returned. It is calculated from the base and relative values of the property.
  2. The value associated with the object is returned.
  3. If the property is not associated with the object, the property groups associated with the object are queried: 3.1 Property groups associated with the object are queried in the reverse order than they were added.
  4. If the property can not be deduced, the output value is not modified and KZ_FALSE is returned.
kzBool kzuPropertyManagerGetMatrix4x4SRT ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
struct KzcVector3 out_scale,
struct KzcVector3 out_rotateInDegrees,
struct KzcVector3 out_translate 
)

Get the value of a property of propertyType associated with an object in SRT form.

Returns KZ_TRUE if the property is found and KZ_FALSE otherwise. Doesn't take relative matrix into account. The return value is calculated based on the following steps:

  1. If an animation is applied to the property, the animated value is returned. It is calculated from the base and relative values of the property.
  2. The value associated with the object is returned.
  3. If the property is not associated with the object, the property groups associated with the object are queried: 3.1 Property groups associated with the object are queried in the reverse order than they were added.
  4. If the property can not be deduced, the output value is not modified and KZ_FALSE is returned.
    Parameters
    out_scaleScale vector of the matrix SRT, not returned when KZ_NULL given as an argument.
    out_rotateRotate vector of the matrix SRT in degrees, not returned when KZ_NULL given as an argument.
    out_translateTranslate vector of the matrix SRT, not returned when KZ_NULL given as an argument.
kzBool kzuPropertyManagerGetBaseMatrix4x4 ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
struct KzcMatrix4x4 out_value 
)

Get the base value of a property of propertyType associated with an object.

Returns KZ_TRUE if the property is found and KZ_FALSE otherwise.

kzBool kzuPropertyManagerGetBaseMatrix4x4SRT ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
struct KzcVector3 out_scale,
struct KzcVector3 out_rotateInDegrees,
struct KzcVector3 out_translate 
)

Get the base value of a property of propertyType associated with an object in SRT format.

Returns KZ_TRUE if the property is found and KZ_FALSE otherwise.

Parameters
out_scaleScale vector of the matrix SRT, not returned when KZ_NULL given as an argument.
out_rotateRotate vector of the matrix SRT in degrees, not returned when KZ_NULL given as an argument.
out_translateTranslate vector of the matrix SRT, not returned when KZ_NULL given as an argument.
struct KzcMatrix4x4 kzuPropertyManagerGetMatrix4x4Default ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType 
)

Get a property of propertyType associated with an object and return the default value from the property type if not found.

If the property value can be deduced with kzuPropertyManagerGetMatrix4x4 then that value is returned. If the property can not be deduced, the default value from the property type is returned.

void kzuPropertyManagerGetMatrix4x4DefaultSRT ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
struct KzcVector3 out_scale,
struct KzcVector3 out_rotateInDegrees,
struct KzcVector3 out_translate 
)

Get a property of propertyType associated with an object and return the default value from the property type if not found, in form of SRT.

If the property value can be deduced with kzuPropertyManagerGetMatrix4x4 then that value is returned. If the property can not be deduced, the default value from the property type is returned.

Parameters
out_scaleScale vector of the matrix SRT, not returned when KZ_NULL given as an argument.
out_rotateRotate vector of the matrix SRT in degrees, not returned when KZ_NULL given as an argument.
out_translateTranslate vector of the matrix SRT, not returned when KZ_NULL given as an argument.
kzBool kzuPropertyManagerGetMatrix4x4Combined ( const struct KzuPropertyManager *  propertyManager,
const void object,
const struct KzuPropertyType propertyType,
struct KzcMatrix4x4 out_matrix,
struct KzcVector3 out_scale,
struct KzcVector3 out_rotation,
struct KzcVector3 out_translation,
kzBool out_isMatrixValue 
)

Get combined value of matrix and SRT values.

Also retrieves flag value if matrix value was last set (if so, SRT values are not reliable since they are extracted from matrix).

kzsError kzuObjectNodeSetMatrix4x4Property ( const struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType,
const struct KzcMatrix4x4 value 
)

Set a property on an object node.

kzsError kzuObjectNodeSetMatrix4x4SRTProperty ( const struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType,
const struct KzcVector3 scale,
const struct KzcVector3 rotateInDegrees,
const struct KzcVector3 translate 
)

Set a property on an object node in SRT format.

kzBool kzuObjectNodeGetMatrix4x4Property ( const struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType,
struct KzcMatrix4x4 out_value 
)

Get the value of a property of propertyType associated with an object node.

Returns KZ_TRUE if the property is found and KZ_FALSE otherwise. The return value is calculated based on the following steps:

  1. kzuPropertyManagerGetMatrix4x4 is used for getting the property value.
  2. If the property value can not be deduced from the object node, the same query is performed for the parent of the current object node.
  3. If the property is not found until the root is reached, the output value is not modified and KZ_FALSE is returned.
kzBool kzuObjectNodeGetMatrix4x4SRTProperty ( const struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType,
struct KzcVector3 out_scale,
struct KzcVector3 out_rotateInDegrees,
struct KzcVector3 out_translate 
)

Get the value of a property of propertyType associated with an object node in SRT format.

Returns KZ_TRUE if the property is found and KZ_FALSE otherwise. The return value is calculated based on the following steps:

  1. kzuPropertyManagerGetMatrix4x4 is used for getting the property value.
  2. If the property value can not be deduced from the object node, the same query is performed for the parent of the current object node.
  3. If the property is not found until the root is reached, the output value is not modified and KZ_FALSE is returned.
    Parameters
    out_scaleScale vector of the matrix SRT, not returned when KZ_NULL given as an argument.
    out_rotateRotate vector of the matrix SRT in degrees, not returned when KZ_NULL given as an argument.
    out_translateTranslate vector of the matrix SRT, not returned when KZ_NULL given as an argument.
kzBool kzuObjectNodeGetBaseMatrix4x4Property ( const struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType,
struct KzcMatrix4x4 out_value 
)

Get the base value of a property of propertyType associated with an object node.

Behaves like kzuObjectNodeGetMatrix4x4Property but does not take animation into account.

struct KzcMatrix4x4 kzuObjectNodeGetMatrix4x4PropertyDefault ( const struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType 
)

Get the value of a property associated with an object node.

Behaves like kzuObjectNodeGetMatrix4x4Property, but if the property value can not be deduced, the default value from the property type is returned.

void kzuObjectNodeGetMatrix4x4PropertyDefaultSRT ( const struct KzuObjectNode objectNode,
const struct KzuPropertyType propertyType,
struct KzcVector3 out_scale,
struct KzcVector3 out_rotateInDegrees,
struct KzcVector3 out_translate 
)

Get the value of a property associated with an object node in SRT format.

Parameters
out_scaleScale vector of the matrix SRT, not returned when KZ_NULL given as an argument.
out_rotateRotate vector of the matrix SRT in degrees, not returned when KZ_NULL given as an argument.
out_translateTranslate vector of the matrix SRT, not returned when KZ_NULL given as an argument.