Programming Reference for VirtualLab Fusion  2026.1
Loading...
Searching...
No Matches
SampledRegion2D Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class which describes a region via sampled data. A data point marks its own small rectangular region as being 'inside' if its value is unequal zero. More...

Inheritance diagram for SampledRegion2D:
Region2D IRegion1D2D IDocument

Public Member Functions

override void CalculateAxisAlignedBoundingBox ()
 
override object Clone ()
 Deep copy of the object.
 
new void DeserializationPostProcessing (ref List< System.Reflection.FieldInfo > unfindableFields, RemainingData remainingData)
 Method for doing post-processing after XML deserialization. Especially, handling of fields which have been altered since the version the data were saved with. But also additional operations (like filling caching variables etc.) can be done here.
 
override void Dispose ()
 
override bool Equals (object obj, EqualityIntent equalityIntent)
 Equality operator.
 
override int GetHashCode ()
 
override InsideOutside GetInOutRelation (VectorD point, ExtrapolationInfo extrapolation2use=null)
 Method which checks whether or not a point lies inside or outside the 2D region or on its boundary. A data point marks its own small rectangular region as being 'inside' if its value is unequal zero.
 
InsideOutside InOutRelationForBorderPixelOfComposedRegion (VectorD point, RectanglePhysical boundingBoxOfParentComposedRegion)
 If a sampled region is used inside a composed region, we may need a special handling for the border pixels (i.e. near a given bounding box). See ITN.064 for more information on the mode 'border continuation'.
 
void InterpolateRegionData (SamplingParameters newSampling)
 Interpolates the current sampled region data.
 
override void MayBeNonzeroOutside (out bool maybeNonZeroLeft, out bool maybeNonZeroRight, out bool maybeNonZeroBottom, out bool maybeNonZeroTop)
 Method which determines whether or not the region can provide "inside" state outside of its boundary interval. This is not the case for extrapolation mode 'ConstantZero', of course.
 
 SampledRegion2D (bool initWithTemplateData)
 Default constructor creating a default sampled RegionData object, if wanted.
 
 SampledRegion2D (ComplexAmplitude signalRegion)
 Constructor getting an old signal region (represented by ComplexAmplitude) as parameter.
 
 SampledRegion2D (DataArray2D regionData)
 Constructor which gets the sampled region data as data array.
 
 SampledRegion2D (Region2D region, SamplingParameters sp,(bool centerX, bool centerY, bool nodeCentering) centerAroundZero)
 Constructor converting a non sampled region to a sampled one.
 
 SampledRegion2D (SampledRegion2D regionToCopy)
 Copy constructor.
 
void SetRegionData (DataArray2D regionData2bSet, bool cloneData, bool enforceValidity)
 Sets the sampled region data.
 
override void UpdatePropertyOfCoordinates ()
 Method for handling update after change of the physical property of the coordinate.
 
- Public Member Functions inherited from Region2D
void CalculateAxisAlignedBoundingBox ()
 Method for (re)calculating the axis aligned bounding box.
 
override object Clone ()
 Clones the current object.
 
override bool Equals (object obj, EqualityIntent equalityIntent)
 Equality operation.
 
override int GetHashCode ()
 
InsideOutside GetInOutRelation (VectorD point, ExtrapolationInfo extrapolation2use=null)
 Method which checks whether or not a point lies inside or outside the 2D region or on its boundary.
 
override FormDocument GetNewDocumentWindow (Form formMain, string fileName)
 Gets a new document window containing this document.
Parameters
formMainReference to the main form (= MDI parent). Can be null if this form will not be shown (e.g. if it is generated just to get the view settings.
fileNameFile name from which the document was opened for inserting into window caption. If this string is empty, the default document name is used.
Returns
A FormDocument containing this document.

 
bool IsInside (double pointX, double pointY)
 Method which checks whether or not a point is inside the 2D region.
 
bool IsInside (VectorD point)
 Method which checks whether or not a point is inside the 2D region.
 
void MayBeNonzeroOutside (out bool maybeNonZeroLeft, out bool maybeNonZeroRight, out bool maybeNonZeroBottom, out bool maybeNonZeroTop)
 Method which determines whether or not the region can provide "inside" state outside of its boundary interval. This is not the case for extrapolation mode 'ConstantZero', of course.
 
 Region2D (bool boundariesAreInside, PhysicalProperty propertyOfCoordinatesX=PhysicalProperty.Length, PhysicalProperty propertyOfCoordinatesY=PhysicalProperty.Length)
 Constructor which gets the _boundariesAreInside flag. To be called from derived classes constructors.
 
 Region2D (Region2D region2bCopied)
 Copy constructor.
 

Static Public Member Functions

static DataArray2DRestrictions GetRegionDataRestrictions ()
 Method which gets the restrictions which apply to the RegionData object.
 
static bool operator!= (SampledRegion2D o1, SampledRegion2D o2)
 Unequals operator.
 
static bool operator== (SampledRegion2D o1, SampledRegion2D o2)
 Equals operator.
 
- Static Public Member Functions inherited from Region2D
static Region2D InvertRegion (Region2D region2Invert)
 Creates a new region with inverted in / out regions compared to this.
 
static Region2D Load (string fileName)
 Loads the specified file name. Works independently from whether the document has been saved without view settings (as prior to VL 6.0) or with view settings.
 
static bool operator!= (Region2D o1, Region2D o2)
 Unequals operator.
 
static bool operator== (Region2D o1, Region2D o2)
 Equals operator.
 

Properties

DataArray2D RegionData [get]
 Get or set the sampled region data. All values unequal zero will be interpreted as 'inside' the region. The other values will mark areas 'outside'.
 
- Properties inherited from Region2D
RectanglePhysical AxisAlignedBoundingBox [get]
 Gets the bounding box for the 2D region. Its sides are parallel to the x- and y-axis resp.
 
bool BoundariesAreInside [get, set]
 Gets or sets whether or not the boundaries of the region belong to the inner region.
 
string CommentOfCoordinates_X [get, set]
 Gets and sets the comment for the x-coordinates.
 
string CommentOfCoordinates_Y [get, set]
 Gets and sets the comment for the y-coordinates.
 
ExtrapolationInfo ExtrapolationHandling [get, set]
 The extrapolation mode for this region. See ITN.064 for more information on the mode 'border continuation'.
 
bool IsOneD [get]
 Gets whether this IRegion1D2D is 1D or 2D.
 
string Name [get, set]
 The name which can be given to the region by the user.
 
PhysicalProperty PropertyOfCoordinatesX [get, set]
 Physical property of the x-coordinates of the region.
 
PhysicalProperty PropertyOfCoordinatesY [get, set]
 Physical property of the y-coordinates of the region.
 
Region2DType RegionType [get]
 Gets the type of the region.
 
SamplingParameters SamplingForUsageWithComplexFields [get, set]
 Sampling parameters which will be used for a coordinate rescaling in case of using the region with a complex field.
 
- Properties inherited from IDocument
VirtualLabSession Session [get, set]
 every documents need to be handled in a session ==> default is the VirtualLab Mainsession
 
NodeVLExplorer TreeStructure [get]
 every document should have a node (maybe with subnodes) in the VirtualLab Explorer
 
DocumentType TypeOfDocument [get]
 Gets an enum entry specifying the type of the document.
 

Additional Inherited Members

- Static Public Attributes inherited from Region2D
const string DefaultDocumentName
 The default document name (= type description) for an Order Collection.
 
static readonly string FileDialogFilterString
 The filter string used in "Open File" dialogs.
 
const string FileExtensionString
 The file extension for an Order Collection.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class which describes a region via sampled data. A data point marks its own small rectangular region as being 'inside' if its value is unequal zero.

Constructor & Destructor Documentation

◆ SampledRegion2D() [1/5]

SampledRegion2D ( bool initWithTemplateData)

Default constructor creating a default sampled RegionData object, if wanted.

Parameters
initWithTemplateDataIf true, the sampled data will be initialized with template data.

◆ SampledRegion2D() [2/5]

Constructor which gets the sampled region data as data array.

Parameters
regionDataSampled region data to be set.

◆ SampledRegion2D() [3/5]

Copy constructor.

Parameters
regionToCopySampledRegion2D to copy.

◆ SampledRegion2D() [4/5]

SampledRegion2D ( Region2D region,
SamplingParameters sp,
(bool centerX, bool centerY, bool nodeCentering) centerAroundZero )

Constructor converting a non sampled region to a sampled one.

Parameters
regionRegion to be sampled
spSampling Parameters
centerAroundZeroIf true, the sampled data will be centered around zero, otherwise the old region coordinates will be kept unchanged.

◆ SampledRegion2D() [5/5]

Constructor getting an old signal region (represented by ComplexAmplitude) as parameter.

Parameters
signalRegion

Member Function Documentation

◆ Clone()

override object Clone ( )

Deep copy of the object.

Returns
A deep copy of this.

◆ DeserializationPostProcessing()

new void DeserializationPostProcessing ( ref List< System.Reflection.FieldInfo > unfindableFields,
RemainingData remainingData )

Method for doing post-processing after XML deserialization. Especially, handling of fields which have been altered since the version the data were saved with. But also additional operations (like filling caching variables etc.) can be done here.

Parameters
unfindableFieldsList of all those fields which are expected but could not be read from XML.
remainingDataData contained in XML but which haven't been read yet.

◆ Equals()

override bool Equals ( object obj,
EqualityIntent equalityIntent )

Equality operator.

Parameters
objThe System.Object to compare with this instance.
equalityIntentDefines what kind of equality you want to check when comparing two objects, for example all values or physical equality.
Returns
true if the specified System.Object is equal to this instance; otherwise, false.

◆ GetInOutRelation()

override InsideOutside GetInOutRelation ( VectorD point,
ExtrapolationInfo extrapolation2use = null )

Method which checks whether or not a point lies inside or outside the 2D region or on its boundary. A data point marks its own small rectangular region as being 'inside' if its value is unequal zero.

Parameters
pointThe point to be checked whether it lies inside.
extrapolation2useExtrapolation info actually to be used.
Returns
Information where the point lies in relation to the region.

◆ GetRegionDataRestrictions()

static DataArray2DRestrictions GetRegionDataRestrictions ( )
static

Method which gets the restrictions which apply to the RegionData object.

Returns
The restrictions which apply to the RegionData object.

◆ InOutRelationForBorderPixelOfComposedRegion()

InsideOutside InOutRelationForBorderPixelOfComposedRegion ( VectorD point,
RectanglePhysical boundingBoxOfParentComposedRegion )

If a sampled region is used inside a composed region, we may need a special handling for the border pixels (i.e. near a given bounding box). See ITN.064 for more information on the mode 'border continuation'.

Parameters
pointPoint near the borders of a given bounding box.
boundingBoxOfParentComposedRegionBounding box of the parenting composed region.
Returns
The InOut-relation for the given point.

◆ InterpolateRegionData()

void InterpolateRegionData ( SamplingParameters newSampling)

Interpolates the current sampled region data.

Parameters
newSamplingNew sampling parameters of the sampled region data.

◆ MayBeNonzeroOutside()

override void MayBeNonzeroOutside ( out bool maybeNonZeroLeft,
out bool maybeNonZeroRight,
out bool maybeNonZeroBottom,
out bool maybeNonZeroTop )

Method which determines whether or not the region can provide "inside" state outside of its boundary interval. This is not the case for extrapolation mode 'ConstantZero', of course.

Parameters
maybeNonZeroLeftTrue, if there may be nonzero values left of the bounding box.
maybeNonZeroRightTrue, if there may be nonzero values right of the bounding box.
maybeNonZeroBottomTrue, if there may be nonzero values below the bottom of the bounding box.
maybeNonZeroTopTrue, if there may be nonzero values above the top of the bounding box.

◆ operator!=()

static bool operator!= ( SampledRegion2D o1,
SampledRegion2D o2 )
static

Unequals operator.

Parameters
o1The first sampled region to compare
o2The second sampled region to compare
Returns
true if both objects have unequal data.

◆ operator==()

static bool operator== ( SampledRegion2D o1,
SampledRegion2D o2 )
static

Equals operator.

Parameters
o1The first sampled region to compare
o2The second sampled region to compare
Returns
true if both objects have equal data.

◆ SetRegionData()

void SetRegionData ( DataArray2D regionData2bSet,
bool cloneData,
bool enforceValidity )

Sets the sampled region data.

Parameters
regionData2bSetSampled data to be set. The data array has to fulfill some restrictions defined in the static method GetRegionDataRestrictions().
enforceValidityIf true, a data array not fulfilling the restrictions will be adapted so it does. if false, a data array not fulfilling the restrictions will cause an ArgumentException.
cloneDataIf true, the regionData2bSet will be cloned first. This is also the case if regionData2bSet has wrong precision or doesn't fulfill the restrictions.