Kernel SDK Developer's Guide > Common Data Access > Explore the CDA Tree
Explore the CDA Tree

The CDA tree can be explored by traversing it.

Explore Nodes

Each OdRxModelTreeBaseNode object in the CDA tree contains the following information:

  • Unique node identifier UniqueID
  • Unique database identifier UniqueDatabaseID
  • Node name
  • Node type
  • Array of children of the node
  • Array of parents of the node
  • Array of PropertyInfo structures containing information about properties

UniqueID and UniqueDatabaseID are used to identify a node in the tree. For example, UniqueID is used in Visualize to bind the GiDrawables node and the CDA tree node. The unique identifier for the main database (UniqueDatabaseID) is always zero. The unique identifier for nested databases is the address of the corresponding database object. UniqueDatabaseID is filled when a CDA tree is created; in the hierarchy, there is a node element with the Database hierarchical attribute.

Note: Binding GiDrawables and UniqueDatabaseID is only possible during one database session. Otherwise, the result is not guaranteed.

Explore Node Properties

Node properties are stored in PropertyInfo structures. A PropertyInfo structure contains information about the node property. Each element contains the following information:

  • Property name
  • Localized property name
  • Ui placement group
  • Ui placement weight
  • Property value
  • Array of subproperties

The property value is an OdRxPropertyVariant object. The OdRxPropertyVariant object supports the following data types:

  • OdString
  • OdAnsiString
  • OdBool
  • OdInt8
  • OdInt16
  • OdInt32
  • OdInt64
  • OdUInt8
  • OdUInt16
  • OdUInt32
  • OdUInt64
  • OdDouble
  • OdCmEntityColor
  • OdCmTransparency
  • OdGePoint2d
  • OdGePoint3d
  • OdGeVector2d
  • OdGeVector3d
  • OdGeMatrix2d
  • OdGeMatrix3d
  • OdGeScale3d
  • OdTimeStamp
  • OdGeExtents2d
  • OdGeExtents3d
  • OdGeQuaternion
  • OdGiLightAttenuation
  • OdGiSkyParameters
  • OdGiShadowParameters
  • OdGiColorRGB
  • OdGiMrExposureType
  • OdGiMrShadowMode
  • OdGiMrFinalGatheringMode
  • OdGiMrDiagnosticMode
  • OdGiMrDiagnosticPhotonMode
  • OdGiMrDiagnosticBSPMode
  • OdGiMrExportMIMode
  • OdGiMrTileOrder
  • OdGiLightingMode
  • OdGiFilterType
  • OdGiMaterialColor
  • OdCmEntityColor::ColorMethod
  • OdDb::LineWeight
  • OdDb::UnitsValue
  • OdGiDgLinetypeModifiers::WidthMode
  • OdGiDgLinetypeModifiers::ShiftMode
  • OdGiDgLinetypeModifiers::CornersMode
  • OdGe::OdGeKnotParameterization
  • OdGiLightAttenuation::AttenuationType
  • OdGiDrawable::DrawableType
  • OdGiShadowParameters::ShadowType
  • OdGiShadowParameters::ExtendedLightShape
  • OdGiViewportTraits::DefaultLightingType
  • OdGiMaterialTraits::LuminanceMode
  • OdGiMaterialTraits::GlobalIlluminationMode
  • OdGiMaterialTraits::FinalGatherMode
  • OdGiMaterialTraits::ChannelFlags
  • OdGiMaterialTraits::Mode
  • OdGiMaterialTraits::IlluminationModel
  • OdGiVisualStyle::Type
  • OdGiVisualStyleProperties::FaceColorMode
  • OdGiVisualStyleProperties::EdgeModel
  • OdGiFaceStyle::FaceColorMode
  • OdGiEdgeStyle::EdgeModel
  • OdGiToneOperatorParameters::ExteriorDaylightMode

When a CDA tree is created, the values of properties are filled according to the following rules:

  • If the property value type is included in the list of supported types, the corresponding value of this property is assigned.
  • If the property is a reference to RxObject and has OdRxDisplayAsAttribute, the OdRxDisplayAsAttribute value is assigned as the property value.
  • In other cases, the value is set to the value returned by OdRxValue::toString().

See Also

Common Data Access

Copyright © 2002 – 2020. Open Design Alliance. All rights reserved.