Skip to content

Commit 0ab4ec0

Browse files
committed
Adding changes to other types of data
1 parent d19789d commit 0ab4ec0

3 files changed

Lines changed: 155 additions & 176 deletions

File tree

src/Implementation/CMediaRessourceVectorImpl.cpp

Lines changed: 131 additions & 175 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,77 +1079,60 @@ VectorworksMVR::VCOMError VectorworksMVR::CMediaRessourceVectorImpl::GetDataProv
10791079

10801080
VectorworksMVR::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
11631146
VectorworksMVR::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

12171199
VectorworksMVR::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

12901259
VectorworksMVR::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

Comments
 (0)