A3DMiscCascadedAttributesPush

A3DStatus A3DMiscCascadedAttributesPush(A3DMiscCascadedAttributes *pAttr, const A3DRootBaseWithGraphics *pBase, const A3DMiscCascadedAttributes *pFather)
A3DStatus A3DMiscCascadedAttributesPush(A3DMiscCascadedAttributes* pAttr, const A3DRootBaseWithGraphics* pBase, const A3DMiscCascadedAttributes* pFather)

Computes the result of cascaded attribute propagation from a parent node.

2.0

In the context of a model file node hierarchy,*cascaded*describes the way an application using HOOPS Exchange will resolve conflicting attributes. Attributes are propagated downstream, by overriding current attributes with the parent node’s ones according to specific inheritance rules defined in:ref:Bit Field for Behavior on Graphics <group__a3d__graphicsbits>.

Although properties propagation can be manually applied if those rules are known, HOOPS Exchange provides``#A3DMiscCascadedAttributesPush``as a convenience function.

#A3DMiscCascadedAttributesPushcomputes the result of propagating attributes from``pFather``to``pBase``and writes them into``pAttr``, which data can then be retrieves using``#A3DMiscCascadedAttributesGet``.

pBasecan be any instance of``#A3DTopoFace``#A3DTopoShell,``#A3DTopoConnex``,``#A3DRiRepresentationItem``,``#A3DAsmPartDefinition``or``#A3DAsmProductOccurrence``.

Parameters

pAttr: A handle to the resulting cascaded attributes

pBase: The child node the attributes are computed from

pFather: The attributes held by the parent node

Returns

A3D_SUCCESSor an error code in case of failure.