User Input Controls

Use the following function to change the default user input controls:

void
setUserInputControls(AcEdJig::UserInputControls uic);

The user input controls put limitations on the drag sequence or the type of acceptable return value (for example, by not allowing negative responses, by not allowing a zero response, or by restricting the input value to a 2D coordinate). They also specify how various user actions affect the drag sequence. For example, kAcceptMouseUpAsPoint specifies that releasing the mouse button indicates the input value.

The user input controls can be one of the following values:

Once you have established the keyword list, cursor type, and user input controls, your sampler() function should call one of the following functions of AcEdJig to obtain an angle, a distance, or a point:

DragStatus 
AcEdJig::acquireAngle(double & ang);
 
DragStatus 
AcEdJig::acquireAngle(
    double &ang,
    const AcGePoint3d & basePt);
 
DragStatus
AcEdJig::acquireDist(double & dist);
 
DragStatus
AcEdJig::acquireDist(
    double & dist,
    const AcGePoint3d & basePt);
 
DragStatus
AcEdJig::acquirePoint(AcGePoint3d & point);
 
DragStatus
AcEdJig::acquirePoint(
    AcGePoint3d & point,
    const AcGePoint3d & basePt);

After invoking the sampler() function, you can perform any further analysis on the obtained geometric value and drag status. You will also want to cache the return value in a static variable for access in your update() or entity() functions.

The update() function is typically where you modify the entity, usually by applying a transformation to a source entity.

The entity() function returns a pointer to the entity to be regenerated.