public class GoMetaPlanning

Base class for Metaplanning workflows.

Fields

public static var getEnvironment
Get the polymorphic Env object.
public static var getInstance
Get the singleton instance.
private var mChildWfId
private var mInsAP
private var mLangID
private var mManID
private var mSeriesID
protected var mStartPos
protected var mStartRot
private var mWorkflowID
protected static var sDebug
private static var sEnv
The polymorphic Env object.
public static var setEnvironment
Set the polymorphic Env object.
private static var sInstance
The singleton instance.

Methods

public func _constrainFeedback(pCoord1, pCoord2, pRot)
Constrains the interactive feedback
public func _createArticlesAF(pCoord1, pCoord2, pRot)
Creates one or more articles after termination of an Auto Fill workflow (step)
public func _createArticlesRI(pMode, pID, pPCContext, pPos, pRot)
Creates one or more articles after a Repeated insertion step
public func _customizePreConfiguration(pPCID, pPropID, pMode, pArg)
Customizes a standard pre-configuration dialog
public func _finishWorkflow(pMode)
Called after the workflow has finished (normally or canceled)
public func _getAvailableShapesRI(pShapeSet, pShapes, pPShape, pPAttPt, pPObject)
Returns the available shapes with regard to the previously finalized shape
public func _getInitShapeRI(pShapeSet, pShapes)
Returns the initial shape
public func _getNextChildWf()
Returns the next child workflow of a composite workflow
public func _getNextShapeRI(pShapeSet, pShapes, pPShape, pPAttPt, pPObject)
Returns the next shape to be created after finalization of the previous shape
public func _getObjBounds(pObj)
Returns the bounding box of an object used by interactive resizing
public func _getShapeArgs(pObj, pShapeID)
Returns the parameters of a shape
public func _setObjBounds(pObj, pBounds)
Sets the new bounding box for an object after interactive resizing
public func _setupPreConfiguration(pMode, pPCID)
Creates a user-defined pre-configuration dialog
public func addObjs4Update(pObjs)
Schedule the given objects for update
public func createObject(pMode, pObject, pArgs, pPCContext, pWCPos, pWCRot)
Creates an object at the specified position
protected func evalExpr(pMode, pContext, pExpr)
Evaluates an expr and returns 1 or 0 in case of @COND(itions), or a float value for @REAL
public func getAttPts(pShape, pDir)
Returns the attach points (regular and opposite) for the specified shape with regard to the direction qualifier
public func getCreatedObjects()
Returns the objects created so far during the WF, for a CompositeWF, this includes the objects of all child WFs
public func getPCContext()
Inquires the preconfiguration context
public func getPCProperty(pProp)
Reads a PC prop value
public func getShapeAttPtDef(pShape, pKey)
Returns the attach point definition for the specified shape and attach point
public func getWorkflowID()
Returns the workflow identification parameters
public func initialize(pManID, pSeriesID, pWorkflowID, pLangID, pStartPos, pStartRot, pInsAP)
Sets the workflow ID for subsequently following method calls
public func setChildWfId(pId)
Sets the ID of a child WF in the context of a CompositeWF
public func setPCProperty(pProp, pValue)
Writes a PC prop value
public func setPosRot(pPos, pRot)
Set the initial position / rotation
public func terminateWorkflow(pMode, pFinishComposite)
Terminate the current workflow during a UserExit

Documentation

PURPOSE:
Definition of both abstract User Exits and non-abstract Utility Functions to be used by user-specific sub classes.

INHERITS: -

USES: -

public func _constrainFeedback(pCoord1, pCoord2, pRot)
Constrains the interactive feedback.
For performance reasons this is a fully abstract method. To implement it remove the underscore in the name of your own method.

IN
  • Float pCoord1[3] - 1st Coordinate of the 3D workflow volume in OFML WC Space.
  • Float pCoord2[3] - 2nd Coordinate of the 3D workflow volume in OFML WC Space.
  • Float pRot - Orientation of the 'X' Axis in Radiant.

OUT
  • Float pCoordNew[3] - Constrained 2nd Coordinate defined locally to pCoord1.
  • NULL - Use standard constraints.

IMPLEMENTATION
  • Returns NULL.

public func _createArticlesAF(pCoord1, pCoord2, pRot)
Creates one or more articles after termination of an Auto Fill workflow (step).

IN
  • Float pCoord1[3] - 1st Coordinate of the 3D workflow volume in OFML WC Space.
  • Float pCoord2[3] - 2nd Coordinate of the 3D workflow volume in OFML WC Space.
  • Float pRot - Orientation of the 'Y' Axis in Radiant.

OUT
  • [pPos, pRot] - initial position and rotation for the following workflow or NULL.
  • Float pPos[3] - The position in 3D OFML space.
  • Float pRot - Rotation of the 'Y' Axis in Radiant.

IMPLEMENTATION
  • Returns NULL.

public func _getInitShapeRI(pShapeSet, pShapes)
Returns the initial shape.

IN
  • String pShapeSet - Name of the used shape set.
  • String pShapes[] - All shapes in this shape set.

OUT
  • String rShape - initial shape.

public func _getNextShapeRI(pShapeSet, pShapes, pPShape, pPAttPt, pPObject)
Returns the next shape to be created after finalization of the previous shape.

IN
  • String pShapeSet - Name of the used shape set.
  • String pShapes[] - All shapes in this shape set.
  • String pPShape - Name of the previously created shape.
  • Symbol pPAttPt - Selected AttPt of the previous shape.
  • Primitive pPObject - The previously created object.

OUT
  • [rNShape, rMAttPt, rNAttPt] or NULL.
    • String rNShape - Name of the next shape to be created.
    • Symbol rMAttPt - Matching AP in that shape.
    • Symbol rNAttPt - Initially selected AP in that shape.
  • NULL means there is no 'next' shape for this workflow id. In that case the workflow will be terminated.

IMPLEMENTATION
  • Returns the first matching shape found in the MP database.

public func _getAvailableShapesRI(pShapeSet, pShapes, pPShape, pPAttPt, pPObject)
Returns the available shapes with regard to the previously finalized shape.

IN
  • String pShapeSet - Name of the used shape set.
  • String pShapes[] - All shapes in this shape set.
  • String pPShape - Name of the previously created shape.
  • Symbol pPAttPt - Selected AttPt of the previous shape.
  • Primitive pPObject - The previously created object.

OUT
  • String rShapes[] - List of available shapes.

public func _createArticlesRI(pMode, pID, pPCContext, pPos, pRot)
Creates one or more articles after a Repeated insertion step.

IN
  • Symbol pMode - The creation mode:
    • @METATYPE - Create it as a full instance, in case of an MT call the rules.
    • @ARTICLE - Create it as a full instance.
    • @PLACEHOLDER - Create it as placeholder.
    • @ITEM - Create it as light-weighted pseudo instance.
    • @OBK_ITEM - Create it as pure basket item w/o geometrical representation.
    • @OBK_FOLDER - Create a basket folder.
  • Symbol pID - The ID of the article connected to the selected shape see mp_articles:id
  • Vector pPCContext - (Customized) Preconfiguration Context or NULL
    • (Symbol pProperty, Any pValue)[]
      Values specified in this optional context have a higher priority than those of the global PC.
  • Float pPos[3] - The position in 3D OFML space.
  • Float pRot - Rotation of the 'Y' Axis in Radiant.

OUT
  • Primitive rArticles[] - list of created articles or NULL

IMPLEMENTATION
  • Returns NULL.

public func _setupPreConfiguration(pMode, pPCID)
Creates a user-defined pre-configuration dialog.

IN
  • Symbol pMode - @INIT for initial PC dialog, or @NEXT for intermediate dialog.
  • String pPCID - ID of the PC dialog.

OUT
  • Symbol rResult - Either a valid PC mode (@parallel, @serial, etc.) or @nopc or NULL (use std implementation).

public func _customizePreConfiguration(pPCID, pPropID, pMode, pArg)
Customizes a standard pre-configuration dialog.

IN
  • Symbol pPCID - The id of the PC dialog if available. Can be NULL.
  • Symbol pPropID - The id of the property.
  • Symbol pMode -
    • @CH_INT - Initial value for the Choice property.
    • @CH_ALL - Available Choice properties.
    • @INT - Values for Integer property.
    • @FLOAT - Values for Float property.
    • @CHANGE - Changed property.
  • Any pArg - see below

OUT
  • Any rResult - like pArg
  • pModepArg
    @CH_INITSymbol
    @CH_VALUESString: space-separeted values of Symbols
    @INTInt[4]: Default, Min, Max, Raster
    @FLOATFloat[4]: Default, Min, Max, Raster
    @CHANGEDAny

public func _finishWorkflow(pMode)
Called after the workflow has finished (normally or canceled).

IN

  • Symbol pMode - @OK for correct termination of the workflow, @CANCEL in case of cancellation, and @ERROR if an error occured

OUT
  • -

public func initialize(pManID, pSeriesID, pWorkflowID, pLangID, pStartPos, pStartRot, pInsAP)
Sets the workflow ID for subsequently following method calls.

IN
  • Symbol pManID - the id of the manufacturer
  • Symbol pSeriesID - the id of the series
  • Symbol pWorkflowID - the id of the workflow
  • Symbol pLangID - the id of the language
  • Float pStartPos[3] - The initial position in 3D OFML space.
  • Float pStartRot - The rotation the y axis in OFML space.
OUT
  • -

public func createObject(pMode, pObject, pArgs, pPCContext, pWCPos, pWCRot)
Creates an object at the specified position.

IN
  • Symbol pMode - The creation mode:
    • @METATYPE - Create it as a full instance, in case of an MT call the rules.
    • @ARTICLE - Create it as a full instance.
    • @PLACEHOLDER - Create it as placeholder.
    • @ITEM - Create it as light-weighted pseudo instance.
    • @OBK_ITEM - Create it as pure basket item w/o geometrical representation.
    • @OBK_FOLDER - Create a basket folder.
  • String pObject - Reference to mp_articles::id
  • String pArgs - Additional arguments or NULL. Currently unused and ignored.
  • Vector pPCContext - (Customized) Preconfiguration Context or NULL
      (Symbol pProperty, Any pValue)[]
      Values specified in this optional context have a higher priority than those of the global PC.
  • Float pWCPos[3] - The position in 3D OFML space.
  • Float pWCRot[3] - The rotations around x-y-z axes (in that order) in OFML space. Currently the x and z axes are ignored.

OUT
  • For pMode equal to @PLH or @OFML: Primitive - Reference to the created object or NULL.
  • For pMode equal to @PSI: Integer - 1 for successful creation, 0 else.
  • For pMode equal to @OBK_ITEM or @OBK_FOLDER: String - The OBK Id.

public func setPCProperty(pProp, pValue)
Writes a PC prop value.

IN
  • Symbol pProp - The PC property.
  • Any pValue - The new value for that property.

OUT
  • -

public func getPCProperty(pProp)
Reads a PC prop value.

IN
  • Symbol pProp - The PC property.

OUT
  • Any rValue - The value of that property.

public func getPCContext()
Inquires the preconfiguration context.

IN
  • -

OUT
  • Vector rPCContext - Preconfiguration Context, (Symbol pProperty, Any pValue)[]

public func getAttPts(pShape, pDir)
Returns the attach points (regular and opposite) for the specified shape with regard to the direction qualifier.
Supported qualifiers are:
  • @RS_R - Resizing to the Right

IN
  • String pShape - The name of the shape.
  • Symbol pDir - The direction qualifier (see above).

OUT
  • [Symbol rAP, Symbol rOAP] - regular and opposite attach point

public func getShapeAttPtDef(pShape, pKey)
Returns the attach point definition for the specified shape and attach point.

IN
  • String pShape - The name of the shape.
  • Symbol pKey - The key of the attach point.

OUT
  • [pPos, pKey, pRot, pMd] - a complete attach point definition (see XOI) or NULL
    • Float pPos[3] - Position Offset.
    • Symbol pKey - Direction.
    • Float pRot - Rotation Offset.
    • Symbol pMd - @Child or @Sibling

public func getCreatedObjects()
Returns the objects created so far during the WF, for a CompositeWF, this includes the objects of all child WFs.

IN
  • -

OUT
  • Primitive pObjs[] - The objects.

public func addObjs4Update(pObjs)
Schedule the given objects for update. The update operation is performed when the current (sub-)workflow is finished.

IN
  • Primitive pObjs[] - The objects to update.

OUT
  • -

public func terminateWorkflow(pMode, pFinishComposite)
Terminate the current workflow during a UserExit.

IN
  • Symbol pMode - The termination mode:
    • @OK - Normal.
    • @CANCEL - Cancel.

  • Int pFinishComposite
    • 0 - Terminate the current (child) workflow only.
    • 1 - Terminate the containing composite workflow too.

OUT
  • -

public func _getNextChildWf()
Returns the next child workflow of a composite workflow.

IN
  • -

OUT
  • String pWfID - the child ID od NULL if reset to the default behavoir.

public func _getObjBounds(pObj)
Returns the bounding box of an object used by interactive resizing.

IN
  • Primitive pObj - The object reference

OUT
  • Float pBBox[3][2] - The bounding box.

public func _setObjBounds(pObj, pBounds)
Sets the new bounding box for an object after interactive resizing.

IN
  • Primitive pObj - The object reference
  • Float pBBox[3][2] - The bounding box.

OUT
  • -

public func _getShapeArgs(pObj, pShapeID)
Returns the parameters of a shape.
Overrides table mp_shapes:args.
This user exit is only called in Resize Workflows.

IN
  • Primitive pObj - The object reference
  • String pShapeID - Name of the shape.

OUT
  • String pParams - The parameters of the shape.

public func getWorkflowID()
Returns the workflow identification parameters.

IN
  • -

OUT
  • [Symbol rMan, Symbol rSer, Symbol rWID] - manufacturer, series and workflow ID.

public func setChildWfId(pId)
Sets the ID of a child WF in the context of a CompositeWF.

IN
  • String pId - the child ID od NULL if the parent WF becomes active.

OUT
  • -

protected func evalExpr(pMode, pContext, pExpr)
Evaluates an expr and returns 1 or 0 in case of @COND(itions), or a float value for @REAL

public func setPosRot(pPos, pRot)
Set the initial position / rotation. Usually called by the WorkFlow after interactive placement.

public static var setEnvironment
Set the polymorphic Env object.

public static var getEnvironment
Get the polymorphic Env object.

public static var getInstance
Get the singleton instance.

private static var sEnv
The polymorphic Env object.

private static var sInstance
The singleton instance.

private var mManID

private var mSeriesID

private var mWorkflowID

private var mChildWfId

private var mLangID

protected var mStartPos

protected var mStartRot

private var mInsAP

protected static var sDebug


This class has no child classes.
Author:
Ekkehard Beier, Andreas Handschuh, EasternGraphics

top page alphabetic index hierarchy of classes


© 1999-2016 EasternGraphics GmbH

generated by doc++