Multi Layer Cover Controller

interface ICwAPI3DMultiLayerCoverController

Public Functions

virtual std::vector<multiLayerSetID> getMultiLayerWalls() = 0

Gets all multi layer wall ids.

Attention

This function is not ABI stable. Use getMultiLayerWallsEx() for ABI stable code.

Example:
std::vector<multiLayerSetID> wallIds = aFactory->getMultiLayerCoverController()->getMultiLayerWalls();
printf("Found %d multi-layer wall definitions\n", wallIds.size());

for (size_t i = 0; i < wallIds.size(); ++i)
{
    multiLayerSetID wallId = wallIds[i];
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(wallId);
    wprintf(L"Wall ID: %d, Name: %ls\n", wallId, name->data());
}

Returns:

[std::vector<multiLayerSetID>] The multi layer wall ids.

virtual ICwAPI3DString *getMultiLayerSetName(multiLayerSetID aSetId) = 0

Gets the name for a multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
ICwAPI3DString* setName = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(multiLayerSetId);
wprintf(L"Element uses multi-layer definition: %ls\n", setName->data());

Parameters:

aSetId[in] [multiLayerSetID] The multi layer set id.

Returns:

[ICwAPI3DString*] The multi layer set name.

virtual void setMultiLayerSetName(multiLayerSetID aSetId, const character *aSetName) = 0

Sets the name for a multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall("Default Wall");
aFactory->getMultiLayerCoverController()->setMultiLayerSetName(multiLayerSetId, "Exterior Wall Type B");

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aSetName[in] [const character*] The multi layer set name.

virtual multiLayerSetID getElementMultiLayerSet(elementID aElementId) = 0

Gets the multi layer set id of a cover.

Example:
ICwAPI3DElementIDList* coverIds = element->getCovers();
for (index i = 0; i < coverIds->count(); ++i)
{
    elementID coverId = coverIds->at(i);
    multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(coverId);
    ICwAPI3DString* setName = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(multiLayerSetId);
    printf("Cover %d uses wall type: %s\n", coverId, setName->data());
}

Parameters:

aElementId[in] [elementID] The element id of the cover.

Returns:

[multiLayerSetID] The multi layer set id.

virtual void setElementMultiLayerSet(elementID aElementId, multiLayerSetID aSetId) = 0

Sets the multi layer set id of a cover.

Example:
elementID coverId = element->createCover(points, normalVector);

multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall(L"Wall Type A");

aFactory->getMultiLayerCoverController()->setElementMultiLayerSet(coverId, multiLayerSetId);

Parameters:
  • aElementId[in] [elementID] The element id of the cover.

  • aSetId[in] [multiLayerSetID] The multi layer set id.

virtual multiLayerSetID createMultiLayerWall(const character *aSetName) = 0

Creates a new multi layer wall with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall("Exterior Insulated Wall");
printf("Created new multi-layer wall with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.

virtual ICwAPI3DString *getCoverName(multiLayerSetID aSetId) = 0

Gets the cover name defined in the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
ICwAPI3DString* coverName = aFactory->getMultiLayerCoverController()->getCoverName(multiLayerSetId);
printf("Cover name: %ls\n", coverName->data());

Parameters:

aSetId[in] [multiLayerSetID] The multi layer set id.

Returns:

[ICwAPI3DString*] The cover name.

virtual void setCoverName(multiLayerSetID aSetId, const character *aCoverName) = 0

Sets the cover name of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall(L"Default Wall");

aFactory->getMultiLayerCoverController()->setCoverName(multiLayerSetId, L"Exterior Facade");

Parameters:
virtual materialID getCoverMaterial(multiLayerSetID aSetId) = 0

Gets the cover material defined in the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
materialID materialId = aFactory->getMultiLayerCoverController()->getCoverMaterial(multiLayerSetId);
ICwAPI3DString* materialName = aFactory.getMaterialController()->getName(materialId);
printf("Cover uses material: %ls\n", materialName->data());

Parameters:

aSetId[in] [multiLayerSetID] The multi layer set id.

Returns:

[materialID] The cover material.

virtual void setCoverMaterial(multiLayerSetID aSetId, materialID aCoverMaterial) = 0

Sets the cover material of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall(L"Default Wall");

materialID materialId = aFactory->getMaterialController()->getMaterialID(L"Cement Board");

aFactory->getMultiLayerCoverController()->setCoverMaterial(multiLayerSetId, materialId);

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aCoverMaterial[in] [materialID] The cover material.

virtual double getCoverThickness(multiLayerSetID aSetId) = 0

Gets the cover thickness of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
double thickness = aFactory->getMultiLayerCoverController()->getCoverThickness(multiLayerSetId);
printf("Cover thickness: %.2fmm\n", thickness);

Parameters:

aSetId[in] [multiLayerSetID] The multi layer set id.

Returns:

[double] The cover thickness.

virtual void setCoverThickness(multiLayerSetID aSetId, double aCoverThickness) = 0

Sets the cover thickness of the multi layer set. Only allowed for simple walls (cover without layer).

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall(L"Simple Wall");

aFactory->getMultiLayerCoverController()->setCoverThickness(multiLayerSetId, 150.0);

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aCoverThickness[in] [double] The cover thickness.

virtual uint64_t getLayerCount(multiLayerSetID aSetId) = 0

Gets the Number of Layers of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
uint64_t count = aFactory->getMultiLayerCoverController()->getLayerCount(multiLayerSetId);
printf("Wall has %llu layers\n", count);

Parameters:

aSetId[in] [multiLayerSetID] The multi layer set id.

Returns:

[uint64_t] The number of layers.

virtual void addLayer(multiLayerSetID aSetId, multiLayerType aType, const character *aName, materialID aMaterialId, double aThickness) = 0

Adds a new layer to the multi layer set.

Example:
materialID materialId1 = aFactory.getMaterialController()->getMaterialID("material_1");
materialID materialId2 = aFactory.getMaterialController()->getMaterialID("material_2");

multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall("MultiLayerWall");

double layer1Thickness = 200;
double layer2Thickness = 15;

aFactory->getMultiLayerCoverController()->addLayer(multiLayerSetId, multiLayerType::structure, "Layer1", materialId1, layer1Thickness);
aFactory->getMultiLayerCoverController()->addLayer(multiLayerSetId, multiLayerType::panel, "Layer2", materialId2, layer2Thickness);

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aType[in] [multiLayerType] The type of the layer.

  • aName[in] [const character*] The name of the layer.

  • aMaterialId[in] [materialID] The material id of the layer.

  • aThickness[in] [double] The thickness of the layer.

virtual ICwAPI3DString *getLayerName(multiLayerSetID aSetId, uint64_t aLayerIndex) = 0

Gets the name of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
uint64_t layerCount = aFactory->getMultiLayerCoverController()->getLayerCount(multiLayerSetId);

for (uint64_t i = 0; i < layerCount; ++i)
{
    ICwAPI3DString* layerName = aFactory->getMultiLayerCoverController()->getLayerName(multiLayerSetId, i);
    printf("Layer %llu: %s\n", i, layerName->data());
}

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

Returns:

[ICwAPI3DString*] The layer name.

virtual void setLayerName(multiLayerSetID aSetId, uint64_t aLayerIndex, const character *aName) = 0

Sets the name of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);

aFactory->getMultiLayerCoverController()->setLayerName(multiLayerSetId, 0, L"Exterior Cladding");
aFactory->getMultiLayerCoverController()->setLayerName(multiLayerSetId, 1, L"Insulation Layer");

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

  • aName[in] [const character*] The name of the layer.

virtual materialID getLayerMaterial(multiLayerSetID aSetId, uint64_t aLayerIndex) = 0

Gets the material of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
uint64_t layerCount = aFactory->getMultiLayerCoverController()->getLayerCount(multiLayerSetId);

for (uint64_t i = 0; i < layerCount; ++i)
{
    materialID materialId = aFactory->getMultiLayerCoverController()->getLayerMaterial(multiLayerSetId, i);
    ICwAPI3DString* materialName = aFactory.getMaterialController()->getName(materialId);
    printf("Layer %llu material: %s\n", i, materialName->data());
}

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

Returns:

[materialID] The layer material.

virtual void setLayerMaterial(multiLayerSetID aSetId, uint64_t aLayerIndex, materialID aMaterialId) = 0

Sets the material of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);

materialID insulationMaterialId = aFactory->getMaterialController()->getMaterialID(L"Mineral Wool");

aFactory->getMultiLayerCoverController()->setLayerMaterial(multiLayerSetId, 1, insulationMaterialId);

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

  • aMaterialId[in] [materialID] The material id of the layer.

virtual double getLayerThickness(multiLayerSetID aSetId, uint64_t aLayerIndex) = 0

Gets the thickness of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
uint64_t layerCount = aFactory->getMultiLayerCoverController()->getLayerCount(multiLayerSetId);
double totalThickness = 0.0;

for (uint64_t i = 0; i < layerCount; ++i)
{
    double thickness = aFactory->getMultiLayerCoverController()->getLayerThickness(multiLayerSetId, i);
    totalThickness += thickness;
    printf("Layer %llu thickness: %.2fmm\n", i, thickness);
}

printf("Total wall thickness: %.2fmm\n", totalThickness);

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

Returns:

[double] The layer thickness.

virtual void setLayerThickness(multiLayerSetID aSetId, uint64_t aLayerIndex, double aThickness) = 0

Sets the thickness of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);

aFactory->getMultiLayerCoverController()->setLayerThickness(multiLayerSetId, 0, 25.0);   // Set first layer to 25mm
aFactory->getMultiLayerCoverController()->setLayerThickness(multiLayerSetId, 1, 120.0);  // Set second layer to 120mm

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

  • aThickness[in] [double] The layer thickness.

virtual multiLayerType getLayerType(multiLayerSetID aSetId, uint64_t aLayerIndex) = 0

Gets the type of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
uint64_t layerCount = aFactory->getMultiLayerCoverController()->getLayerCount(multiLayerSetId);

for (uint64_t i = 1; i <= layerCount; ++i)
{
    multiLayerType layerType = aFactory->getMultiLayerCoverController()->getLayerType(multiLayerSetId, i);
    ICwAPI3DString* layerName = aFactory->getMultiLayerCoverController()->getLayerName(multiLayerSetId, i);

    const character* typeStr = (layerType == multiLayerType::structure) ? L"Structure" : L"your logic...";
    wprintf(L"Layer %llu (%ls): Type = %ls\n", i, layerName->data(), typeStr);
}

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

Returns:

[multiLayerType] The layer type.

virtual void setLayerType(multiLayerSetID aSetId, uint64_t aLayerIndex, multiLayerType aType) = 0

Sets the type of a layer of the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
uint64_t layerCount = aFactory->getMultiLayerCoverController()->getLayerCount(multiLayerSetId);
uint64_t layerMidPointIdx = layerCount / 2;

aFactory->getMultiLayerCoverController()->setLayerType(multiLayerSetId, layerMidPointIdx, multiLayerType::structure);

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

  • aType[in] [multiLayerType] The layer type.

virtual CwAPI3D::colorID getCoverColor(CwAPI3D::multiLayerSetID aSetId) = 0

Gets the cover color defined in the multi layer set.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->getElementMultiLayerSet(elementId);
colorID colorId = aFactory->getMultiLayerCoverController()->getCoverColor(multiLayerSetId);
printf("Cover uses color: %lu\n", colorId);

Parameters:

aSetId[in] [multiLayerSetID] The multi layer set id.

Returns:

[colorID] The cover color.

virtual void setCoverColor(CwAPI3D::multiLayerSetID aSetId, CwAPI3D::colorID aCoverColor) = 0

Sets the cover color of the multi layer set.

Example:

multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerWall(L"Default Wall");

aFactory->getMultiLayerCoverController()->setCoverColor(multiLayerSetId, 3);
todo

Parameters:
virtual multiLayerComponentType::multiLayerComponentType getMultiLayerSetComponentType(multiLayerSetID aSetId) = 0

Gets the multi layer set component type.

Parameters:

aSetId[in] [multiLayerSetID] The multi layer set id.

Returns:

[multiLayerComponentType] The multi layer set component type.

virtual void setMultiLayerSetComponentType(multiLayerSetID aSetId, multiLayerComponentType::multiLayerComponentType aType) = 0

Sets the multi layer set component type.

Parameters:
virtual multiLayerSubType::multiLayerSubType getLayerSubType(multiLayerSetID aSetId, uint64_t aLayerIndex) = 0

Gets the layer sub type.

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

Returns:

[multiLayerSubType] The layer sub type.

virtual void setLayerSubType(multiLayerSetID aSetId, uint64_t aLayerIndex, multiLayerSubType::multiLayerSubType aSubType) = 0

Sets the layer sub type.

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

  • aSubType[in] [multiLayerSubType] The layer sub type.

virtual ICwAPI3DString *getLayerStandardPanelGuid(multiLayerSetID aSetId, uint64_t aLayerIndex) = 0

Gets the layer standard panel guid.

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

Returns:

[ICwAPI3DString*] The layer standard panel guid.

virtual void setLayerStandardPanelGuid(multiLayerSetID aSetId, uint64_t aLayerIndex, const character *aGuid) = 0

Sets the layer standard panel guid.

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

  • aGuid[in] [character*] The layer standard panel guid.

virtual ICwAPI3DString *getLayerStandardBeamGuid(multiLayerSetID aSetId, uint64_t aLayerIndex) = 0

Gets the layer standard beam guid.

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

Returns:

[ICwAPI3DString*] The layer standard beam guid.

virtual void setLayerStandardBeamGuid(multiLayerSetID aSetId, uint64_t aLayerIndex, const character *aGuid) = 0

Sets the layer standard beam guid.

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aLayerIndex[in] [uint64_t] The layer index.

  • aGuid[in] [character*] The layer standard beam guid.

virtual void addLayerByStandardElements(multiLayerSetID aSetId, multiLayerType aType, const character *aName, const character *aPanelGuid, const character *aBeamGuid, double aThickness) = 0

Adds layer by standard element.

Parameters:
  • aSetId[in] [multiLayerSetID] The multi layer set id.

  • aType[in] [multiLayerComponentType] The multi layer set component type.

  • aName[in] [character*] The layer name.

  • aPanelGuid[in] [character*] The layer standard panel guid.

  • aBeamGuid[in] [character*] The layer standard beam guid.

  • aThickness[in] [double] The layer thickness.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerFramedFloors() = 0

Gets all framed multi layer floor ids.

Example:
std::vector<multiLayerSetID> floorIds = aFactory->getMultiLayerCoverController()->getMultiLayerFramedFloors();
printf("Found %d multi-layer floor definitions\n", floorIds.size());

for (size_t i = 0; i < floorIds.size(); ++i)
{
    multiLayerSetID floorId = floorIds[i];
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(floorId);
    wprintf(L"Floor ID: %d, Name: %ls\n", floorId, name->data());
}

Returns:

[std::vector<multiLayerSetID>] The multi layer floor ids.

virtual multiLayerSetID createMultiLayerFramedFloor(const character *aSetName) = 0

Creates a new multi layer floor with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerFramedFloor("Standard Floor");
printf("Created new multi-layer floor with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerFramedRoofs() = 0

Gets all multi layer roof ids.

Example:
std::vector<multiLayerSetID> roofIds = aFactory->getMultiLayerCoverController()->getMultiLayerFramedRoofs();
printf("Found %d multi-layer roof definitions\n", roofIds.size());

for (size_t i = 0; i < roofIds.size(); ++i)
{
    multiLayerSetID roofId = roofIds[i];
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(roofId);
    wprintf(L"Roof ID: %d, Name: %ls\n", roofId, name->data());
}

Returns:

[std::vector<multiLayerSetID>] The multi layer roof ids.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerSolidFloors() = 0

Gets all solid multi layer floor ids.

Example:
std::vector<multiLayerSetID> floorIds = aFactory->getMultiLayerCoverController()->getMultiLayerSolidFloors();
printf("Found %d multi-layer floor definitions\n", floorIds.size());

for (size_t i = 0; i < floorIds.size(); ++i)
{
    multiLayerSetID floorId = floorIds[i];
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(floorId);
    wprintf(L"Floor ID: %d, Name: %ls\n", floorId, name->data());
}

Returns:

[std::vector<multiLayerSetID>] The multi layer floor ids.

virtual multiLayerSetID createMultiLayerSolidFloor(const character *aSetName) = 0

Creates a new multi layer solid floor with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerSolidFloor("Standard Solid Floor");
printf("Created new multi-layer solid floor with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.

virtual multiLayerSetID createMultiLayerFramedRoof(const character *aSetName) = 0

Creates a new multi layer roof with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerFramedRoof("Pitched Roof");
printf("Created new multi-layer roof with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.

virtual multiLayerSetID createMultiLayerFramedWall(const character *aSetName) = 0

Creates a new multi layer wall with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerFramedWall("Standard Wall");
printf("Created new multi-layer wall with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerSets() = 0

Gets all multi layer set ids of all types.

Example:
std::vector<multiLayerSetID> allIds = aFactory->getMultiLayerCoverController()->getAllMultiLayerTypes();
printf("Found %d multi-layer definitions in total\n", allIds.size());

for (size_t i = 0; i < allIds.size(); ++i)
{
    multiLayerSetID setId = allIds[i];
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(setId);
    wprintf(L"Set ID: %d, Name: %ls\n", setId, name->data());
}

Returns:

[std::vector<multiLayerSetID>] All multi layer set ids.

virtual multiLayerSetID createMultiLayerByCoverType(const character *aSetName, multiLayer::multiLayerCoverType aCoverType) = 0

Creates a new multi layer set of specified type with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerByCoverType("Custom Solid Wall", multiLayerCoverType::multiLayerCoverType::SolidWall);
printf("Created new multi-layer set with ID: %d\n", multiLayerSetId);

Parameters:
  • aSetName[in] [const character*] The multi layer set name.

  • aCoverType[in] [multiLayerCoverType::multiLayerCoverType] The cover type.

Returns:

[multiLayerSetID] The multi layer set id.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerSetsForCoverType(multiLayer::multiLayerCoverType aCoverType) = 0

Gets all multi layer set ids of specified cover type.

Example:
ICwAPI3DMultiLayerSetIDList* setIds = aFactory->getMultiLayerCoverController()->getMultiLayerSetsForCoverType(multiLayerCoverType::multiLayerCoverType::SolidWall);

Parameters:

aCoverType[in] [multiLayerCoverType::multiLayerCoverType] The cover type.

Returns:

[ICwAPI3DMultiLayerSetIDList*] The multi layer set ids.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerWallsEx() = 0

Gets all multi layer wall ids.

Example:
ICwAPI3DMultiLayerSetIDList* wallIds = aFactory->getMultiLayerCoverController()->getMultiLayerWallsEx();
printf("Found %d multi-layer wall definitions\n", wallIds->count());

for (size_t i = 0; i < wallIds->count(); ++i)
{
    multiLayerSetID wallId = wallIds->at(i);
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(wallId);
    wprintf(L"Wall ID: %d, Name: %ls\n", wallId, name->data());
}

Returns:

[ICwAPI3DMultiLayerSetIDList*] The multi layer wall ids.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerLogWalls() = 0

Gets all multi layer log wall ids.

Example:
ICwAPI3DMultiLayerSetIDList* logWallIds = aFactory->getMultiLayerCoverController()->getMultiLayerLogWalls();
printf("Found %d multi-layer log wall definitions\n", logWallIds->count());

for (size_t i = 0; i < logWallIds->count(); ++i)
{
    multiLayerSetID logWallId = logWallIds->at(i);
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(logWallId);
    wprintf(L"Log Wall ID: %d, Name: %ls\n", logWallId, name->data());
}

Returns:

[ICwAPI3DMultiLayerSetIDList*] The multi layer log wall ids.

virtual multiLayerSetID createMultiLayerLogWall(const character *aSetName) = 0

Creates a new multi layer log wall with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerLogWall("Standard Log Wall");
printf("Created new multi-layer log wall with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerSolidRoofs() = 0

Gets all multi layer solid roof ids.

Example:
ICwAPI3DMultiLayerSetIDList* solidRoofIds = aFactory->getMultiLayerCoverController()->getMultiLayerSolidRoofs();
printf("Found %d multi-layer solid roof definitions\n", solidRoofIds->count());

for (size_t i = 0; i < solidRoofIds->count(); ++i)
{
    multiLayerSetID solidRoofId = solidRoofIds->at(i);
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(solidRoofId);
    wprintf(L"Solid Roof ID: %d, Name: %ls\n", solidRoofId, name->data());
}

Returns:

[ICwAPI3DMultiLayerSetIDList*] The multi layer solid roof ids.

virtual multiLayerSetID createMultiLayerSolidRoof(const character *aSetName) = 0

Creates a new multi layer solid roof with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerSolidRoof("Standard Solid Roof");
printf("Created new multi-layer solid roof with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.

virtual ICwAPI3DMultiLayerSetIDList *getMultiLayerSolidWalls() = 0

Gets all multi layer solid wall ids.

Example:
ICwAPI3DMultiLayerSetIDList* solidWallIds = aFactory->getMultiLayerCoverController()->getMultiLayerSolidWalls();
printf("Found %d multi-layer solid wall definitions\n", solidWallIds->count());

for (size_t i = 0; i < solidWallIds->count(); ++i)
{
    multiLayerSetID solidWallId = solidWallIds->at(i);
    ICwAPI3DString* name = aFactory->getMultiLayerCoverController()->getMultiLayerSetName(solidWallId);
    wprintf(L"Solid Wall ID: %d, Name: %ls\n", solidWallId, name->data());
}

Returns:

[ICwAPI3DMultiLayerSetIDList*] The multi layer solid wall ids.

virtual multiLayerSetID createMultiLayerSolidWall(const character *aSetName) = 0

Creates a new multi layer solid wall with given name and default values.

Example:
multiLayerSetID multiLayerSetId = aFactory->getMultiLayerCoverController()->createMultiLayerSolidWall("Standard Solid Wall");
printf("Created new multi-layer solid wall with ID: %d\n", multiLayerSetId);

Parameters:

aSetName[in] [const character*] The multi layer set name.

Returns:

[multiLayerSetID] The multi layer set id.