IDataAccess

References
public interface IDataAccess
Interface used for accessing input and output data from within Component.Process methods.

Properties

Callstack

#
CallStack Callstack { get; }
Gets the call stack leading up to this component.

CountIn

#
int CountIn { get; }
Gets the number of input parameters whose data can be harvested.

CountOut

#
int CountOut { get; }
Gets the number of output parameters whose data can be assigned.

CustomData

#
FleetingCustomData CustomData { get; }
Gets the custom data where you can put values which are supposed to end up in the SolutionData.CustomData storage.

Index

#
int Index { get; }
Gets the iteration of this access.

Iterations

#
int Iterations { get; }
Gets the total number of iterations in this computation.

Solution

#
Solution Solution { get; }
Gets the solution that is the context of this iteration.

Methods

AccessIn

#
Access AccessIn(int index)
Gets the access associated with the specified input parameter.
index (int)Index of input parameter.
Access of input parameter.

AccessOut

#
Access AccessOut(int index)
Gets the access associated with the specified output parameter.
index (int)Index of output parameter.
Access of output parameter.

AddError

#
void AddError(string text, string details, params MessageAction[] actions)
Add an error message to the object solution.
text (string)Error message.
details (string)In depth explanation.
actions (params MessageAction[])Available actions for this message.

AddError

#
void AddError(string text, string details, params MessageDelegate[] actions)
Add an error message to the object solution.
text (string)Error message.
details (string)In depth explanation.
actions (params MessageDelegate[])Available actions for this message.

AddError

#
void AddError(string text, string details)
Add an error message to the object solution.
text (string)Error message.
details (string)In depth explanation.

AddMessage

#
void AddMessage(Message message)
Add a constructed message to the object solution.
message (Message)Message to add.

AddRemark

#
void AddRemark(string text, string details, params MessageAction[] actions)
Add a remark to the object solution.
text (string)Remark message.
details (string)In depth explanation.
actions (params MessageAction[])Available actions for this message.

AddRemark

#
void AddRemark(string text, string details, params MessageDelegate[] actions)
Add a remark to the object solution.
text (string)Remark message.
details (string)In depth explanation.
actions (params MessageDelegate[])Available actions for this message.

AddRemark

#
void AddRemark(string text, string details)
Add a remark to the object solution.
text (string)Remark message.
details (string)In depth explanation.

AddWarning

#
void AddWarning(string text, string details, params MessageAction[] actions)
Add a warning message to the object solution.
text (string)Warning message.
details (string)In depth explanation.
actions (params MessageAction[])Available actions for this message.

AddWarning

#
void AddWarning(string text, string details, params MessageDelegate[] actions)
Add a warning message to the object solution.
text (string)Warning message.
details (string)In depth explanation.
actions (params MessageDelegate[])Available actions for this message.

AddWarning

#
void AddWarning(string text, string details)
Add a warning message to the object solution.
text (string)Warning message.
details (string)In depth explanation.

CoverageIn

#
Coverage CoverageIn(int index)
Gets the coverage for the given input associated with this iteration.
index (int)

CoverageOut

#
Coverage CoverageOut(int index)
Gets the coverage for the given output associated with this iteration.
index (int)

GetCurve

#
bool GetCurve(int index, out ICurve curve)
Gets a pairing of an item and its associated curve assistant. If no assistant is available, this method will append an error message and throw.
index (int)Index of parameter.
curve (out ICurve)Curve+Assistant pair will be returned here.
Always true.

GetIndex

#
bool GetIndex(int indexParameter, int limit, out int index)
Gets an integer describing the index within a collection.
indexParameter (int)Index of integer parameter containing the hinting index.
limit (int)Exclusive upper limit of valid index range. This is usually the twig length.
index (out int)Index into twig.

GetIndexing

#
IndexModifier GetIndexing(int index)
Gets the indexing modifier associated with the specified input parameter. For this request to work, the input must be of type IntegerParameter and the IntegerParameter.IsIndex property must be set to true. If that's not the case an exception will be thrown.
index (int)

GetIndices

#
bool GetIndices(int indexParameter, int limit, out Twig<int> indices)
Gets a collection of integers describing the indices within a collection.
indexParameter (int)Index of integer parameter containing the hinting indices.
limit (int)Exclusive upper limit of valid index range. This is usually the twig length.
indices (out Twig<int>)Indices into the twig.

GetIPear

#
bool GetIPear(int index, out IPear pear)
Gets the item+meta data IPear from the specified input parameter. For this method to not throw exceptions the IParameter.Access of the associated parameter must be set to Access.Item.
index (int)Index of parameter.
pear (out IPear)Pear containing item value and meta data will be returned here. This is a reference to the actual item, do not modify it unless you know exactly what you are doing.
True if item and/or data are not null.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Item.

GetIPears

#
bool GetIPears(int index, out IPear[] pears)
Gets an array of IPear instances from the specified input. This method works both when the IParameter.Access of the parameter is set to Access.Item or Access.Twig.
index (int)Index of parameter.
pears (out IPear[])Array of pears, including nulls. May be an empty array.
Always true.

GetIPears

#
void GetIPears(out IPear[] pears, out int[] indexMap, params int[] inputs)
Get pears out of every specified input. This requires that each specified input has Access.Item access.
pears (out IPear[])Array of pears, including null pears. However, missing pears will not be included.
indexMap (out int[])For each returned pear, specifies which input it came from
inputs (params int[])Array of input indices.

GetIPears

#
void GetIPears(out IPear[] pears, out int[] indexMap)
Get pears out of every input. This requires that each input has Access.Item access.
pears (out IPear[])Array of pears, including null pears. However, missing pears will not be included.
indexMap (out int[])For each returned pear, specifies which input it came from

GetIPearWithCurveAssistant

#
bool GetIPearWithCurveAssistant(int index, out IPear pear, out ICurveAssistant assistant)
Gets the item+meta data IPear and its associated curve assistant. If no assistant is available, this method will append an error message and throw.
index (int)Index of parameter.
pear (out IPear)Pear will be return here.
assistant (out ICurveAssistant)Assistant associated with item type.
True if the item is not null and an assistant could be found.

GetIPearWithSurfaceAssistant

#
bool GetIPearWithSurfaceAssistant(int index, out IPear pear, out ISurfaceAssistant assistant)
Gets the item+meta data IPear and its associated surface assistant. If no assistant is available, this method will append an error message and throw.
index (int)Index of parameter.
pear (out IPear)Pear will be return here.
assistant (out ISurfaceAssistant)Assistant associated with item type.
True if the item is not null and an assistant could be found.

GetIPearWithTypeAssistant

#
bool GetIPearWithTypeAssistant(int index, out IPear pear, out ITypeAssistant assistant)
Gets the item+meta data IPear and its associated type assistant. If no assistant is available, this method will append an error message and throw.
index (int)Index of parameter.
pear (out IPear)Pear will be return here.
assistant (out ITypeAssistant)Assistant associated with item type.
True if the item is not null and an assistant could be found.

GetItem<T>

#
bool GetItem<T>(Guid pinId, out T value)
Gets the item from the specified pin.
pinId (Guid)TypeId of pin.
value (out T)Pin value will be returned here. This is a reference to the actual item, do not modify it unless you know exactly what you are doing.
True if pin of the given type was attached and it had a value.
AccessExceptionThrown if the IParameter.Access of the pin is not Access.Item.

GetItem<T>

#
bool GetItem<T>(int index, out T value)
Gets the item from the specified input parameter.
index (int)Index of parameter.
value (out T)Item value will be returned here. This is a reference to the actual item, do not modify it unless you know exactly what you are doing.
True if item is not null.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Item.

GetItemArray<T>

#
bool GetItemArray<T>(int index, out T[] items)
Gets the item array from the specified input parameter.
index (int)Index of parameter.
items (out T[])Array of all items (including all nulls) will be returned here. These are references to the actual items, do not modify them unless you know exactly what you are doing.
True if array is not empty.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Twig.

GetItemWithCurveAssistant

#
bool GetItemWithCurveAssistant(int index, out object value, out ICurveAssistant assistant)
Gets an item and its associated curve assistant. If no assistant is available, this method will append an error message and throw.
index (int)Index of parameter.
value (out object)Item value will be return here.
assistant (out ICurveAssistant)Assistant associated with item type.
Always true.

GetItemWithSurfaceAssistant

#
bool GetItemWithSurfaceAssistant(int index, out object value, out ISurfaceAssistant assistant)
Gets an item and its associated surface assistant. If no assistant is available, this method will append an error message and throw.
index (int)Index of parameter.
value (out object)Item value will be return here.
assistant (out ISurfaceAssistant)Assistant associated with item type.
Always true.

GetItemWithTypeAssistant

#
bool GetItemWithTypeAssistant(int index, out object value, out ITypeAssistant assistant)
Gets an item and its associated type assistant. If no assistant is available, this method will append an error message and throw.
index (int)Index of parameter.
value (out object)Item value will be return here.
assistant (out ITypeAssistant)Assistant associated with item type.
Always true.

GetITree

#
bool GetITree(int index, out ITree tree)
Gets the data tree from the specified input parameter.
index (int)Index of parameter.
tree (out ITree)Tree will be returned here.
True if a tree was available.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Tree.

GetITwig

#
bool GetITwig(int index, out ITwig twig)
Gets the tree twig from the specified input parameter.
index (int)Index of parameter.
twig (out ITwig)Twig will be returned here. This is a reference to the actual twig, do not modify it unless you know exactly what you are doing.
True if twig is not empty.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Twig.

GetLanguage

#
bool GetLanguage(out Language language)
Gets the language locale for this component. This will either harvest the data from an attached LinguisticCulturePin or it will return Language.Invariant.
language (out Language)
True if the language is specified via a pin.

GetMeta

#
MetaData GetMeta(int index)
Gets the meta data (if any) associated with the item. You could access the data using GetPear<T>(int, Pear<T>), which has meta data embedded.
index (int)Index of parameter.
True if item is not null.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Item.

GetMetaArray

#
bool GetMetaArray(int index, out MetaData[] metas)
Gets the meta data array from the specified input parameter.
index (int)Index of parameter.
metas (out MetaData[])Array of meta data associated with each item.
True if array is not empty.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Twig.

GetNull

#
bool GetNull(int index)
Gets whether the item is considered a null value. If you are accessing the items using GetItem<T>(int, T), and T is a value type, you must check for null this way. Or you could access the data using GetPear<T>(int, Pear<T>), which has null state embedded.
index (int)Index of parameter.
True if item is not null.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Item.

GetNullArray

#
bool GetNullArray(int index, out bool[] nulls)
Gets the null array from the specified input parameter.
index (int)Index of parameter.
nulls (out bool[])Array of booleans indicating whether each item is assumed to be null. This is only meaningful if the data consists of value types.
True if array is not empty.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Twig.

GetPear<T>

#
bool GetPear<T>(int index, out Pear<T> pear)
Gets the item+meta data pear from the specified input parameter. For this method to not throw exceptions the Access of the associated parameter must be set to Item.
index (int)Index of parameter.
pear (out Pear<T>)Pear containing item value and meta data will be returned here. This is a reference to the actual item, do not modify it unless you know exactly what you are doing.
True if item and/or data are not null.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Item.

GetPears<T>

#
bool GetPears<T>(int index, out Pear<T>[] pears)
Gets an array of Pear<T> instances from the specified input. This method works both when the IParameter.Access of the parameter is set to Access.Item or Access.Twig.
index (int)Index of parameter.
pears (out Pear<T>[])Array of pears, including nulls. May be an empty array.
Always true.

GetPointsInPlane

#
bool GetPointsInPlane(int planeParameter, int pointParameter, out Plane plane, out Point3d[] points3, out Point2d[] points2)
Gets a set of three dimensional points and their projection onto a two-dimensional plane.
planeParameter (int)Index of plane parameter. Parameter IParameter.Requirement may be any Requirement. If no plane was provided, a plane will be fitted to the 3d points.
pointParameter (int)Index of point parameter. This must be a twig parameter.
plane (out Plane)Plane, harvested or fitted.
points3 (out Point3d[])Three dimensional points without any nulls.
points2 (out Point2d[])Projections of three dimensional points onto plane.
True on success, false on failure.

GetQuaternion

#
bool GetQuaternion(int index, out Quaternion quaternion)
Gets the quaternion stored in the specified input parameter. If the value is not a quaternion based transformation an error will be appended and false will be returned.
index (int)
quaternion (out Quaternion)

GetSingularTreeValue<T>

#
bool GetSingularTreeValue<T>(int parameter, string name, out T value)
Gets the one and only non-null value out of an input tree. If the tree contains zero or more-than-one non-null values, an error will be added.
parameter (int)Tree input parameter.
name (string)Name of value to retrieve.
value (out T)Value if found.
True on success, false on failure.

GetTolerance

#
bool GetTolerance(out Angle angularTolerance)
Gets the angular tolerance for this iteration. This will either harvest the data from an attached AngularTolerancePin or it will retrieve the angular tolerance of the current Rhino document.
angularTolerance (out Angle)
True if tolerance was reliably retrieved, false if it's a fallback value.

GetTolerance

#
bool GetTolerance(out double absoluteTolerance, out double relativeTolerance)
Gets the absolute tolerance for this iteration. This will either harvest the data from an attached AbsoluteTolerancePin or it will retrieve the absolute tolerance of the current Rhino document.
absoluteTolerance (out double)
relativeTolerance (out double)
True if tolerance was reliably retrieved, false if it's a fallback value.

GetTolerance

#
bool GetTolerance(out double absoluteTolerance)
Gets the absolute tolerance for this iteration. This will either harvest the data from an attached AbsoluteTolerancePin or it will retrieve the absolute tolerance of the current Rhino document.
absoluteTolerance (out double)Absolute tolerance.
True if tolerance was reliably retrieved, false if it's a fallback value.

GetTransform

#
bool GetTransform(int index, out Transform transform)
Gets the proper transformation stored in the specified input parameter. Use this method if you do not wish to have to check whether the stored transformation represents a quaternion.
index (int)
transform (out Transform)

GetTree<T>

#
bool GetTree<T>(int index, out Tree<T> tree)
Gets the data tree from the specified input parameter. For this method to not throw exceptions the Access of the associated parameter must be set to Tree.
index (int)Index of parameter.
tree (out Tree<T>)Tree will be returned here. This is a reference to the actual tree, do not modify it unless you know exactly what you are doing.
True is a tree was available.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Tree.

GetTwig<T>

#
bool GetTwig<T>(int index, out Twig<T> twig)
Gets the tree twig from the specified input parameter. For this method to not throw exceptions the Access of the associated parameter must be set to Twig.
index (int)Index of parameter.
twig (out Twig<T>)Twig will be returned here. This is a reference to the actual twig, do not modify it unless you know exactly what you are doing.
True if twig is not empty.
AccessExceptionThrown if the IParameter.Access of the input parameter is not Access.Twig.

GetUnitScaling

#
bool GetUnitScaling(out double unitSystemScaling)
Gets the unit system scaling factor for this iteration.
unitSystemScaling (out double)The scaling factor required to convert shapes specified in the associated unit system to the Rhino document unit system.
True if there is an associated unit system pin.

GetUnitScaling

#
bool GetUnitScaling(UnitSystem baseSystem, out double unitSystemScaling)
Gets the unit system scaling factor for this iteration.
baseSystem (UnitSystem)The input unit system.
unitSystemScaling (out double)The scaling factor required to go from your base system to the document system.
True if a non-unit scaling factor is required.

GetUnitSystem

#
bool GetUnitSystem(out UnitSystem unitSystem)
Gets the unit system for this iteration. This will either harvest the data from an attached UnitSystemPin or it will retrieve the unit system of the current Rhino document.
unitSystem (out UnitSystem)
True if the unit system came from a pin override.

HasInputChanged

#
bool HasInputChanged(int index)
Gets whether the specified input contains different data from the previous time this component was run. Note that it does not perform a value comparison, it only checks to see whether the volatile data inside the input parameter is the exact same Tree instance as it is now.
index (int)Index of input to check.
True is the input now contains a different data tree than during the previous solution.

NameIn

#
string NameIn(int index)
Gets the IDocumentObject.DisplayName of the indicated input parameter.
index (int)

NameOut

#
string NameOut(int index)
Gets the IDocumentObject.DisplayName of the indicated output parameter.
index (int)

Rectify<T>

#
void Rectify<T>(ref T value, Func<T, bool> check, Func<T, T> repair, string text, string details = null)
Make sure a value is repaired if it fails a test. This will automatically log a warning.
value (ref T)Value to test.
check (Func<T, bool>)Validity delegate.
repair (Func<T, T>)Repair delegate.
text (string)Warning message in case of invalid data.
details (string = null)Warning explanation in case of invalid data.
True if value did not need repairing.

RectifyDomain

#
void RectifyDomain(ref double value, (double min, double max) interval, string name)
Make sure a number is within some domain.
value (ref double)Value to test.
interval ((double min, double max))Allowed domain.
name (string)Parameter name.
True if value did not need repairing.

RectifyDomain

#
void RectifyDomain(ref int value, (int min, int max) interval, string name)
Make sure an integer is within some domain.
value (ref int)Value to test.
interval ((int min, int max))Allowed domain (inclusive lower and upper limits).
name (string)Parameter name.
True if value did not need repairing.

RectifyEnum<T>

#
void RectifyEnum<T>(ref int value, T fallback, string name, string kind)
obsoleteConsider just using GetItem with the Enum type as constraint.
Test an integer to see if it is part of an enum.
value (ref int)Value to check.
fallback (T)Fallback value to assign.
name (string)Name of parameter.
kind (string)Name of enum.

RectifyLessThan

#
void RectifyLessThan(ref double a, double b, string nameA, string nameB)
Make sure a number is less than another number.
a (ref double)Number to rectify.
b (double)Limit.
nameA (string)Name of first number.
nameB (string)Name of second number.

RectifyLessThan

#
void RectifyLessThan(ref int a, int b, string nameA, string nameB)
Make sure a number is less than another number.
a (ref int)Number to rectify.
b (int)Limit.
nameA (string)Name of first number.
nameB (string)Name of second number.

RectifyLessThanOrEqualTo

#
void RectifyLessThanOrEqualTo(ref double a, double b, string nameA, string nameB)
Make sure a number is less than or equal to another number.
a (ref double)Number to rectify.
b (double)Limit.
nameA (string)Name of first number.
nameB (string)Name of second number.

RectifyLessThanOrEqualTo

#
void RectifyLessThanOrEqualTo(ref int a, int b, string nameA, string nameB)
Make sure a number is less than or equal to another number.
a (ref int)Number to rectify.
b (int)Limit.
nameA (string)Name of first number.
nameB (string)Name of second number.

RectifyNonNegative

#
void RectifyNonNegative(ref double t, string name)
Make sure a number is at least zero.
t (ref double)Number to repair.
name (string)Parameter name.
True if value did not need repairing.

RectifyNonNegative

#
void RectifyNonNegative(ref int t, string name)
Make sure an integer is at least zero.
t (ref int)Number to repair.
name (string)Parameter name.
True if value did not need repairing.

RectifyPositive

#
void RectifyPositive(ref double t, double limit, string name)
Make sure a number is at least somewhat positive.
t (ref double)Number to repair.
limit (double)The smallest number considered positive.
name (string)Parameter name.
True if value did not need repairing.

RectifyPositive

#
void RectifyPositive(ref double t, string name)
Make sure a number is at least somewhat positive. Hard-cutoff in this method is 1e-6
t (ref double)Number to repair.
name (string)Parameter name.
True if value did not need repairing.

RectifyPositive

#
void RectifyPositive(ref int t, string name)
Make sure an integer is at least one.
t (ref int)Number to repair.
name (string)Parameter name.
True if value did not need repairing.

SetItem

#
void SetItem(int index, object value, MetaData meta)
Sets an item with some meta data to the specified output parameter.
index (int)Index of parameter.
value (object)Value to assign.
meta (MetaData)Meta data to include.
AccessExceptionThrown if the IParameter.Access of the output parameter is not Access.Item.

SetItem

#
void SetItem(int index, object value)
Sets the item to the specified output parameter.
index (int)Index of parameter.
value (object)Value to assign.
AccessExceptionThrown if the IParameter.Access of the output parameter is not Access.Item.

SetPear

#
void SetPear(int index, IPear pear)
Sets the item+meta data pear to the specified output parameter.
index (int)Index of parameter.
pear (IPear)Pear to assign.
AccessExceptionThrown if the IParameter.Access of the output parameter is not Access.Item.

SetProgress

#
void SetProgress(int percentage)
Typically the component progress just counts how many iterations have been completed out of the total set. However it is possible to provide more fine-grained progress feedback using this method. This is typically only sensible if the component performs a potentially long running process in each iteration such as brep solid operations or quad-remeshing, which is able to synchronously report on its own progress.
percentage (int)A value between zero and one-hundred indicating the progress for this iteration.

SetTree

#
void SetTree(int index, ITree tree)
Sets the data tree to the specified output parameter. It is the responsibility of the caller to ensure that multiple assigned trees are not inadvertendly merged. A tree prefix can be obtained from this IDataAccess instance to avoid that.
index (int)Index of parameter.
tree (ITree)Tree to assign.
AccessExceptionThrown if the IParameter.Access of the output parameter is not Access.Tree.

SetTwig

#
void SetTwig(int index, ITwig twig)
Sets the twig to the specified output parameter.
index (int)Index of parameter.
twig (ITwig)Twig to assign.
AccessExceptionThrown if the IParameter.Access of the output parameter is not Access.Twig.

SetTwig<T>

#
void SetTwig<T>(int index, T[] values, MetaData[] metas = null, bool[] nulls = null)
Sets the twig to the specified output parameter.
index (int)Index of parameter.
values (T[])Value to store in the twig.
metas (MetaData[] = null)Optional meta data per item.
nulls (bool[] = null)Optional null states per item.
AccessExceptionThrown if the IParameter.Access of the output parameter is not Access.Twig.

TryTransform

#
IPear TryTransform(IPear pear, Deform deformation)
Try and apply a squishy deformation to the item and meta data inside a pear. This method calls GetTolerance(double) as part of its process, so the component that calls this should probably be a IPinCushion component which supports AbsoluteTolerancePin.
pear (IPear)Pear to transform.
deformation (Deform)Deformation to apply.
Pear with transformed item and meta data, or the original pear if the value does not support transformation.

TryTransform

#
IPear TryTransform(IPear value, Transform transformation)
Try and apply a linear transformation to the item and meta data inside a pear.
value (IPear)Value to transform.
transformation (Transform)Transformation to apply.
Pear with transformed item and meta data, or the original pear if the value does not support transformation.

Verify<T>

#
void Verify<T>(T value, Func<T, bool> check, string text, string details = null)
Apply a test to a value. This will automatically throw an exception if it doesn't pass.
value (T)Value to test.
check (Func<T, bool>)Validity delegate.
text (string)Error message in case of invalid data.
details (string = null)Error explanation in case of invalid data.

VerifyAssistant

#
void VerifyAssistant(object value, out ITypeAssistant assistant)
Verify that a type assistant is available for a given value. If no assistant is available this method will throw.
value (object)Value to assist.
assistant (out ITypeAssistant)Assistant for value, if any.

VerifyCurveAssistant

#
void VerifyCurveAssistant(object value, out ICurveAssistant assistant)
Verify that a curve assistant is available for a given value. If no assistant is available this method will throw.
value (object)Value to assist.
assistant (out ICurveAssistant)Assistant for value, if any.

VerifyDomain

#
void VerifyDomain(double value, (double min, double max) interval, string name)
Make sure a number is within some domain. This will automatically throw an exception if it isn't.
value (double)Value to test.
interval ((double min, double max))Allowed domain.
name (string)Parameter name.

VerifyDomain

#
void VerifyDomain(int value, (int min, int max) interval, string name)
Make sure an integer is within some domain. This will automatically throw an exception if it isn't.
value (int)Value to test.
interval ((int min, int max))Allowed domain (inclusive lower and upper bounds).
name (string)Parameter name.

VerifyEqualTwigItemCount

#
void VerifyEqualTwigItemCount(ITwig a, ITwig b, string nameA, string nameB)
Verify that two twigs have the same number of non-null values.
a (ITwig)First twig.
b (ITwig)Second twig.
nameA (string)Name of first twig.
nameB (string)Name of second twig.

VerifyEqualTwigLeafCount

#
void VerifyEqualTwigLeafCount(ITwig a, ITwig b, string nameA, string nameB)
Verify that two twigs have the same length.
a (ITwig)First twig.
b (ITwig)Second twig.
nameA (string)Name of first twig.
nameB (string)Name of second twig.

VerifyNonCoincident

#
void VerifyNonCoincident(Point2d a, Point2d b, double tolerance, string nameA, string nameB)
Verify two points are not coincident.
a (Point2d)First point.
b (Point2d)Second point.
tolerance (double)Tolerance distance for coincident.
nameA (string)Name of first point.
nameB (string)Name of second point.

VerifyNonCoincident

#
void VerifyNonCoincident(Point2d a, Point2d b, string nameA, string nameB)
Verify two points are not coincident.
a (Point2d)First point.
b (Point2d)Second point.
nameA (string)Name of first point.
nameB (string)Name of second point.

VerifyNonCoincident

#
void VerifyNonCoincident(Point3d a, Point3d b, double tolerance, string nameA, string nameB)
Verify two points are not coincident.
a (Point3d)First point.
b (Point3d)Second point.
tolerance (double)Tolerance distance for coincident.
nameA (string)Name of first point.
nameB (string)Name of second point.

VerifyNonCoincident

#
void VerifyNonCoincident(Point3d a, Point3d b, string nameA, string nameB)
Verify two points are not coincident.
a (Point3d)First point.
b (Point3d)Second point.
nameA (string)Name of first point.
nameB (string)Name of second point.

VerifyNonColinear

#
void VerifyNonColinear(Point3d a, Point3d b, Point3d c, double tolerance, string nameA, string nameB, string nameC)
Verify three points are not coincident or collinear.
a (Point3d)First point.
b (Point3d)Second point.
c (Point3d)Third point.
tolerance (double)Tolerance distance for coincident.
nameA (string)Name of first point.
nameB (string)Name of second point.
nameC (string)Name of third point.

VerifyNonColinear

#
void VerifyNonColinear(Point3d a, Point3d b, Point3d c, string nameA, string nameB, string nameC)
Verify three points are not coincident or collinear.
a (Point3d)First point.
b (Point3d)Second point.
c (Point3d)Third point.
nameA (string)Name of first point.
nameB (string)Name of second point.
nameC (string)Name of third point.

VerifyNonEmpty

#
void VerifyNonEmpty(Array array, string name)
Verify an array is not null or empty.
array (Array)
name (string)

VerifyNonEmpty

#
void VerifyNonEmpty(string text, string name)
Verify a string is not null or empty.
text (string)
name (string)

VerifyNonEqual

#
void VerifyNonEqual(double a, double b, double delta, string nameA, string nameB)
Verify two numbers are not identical. This will automatically throw an exception if they aren't.
a (double)First number.
b (double)Second number.
delta (double)Difference tolerance.
nameA (string)Name of first parameter.
nameB (string)Name of second parameter.

VerifyNonEqual

#
void VerifyNonEqual(double a, double b, string nameA, string nameB)
Verify two numbers are not identical. This will automatically throw an exception if they aren't.
a (double)First number.
b (double)Second number.
nameA (string)Name of first parameter.
nameB (string)Name of second parameter.

VerifyNonEqual

#
void VerifyNonEqual(int a, int b, string nameA, string nameB)
Verify two numbers are not identical. This will automatically throw an exception if they aren't.
a (int)First number.
b (int)Second number.
nameA (string)Name of first parameter.
nameB (string)Name of second parameter.

VerifyNonParallel

#
void VerifyNonParallel(Vector3d a, Vector3d b, double tolerance, string nameA, string nameB)
Verify two vectors are not parallel or anti-parallel.
a (Vector3d)First vector.
b (Vector3d)Second vector.
tolerance (double)Angle tolerance, in radians.
nameA (string)Name of first vector argument.
nameB (string)Name of second vector argument.

VerifyNonZeroVector

#
void VerifyNonZeroVector(Vector3d vector, string name)
Verify a vector does not have zero length.
vector (Vector3d)Vector to test.
name (string)Name of vector argument.

VerifySurfaceAssistant

#
void VerifySurfaceAssistant(object value, out ISurfaceAssistant assistant)
Verify that a surface assistant is available for a given value. If no assistant is available this method will throw.
value (object)Value to assist.
assistant (out ISurfaceAssistant)Assistant for value, if any.

VerifyTwigItemCount

#
void VerifyTwigItemCount(ITwig twig, int minimum, int maximum, string name, string details = null)
Verify that a twig contains a specific number of non-null values.
twig (ITwig)Twig to check.
minimum (int)Lowest acceptable amount.
maximum (int)Highest acceptable amount.
name (string)Twig identifier.
details (string = null)Fault explanation.

VerifyTwigLeafCount

#
void VerifyTwigLeafCount(ITwig twig, int minimum, int maximum, string name, string details = null)
Verify that a twig contains a specific number of values (both nulls and non-nulls).
twig (ITwig)Twig to check.
minimum (int)Lowest acceptable amount.
maximum (int)Highest acceptable amount.
name (string)Twig identifier.
details (string = null)Fault explanation.

VerifyUnitVector

#
void VerifyUnitVector(ref Vector3d value, string name)
Ensure a vector has unit length.
value (ref Vector3d)Vector to unitise.
name (string)Name of vector.
True if vector was or could be unitised, false if not.