You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Guides-and-Tutorials/Visual-Programming-with-BHoM/Diffing and Hashing/Configuring-objects-comparison-(ComparisonConfig).md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -160,6 +160,7 @@ Properties whose **Nesting Level** is equal to or larger than `MaxNesting` will
160
160
> ### Property Nesting Level definition
161
161
> The nesting level of a property defines how deep we are in the object property tree.
162
162
> For example:
163
+
>
163
164
> - a [`Bar`'s](https://github.com/BHoM/BHoM/blob/afb17a5a206da0747f671bca286c368d37f498b2/Structure_oM/Elements/Bar.cs#L39-L71)`StartNode` property is at Nesting Level 1 (it is also called a "top-level" property of the object)
164
165
> - a [`Bar`'s](https://github.com/BHoM/BHoM/blob/afb17a5a206da0747f671bca286c368d37f498b2/Structure_oM/Elements/Bar.cs#L39-L71)`StartNode.Position` property is at Nesting Level 2, because `Position` is a sub-property of `StartNode`.
165
166
@@ -172,6 +173,7 @@ This option is better used as a safety measure to avoid excessive computation ti
172
173
When Diffing, this indicates the maximum number of Property Differences that will be collected and returned. This setting does not affect the Hash calculation (in fact, this option should be moved in [DiffingConfig](https://github.com/BHoM/BHoM/blob/afb17a5a206da0747f671bca286c368d37f498b2/Diffing_oM/DiffingConfig.cs#L34-L55) instead).
173
174
174
175
You can not control what properties are returned and what remain excluded due to this numeric limit. Hence, this option is better used as a safety measure to avoid excessive computation time when:
176
+
175
177
- we care about finding different objects, but do not care about what properties did change between them, although a better and faster option for this would be to use [`DiffingConfig.EnablePropertyDiffing`](https://github.com/BHoM/BHoM/blob/afb17a5a206da0747f671bca286c368d37f498b2/Diffing_oM/DiffingConfig.cs#L43-L46) set to `false`;
176
178
- we are okay with finding only the first n differences between objects, whatever those may be.
177
179
@@ -207,6 +209,7 @@ If both `NumericTolerance` and `SignificantFigures` are provided in the Comparis
207
209
This option applies a given Numeric Tolerance to a specific property, therefore considering its value approximated using the given tolerance.
208
210
209
211
In order to use it, you have to create and input in `PropertyNumericTolerance` one or more [`NamedNumericTolerance` objects](https://github.com/BHoM/BHoM/blob/afb17a5a206da0747f671bca286c368d37f498b2/BHoM/NamedNumericTolerance.cs#L27-L40), where you set:
212
+
210
213
- the `Name` of the property you want to target; this supports `*` wildcard usage;
211
214
- the `Tolerance` that you want to apply to the given property.
212
215
@@ -216,6 +219,7 @@ If a match is found, this takes precedence over the `NumericTolerance` option.
216
219
If conflicting values/multiple matches are found among the `ComparisonConfig`'s numerical precision options, the largest approximation among all (least precise number) is registered.
217
220
218
221
The `Name` field supports wildcard usage. Some examples:
222
+
219
223
-`BH.oM.Geometry.Vector`: applies the corresponding tolerance to all numerical properties of Vectors, i.e. X, Y, Z
220
224
-`BH.oM.Structure.Elements.*.Position`: applies the corresponding tolerance to all numerical properties of properties named `Position` under any Structural Element, e.g. `Bar.Position.X`, `Bar.Position.Y`, `Bar.Position.Z` and at the same time also `Node.Position.X`, `Node.Position.Y,``Node.Position.Z`.
221
225
@@ -251,6 +255,7 @@ If both `SignificantFigures` and `NumericTolerance` are provided in the Comparis
251
255
This option applies the approximation with given Significant Figures to a specific property.
252
256
253
257
In order to use it, you have to create and input in `PropertyNumericTolerance` one or more [`NamedSignificantFigures` objects](https://github.com/BHoM/BHoM/blob/afb17a5a206da0747f671bca286c368d37f498b2/BHoM/NamedSignificantFigures.cs#L27-L40), where you set:
258
+
254
259
- the `Name` of the property you want to target; this supports `*` wildcard usage;
255
260
- the `SignificantFigures ` that you want to consider when evaluating the given property.
256
261
@@ -261,4 +266,4 @@ If conflicting values/multiple matches are found among the `ComparisonConfig`'s
261
266
262
267
The `Name` field supports wildcard usage. Some examples:
263
268
-`BH.oM.Geometry.Vector`: applies the corresponding tolerance to all numerical properties of Vectors, i.e. X, Y, Z
264
-
-`BH.oM.Structure.Elements.*.Position`: applies the corresponding tolerance to all numerical properties of properties named `Position` under any Structural Element, e.g. `Bar.Position.X`, `Bar.Position.Y`, `Bar.Position.Z` and at the same time also `Node.Position.X`, `Node.Position.Y,``Node.Position.Z`.
269
+
-`BH.oM.Structure.Elements.*.Position`: applies the corresponding tolerance to all numerical properties of properties named `Position` under any Structural Element, e.g. `Bar.Position.X`, `Bar.Position.Y`, `Bar.Position.Z` and at the same time also `Node.Position.X`, `Node.Position.Y,``Node.Position.Z`.
0 commit comments