@@ -1079,77 +1079,60 @@ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetDataProv
10791079
10801080VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetPositionObjectCount (size_t & outCount)
10811081{
1082- outCount = 0 ;
1083- for ( SceneData::SceneDataAuxObjPtr auxObj : fExchangeObj .GetAuxDataObjects () )
1084- {
1085- if ( auxObj->GetObjectType () == SceneData::ESceneDataObjectType::ePosition )
1086- {
1087- outCount++;
1088- }
1089- }
1082+ outCount = fExchangeObj .GetPositionObjects ().size ();
10901083
10911084 return kVCOMError_NoError ;
10921085}
10931086
1094- VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetPositionObjectAt (size_t at, IPosition** outPosition)
1087+ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetPositionObjectAt ( size_t at, IPosition** outPosition )
10951088{
1096- // Prepare a var for local counting
1097- size_t positionCount = 0 ;
1098-
1099- // Now cycle thru aux data
1100- for ( SceneData::SceneDataAuxObjPtr auxObj : fExchangeObj .GetAuxDataObjects () )
1089+ const auto & auxObj = fExchangeObj .GetAuxDataObjects ().at ( at );
1090+ if ( auxObj->GetObjectType () == SceneData::ESceneDataObjectType::ePosition )
11011091 {
1102- if ( auxObj->GetObjectType () == SceneData::ESceneDataObjectType::ePosition )
1092+ // Do the cast
1093+ SceneData::SceneDataPositionObjPtr scPosition = static_cast <SceneData::SceneDataPositionObjPtr>( auxObj );
1094+ ASSERTN ( kEveryone , scPosition != nullptr );
1095+ if ( !scPosition )
11031096 {
1104- if ( at == positionCount )
1097+ return kVCOMError_Failed ;
1098+ }
1099+
1100+ // ---------------------------------------------------------------------------
1101+ // Initialize Object
1102+ CPositionImpl* pPosition = nullptr ;
1103+
1104+ // Query Interface
1105+ if ( VCOM_SUCCEEDED ( VWQueryInterface ( IID_PositionObj, (IVWUnknown**) &pPosition ) ) )
1106+ {
1107+ // Check Casting
1108+ CPositionImpl* pResultInterface = static_cast <CPositionImpl*>( pPosition );
1109+ if ( pResultInterface )
1110+ {
1111+ pResultInterface->SetPointer ( scPosition );
1112+ }
1113+ else
11051114 {
1106- // Do the cast
1107- SceneData::SceneDataPositionObjPtr scPosition = static_cast <SceneData::SceneDataPositionObjPtr>( auxObj );
1108- ASSERTN ( kEveryone , scPosition != nullptr );
1109- if ( !scPosition )
1110- {
1111- return kVCOMError_Failed ;
1112- }
1113-
1114-
1115- // ---------------------------------------------------------------------------
1116- // Initialize Object
1117- CPositionImpl* pPosition = nullptr ;
1118-
1119- // Query Interface
1120- if ( VCOM_SUCCEEDED ( VWQueryInterface ( IID_PositionObj, (IVWUnknown**) &pPosition ) ) )
1121- {
1122- // Check Casting
1123- CPositionImpl* pResultInterface = static_cast <CPositionImpl*>( pPosition );
1124- if ( pResultInterface )
1125- {
1126- pResultInterface->SetPointer ( scPosition );
1127- }
1128- else
1129- {
1130- pResultInterface->Release ();
1131- pResultInterface = nullptr ;
1132- return kVCOMError_NoInterface ;
1133- }
1134- }
1135-
1136- // ---------------------------------------------------------------------------
1137- // Check Incomming Object
1138- if ( *outPosition )
1139- {
1140- ( *outPosition )->Release ();
1141- *outPosition = NULL ;
1142- }
1143-
1144- // ---------------------------------------------------------------------------
1145- // Set Out Value
1146- *outPosition = pPosition;
1147- return kVCOMError_NoError ;
1115+ pResultInterface->Release ();
1116+ pResultInterface = nullptr ;
1117+ return kVCOMError_NoInterface ;
11481118 }
11491119 }
1120+
1121+ // ---------------------------------------------------------------------------
1122+ // Check Incomming Object
1123+ if ( *outPosition )
1124+ {
1125+ ( *outPosition )->Release ();
1126+ *outPosition = NULL ;
1127+ }
1128+
1129+ // ---------------------------------------------------------------------------
1130+ // Set Out Value
1131+ *outPosition = pPosition;
1132+ return kVCOMError_NoError ;
11501133 }
1151-
1152- DSTOP (( kEveryone ," Get Position is out of bounds!" ) );
1134+
1135+ DSTOP ( ( kEveryone , " Get Position is out of bounds!" ) );
11531136 return kVCOMError_Failed ;
11541137}
11551138
@@ -1163,7 +1146,6 @@ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetSymDefCo
11631146VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetSymDefAt (size_t at, ISymDef** outSymDef)
11641147{
11651148 const auto auxObj = fExchangeObj .GetSymDefObjects ().at (at);
1166-
11671149 if ( auxObj->GetObjectType () == SceneData::ESceneDataObjectType::eSymDef )
11681150 {
11691151 // Do the cast
@@ -1216,147 +1198,121 @@ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetSymDefAt
12161198
12171199VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetClassCount (size_t & outCount)
12181200{
1219- outCount = 0 ;
1220- for (SceneData::SceneDataAuxObjPtr auxObj : fExchangeObj .GetAuxDataObjects ())
1221- {
1222- if (auxObj->GetObjectType () == SceneData::ESceneDataObjectType::eClassObject) { outCount++; }
1223- }
1201+ outCount = fExchangeObj .GetClassObjects ().size ();
12241202
12251203 return kVCOMError_NoError ;
12261204}
12271205
1228- VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetClassAt (size_t at, IClass** outClass)
1206+ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetClassAt ( size_t at, IClass** outClass )
12291207{
1230- // Prepare a var for local counting
1231- size_t classCount = 0 ;
1232-
1233- // Now cycle thru aux data
1234- for (SceneData::SceneDataAuxObjPtr auxObj : fExchangeObj .GetAuxDataObjects ())
1208+ const auto & auxObj = fExchangeObj .GetAuxDataObjects ().at ( at );
1209+ if ( auxObj->GetObjectType () == SceneData::ESceneDataObjectType::eClassObject )
12351210 {
1236- if (auxObj->GetObjectType () == SceneData::ESceneDataObjectType::eClassObject)
1211+ // Do the cast
1212+ SceneData::SceneDataClassObjPtr scClass = static_cast <SceneData::SceneDataClassObjPtr>( auxObj );
1213+ ASSERTN ( kEveryone , scClass != nullptr );
1214+ if ( !scClass )
1215+ {
1216+ return kVCOMError_Failed ;
1217+ }
1218+
1219+
1220+ // ---------------------------------------------------------------------------
1221+ // Initialize Object
1222+ CClassImpl* pClass = nullptr ;
1223+
1224+ // Query Interface
1225+ if ( VCOM_SUCCEEDED ( VWQueryInterface ( IID_IClass, (IVWUnknown**) &pClass ) ) )
12371226 {
1238- if (at == classCount)
1227+ // Check Casting
1228+ CClassImpl* pResultInterface = static_cast <CClassImpl*>( pClass );
1229+ if ( pResultInterface )
12391230 {
1240- // Do the cast
1241- SceneData::SceneDataClassObjPtr scClass = static_cast <SceneData::SceneDataClassObjPtr>(auxObj);
1242- ASSERTN (kEveryone , scClass != nullptr );
1243- if (!scClass) { return kVCOMError_Failed ; }
1244-
1245-
1246- // ---------------------------------------------------------------------------
1247- // Initialize Object
1248- CClassImpl* pClass = nullptr ;
1249-
1250- // Query Interface
1251- if (VCOM_SUCCEEDED (VWQueryInterface (IID_IClass, (IVWUnknown**) & pClass)))
1252- {
1253- // Check Casting
1254- CClassImpl* pResultInterface = static_cast <CClassImpl* >(pClass);
1255- if (pResultInterface)
1256- {
1257- pResultInterface->SetPointer (scClass);
1258- }
1259- else
1260- {
1261- pResultInterface->Release ();
1262- pResultInterface = nullptr ;
1263- return kVCOMError_NoInterface ;
1264- }
1265- }
1266-
1267- // ---------------------------------------------------------------------------
1268- // Check Incomming Object
1269- if (*outClass)
1270- {
1271- (*outClass)->Release ();
1272- *outClass = NULL ;
1273- }
1274-
1275- // ---------------------------------------------------------------------------
1276- // Set Out Value
1277- *outClass = pClass;
1278- return kVCOMError_NoError ;
1231+ pResultInterface->SetPointer ( scClass );
1232+ }
1233+ else
1234+ {
1235+ pResultInterface->Release ();
1236+ pResultInterface = nullptr ;
1237+ return kVCOMError_NoInterface ;
12791238 }
1280-
1281- // Increase position count
1282- classCount++;
12831239 }
1240+
1241+ // ---------------------------------------------------------------------------
1242+ // Check Incomming Object
1243+ if ( *outClass )
1244+ {
1245+ ( *outClass )->Release ();
1246+ *outClass = NULL ;
1247+ }
1248+
1249+ // ---------------------------------------------------------------------------
1250+ // Set Out Value
1251+ *outClass = pClass;
1252+ return kVCOMError_NoError ;
12841253 }
1285-
1286- DSTOP (( kEveryone ," Get Position is out of bounds!" ) );
1254+
1255+ DSTOP ( ( kEveryone , " Get Position is out of bounds!" ) );
12871256 return kVCOMError_Failed ;
12881257}
12891258
12901259VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetMappingDefinitionCount (size_t & outCount)
12911260{
1292- outCount = 0 ;
1293- for (SceneData::SceneDataAuxObjPtr auxObj : fExchangeObj .GetAuxDataObjects ())
1294- {
1295- if (auxObj->GetObjectType () == SceneData::ESceneDataObjectType::eMappingDefinitionObject) { outCount++; }
1296- }
1261+ outCount = fExchangeObj .GetMappingDefinitionObjects ().size ();
12971262
12981263 return kVCOMError_NoError ;
12991264}
13001265
1301- VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetMappingDefinitionAt (size_t at, IMappingDefinition** outMapDef)
1266+ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetMappingDefinitionAt ( size_t at, IMappingDefinition** outMapDef )
13021267{
1303- // Prepare a var for local counting
1304- size_t mapDefCount = 0 ;
1305-
1306- // Now cycle thru aux data
1307- for (SceneData::SceneDataAuxObjPtr auxObj : fExchangeObj .GetAuxDataObjects ())
1268+ const auto & auxObj = fExchangeObj .GetMappingDefinitionObjects ().at ( at );
1269+ if ( auxObj )
13081270 {
1309- if (auxObj->GetObjectType () == SceneData::ESceneDataObjectType::eMappingDefinitionObject)
1271+ // Do the cast
1272+ SceneData::SceneDataMappingDefinitionObjPtr scMapDef = static_cast <SceneData::SceneDataMappingDefinitionObjPtr>( auxObj );
1273+ ASSERTN ( kEveryone , scMapDef != nullptr );
1274+ if ( !scMapDef )
1275+ {
1276+ return kVCOMError_Failed ;
1277+ }
1278+
1279+
1280+ // ---------------------------------------------------------------------------
1281+ // Initialize Object
1282+ CMappingDefinitionImpl* pMapDef = nullptr ;
1283+
1284+ // Query Interface
1285+ if ( VCOM_SUCCEEDED ( VWQueryInterface ( IID_MappingDefinitionObj, (IVWUnknown**) &pMapDef ) ) )
13101286 {
1311- if (at == mapDefCount)
1287+ // Check Casting
1288+ CMappingDefinitionImpl* pResultInterface = static_cast <CMappingDefinitionImpl*>( pMapDef );
1289+ if ( pResultInterface )
13121290 {
1313- // Do the cast
1314- SceneData::SceneDataMappingDefinitionObjPtr scMapDef = static_cast <SceneData::SceneDataMappingDefinitionObjPtr>(auxObj);
1315- ASSERTN (kEveryone , scMapDef != nullptr );
1316- if (!scMapDef) { return kVCOMError_Failed ; }
1317-
1318-
1319- // ---------------------------------------------------------------------------
1320- // Initialize Object
1321- CMappingDefinitionImpl* pMapDef = nullptr ;
1322-
1323- // Query Interface
1324- if (VCOM_SUCCEEDED (VWQueryInterface (IID_MappingDefinitionObj, (IVWUnknown**) & pMapDef)))
1325- {
1326- // Check Casting
1327- CMappingDefinitionImpl* pResultInterface = static_cast <CMappingDefinitionImpl* >(pMapDef);
1328- if (pResultInterface)
1329- {
1330- pResultInterface->SetPointer (scMapDef);
1331- }
1332- else
1333- {
1334- pResultInterface->Release ();
1335- pResultInterface = nullptr ;
1336- return kVCOMError_NoInterface ;
1337- }
1338- }
1339-
1340- // ---------------------------------------------------------------------------
1341- // Check Incomming Object
1342- if (*outMapDef)
1343- {
1344- (*outMapDef)->Release ();
1345- *outMapDef = NULL ;
1346- }
1347-
1348- // ---------------------------------------------------------------------------
1349- // Set Out Value
1350- *outMapDef = pMapDef;
1351- return kVCOMError_NoError ;
1291+ pResultInterface->SetPointer ( scMapDef );
13521292 }
1353-
1354- // Increase position count
1355- mapDefCount++;
1293+ else
1294+ {
1295+ pResultInterface->Release ();
1296+ pResultInterface = nullptr ;
1297+ return kVCOMError_NoInterface ;
1298+ }
1299+ }
1300+
1301+ // ---------------------------------------------------------------------------
1302+ // Check Incomming Object
1303+ if ( *outMapDef )
1304+ {
1305+ ( *outMapDef )->Release ();
1306+ *outMapDef = NULL ;
13561307 }
1308+
1309+ // ---------------------------------------------------------------------------
1310+ // Set Out Value
1311+ *outMapDef = pMapDef;
1312+ return kVCOMError_NoError ;
13571313 }
1358-
1359- DSTOP (( kEveryone ," GetMappingDefinitionAt is out of bounds!" ) );
1314+
1315+ DSTOP ( ( kEveryone , " GetMappingDefinitionAt is out of bounds!" ) );
13601316 return kVCOMError_Failed ;
13611317}
13621318
0 commit comments