Interactive Collection
Functions Introduced:
Use the function
ProCurvesCollect() to interactively create a collection of curves by invoking a chain collection user interface.
Figure 7. Chain collection User Interface
Use the function
ProSurfacesCollect() to interactively create a collection of surfaces by invoking a surface sets dialog.
Figure 8. Surface Sets dialog box
For the functions
ProCurvesCollect() and
ProSurfacesCollect() the input arguments are as follows:
• types—Specifies an array defining the permitted instruction types. The following instruction types are supported:
◦ PRO_CHAINCOLLUI_ONE_BY_ONE—for creating "One by One" chain.
◦ PRO_CHAINCOLLUI_TAN_CHAIN—for creating "Tangent" chain.
◦ PRO_CHAINCOLLUI_CURVE_CHAIN—for creating "Curve" chain.
◦ PRO_CHAINCOLLUI_BNDRY_CHAIN—for creating "Boundary Loop" chain.
◦ PRO_CHAINCOLLUI_FROM_TO—for creating "From-To" chain.
◦ PRO_CHAINCOLLUI_ALLOW_LENGTH_ADJUSTMENT—for allowing length adjustment in curves.
◦ PRO_CHAINCOLLUI_ALLOW_ALL—for allowing all the supported instruction types.
◦ PRO_CHAINCOLLUI_ALLOW_EXCLUDED—for excluding chain.
◦ PRO_CHAINCOLLUI_ALLOW_APPENDED—for appending chain.
• n_types—Specifies the size of the types array.
• filter_func—Specifies the filter function. The filter function is called before each selection is accepted. If your application wishes to reject a certain selection, it can return an error status from this filter. You may pass NULL to skip the filter.
• app_data—Specifies the application data that will be passed to filter_func. You may pass NULL when this is not required.
The output arguments are as follows:
• sel_list—Specifies a pointer to an array of ProSelection objects describing the current resulting curves and edges or surfaces resulting from the collection. You may pass NULL if you are not currently interested in the results of the collection.
• n_sel—Specifies the number of entries in sel_list.