CopyXXXOnTrigger
Synopsis
These modules are an extension to the GMOD.copy_on_change module which is used
to copy different data types when a trigger is set.
module modCopyOnTrigger <compile_subs = 0,
need_objs = "GMOD.copy_on_change"> {
prim trigger<NEportLevels={2,0}>;
prim input<NEportLevels={2,0}>;
prim output<NEportLevels={0,2}>;
boolean on_inst = 1;
omethod+notify_inst+req Update(
.trigger+req+notify,
.input+req+read,
.output+write
) = "GMODcopy_on_change";
};
module modCopyArrayOnTrigger <compile_subs = 0,
need_objs = "GMOD.copy_on_change"> {
prim trigger<NEportLevels={2,0}>;
prim input<NEportLevels={2,0}> [];
prim output<NEportLevels={2,0}> [];
boolean on_inst = 1;
omethod+notify_inst+req Update(
.trigger+req+notify,
.input+read,
.output+write
) = "GMODcopy_on_change";
};
module modCopyGroupOnTrigger <compile_subs = 0,
need_objs = "GMOD.copy_on_change"> {
prim trigger<NEportLevels={2,0}>;
group &input<NEportLevels={2,0}>;
group &output<NEportLevels={2,0}>;
boolean on_inst = 1;
omethod+notify_inst+req Update(
.trigger+req+notify,
.input+req+read,
.output+req+write
) = "GMODcopy_on_change";
};
module modCopyGroupArrayOnTrigger <compile_subs = 0,
need_objs = "GMOD.copy_on_change"> {
prim trigger<NEportLevels={2,0}>;
group &input<NEportLevels={2,0}> [];
group &output<NEportLevels={2,0}> [];
boolean on_inst = 1;
omethod+notify_inst+req Update(
.trigger+req+notify,
.input+req+read,
.output+write
) = "GMODcopy_on_change";
};
module modCopyOnPtrTrigger <compile_subs = 0,
need_objs = "GMOD.copy_on_change"> {
group *trigger<NEportLevels={2,0}>;
prim input<NEportLevels={2,0}>;
prim output<NEportLevels={0,2}>;
boolean on_inst = 1;
omethod+notify_inst+req Update(
.trigger+req+notify,
.input+req+read,
.output+write
) = "GMODcopy_on_change";
};
Description
These modules copy the input to the output if the trigger is activated. They are
extensions of the GMOD.copy_on_change for different data types.
Use:
- modCopyOnTrigger for primitive types such as integer, float,
char, string
- modCopyArrayOnTrigger for arrays of primitive types such as integer, float,
char, string
- modCopyGroupOnTrigger for groups (group references) (this includes
Mesh, Mesh+NodeData)
- modCopyGroupArrayOnTrigger for arrays of groups (group references) (this includes
Mesh, Mesh+NodeData)
- modCopyOnPtrTrigger to trigger if a more complex object changes
Inputs
trigger
executes the module to copy the input to the output.
input
contains the data to be copied when the trigger changes.
Outputs
output
contains a copy of the input if the trigger has been activated.
Files
iac_proj/copontrg/cxtgmods.v Creates the CopyXXXOnTriggerMods library containing the
low-level modules modCopyOnTrigger, modCopyArrayOnTrigger,
modCopyGroupOnTrigger, modCopyGroupArrayOnTrigger and
modCopyOnPtrTrigger.
Authors
Brian Selle, Leon Thrane, Advanced Visual Systems Inc.
Documentation - Ian Curington, Advanced Visual Systems Inc.
Modifications
Paul G. Lever
Contact
International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL
|