Table of Contents

Class StepColorTreeProblem

Namespace
Hi.MachiningProcs
Assembly
HiNc.dll

A problem FindProblems() finds in a tree, or one the load of a tree from XML put right (LoadProblems). A code, the place, and whether it keeps the tree from compiling.

public sealed record StepColorTreeProblem : IEquatable<StepColorTreeProblem>
Inheritance
StepColorTreeProblem
Implements
Inherited Members
Extension Methods

Constructors

StepColorTreeProblem(string, string, bool)

A problem FindProblems() finds in a tree, or one the load of a tree from XML put right (LoadProblems). A code, the place, and whether it keeps the tree from compiling.

public StepColorTreeProblem(string Code, string Path, bool Refuses)

Parameters

Code string

One of the constants of this type.

Path string

Where in the tree: empty for the tree itself, else the node by its position — nodes[1], nodes[1].children[0] — with .when for its condition and .when.terms[2] for a term. Positions, not ids: a problem can be the id itself.

Refuses bool

True when the tree cannot be compiled or registered as it is: Compile() returns null. A problem the load put right is reported with false.

Fields

ConditionEmpty

The condition has no terms: it always holds, or never. A warning.

public const string ConditionEmpty = "ConditionEmpty"

Field Value

string

GroupEmpty

The group has no children: a step it takes gets no color. A warning.

public const string GroupEmpty = "GroupEmpty"

Field Value

string

HueOutOfRange

The leaf's hue is not a number in 0 to 360; it is kept, and drawn modulo 360, or automatic when it is not a number. A warning.

public const string HueOutOfRange = "HueOutOfRange"

Field Value

string

IdMissing

The node had no id in the file; the load numbered it from NextId.

public const string IdMissing = "IdMissing"

Field Value

string

IdOutOfRange

The node's id is below 1 or not below IdLimit.

public const string IdOutOfRange = "IdOutOfRange"

Field Value

string

IdRepeated

The node's id is another node's.

public const string IdRepeated = "IdRepeated"

Field Value

string

KeyMissing

The tree has no key.

public const string KeyMissing = "KeyMissing"

Field Value

string

MaxChartLeaves

The most leaves a tree may have for the Color Index Time Chart to stripe them one by one: in a tree of at most this many leaves, a pixel column holding steps of several leaves is tinted a stripe per leaf; in a larger tree, in an upper and a lower half.

public const int MaxChartLeaves = 32

Field Value

int

NextIdBehind

The file's NextId was not above every id; the load raised it.

public const string NextIdBehind = "NextIdBehind"

Field Value

string

NextIdMissing

The file had no NextId; the load set it to the largest id plus one.

public const string NextIdMissing = "NextIdMissing"

Field Value

string

NextIdOutOfRange

NextId is not below IdLimit: the load set it to the largest id plus one; found by FindProblems(), the nodes not numbered yet are numbered from the largest id plus one instead. A warning.

public const string NextIdOutOfRange = "NextIdOutOfRange"

Field Value

string

NoOtherwise

No node of the list takes every step: a step none of them takes gets no color. A warning.

public const string NoOtherwise = "NoOtherwise"

Field Value

string

TermKeyMissing

The term names no step property.

public const string TermKeyMissing = "TermKeyMissing"

Field Value

string

ThresholdMissing

The term compares against a threshold and has none.

public const string ThresholdMissing = "ThresholdMissing"

Field Value

string

TooManyLeaves

The tree has more leaves than the Color Index Time Chart stripes one by one (MaxChartLeaves): the chart still draws a lane per leaf, and a pixel column holding several of the leaves is tinted in an upper and a lower half. A warning.

public const string TooManyLeaves = "TooManyLeaves"

Field Value

string

Unreachable

The node stands after one that takes every step, so no step reaches it. A warning.

public const string Unreachable = "Unreachable"

Field Value

string

Unreadable

The tree was read from XML this version does not understand; it is kept as written.

public const string Unreadable = "Unreadable"

Field Value

string

Properties

Code

One of the constants of this type.

public string Code { get; init; }

Property Value

string

Path

Where in the tree: empty for the tree itself, else the node by its position — nodes[1], nodes[1].children[0] — with .when for its condition and .when.terms[2] for a term. Positions, not ids: a problem can be the id itself.

public string Path { get; init; }

Property Value

string

Refuses

True when the tree cannot be compiled or registered as it is: Compile() returns null. A problem the load put right is reported with false.

public bool Refuses { get; init; }

Property Value

bool