Basic

Detailed Description

group a3d_feature_data_basic_module

The basic features are these defined with one of the following family types kA3DFamily_DoubleData, kA3DFamily_IntegerData, kA3DFamily_StringData.

These embed basic data: a double, an array of int.. And the sub Type of the feature will indicate what data it is.

For example, uv parameters will be stored in a feature with type kA3DFamily_DoubleData/kA3DFRMDoubleUVParameter, with two double inside.

A3DFRMFeatureData sFeatureData;
A3D_INITIALIZE_DATA(A3DFRMFeatureData, sFeatureData);
A3DFRMFeatureGet (pFeatureUV, &sFeatureData);
if( sFeatureData.m_sType.m_eFamily == kA3DFamily_DoubleData
    && sFeatureData.m_sType.m_uiType ==kA3DFRMDoubleUVParameter)
{
    if( sFeatureData.m_eDataType == kA3DFRMDataDouble)
    {
        A3D_INITIALIZE_DATA(A3DFRMDoubleData, sDoubleData);
        A3DFRMDoubleDataGet(pFeatureUV, &sDoubleData);
        if (sDoubleData.m_uiValuesSize == 2)
        {
            double dU = sDoubleData.m_pdValues[0];
            double dV = sDoubleData.m_pdValues[1];
            //...
        }
        A3DFRMDoubleDataGet(nullptr, &sDoubleData);
    }
}
//...
A3DFRMFeatureGet(nullptr, &sFeatureData);