#ifndef PROSHRINKWRAP_H #define PROSHRINKWRAP_H #include <ProToolkit.h> #include <ProToolkitErrors.h> #include <ProSelection.h> #include <ProObjects.h> #include <ProSizeConst.h> PRO_BEGIN_C_DECLS typedef struct sw_options* ProShrinkwrapOptions; typedef struct sw_specific_options* ProShrinkwrapSpecificOptions; typedef struct sw_merged_solid_options* ProShrinkwrapMergedSolidOptions; typedef struct sw_faceted_solid_options* ProShrinkwrapFacetedSolidOptions; typedef struct sw_surf_subset_options* ProShrinkwrapSurfSubsetOptions; typedef enum { PRO_SWFACETED_PART, PRO_SWFACETED_LIGHTWEIGHT_PART, PRO_SWFACETED_STL, PRO_SWFACETED_VRML } ProShrinkwrapFacetedFormat; typedef enum { PRO_SWCREATE_SURF_SUBSET, PRO_SWCREATE_FACETED_SOLID, PRO_SWCREATE_MERGED_SOLID } ProShrinkwrapCreationMethod; extern ProError ProSolidShrinkwrapMdlnameCreate (ProSolid solid, ProSolid output_model, ProMdlName output_file, ProShrinkwrapOptions output_options); /* Purpose: Exports a shrinkwrap version of the provided model. <b>Note:</b> In Creo 3 this function does not support names longer than 31 characters. It will return PRO_TK_BAD_INPUTS for longer names. The support for ProMdlName will be added in a future release. Input Arguments: solid - The model to be exported as a shrinkwrap. output_model - The model where the shrinkwrap geometry will be created. This could be an empty model produced by ProSolidMdlnameCreate(), or a template model with predefined geometry. If exporting VRML or STL, this can be NULL. output_file - The name of the file to create, if exporting VRML or STL. (The ".stl" or ".wrl" extension will be appended automatically, and the file created in the current directory.) If exporting as a Creo Parametric model, this can be NULL. output_options - The structure defining the shrinkwrap options. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully produced the shrinkwrap model. PRO_TK_BAD_INPUTS - One or more input arguments is invalid. PRO_TK_BAD_CONTEXT - Invalid combination of input arguments. PRO_TK_GENERAL_ERROR - an error occurred and the function failed. PRO_TK_LINE_TOO_LONG - Name length of the output file is more than 31 chars. PRO_TK_NO_PERMISSION - The function does not have permission to operate on this model. */ extern ProError ProShrinkwrapoptionsAlloc (ProShrinkwrapCreationMethod method, ProShrinkwrapOptions* p_options); /* Purpose: Allocates memory to the options. Input Arguments: method - Creation method Output Arguments: p_options - option handle Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsFree (ProShrinkwrapOptions options); /* Purpose: Frees memory allocated for the shrinkwrap options structure Input Arguments: options - options handle Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsQualitySet (ProShrinkwrapOptions options, int quality); /* Purpose: Sets the quality of the shrinkwrap option (between 1 and 10; default: 1) Input Arguments: options - options handle quality - Quality Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsAutoholefillingSet (ProShrinkwrapOptions options, ProBoolean auto_hole_filling); /* Purpose: Sets the auto_hole_filling option to TRUE or FALSE (default: TRUE) Input Arguments: options - options handle auto_hole_filling - the auto_hole_filling option Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsIgnoreskeletonsSet (ProShrinkwrapOptions options, ProBoolean ignore_skeletons); /* Purpose: Sets the ignore_skeletons option to TRUE or FALSE (default: TRUE) Input Arguments: options - options handle ignore_skeletons - the skeleton_ignore option Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsIgnorequiltsSet (ProShrinkwrapOptions options, ProBoolean ignore_quilts); /* Purpose: Sets the ignore_quilts option to TRUE or FALSE (default: TRUE) Input Arguments: options - options handle ignore_quilts - the quilts_ignore option Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsIgnoreconstrbodiesSet (ProShrinkwrapOptions options, ProBoolean ignore_constr_bodies); /* Purpose: Sets the ignore_constr_bodies option to TRUE or FALSE (default: TRUE) Input Arguments: options - options handle ignore_constr_bodies - the ignore_constr_bodies option Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsIgnoresmallsurfsSet (ProShrinkwrapOptions options, ProBoolean ignore_small_surfs, double percentage); /* Purpose: Sets the ignore_small_surfs option to TRUE or FALSE (default: FALSE) Input Arguments: options - options handle ignore_small_surfs - the ignore_small_surfs option percentage - percentage (of model size) Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsAssignmasspropsSet (ProShrinkwrapOptions options, ProBoolean assign_mass_props); /* Purpose: Sets the assign_mass_props option to TRUE or FALSE (default: FALSE)Note: the default density of 1.0 will be used for components whose density has not been set Input Arguments: options - options handle assign_mass_props - the assign_mass_props option Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsDatumrefsSet (ProShrinkwrapOptions options, ProSelection* datum_refs); /* Purpose: Sets a ProArray of Datum references in the shrinkwrap options structure (default: none) Input Arguments: options - options handle datum_refs - ProArray of Datum references Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsAdditionalsurfacesSet (ProShrinkwrapOptions options, ProSelection* additional_surfaces); /* Purpose: Sets a ProArray of selections of surfaces in the shrinkwrap options structure (default: none). Valid only for PRO_SWCREATE_SURF_SUBSET creation method Input Arguments: options - options handle additional_surfaces - ProArray of surface selections Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsFacetedformatSet (ProShrinkwrapOptions options, ProShrinkwrapFacetedFormat format); /* Purpose: Sets a format for shrinkwrap creation (default: PRO_SWFACETED_PART). Valid only for the PRO_SWCREATE_FACETED_SOLID method. Input Arguments: options - options handle format - format for shrinkwrap creation Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsFramesFileSet (ProShrinkwrapOptions options, ProPath frames_file); /* Purpose: Sets a frames file (name or path) to be used for motion envelope creation (default: none). Valid only for the PRO_SWCREATE_FACETED_SOLID method. Input Arguments: options - options handle frames_file - frames file (name or path) for motion envelope creation Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ extern ProError ProShrinkwrapoptionsAdditionalcomponentsSet (ProShrinkwrapOptions options, ProSelection* additional_components); /* Purpose: Sets a ProArray of additional components required for shrinkwrap creation (default: none). Valid only for the PRO_SWCREATE_MERGED_SOLID method. Input Arguments: options - options handle additional_components - ProArray of additional component selections Output Arguments: none Return Values: PRO_TK_NO_ERROR - function completed successfully. PRO_TK_BAD_INPUTS - improper inputs */ PRO_END_C_DECLS #endif