Click or drag to resize

MatrixCopy Class

Provides a flow job element as a container to execute child job elements iteratively in a 3D-matrix fashion. The ModelMatrix could be used to give more variations on how the traversal should work.
IMPORTANT: The matrix uses Cartesian convention, not the regular row-column.
Inheritance Hierarchy
SystemObject
  RAYLASE.Marker.PluginBasePlugin
    RAYLASE.Marker.JobElementBaseJobElement
      RAYLASE.Marker.JobElementBaseFlowJobElement
        RAYLASE.Marker.JobElementBaseLoopFlow
          RAYLASE.MarkerPlugin.JobElementsMatrixCopy
            RAYLASE.MarkerPlugin.JobElementsTiler

Namespace: RAYLASE.MarkerPlugin.JobElements
Assembly: RAYLASE.MarkerPlugin (in RAYLASE.MarkerPlugin.dll) Version: 2.19.0
Syntax
C#
public class MatrixCopy : BaseLoopFlow

The MatrixCopy type exposes the following members.

Constructors
 NameDescription
Public methodMatrixCopyInitializes a new instance of the Object class.
Top
Properties
 NameDescription
Public propertyAlternationOffset The offset to be applied for every other index in the 1st dimension.
Protected propertyApplicationDataDirectory The directory where application data, such as logs and configurations, are stored.
(Inherited from BaseJobElement)
Public propertyCanOutputSingleJobElement
(Inherited from BaseFlowJobElement)
Public propertyCentered Distributes the children around the position of the container.
Public propertyChildren The list of the child job elements.
(Inherited from BaseFlowJobElement)
Public propertyCondition The binning condition for the holder of the job element.
(Inherited from BaseJobElement)
Protected propertyConfigurationManager
(Inherited from BasePlugin)
Public propertyCurrentIteration The current iteration index.
(Inherited from BaseLoopFlow)
Protected propertyDeviceManager
(Inherited from BaseJobElement)
Public propertyDimensions The dimension of the matrix as a vector of (number of cells in x-direction, number of cells in y-direction, number of cells in z-direction).
Protected propertyDirtyFlagLocker The lock object for property modification.
(Inherited from BaseJobElement)
Protected propertyDoHandleConditionPortChangedDelegate
(Inherited from BaseJobElement)
Public propertyFlexibleLocations List of cell positions that will be processed during execution. This overrides the default behavior of processing all cells.
Public propertyHasConditionValueOverride The flag to indicate that the condition is used for the direct children and each can override the condition value. The container itself does not use the binning.
(Inherited from BaseFlowJobElement)
Protected propertyInternalChildren The list of the child job elements, in read-write form.
(Inherited from BaseFlowJobElement)
Protected propertyInternalIterations The number of iterations that will be performed.
(Inherited from BaseLoopFlow)
Public propertyIsAborted The flag to indicate whether this job element has stopped processing its children in case of error.
(Inherited from BaseFlowJobElement)
Public propertyIsBidirectional The flag to indicate whether the traversal is bidirectional. For example, if starting from MinMinMin and traversing in XYZ direction, row 1 is from left to right, row 2 is from right to left.
Public propertyIsDirty The flag to indicate whether the content of this job element has been modified.
(Inherited from BaseJobElement)
Public propertyIsNonAtomicObsolete.
The flag to indicate whether the children execution will be intermingled with other outside job elements. This is only meaningful if the parent's IsParallel is true.
(Inherited from BaseFlowJobElement)
Public propertyIsParallelObsolete.
The flag to indicate whether the children will be executed in parallel.
(Inherited from BaseFlowJobElement)
Public propertyIsUsingFlexibleLocations 
Public propertyJobElementID The unique ID of the job element. If the concrete class inherits from BaseJobElement, the JobElementID of the BaseJobElement will be prefilled. Recommended not to be changed.
(Inherited from BaseJobElement)
Protected propertyLogDirectory The directory of the log file.
(Inherited from BasePlugin)
Public propertyLogger The common logger.
(Inherited from BasePlugin)
Public propertyMarkableConfiguration The configuration of this flow job element.
(Inherited from BaseFlowJobElement)
Public propertyOutputSingleJobElement
(Inherited from BaseFlowJobElement)
Public propertyPitches The cell size of the matrix as a vector of (cell size in x-direction, cell size in y-direction, cell size in z-direction).
Public propertyPluginMetadata The metadata of the plugin instances. If the concrete class inherits from the BasePluginSetup interface, the metadata of the BasePluginSetup will be prefilled.
(Inherited from BasePlugin)
Public propertyProcessingDirection The direction of the traversal. The default is x first, then y, and then z.
Public propertyPropertyMask
(Inherited from BaseJobElement)
Public propertyRepeat If true the job element will be executed repeatedly
(Inherited from BaseLoopFlow)
Public propertyShowConditionControllerUIDelegate The delegate to show the controller UI because no ports have been defined.
(Inherited from BaseJobElement)
Public propertySkipLocations List of cell positions that will be skipped during execution.
Public propertyStartLocation The location of the starting cell. The default is MinMinMin cell.
Protected propertyUseMaxFlowJobElementExecutions The flag to indicate whether this flow job element honors the value of maximum executions that is passed via the Execute method.
(Inherited from BaseLoopFlow)
Protected propertyVariableManager
(Inherited from BaseJobElement)
Public propertyVariableScopeName
(Inherited from BaseJobElement)
Top
Methods
 NameDescription
Public methodAddJobElement Adds a job element as a child.
(Inherited from BaseFlowJobElement)
Protected methodCalculateCellPosition 
Public methodCalculateOffsetToCenter
(Overrides BaseLoopFlowCalculateOffsetToCenter(Int64))
Public methodCenterToOrigin Moves the job element so that its centroid is at the origin.
(Inherited from BaseFlowJobElement)
Public methodClearAllJobElements Removes all child items.
(Inherited from BaseFlowJobElement)
Public methodCompareWith
(Inherited from BaseJobElement)
Public methodCopyFrom Copies the source job element into this job element.
(Inherited from BaseJobElement)
Public methodDispose
(Inherited from BasePlugin)
Protected methodDispose(Boolean)
(Inherited from BasePlugin)
Public methodDisposeUI
(Inherited from BaseFlowJobElement)
Protected methodDoClearAllJobElements Removes all child items of a given list.
(Inherited from BaseFlowJobElement)
Protected methodDoCompareWith
(Inherited from BaseJobElement)
Protected methodDoDisposeUI
(Inherited from BasePlugin)
Protected methodDoExecuteJobElements Process the child job elements relative to this job element. Each child can be modified by a local process configuration.
(Inherited from BaseFlowJobElement)
Protected methodDoGetUIMask
(Inherited from BaseJobElement)
Protected methodDoInsertJobElement Inserts a job element as a child of a given list.
(Inherited from BaseFlowJobElement)
Protected methodDoRemoveJobElement Removes a child job element from a given list.
(Inherited from BaseFlowJobElement)
Protected methodDoShowUI(String)
(Inherited from BaseJobElement)
Protected methodDoShowUI(JobElementHolder, String)
(Overrides BaseJobElementDoShowUI(JobElementHolder, String))
Protected methodDoShowUI(JobElementHolder, String, PropertyMask)
(Inherited from BaseJobElement)
Protected methodDoShowUICallback(PluginSettingsView) This callback method is called when a GUI settings dialog is closed with Apply or OK and is used to extract the changed properties from a settings dialog in the GUI.
(Inherited from BaseJobElement)
Protected methodDoShowUICallback(JobElementHolder, PluginSettingsView) This callback method is called when a GUI settings dialog is closed with Apply or OK and is used to extract the changed properties from a settings dialog in the GUI.
(Overrides BaseJobElementDoShowUICallback(JobElementHolder, PluginSettingsView))
Protected methodExecuteJobElements Iterates the child job elements N times.
(Inherited from BaseLoopFlow)
Public methodFlip Flip the job element against given flags for axes.
(Inherited from BaseFlowJobElement)
Protected methodGenerateLocalTag
(Inherited from BaseJobElement)
Public methodGetBoundingBox
(Inherited from BaseFlowJobElement)
Protected methodGetCounter
(Inherited from BaseLoopFlow)
Public methodGetLocalTransformation Returns the transformation matrix of a given child position, relative to the matrix copy.
Public methodGetUIMask
(Inherited from BaseJobElement)
Protected methodHandleChildJobElementProcessingStarting Propagates the event received from the helper back to the top executor.
(Inherited from BaseFlowJobElement)
Public methodHandleConditionPortChanged Performs necessary adjustments whenever the controller has updated its ports.
(Inherited from BaseJobElement)
Protected methodHandleLocalChildJobElementIsAvailable Handles the event received from the helper that a child job element is found.
(Inherited from BaseLoopFlow)
Public methodHasDynamicChild Returns whether this job element contains a dynamic job element recursively.
(Inherited from BaseFlowJobElement)
Public methodHasInfinitePassChild Returns whether this job element contains a child with an infinite pass recursively.
(Inherited from BaseFlowJobElement)
Public methodHasNonFlowChild Returns whether this job element contains a job element that is not a flow job element.
(Inherited from BaseFlowJobElement)
Public methodHasPoint Tests whether a point is inside (inclusively) the job element. This applies only if the job element is on a single plane.
(Inherited from BaseFlowJobElement)
Public methodInitialize Plug-in specific initialization can be done here if necessary.
(Overrides BasePluginInitialize)
Public methodInsertJobElement Inserts a job element as a child.
(Inherited from BaseFlowJobElement)
Protected methodIsChildEditable
(Inherited from BaseLoopFlow)
Protected methodModifyChildProcessingHolder
(Inherited from BaseLoopFlow)
Public methodMoveTo Moves the job element so that its centroid is at the given position.
(Inherited from BaseFlowJobElement)
Protected methodPostAllItemIteration Executes the necessary steps after each iteration is performed.
(Inherited from BaseLoopFlow)
Protected methodPostExecute Executes the necessary steps after the job elements were processed.
(Inherited from BaseFlowJobElement)
Protected methodPreAllItemIteration Executes the necessary steps before each iteration is performed.
(Overrides BaseLoopFlowPreAllItemIteration(ProcessingHolder, ProcessingHolder, MarkableConfiguration, MarkableConfiguration, Guid, NullableInt32))
Protected methodPreExecute Executes the necessary steps before the job elements are processed.
(Overrides BaseFlowJobElementPreExecute(ProcessingHolder, ProcessingHolder, MarkableConfiguration, Guid, NullableInt32))
Public methodRemoveJobElement Removes a child job element.
(Inherited from BaseFlowJobElement)
Public methodRotate(Double) Rotates the job element a given angle around the z-axis.
(Inherited from BaseFlowJobElement)
Public methodRotate(Double, dvec3) Rotates the job element a given angle with respect to a given vector passing through its centroid.
(Inherited from BaseFlowJobElement)
Public methodScale(Double) Scales the job element uniformly with respect to its centroid.
(Inherited from BaseFlowJobElement)
Public methodScale(dvec3) Scales the job element non-uniformly with respect to its centroid.
(Inherited from BaseFlowJobElement)
Public methodShowUI(String)
(Inherited from BaseJobElement)
Public methodShowUI(JobElementHolder, String)
(Inherited from BaseJobElement)
Public methodShowUI(JobElementHolder, String, PropertyMask)
(Inherited from BaseFlowJobElement)
Public methodShowUICallback(PluginSettingsView)
(Inherited from BaseJobElement)
Public methodShowUICallback(JobElementHolder, PluginSettingsView)
(Inherited from BaseFlowJobElement)
Public methodShowUICancelCallback(PluginSettingsView) Invokes the callback that can be used when the ShowUI method is done and the user pressed the cancel button
(Inherited from BasePlugin)
Public methodShowUICancelCallback(JobElementHolder, PluginSettingsView)
(Inherited from BaseJobElement)
Public methodToString
(Inherited from BasePlugin)
Public methodTransform Multiplies the model matrix with a transformation matrix.
(Inherited from BaseFlowJobElement)
Public methodTranslate Translates the job element with a given vector.
(Inherited from BaseFlowJobElement)
Protected methodUpdateFieldT Updates the Property to the value by using DirtyFlagLocker and setting IsDirty .
(Inherited from BaseJobElement)
Top
Events
 NameDescription
Public eventChildJobElementProcessingStarting Raised when a child job element is started being processed by a flow job element.
(Inherited from BaseFlowJobElement)
Top
See Also