/*********************************************************************************************
 *                                                                                           *
 *                                                                                           *
 *   Copyright 1989-2018 by AutoDesSys, Inc.                                                 *
 *                                                                                           *
 *   This software and its associated documentation contains proprietary,                    *
 *   confidential, and trade secret information of AutoDesSys Inc. and may not be            *
 *   disclosed, copied in any form, or used for any purpose except as specifically           *
 *   permitted in writing by AutoDesSys, Inc.                                                *
 *                                                                                           *
 *   AutoDesSys, Inc. grants permission to use the software to those who purchase            *
 *   a license.  Such a usage will be made according to the terms and conditions             *
 *   specified in the license agreement to which a licensee agrees before installing         *
 *   and commencing usage of the software.  The license agreement can be found               *
 *   on the envelop that contains the software CD.                                           *
 *                                                                                           *
 *   AutoDesSys, Inc. also grants permission to licensees to develop extensions to           *
 *   the software, which can be in the form of scripts or plugins.  The permission           *
 *   includes calling the API and call back functions provided by AutoDesSys, Inc.           *
 *   and accessing information relevant to these functions and the general workings          *
 *   of form.Z, but only up to the point to which AutoDesSys, Inc. has chosen to             *
 *   expose, through its form.Z SDK Manual.  All extensions developed by third               *
 *   parties will include a copy of this copyright note in an easily accessible place or     *
 *   a clear instruction to read this original note by AutoDesSys, Inc.                      *
 *                                                                                           *
 *   All the software distributed under a license, either for the purpose of using it or     *
 *   for the purpose of developing extensions, is distributed AS IS, WITHOUT                 *
 *   WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND                                    *
 *   AutoDesSys, Inc. HEREBY DISCLAIMS ALL SUCH WARRANTIES,                                  *
 *   INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF                                         *
 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.                                    *
 *                                                                                           *
 *   formZ, RenderZone, and RadioZity are registered trademarks of AutoDesSys, Inc.          *
 *                                                                                           *
 *   form.Z SDK, Version 8.6.3, Dec 03, 2018                                                 *
 *                                                                                           *
 *                                                                                           *
 *********************************************************************************************/


#ifndef _FORMZ_MODEL_DSWP_API_H
#define _FORMZ_MODEL_DSWP_API_H

#include "fz_model_core_api.h"

#ifdef __cplusplus
extern "C" {
#endif


/****************************************************************

	Draft Sweep


	Description
		This module contains functions to construct Draft Sweep objects in formZ.
 ****************************************************************/

/****************************************************************

	FZ_OBJT_TYPE_DSWEEP


	Description
		Unique identifier for the Draft Sweep object type.
 ****************************************************************/

#define FZ_OBJT_TYPE_DSWEEP		"\x03\x4e\x9f\xd8\xae\x14\x42\x65\x83\xd4\x85\xd5\xa0\x9a\xcc\x6b"

/****************************************************************

	fz_objt_dsweep_cnstr_opts_ptr


	Description
		Data structure to hold options for the construction of a Draft Sweep object. 
		This type is used to pass additional construction options to the functions 
		fz_objt_cnstr_dsweep_angle, fz_objt_cnstr_dsweep_dist, 
		fz_objt_cnstr_dsweep_predef, fz_objt_cnstr_dsweep_custom, 
		fz_objt_cnstr_dsweep_wire. The individual fields of this type 
		can be accessed and set via fz_objt_cnstr_dsweep_opts_get and 
		fz_objt_cnstr_dsweep_opts_set.

	Availability	5.0.0.0


	See Also
		fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set,fz_objt_cnstr_dsweep_angle, 
		fz_objt_cnstr_dsweep_dist, fz_objt_cnstr_dsweep_predef, 
		fz_objt_cnstr_dsweep_custom,fz_objt_cnstr_dsweep_wire

 ****************************************************************/
typedef struct	dswp_cnstr_opts_td	*fz_objt_dsweep_cnstr_opts_ptr;

/****************************************************************

	fz_objt_dsweep_parm_enum


	Description
		Parameter identifiers for a parametric draft sweep object. Used for the 
		"which" argument of fz_objt_edit_dsweep_parm_get, fz_objt_edit_dsweep_parm_set, 
		fz_objt_cnstr_dsweep_opts_get and fz_objt_cnstr_dsweep_opts_set. 
		After creating a sweep object, the source, path and curve objects can be 
		replaced by passing in a new object using the fz_objt_edit_dsweep_parm_set 
		API function. Note, that the same restrictions apply for the new objects 
		as for the ones used to construct the sweep initially. When getting 
		the source, path or curve objects from an existing sweep object via fz_objt_edit_dsweep_parm_get, 
		a copy of the source or path or curve is made and passed back. It is the responsibility 
		of the calling function to delete this new object afterwards, using fz_objt_edit_delete_objt.

	Members
		FZ_OBJT_DSWEEP_PARM_SRC_ALIGN
			Construction - Source alignment.
			Type: fz_objt_dsweep_srcalign_enum
			Default Value: FZ_OBJT_DSWEEP_SRCALIGN_ORIGIN
		FZ_OBJT_DSWEEP_PARM_CAP_START_ON
			Construction and Editing - Start cap on/off.
			Type: fzrt_boolean
			Default Value: 0
		FZ_OBJT_DSWEEP_PARM_CAP_END_ON
			Construction and Editing - End cap on/off.
			Type: fzrt_boolean
			Default Value: 0
		FZ_OBJT_DSWEEP_PARM_AXL_SRC_ROT_ON
			Construction and Editing - Draft sweep, source rotation on/off.
			Type: fzrt_boolean
			Default Value: 0
		FZ_OBJT_DSWEEP_PARM_AXL_SRC_ROT
			Construction and Editing - Draft sweep, source rotation angle.
			Type: double
			Default Value: 0
		FZ_OBJT_DSWEEP_PARM_TYPE
			Editing - Draft Sweep type - by angle, distance, function or curve.
			Type: fz_objt_dsweep_type_enum
		FZ_OBJT_DSWEEP_PARM_SRC_OBJ
			Editing - Draft Sweep source object.
			Type: fz_objt_ptr
		FZ_OBJT_DSWEEP_PARM_PTH_OBJ
			Editing - Draft Sweep path object.
			Type: fz_objt_ptr
		FZ_OBJT_DSWEEP_PARM_CRV_OBJ
			Editing - Draft Sweep curve object.
			Type: fz_objt_ptr
		FZ_OBJT_DSWEEP_PARM_ANGLE
			Editing - draft angle, if by angle option is on.
			Type: double
		FZ_OBJT_DSWEEP_PARM_DISTANCE
			Editing - draft distance, if by distance option is on.
			Type: double
		FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_ON
			Editing - predefined function on/off, if by function option is on. TRUE means, a 
			pre defined function is used. FALSE means, a custom function is used. 
			Type: boolean
		FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_TYPE
			Editing - predefined function type, if by function option is on and FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_ON is on.
			Type: fz_objt_dsweep_pdef_enum
		FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_FREQ
			Editing - predefined function frequency, if by function option is on and FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_ON is on.
			Type: double
			Range: 0.0
		FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_AMPL
			Editing - predefined function amplitude, if by function option is on and FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_ON is on.
			Type: double
		FZ_OBJT_DSWEEP_PARM_FUNC_CUSTOM
			Editing - custom function expression, if by function option is on and FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_ON is off. 
			A valid function expression must be used, if this parameter is set. 
			Type: string

	Availability	5.0.0.0


	See Also
		fz_objt_edit_dsweep_parm_get,fz_objt_edit_dsweep_parm_set, 
		fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef enum fz_objt_dsweep_parm_enum
{
	
	FZ_OBJT_DSWEEP_PARM_SRC_ALIGN = MODEL_PARM_CSTR_START,
	
	
	FZ_OBJT_DSWEEP_PARM_CAP_START_ON = MODEL_PARM_CSED_START,
	FZ_OBJT_DSWEEP_PARM_CAP_END_ON,
	FZ_OBJT_DSWEEP_PARM_AXL_SRC_ROT_ON,
	FZ_OBJT_DSWEEP_PARM_AXL_SRC_ROT,

	
	FZ_OBJT_DSWEEP_PARM_TYPE = MODEL_PARM_EDIT_START,
	FZ_OBJT_DSWEEP_PARM_SRC_OBJ,
	FZ_OBJT_DSWEEP_PARM_PTH_OBJ,
	FZ_OBJT_DSWEEP_PARM_CRV_OBJ,
	FZ_OBJT_DSWEEP_PARM_ANGLE,
	FZ_OBJT_DSWEEP_PARM_DISTANCE,
	FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_ON,
	FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_TYPE,
	FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_FREQ,
	FZ_OBJT_DSWEEP_PARM_FUNC_PREDEF_AMPL,
	FZ_OBJT_DSWEEP_PARM_FUNC_CUSTOM,
	FZ_OBJT_DSWEEP_PARM_MAX
	
} fz_objt_dsweep_parm_enum;


/****************************************************************

	fz_objt_dsweep_type_enum


	Description
		Indicates the type of a parametric Draft Sweep object. This enum 
		is used in the read only parameter FZ_OBJT_DSWEEP_PARM_TYPE in the 
		function fz_objt_edit_dsweep_parm_get.

	Members
		FZ_OBJT_DSWEEP_TYPE_ANGLE
			Draft Sweep Type is By Angle
		FZ_OBJT_DSWEEP_TYPE_DISTANCE
			Draft Sweep Type is By Distance
		FZ_OBJT_DSWEEP_TYPE_FUNCTION
			Draft Sweep Type is By Function
		FZ_OBJT_DSWEEP_TYPE_CURVE
			Draft Sweep Type is By Curve

	Availability	5.0.0.0


	See Also
		fz_objt_edit_dsweep_parm_get

 ****************************************************************/
typedef enum fz_objt_dsweep_type_enum
{
	FZ_OBJT_DSWEEP_TYPE_ANGLE = 0,
	FZ_OBJT_DSWEEP_TYPE_DISTANCE,
	FZ_OBJT_DSWEEP_TYPE_FUNCTION,
	FZ_OBJT_DSWEEP_TYPE_CURVE
	
} fz_objt_dsweep_type_enum;

/****************************************************************

	fz_objt_dsweep_srcalign_enum


	Description
		Values for Draft Sweep source alignment. Used by the FZ_OBJT_DSWEEP_PARM_SRC_ALIGN 
		parameter in fz_objt_cnstr_dsweep_opts_get and fz_objt_cnstr_dsweep_opts_set.

	Members
		FZ_OBJT_DSWEEP_SRCALIGN_ORIGIN
			Align source relative to world origin
		FZ_OBJT_DSWEEP_SRCALIGN_CENTROID
			Align source using its centroid
		FZ_OBJT_DSWEEP_SRCALIGN_1STPNT
			Align source using its 1st point

	Availability	5.0.0.0


	See Also
		fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef enum fz_objt_dsweep_srcalign_enum
{
	FZ_OBJT_DSWEEP_SRCALIGN_ORIGIN = 0,
	FZ_OBJT_DSWEEP_SRCALIGN_CENTROID,
	FZ_OBJT_DSWEEP_SRCALIGN_1STPNT

} fz_objt_dsweep_srcalign_enum;

/****************************************************************

	fz_objt_dsweep_pdef_enum


	Description
		Values for Draft Sweep predefined functions.

	Members
		FZ_OBJT_DSWEEP_PDEF_SIN
			y = sin(x) predefined function
		FZ_OBJT_DSWEEP_PDEF_COS
			y = cos(x) predefined function
		FZ_OBJT_DSWEEP_PDEF_SIN_ABS
			y = abs(sin(x)) predefined function
		FZ_OBJT_DSWEEP_PDEF_COS_ABS
			y = abs(cos(x)) predefined function

	Availability	5.0.0.0


	See Also
		fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef enum fz_objt_dsweep_pdef_enum
{
	FZ_OBJT_DSWEEP_PDEF_SIN = 0,
	FZ_OBJT_DSWEEP_PDEF_COS,
	FZ_OBJT_DSWEEP_PDEF_SIN_ABS,
	FZ_OBJT_DSWEEP_PDEF_COS_ABS

} fz_objt_dsweep_pdef_enum;


/****************************************************************

	fz_objt_cnstr_dsweep_opts_init



	Description
		Allocates Draft Sweep construction options and fills with defaults

	Parameters
		windex  [Input]
			project window index
		opts  [Result]
			Draft Sweep construction options

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_edit_dsweep_parm_set,fz_objt_edit_parm_regen

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_opts_init_func)(
	fzrt_int				windex,
	fz_objt_dsweep_cnstr_opts_ptr	*opts
	);

/****************************************************************

	fz_objt_cnstr_dsweep_opts_get



	Description
		Gets the value of a Draft Sweep object's construction option. Note, that 
		only those values in fz_objt_dsweep_parm_enum are accepted 
		which are tagged for the construction options. See 
		fz_objt_dsweep_parm_enum for details.

	Parameters
		windex  [Input]
			project window index
		opts  [Input]
			Draft Sweep construction options
		which  [Input]
			Parameter id
		data  [Result]
			Parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_finit,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_opts_get_func)(
	fzrt_int					windex,
	fz_objt_dsweep_cnstr_opts_ptr		opts,
	fz_objt_dsweep_parm_enum	which,
	fz_type_td				*data
	);

/****************************************************************

	fz_objt_cnstr_dsweep_opts_set



	Description
		Sets the value of a Draft Sweep object's construction option. Note, that 
		only those values in fz_objt_dsweep_parm_enum are accepted 
		which are tagged for the construction options. See 
		fz_objt_dsweep_parm_enum for details.

	Parameters
		windex  [Input]
			project window index
		opts  [Input]
			Draft Sweep construction options
		which  [Input]
			Parameter id
		data  [Input]
			Parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_finit,fz_objt_cnstr_dsweep_opts_get

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_opts_set_func)(
	fzrt_int					windex,
	fz_objt_dsweep_cnstr_opts_ptr		opts,
	fz_objt_dsweep_parm_enum	which,
	fz_type_td				*data
	);

/****************************************************************

	fz_objt_cnstr_dsweep_opts_finit



	Description
		Frees Draft Sweep object construction options. The opts pointer 
		is deallocated and returned back as NULL.

	Parameters
		windex  [Input]
			project window index
		opts  [Input, Result]
			Draft Sweep construction options

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_opts_finit_func)(
	fzrt_int				windex,
	fz_objt_dsweep_cnstr_opts_ptr	*opts
	);

/****************************************************************

	fz_objt_cnstr_dsweep_dist



	Description
		Creates a Draft Sweep object by distance. 
		This function constructs a Smooth object by sweeping the source object 
		along the path object while offsetting the source by the given distance.

	Parameters
		windex  [Input]
			project window index
		src_obj  [Input]
			Source object
		pth_obj  [Input]
			Path object
		dist  [Input]
			Distance
		dswp_opts  [Input]
			Draft Sweep construction options
		refn_opts  [Input, Optional] Display resolution options 
		See fz_attr_refn_parm_enum for defaults
			
		obj  [Result] New object
			

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_dist_func)(
	fzrt_int 					windex,
	fz_objt_ptr			src_obj,
	fz_objt_ptr			pth_obj,
	double					dist,
	fz_objt_dsweep_cnstr_opts_ptr		dswp_opts,
	fz_attr_refn_ptr		refn_opts,
	fz_objt_ptr			*obj
	);

/****************************************************************

	fz_objt_cnstr_dsweep_angle



	Description
		Creates Draft Sweep object by angle. 
		This function constructs a Smooth object by sweeping the source object 
		along the path object while offsetting the source by the given angle.

	Parameters
		windex  [Input]
			project window index
		src_obj  [Input]
			Source object
		pth_obj  [Input]
			Path object
		angle  [Input]
			Draft angle
		dswp_opts  [Input]
			Draft Sweep construction options
		refn_opts  [Input, Optional] Display resolution options 
		See fz_attr_refn_parm_enum for defaults
			
		obj  [Result]
			New object

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_angle_func)(
	fzrt_int 					windex,
	fz_objt_ptr			src_obj,
	fz_objt_ptr			pth_obj,
	double					angle,
	fz_objt_dsweep_cnstr_opts_ptr		dswp_opts,
	fz_attr_refn_ptr		refn_opts,
	fz_objt_ptr			*obj
	);

/****************************************************************

	fz_objt_cnstr_dsweep_predef



	Description
		Creates a Draft Sweep object by predefined function. 
		This function constructs a Smooth object by sweeping the source object 
		along the path object while offsetting the source by an amount specified by 
		the given predefined function.

	Parameters
		windex  [Input]
			project window index
		src_obj  [Input]
			Source object
		pth_obj  [Input]
			Path object
		which  [Input]
			Predefined function
		frequency  [Input]
			Frequency
		amplitude  [Input]
			Amplitude
		dswp_opts  [Input]
			Draft Sweep construction options
		refn_opts  [Input, Optional] Display resolution options 
		See fz_attr_refn_parm_enum for defaults
			
		obj  [Result]
			New object

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_predef_func)(
	fzrt_int 					windex,
	fz_objt_ptr			src_obj,
	fz_objt_ptr			pth_obj,
	fz_objt_dsweep_pdef_enum	which,
	double					frequency,
	double					amplitude,
	fz_objt_dsweep_cnstr_opts_ptr		dswp_opts,
	fz_attr_refn_ptr		refn_opts,
	fz_objt_ptr			*obj
	);

/****************************************************************

	fz_objt_cnstr_dsweep_custom



	Description
		Creates a Draft Sweep object by custom function. 
		This function constructs a Smooth object by sweeping the source object 
		along the path object while offsetting the source by an amount specified by 
		the given custom function.

	Parameters
		windex  [Input]
			project window index
		src_obj  [Input]
			Source object
		pth_obj  [Input]
			Path object
		str  [Input]
			Function string
		dswp_opts  [Input]
			Draft Sweep construction options
		refn_opts  [Input, Optional] Display resolution options 
		See fz_attr_refn_parm_enum for defaults
			
		obj  [Result]
			New object

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_custom_func)(
	fzrt_int 					windex,
	fz_objt_ptr			src_obj,
	fz_objt_ptr			pth_obj,
	char					*str,
	fz_objt_dsweep_cnstr_opts_ptr		dswp_opts,
	fz_attr_refn_ptr		refn_opts,
	fz_objt_ptr			*obj
	);

/****************************************************************

	fz_objt_cnstr_dsweep_wire



	Description
		Creates a Draft Sweep object by curve. 
		This function constructs a Smooth object by sweeping the source object 
		along the path object while offsetting the source by an amount specified by 
		the given curve object.

	Parameters
		windex  [Input]
			project window index
		src_obj  [Input]
			Source object
		pth_obj  [Input]
			Path object
		wire_obj  [Input]
			Wire object
		dswp_opts  [Input]
			Draft Sweep construction options
		refn_opts  [Input, Optional]
			Display resolution options 
			See fz_attr_refn_parm_enum for defaults
		obj  [Result]
			New object

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_cnstr_dsweep_opts_init,fz_objt_cnstr_dsweep_opts_get,fz_objt_cnstr_dsweep_opts_set

 ****************************************************************/
typedef fzrt_error_td	 (*fz_objt_cnstr_dsweep_wire_func)(
	fzrt_int 					windex,
	fz_objt_ptr			src_obj,
	fz_objt_ptr			pth_obj,
	fz_objt_ptr			wire_obj,
	fz_objt_dsweep_cnstr_opts_ptr		dswp_opts,
	fz_attr_refn_ptr		refn_opts,
	fz_objt_ptr			*obj
	);

/****************************************************************

	fz_objt_edit_dsweep_parm_get



	Description
		Gets a parameter of a Draft Sweep object.

	Parameters
		windex  [Input]
			project window index
		obj  [Input]
			Draft Sweep construction options
		which  [Input]
			Parameter id
		data  [Result]
			Parameter data

	Returns
		Error codes 
		MODEL_ERR_WRONG_OBJT_TYPE	- object passed in is not a draft sweep object


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_edit_dsweep_parm_set,fz_objt_edit_parm_regen

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_edit_dsweep_parm_get_func) (
	fzrt_int					windex,
	fz_objt_ptr			obj,
	fz_objt_dsweep_parm_enum	which,
	fz_type_td				*data
	);

/****************************************************************

	fz_objt_edit_dsweep_parm_set



	Description
		Sets a parameter of a Draft Sweep object. 
		Note, that the shape of the draft sweep object is not changed 
		until the function fz_objt_edit_parm_regen has been called.

	Parameters
		windex  [Input]
			project window index
		obj  [Input]
			Draft Sweep construction options
		which  [Input]
			Parameter id
		data  [Input]
			Parameter data

	Returns
		Error codes 
		MODEL_ERR_WRONG_OBJT_TYPE	- object passed in is not a draft sweep object


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_objt_dswp.fsl

	See Also
		fz_objt_edit_dsweep_parm_get,fz_objt_edit_parm_regen

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_edit_dsweep_parm_set_func) (
	fzrt_int					windex,
	fz_objt_ptr			obj,
	fz_objt_dsweep_parm_enum	which,
	fz_type_td				*data
	);

#ifdef __cplusplus
}
#endif

#endif
