10.13.00.48


Overview

MicroStation CONNECT Update 13 10.13.00.XX Builds

The following methods/functions have been added to this release of the SDK

C++ API

ClashDetection

With a license you can now use the clash detection API in MicroStation.

This is valid if user has the entitlement license for Clash Detection module else null

static ClashDetectorPtr CreateClashDetector(ViewportR viewPort);

Add geometry to the clash detector

IClashDataP CollectGeometry ( DisplayPath const& displayPath, ClashCollectStatus* status = NULL, double offset = 0);

Add geometry to the clash detector

IClashDataP CollectGeometry ( ElementHandleCR elemHandle, ClashCollectStatus* status = NULL, double offset = 0 );

Delete all geometry added to the clash detector

void Clear ();

Calculate the closest approach between two pieces of geometry

ClashStatus ComputeClosestApproach (double& outClearance, IClashDataCP object1, IClashDataCP object2, double maxClearance);

Calculate the closest distance to a point and an object

ClashStatus ComputeClosestApproachToPosition (double& outClearance, IClashDataCP object1, DPoint3dCR positionUOR, double maxClearance);

Materials (MaterialSettings.h)

Microstation U13 support PBR Materials below is the API to create and Query a PBR Material. These methods are on MaterialSettings.h

Get if this material is a PBR Material

DGNPLATFORM_EXPORT bool MaterialSettings::IsPBRMaterial () const;

Set if this material is a PBR Material

DGNPLATFORM_EXPORT void MaterialSettings::SetIsPBRMaterial (bool isPBRMaterial);

Get the property for the surface being metallic or dialectic, Rusty surfaces is where this value would be in between 0 & 1

DGNPLATFORM_EXPORT double MaterialSettings::GetPBRMetalInsulatorRatio() const;

Set the property for the surface being metallic or dialectic, Rusty surfaces is where this value would be in between 0 & 1

DGNPLATFORM_EXPORT void MaterialSettings::SetPBRMetalInsulatorRatio(double ratio);

Defines the amount of incoming light that is scattered in all directions equally.

DGNPLATFORM_EXPORT double MaterialSettings::GetPBRRoughness() const;

Set the surface roughness

DGNPLATFORM_EXPORT void MaterialSettings::SetPBRRoughness(double roughness);

Set the scale factor affecting the appearance of the height map

DGNPLATFORM_EXPORT void MaterialSettings::SetPBRHeightMapScale (double scaleFactor);

Defines the scale factor affecting the appearance of the height map

DGNPLATFORM_EXPORT double MaterialSettings::GetPBRHeightMapScale() const;

Set the scale factor affecting the appearance of the Normal map

DGNPLATFORM_EXPORT void MaterialSettings::SetPBRNormalMapScale (double scaleFactor);

Defines the scale factor affecting the appearance of the Normal map

DGNPLATFORM_EXPORT double MaterialSettings::GetPBRNormalMapScale() const;

Set the scale factor affecting the appearance of the Ambient Occlusion map code{.unparsed}

DGNPLATFORM_EXPORT void MaterialSettings::SetPBRAmbientOcclusionMapScale (double scaleFactor);

Defines the scale factor affecting the appearance of the Ambient Occlusion map

DGNPLATFORM_EXPORT double MaterialSettings::GetPBRAmbientOcclusionMapScale() const;

Get the PBR emissive color for the material

DGNPLATFORM_EXPORT RgbFactor const& MaterialSettings::GetPBREmissiveColor () const;

Get the PBR emissive color for the material

RgbFactor& MaterialSettings::GetPBREmissiveColorR ();

Set the PBR emissive color for the material

void MaterialSettings::SetPBREmissiveColor (double red, double green, double blue);

Material

There is also a class which can be used if only PBR parameters are required.

If the material is a PBR material get an object encapsulating the pbr settings. If the material is not a PBR material the RefCounted pointer is null

PBRMaterialSettingsPtr MaterialManager::GetPBRSettingsR ();

If the material is a PBR material get an object encapsulating the pbr settings. If the material is not a PBR material the RefCounted pointer is null

PBRMaterialSettingsConstPtr MaterialManager::GetPBRSettings () const;

PBRMaterialSettings

Get the material these settings are for

MaterialCR PBRMaterialSettings::GetMaterial() const;

Get the material these settings are for

MaterialR PBRMaterialSettings::GetMaterialR();

Get the collection of maps

MaterialMapCollectionCR PBRMaterialSettings::GetMaps() const;

Get the collection of maps

MaterialMapCollectionR PBRMaterialSettings::GetMapsR();

Get if the material has a fixed base color or if it derives its color from the element color

bool PBRMaterialSettings::HasBaseColor() const;

Set if the material has a fixed base color or if it derives its color from the element color

void PBRMaterialSettings::SetHasBaseColor(bool hasBaseColor);

Get the base (diffuse color) for the material

RgbFactor const& PBRMaterialSettings::GetBaseColor() const;

Get the base (diffuse color) for the material

RgbFactor& PBRMaterialSettings::GetBaseColorR();

Set the base (diffuse color) for the material

void PBRMaterialSettings::SetBaseColor(double red, double green, double blue);
Defines the amount of light which is spectacularly passed through the material. Can vary from 0 (None) to 1 (Full) 
double PBRMaterialSettings::GetTransmitIntensity() const;
Set the transmit intensity @see GetTransmitIntensity ()
void PBRMaterialSettings::SetTransmitIntensity(double intensity);

Get the property for the surface being metallic or dialectic, Rusty surfaces is where this value would be in between 0 & 1

double PBRMaterialSettings::GetMetalInsulatorRatio() const;

Set the property for the surface being metallic or dialectric, Rusty surfaces is where this value would be in between 0 & 1

void PBRMaterialSettings::SetMetalInsulatorRatio(double ratio);

Defines the amount of incoming light that is scattered in all directions equally.

double PBRMaterialSettings::GetRoughness() const;
Set the surface roughness
void PBRMaterialSettings::SetRoughness(double roughness);

Set the scale factor affecting the appearance of the Normal map

void PBRMaterialSettings::SetHeightMapScale (double scaleFactor);

Defines the scale factor affecting the appearance of the height map

double PBRMaterialSettings::GetHeightMapScale() const;

Set the scale factor affecting the appearance of the Normal map

void PBRMaterialSettings::SetNormalMapScale (double scaleFactor);

Defines the scale factor affecting the appearance of the Normal map

double PBRMaterialSettings::GetNormalMapScale() const;

Set the scale factor affecting the appearance of the Ambient Occlusion map

void PBRMaterialSettings::SetAmbientOcclusionMapScale (double scaleFactor);

Defines the scale factor affecting the appearance of the Ambient Occlusion map

double PBRMaterialSettings::GetAmbientOcclusionMapScale() const;

Get the PBR emissive color for the material

RgbFactor const& PBRMaterialSettings::GetEmissiveColor () const;

Get the PBR emissive color for the material

RgbFactor& PBRMaterialSettings::GetEmissiveColorR ();

Set the PBR emissive color for the material

void PBRMaterialSettings::SetEmissiveColor (double red, double green, double blue);

This is the refractive index of the material. It controls how light changes direction as it passes through a transparent object.

double PBRMaterialSettings::GetRefractIndex() const;

Set the refractive index of the material

See also
GetRefractIndex ()
void PBRMaterialSettings::SetRefractIndex(double index);

.Net API

PickListLibrary

Remove all values from this PickList

PickList.RemoveAllValues()