Basic
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.
A3DFRMFeatureDatasFeatureData;
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)
{
doubledU=sDoubleData.m_pdValues[0];
doubledV=sDoubleData.m_pdValues[1];
//...
}
A3DFRMDoubleDataGet(nullptr,&sDoubleData);
}
}
//...
A3DFRMFeatureGet(nullptr,&sFeatureData);