Partager via


Class CutPlaneComponent

Cut planes are used to cut away parts of meshes to be able to peek inside.

Once a cut plane is part of the scene, all rendered pixels that are on the back side of the plane will be discarded. By moving the cut plane around or changing its orientation, one can adjust which parts of the scene are visible.

The position of the cut plane is specified through the position of the owning Entity. The orientation is specified through the CutPlaneComponent.Normal and the rotation of the entity.

class Microsoft::Azure::RemoteRendering::CutPlaneComponent final : public Microsoft::Azure::RemoteRendering::ComponentBase

Properties

CutPlaneFilterMask

Sets the bit mask that can be used to perform per-object cut plane filtering.

auto GetCutPlaneFilterMask() const noexcept -> unsigned char;
auto SetCutPlaneFilterMask(unsigned char value) noexcept -> Microsoft::Azure::RemoteRendering::Status;

FadeColor

The color towards which pixels that are closer than CutPlaneComponent.FadeLength will be faded.

If the alpha value is non-zero, pixels close to the cut plane will fade towards the RGB part of FadeColor. The strength of the alpha channel determines whether it will fade fully towards the fade color or only partially.

auto GetFadeColor() const noexcept -> Microsoft::Azure::RemoteRendering::Color4Ub;
auto SetFadeColor(Microsoft::Azure::RemoteRendering::Color4Ub const& value) noexcept -> Microsoft::Azure::RemoteRendering::Status;

FadeLength

The distance over which the cut plane fades the original pixel color towards the CutPlaneComponent.FadeColor.

Setting this value to 0 effectively disables the cutplane's fading edge rendering.

A Result.InvalidParam error occurs if a negative length is set.

auto GetFadeLength() const noexcept -> float;
auto SetFadeLength(float value) noexcept -> Microsoft::Azure::RemoteRendering::Status;

Normal

The main axis of the cut plane when the owning Entity has an identity rotation.

Pixels that end up behind the cut plane will be discarded by the renderer.

A Result.InvalidParam error occurs, if the passed in axis is out of range.

auto GetNormal() const noexcept -> Microsoft::Azure::RemoteRendering::Axis;
auto SetNormal(Microsoft::Azure::RemoteRendering::Axis value) noexcept -> Microsoft::Azure::RemoteRendering::Status;

SolidEdgeSize

The screen-space pixel size of the cutplane's solid edge, rendered right at its intersection with remote objects.

Setting this value to 0 effectively disables the cutplane's solid edge rendering.

A Result.InvalidParam error occurs if a negative size is set.

auto GetSolidEdgeSize() const noexcept -> float;
auto SetSolidEdgeSize(float value) noexcept -> Microsoft::Azure::RemoteRendering::Status;

See also