/*********************************************************************************************
 *                                                                                           *
 *                                                                                           *
 *   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_STAIR_API_H
#define _FORMZ_MODEL_STAIR_API_H

#ifdef __cplusplus
extern "C" {
#endif



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

	Stair From Path


	Description
		formZ Model Stairs objects
 ****************************************************************/

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

	Spiral Stair


	Description
		formZ Model Spiral Stairs objects
 ****************************************************************/

#include "fz_model_core_api.h"




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

	FZ_OBJT_TYPE_SPIRSTAIR


	Description
		Unique identifier for the spiral stair object type.
 ****************************************************************/
#define FZ_OBJT_TYPE_SPIRSTAIR		"\x61\x91\x69\xca\xdb\xbc\x4d\xc0\x96\x8e\x16\x0c\x25\x34\x7e\xa2"



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

	FZ_OBJT_TYPE_PATHSTAIR


	Description
		Unique identifier for the stair from path object type.
 ****************************************************************/
#define FZ_OBJT_TYPE_PATHSTAIR		"\x19\x58\x14\xbd\xac\x42\x4b\xc8\xb8\x34\x7f\x30\x7a\x16\x98\x67"



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

	FZ_OBJT_TYPE_SWBACK_STAIR


	Description
		Unique identifier for the switch back stair object type.
 ****************************************************************/
#define FZ_OBJT_TYPE_SWBACK_STAIR		"\x88\x4d\x0e\x35\x34\xa5\x46\xdf\xb7\x4a\xfe\xd1\x56\x96\x19\xbb"

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

	fz_objt_pathstair_cnstr_opts_ptr


	Description
		data structure to hold options for the construction of a stair from path object. 
		This type is used to pass additional construction options to the 
		function fz_objt_cnstr_pathstair. The individual fields of this type 
		can be accessed and set via fz_objt_cnstr_pathstair_opts_get and 
		fz_objt_cnstr_pathstair_opts_set.

	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair, fz_objt_cnstr_pathstair_opts_get, fz_objt_cnstr_pathstair_opts_set

 ****************************************************************/
typedef struct	sstr_cnstr_opts_td	*fz_objt_pathstair_cnstr_opts_ptr;

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

	fz_objt_spirstair_cnstr_opts_ptr


	Description
		data structure to hold options for the construction of a spiral stair object. 
		This type is used to pass additional construction options to the 
		function fz_objt_cnstr_spirstair. The individual fields of this type 
		can be accessed and set via fz_objt_cnstr_spirstair_opts_get and 
		fz_objt_cnstr_spirstair_opts_set.

	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_spirstair, fz_objt_cnstr_spirstair_opts_get, fz_objt_cnstr_spirstair_opts_set

 ****************************************************************/
typedef struct	spir_cnstr_opts_td	*fz_objt_spirstair_cnstr_opts_ptr;

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

	fz_objt_pathstair_parm_enum


	Description
		Parameter identifiers for a parametric stair from path object. Used for the 
		"which" argument of fz_objt_cnstr_pathstair_opts_get,fz_objt_cnstr_pathstair_opts_set, 
		fz_objt_edit_pathstair_parm_get,fz_objt_edit_pathstair_parm_set

	Members
		FZ_OBJT_PATHSTAIR_PARM_TILES_ON
			Construction and Editing - Stair tiles on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_SIDES_ON
			Construction and Editing - Stair sides on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_RAILS_ON
			Construction and Editing - Stair rails on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_LAND_FRONT_ON
			Construction and Editing - Stair landing front extension on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_LAND_BACK_ON
			Construction and Editing - Stair landing back extension on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_HEIGHT_PER_FLT
			Construction and Editing - Stair height per flight.
			Type: double
			Range: 0.0
			Default Value: English 144.0 in, Metric 300.0 cm

		FZ_OBJT_PATHSTAIR_PARM_TRIANG
			Construction and Editing - Stair triangulation on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_LAYOUT_TYPE
			Construction and Editing - Stair layout type.
			Type: fz_objt_pathstair_layout_enum
			Default Value: FZ_OBJT_PATHSTAIR_LAYOUT_CONTINUOUS
		FZ_OBJT_PATHSTAIR_PARM_JUST
			Construction and Editing - Stair left/right justification.
			Type: fz_align_lcr_enum
			Default Value: FZ_ALIGN_CENTER
		FZ_OBJT_PATHSTAIR_PARM_STEP_CALC
			Construction and Editing - Stair step calculation method.
			Type: fz_objt_pathstair_calc_enum
			Default Value: FZ_OBJT_PATHSTAIR_STEP_CALC_BY_RISER
		FZ_OBJT_PATHSTAIR_PARM_NUM_FLT
			Construction and Editing - Stair number of flights.
			Type: fzrt_int
			Range: 1
			Default Value: 1
		FZ_OBJT_PATHSTAIR_PARM_NUM_STEPS
			Construction and Editing - Stair number of steps.
			Type: fzrt_int
			Range: 1
			Default Value: 16
		FZ_OBJT_PATHSTAIR_PARM_RISER_HEIGHT
			Construction and Editing - Stair riser height.
			Type: double
			Range: 0.0
			Default Value: English 8.0 in, Metric 20.0 cm

		FZ_OBJT_PATHSTAIR_PARM_TREAD_LEN
			Construction and Editing - Stair tread length.
			Type: double
			Range: 0.0
			Default Value: English 11.0 in, Metric 25.0 cm

		FZ_OBJT_PATHSTAIR_PARM_LAND_FRONT_EXT
			Construction and Editing - Stair landing front extension.
			Type: double
			Range: 0.0
			Default Value: English 12.0 in, Metric 25.0 cm

		FZ_OBJT_PATHSTAIR_PARM_LAND_BACK_EXT
			Construction and Editing - Stair landing back extension.
			Type: double
			Range: 0.0
			Default Value: English 12.0 in, Metric 25.0 cm

		FZ_OBJT_PATHSTAIR_PARM_BEAM_HEIGHT
			Construction and Editing - Stair beam height.
			Type: double
			Range: 0.0
			Default Value: English 8.0 in, Metric 20.0 cm

		FZ_OBJT_PATHSTAIR_PARM_RAMP_HEIGHT
			Construction and Editing - Stair beam ramp height.
			Type: double
			Range: 0.0
			Default Value: English 10.0 in, Metric 25.0 cm

		FZ_OBJT_PATHSTAIR_PARM_SR_THICK
			Construction and Editing - Stair steps and riser thickness.
			Type: double
			Range: 0.0
			Default Value: English 4.0 in, Metric 10.0 cm

		FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_FLAT
			Construction and Editing - Stair sides flat at landing on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_WIDTH
			Construction and Editing - Stair side beam width.
			Type: double
			Range: 0.0
			Default Value: English 4.0 in, Metric 10.0 cm

		FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_ABOVE
			Construction and Editing - Stair side beam extension above.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_UNDER
			Construction and Editing - Stair side beam extension underneath.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_PATHSTAIR_PARM_TILE_HEIGHT
			Construction and Editing - Stair tile height (thickness).
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_PATHSTAIR_PARM_TILE_FRONT_EXT
			Construction and Editing - Stair tile front extension.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_PATHSTAIR_PARM_TILE_SIDE_EXT
			Construction and Editing - Stair tile side extension.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_PATHSTAIR_PARM_RAIL_FLAT
			Construction and Editing - Stair railing flat at landing on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_TYPE
			Construction and Editing - Stair railing type.
			Type: fz_objt_rail_type_enum
			Default Value: FZ_OBJT_STAIR_RAIL_TYPE_LINE
		FZ_OBJT_PATHSTAIR_PARM_RAIL_COLM_TYPE
			Construction and Editing - Stair railing type.
			Type: fz_objt_rail_colm_type_enum
			Default Value: FZ_OBJT_STAIR_RCOL_TYPE_LINE
		FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_HEIGHT
			Construction and Editing - Stair railing height.
			Type: double
			Range: 0.0
			Default Value: English 36.0 in, Metric 75.0 cm

		FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_DIST
			Construction and Editing - Stair railing distance from edge.
			Type: double
			Range: 0.0
			Default Value: English 4.0 in, Metric 10.0 cm

		FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_SIZEX
			Construction and Editing - Stair railing cross section width.
			Type: double
			Range: 0.0
			Default Value: English 1.0 in, Metric 2.5 cm

		FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_SIZEZ
			Construction and Editing - Stair railing cross section height.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_PATHSTAIR_PARM_RAIL_COLM_SIZEX
			Construction and Editing - Stair railing column cross section width.
			Type: double
			Range: 0.0
			Default Value: English 1.0 in, Metric 2.5 cm

		FZ_OBJT_PATHSTAIR_PARM_RAIL_COLM_SIZEY
			Construction and Editing - Stair railing column cross section height.
			Type: double
			Range: 0.0
			Default Value: English 1.0 in, Metric 2.5 cm

		FZ_OBJT_PATHSTAIR_PARM_PATH_OBJ
			Editing - Stair path object. 
			After creating a stair from path object, the path object itself can be 
			replaced by passing in a new object using the fz_objt_edit_pathstair_parm_set 
			api function. Note, that the same restrictions apply for this object 
			as for the one used to construct the stair initially. When getting 
			this parameter from an existing stair object, a copy of the 
			path 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.
			Type: fz_objt_ptr
		FZ_OBJT_PATHSTAIR_PARM_TYPE
			Editing - Stair type.
			Type: fz_objt_pathstair_type_enum
		FZ_OBJT_PATHSTAIR_PARM_WIDTH
			Editing - Stair width.
			Type: double
			Range: 0.0
		FZ_OBJT_PATHSTAIR_PARM_HEIGHT
			Editing - Stair height.
			Type: double
			Range: 0.0

	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair_opts_get, fz_objt_cnstr_pathstair_opts_set, fz_objt_edit_pathstair_parm_get,  
		fz_objt_edit_pathstair_parm_set

 ****************************************************************/
typedef enum fz_objt_pathstair_parm_enum
{
	
	FZ_OBJT_PATHSTAIR_PARM_TILES_ON = 0,
											
	FZ_OBJT_PATHSTAIR_PARM_SIDES_ON,
											
	FZ_OBJT_PATHSTAIR_PARM_RAILS_ON,
											
	FZ_OBJT_PATHSTAIR_PARM_LAND_FRONT_ON,
											
	FZ_OBJT_PATHSTAIR_PARM_LAND_BACK_ON,
											
	FZ_OBJT_PATHSTAIR_PARM_HEIGHT_PER_FLT,
											
	FZ_OBJT_PATHSTAIR_PARM_TRIANG,
											
	FZ_OBJT_PATHSTAIR_PARM_LAYOUT_TYPE,
											
	FZ_OBJT_PATHSTAIR_PARM_JUST,
											
	FZ_OBJT_PATHSTAIR_PARM_STEP_CALC,
											
	FZ_OBJT_PATHSTAIR_PARM_NUM_FLT,
											
	FZ_OBJT_PATHSTAIR_PARM_NUM_STEPS,
											
	FZ_OBJT_PATHSTAIR_PARM_RISER_HEIGHT,
											
	FZ_OBJT_PATHSTAIR_PARM_TREAD_LEN,
											
	FZ_OBJT_PATHSTAIR_PARM_LAND_FRONT_EXT,
											
	FZ_OBJT_PATHSTAIR_PARM_LAND_BACK_EXT,
											
	FZ_OBJT_PATHSTAIR_PARM_BEAM_HEIGHT,
											
	FZ_OBJT_PATHSTAIR_PARM_RAMP_HEIGHT,
											
	FZ_OBJT_PATHSTAIR_PARM_SR_THICK,

	FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_FLAT,
											
	FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_WIDTH,
											
	FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_ABOVE,
											
	FZ_OBJT_PATHSTAIR_PARM_SIDE_BEAM_UNDER,

	FZ_OBJT_PATHSTAIR_PARM_TILE_HEIGHT,
											
	FZ_OBJT_PATHSTAIR_PARM_TILE_FRONT_EXT,
											
	FZ_OBJT_PATHSTAIR_PARM_TILE_SIDE_EXT,

	FZ_OBJT_PATHSTAIR_PARM_RAIL_FLAT,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_TYPE,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_COLM_TYPE,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_HEIGHT,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_DIST,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_SIZEX,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_SIZEZ,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_COLM_SIZEX,
											
	FZ_OBJT_PATHSTAIR_PARM_RAIL_COLM_SIZEY,
	
	
	FZ_OBJT_PATHSTAIR_PARM_PATH_OBJ,
											
	FZ_OBJT_PATHSTAIR_PARM_TYPE,
													
	FZ_OBJT_PATHSTAIR_PARM_WIDTH,
											
	FZ_OBJT_PATHSTAIR_PARM_HEIGHT,
											
	
	FZ_OBJT_PATHSTAIR_PARM_MAX
	
}	fz_objt_pathstair_parm_enum;

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

	fz_objt_spirstair_parm_enum


	Description
		Parameter identifiers for a parametric spiral stair object. Used for the 
		"which" argument of fz_objt_cnstr_spirstair_opts_get,fz_objt_cnstr_spirstair_opts_set, 
		fz_objt_edit_spirstair_parm_get,fz_objt_edit_spirstair_parm_set

	Members
		FZ_OBJT_SPIRSTAIR_PARM_STEP_CALC
			Construction and Editing - Spiral Stair step calculation method.
			Type: fz_objt_spirstair_calc_enum
			Default Value: FZ_OBJT_SPIRSTAIR_STEP_CALC_BY_RISER
		FZ_OBJT_SPIRSTAIR_PARM_ANGLE_CALC
			Construction and Editing - Spiral Stair angle calculation method.
			Type: fz_objt_spirstair_angcalc_enum
			Default Value: FZ_OBJT_SPIRSTAIR_ANGL_CALC_BY_TOTAL
		FZ_OBJT_SPIRSTAIR_PARM_TRIANG
			Construction and Editing - Spiral Stair triangulation on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_SPIRSTAIR_PARM_TILES_ON
			Construction and Editing - Spiral Stair tiles on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_SPIRSTAIR_PARM_SIDES_ON
			Construction and Editing - Spiral Stair sides on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_SPIRSTAIR_PARM_RAILS_ON
			Construction and Editing - Spiral Stair railing on (TRUE) or off (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_SPIRSTAIR_PARM_PNTS_PER_STEP
			Construction and Editing - Spiral Stair # of points per step.
			Type: fzrt_int
			Range: 1
			Default Value: 3
		FZ_OBJT_SPIRSTAIR_PARM_NUM_STEPS
			Construction and Editing - Spiral Stair # of steps. 
			Used in the riser height calculation.
			Type: fzrt_int
			Range: 1
			Default Value: 20
		FZ_OBJT_SPIRSTAIR_PARM_RISER_HEIGHT
			Construction and Editing - Spiral Stair riser height. 
			Used in the riser height calculation.
			Type: double
			Range: 0.0
			Default Value: English 5.0 in, Metric 15.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_TOTAL_ANGLE
			Construction and Editing - Spiral Stair total angle.
			Type: double
			Range: 0.0
			Default Value: 2PI (360 degrees)
		FZ_OBJT_SPIRSTAIR_PARM_STEP_ANGLE
			Construction and Editing - Spiral Stair angle per step. 
			Used in the length calculation.
			Type: double
			Range: 0.0
			Default Value: PI / 10.0 (18 degrees)
		FZ_OBJT_SPIRSTAIR_PARM_STEP_WIDTH
			Construction and Editing - Spiral Stair step width.
			Type: double
			Range: 0.0
			Default Value: English 18.0 in, Metric 45.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_SIDE_BEAM_WIDTH
			Construction and Editing - Stair side beam width.
			Type: double
			Range: 0.0
			Default Value: English 4.0 in, Metric 10.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_SIDE_BEAM_ABOVE
			Construction and Editing - Stair side beam extension above.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_SIDE_BEAM_UNDER
			Construction and Editing - Stair side beam extension underneath.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_TILE_HEIGHT
			Construction and Editing - Stair tile height (thickness).
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_TILE_FRONT_EXT
			Construction and Editing - Stair tile front extension.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_TILE_SIDE_EXT
			Construction and Editing - Stair tile side extension.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_OUT_PER_SEG
			Construction and Editing - Stair railing position outside. 
			If set to TRUE,  the option means : per segment. 
			If set to FALSE, the option means : per step.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_IN_PER_SEG
			Construction and Editing - Stair railing position inside. 
			If set to TRUE,  the option means : per segment. 
			If set to FALSE, the option means : per step.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_TYPE
			Construction and Editing - Stair railing type.
			Type: fz_objt_rail_type_enum
			Default Value: FZ_OBJT_STAIR_RAIL_TYPE_LINE
		FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_TYPE
			Construction and Editing - Stair railing type.
			Type: fz_objt_rail_colm_type_enum
			Default Value: FZ_OBJT_STAIR_RCOL_TYPE_LINE
		FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_HEIGHT
			Construction and Editing - Stair railing height.
			Type: double
			Range: 0.0
			Default Value: English 36.0 in, Metric 75.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_DIST
			Construction and Editing - Stair railing Stair railing distance from edge.
			Type: double
			Range: 0.0
			Default Value: English 4.0 in, Metric 10.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_SIZEX
			Construction and Editing - Stair railing cross section width.
			Type: double
			Range: 0.0
			Default Value: English 1.0 in, Metric 2.5 cm

		FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_SIZEZ
			Construction and Editing - Stair railing cross section height.
			Type: double
			Range: 0.0
			Default Value: English 2.0 in, Metric 5.0 cm

		FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_SIZEX
			Construction and Editing - Stair railing column cross section width.
			Type: double
			Range: 0.0
			Default Value: English 1.0 in, Metric 2.5 cm

		FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_SIZEY
			Construction and Editing - Stair railing column cross section height.
			Type: double
			Range: 0.0
			Default Value: English 1.0 in, Metric 2.5 cm

		FZ_OBJT_SPIRSTAIR_PARM_AXP1
			Editing - Spiral Stair axis point #1. 
			This is the first (lower) point of the spiral stair axis.
			Type: fz_xyz_td
		FZ_OBJT_SPIRSTAIR_PARM_AXP2
			Editing - Spiral Stair axis point #2. 
			This is the second (higher) point of the spiral stair axis.
			Type: fz_xyz_td
		FZ_OBJT_SPIRSTAIR_PARM_AXP3
			Editing - Spiral Stair axis point #3. 
			This is the third point of the spiral stair axis. 
			It must be off the axis and determines where the first 
			step is located.
			Type: fz_xyz_td
		FZ_OBJT_SPIRSTAIR_PARM_INSIDE_RADIUS
			Editing - Spiral Stair inside radius. 
			The inside radius must be less than the outside radius.
			Type: double
			Range: 0.0
		FZ_OBJT_SPIRSTAIR_PARM_OUTSIDE_RADIUS
			Editing - Spiral Stair outside radius. 
			The outside radius must be greater than the inside radius.
			Type: double
			Range: 0.0
		FZ_OBJT_SPIRSTAIR_PARM_HEIGHT
			Editing - Spiral Stair height.
			Type: double
			Range: 0.0
		FZ_OBJT_SPIRSTAIR_PARM_CLOCKWISE
			Editing - Spiral Stair direction is clockwise (TRUE) or counterclockwise (FALSE).
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_spirstair_opts_get, fz_objt_cnstr_spirstair_opts_set, fz_objt_edit_spirstair_parm_get,  
		fz_objt_edit_spirstair_parm_set

 ****************************************************************/
typedef enum fz_objt_spirstair_parm_enum
{
	FZ_OBJT_SPIRSTAIR_PARM_STEP_CALC = 0,
											
	FZ_OBJT_SPIRSTAIR_PARM_ANGLE_CALC,
											
	FZ_OBJT_SPIRSTAIR_PARM_TRIANG,
											
	FZ_OBJT_SPIRSTAIR_PARM_TILES_ON,
											
	FZ_OBJT_SPIRSTAIR_PARM_SIDES_ON,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAILS_ON,
											
	FZ_OBJT_SPIRSTAIR_PARM_PNTS_PER_STEP,
											
	FZ_OBJT_SPIRSTAIR_PARM_NUM_STEPS,
											
	FZ_OBJT_SPIRSTAIR_PARM_RISER_HEIGHT,
											
	FZ_OBJT_SPIRSTAIR_PARM_TOTAL_ANGLE,
											
	FZ_OBJT_SPIRSTAIR_PARM_STEP_ANGLE,
											
	FZ_OBJT_SPIRSTAIR_PARM_STEP_WIDTH,
	

	FZ_OBJT_SPIRSTAIR_PARM_SIDE_BEAM_WIDTH,
											
	FZ_OBJT_SPIRSTAIR_PARM_SIDE_BEAM_ABOVE,
											
	FZ_OBJT_SPIRSTAIR_PARM_SIDE_BEAM_UNDER,

	FZ_OBJT_SPIRSTAIR_PARM_TILE_HEIGHT,
											
	FZ_OBJT_SPIRSTAIR_PARM_TILE_FRONT_EXT,
											
	FZ_OBJT_SPIRSTAIR_PARM_TILE_SIDE_EXT,

	FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_OUT_PER_SEG,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_IN_PER_SEG,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_TYPE,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_TYPE,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_HEIGHT,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_DIST,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_SIZEX,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_SIZEZ,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_SIZEX,
											
	FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_SIZEY,
	
	
	FZ_OBJT_SPIRSTAIR_PARM_AXP1,
											
	FZ_OBJT_SPIRSTAIR_PARM_AXP2,
											
	FZ_OBJT_SPIRSTAIR_PARM_AXP3,
											
	FZ_OBJT_SPIRSTAIR_PARM_INSIDE_RADIUS,
											
	FZ_OBJT_SPIRSTAIR_PARM_OUTSIDE_RADIUS,
											
	FZ_OBJT_SPIRSTAIR_PARM_HEIGHT,
											
	FZ_OBJT_SPIRSTAIR_PARM_CLOCKWISE,
											
	FZ_OBJT_SPIRSTAIR_PARM_MAX
	
} fz_objt_spirstair_parm_enum;




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

	fz_objt_pathstair_type_enum


	Description
		Type identifiers for a parametric stair from path type object. Used for the 
		FZ_OBJT_PATHSTAIR_PARM_TYPE parameter in fz_objt_edit_pathstair_parm_get and 
		fz_objt_edit_pathstair_parm_set.

	Members
		FZ_OBJT_PATHSTAIR_TYPE_SOLID
			Solid stair
		FZ_OBJT_PATHSTAIR_TYPE_BEAM
			Beam stair
		FZ_OBJT_PATHSTAIR_TYPE_STEPS_ONLY
			Steps only
		FZ_OBJT_PATHSTAIR_TYPE_STEPS_RISERS
			Steps and risers
		FZ_OBJT_PATHSTAIR_TYPE_SOLID_RAMP
			Solid ramp
		FZ_OBJT_PATHSTAIR_TYPE_BEAM_RAMP
			Beam ramp

	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair

 ****************************************************************/
typedef enum fz_objt_pathstair_type_enum
{	FZ_OBJT_PATHSTAIR_TYPE_SOLID = 0,
	FZ_OBJT_PATHSTAIR_TYPE_BEAM,
	FZ_OBJT_PATHSTAIR_TYPE_STEPS_ONLY,
	FZ_OBJT_PATHSTAIR_TYPE_STEPS_RISERS,
	FZ_OBJT_PATHSTAIR_TYPE_SOLID_RAMP,
	FZ_OBJT_PATHSTAIR_TYPE_BEAM_RAMP,
	
	FZ_OBJT_PATHSTAIR_TYPE_MAX
} fz_objt_pathstair_type_enum;

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

	fz_objt_pathstair_layout_enum


	Description
		Layout identifiers for a parametric stair from path type object. Used for the 
		FZ_OBJT_PATHSTAIR_PARM_LAYOUT_TYPE parameter in fz_objt_edit_pathstair_parm_get, 
		fz_objt_edit_pathstair_parm_set, fz_objt_cnstr_pathstair_opts_get and fz_objt_cnstr_pathstair_opts_set.

	Members
		FZ_OBJT_PATHSTAIR_LAYOUT_PER_SECTION
			Per section
		FZ_OBJT_PATHSTAIR_LAYOUT_CONTINUOUS
			Continuous
		FZ_OBJT_PATHSTAIR_LAYOUT_WITH_LAND
			With Landings

	Availability	5.0.0.0

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

	See Also
		fz_objt_pathstair_parm_enum

 ****************************************************************/
typedef enum fz_objt_pathstair_layout_enum
{	FZ_OBJT_PATHSTAIR_LAYOUT_PER_SECTION = 0,
	FZ_OBJT_PATHSTAIR_LAYOUT_CONTINUOUS,
	FZ_OBJT_PATHSTAIR_LAYOUT_WITH_LAND,
	
	FZ_OBJT_PATHSTAIR_LAYOUT_MAX
} fz_objt_pathstair_layout_enum;

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

	fz_objt_pathstair_calc_enum


	Description
		Step calculation method identifiers for a parametric stair from path 
		type object. Used for the FZ_OBJT_PATHSTAIR_PARM_STEP_CALC parameter in 
		fz_objt_edit_pathstair_parm_get, fz_objt_edit_pathstair_parm_set, 
		fz_objt_cnstr_pathstair_opts_get and fz_objt_cnstr_pathstair_opts_set.

	Members
		FZ_OBJT_PATHSTAIR_STEP_CALC_BY_RISER
			By riser
		FZ_OBJT_PATHSTAIR_STEP_CALC_BY_TREAD
			By tread
		FZ_OBJT_PATHSTAIR_STEP_CALC_BY_NUM_STEPS
			By number of steps

	Availability	5.0.0.0

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

	See Also
		fz_objt_pathstair_parm_enum

 ****************************************************************/
typedef enum fz_objt_pathstair_calc_enum
{	FZ_OBJT_PATHSTAIR_STEP_CALC_BY_RISER = 0,
	FZ_OBJT_PATHSTAIR_STEP_CALC_BY_TREAD,
	FZ_OBJT_PATHSTAIR_STEP_CALC_BY_NUM_STEPS,
	
	FZ_OBJT_PATHSTAIR_STEP_CALC_MAX
} fz_objt_pathstair_calc_enum;

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

	fz_objt_spirstair_calc_enum


	Description
		Step calculation method identifiers for a parametric spiral stair 
		type object. Used for the FZ_OBJT_SPIRSTAIR_PARM_STEP_CALC parameter in 
		fz_objt_edit_spirstair_parm_get, fz_objt_edit_spirstair_parm_set, 
		fz_objt_cnstr_spirstair_opts_get and fz_objt_cnstr_spirstair_opts_set.

	Members
		FZ_OBJT_SPIRSTAIR_STEP_CALC_BY_RISER
			By riser
		FZ_OBJT_SPIRSTAIR_STEP_CALC_BY_NUM_STEPS
			By number of steps

	Availability	5.0.0.0

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

	See Also
		fz_objt_spirstair_parm_enum

 ****************************************************************/
typedef enum fz_objt_spirstair_calc_enum
{	FZ_OBJT_SPIRSTAIR_STEP_CALC_BY_RISER = 0,
	FZ_OBJT_SPIRSTAIR_STEP_CALC_BY_NUM_STEPS,
	
	FZ_OBJT_SPIRSTAIR_STEP_CALC_MAX
} fz_objt_spirstair_calc_enum;

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

	fz_objt_spirstair_angcalc_enum


	Description
		Total angle calculation method identifiers for a parametric spiral stair 
		type object. Used for the FZ_OBJT_SPIRSTAIR_PARM_ANGLE_CALC parameter in 
		fz_objt_edit_spirstair_parm_get, fz_objt_edit_spirstair_parm_set, 
		fz_objt_cnstr_spirstair_opts_get and fz_objt_cnstr_spirstair_opts_set.

	Members
		FZ_OBJT_SPIRSTAIR_ANGL_CALC_BY_TOTAL
			By total angle
		FZ_OBJT_SPIRSTAIR_ANGL_CALC_BY_STEP_ANGLE
			By step angle
		FZ_OBJT_SPIRSTAIR_ANGL_CALC_BY_STEP_WIDTH
			By step width

	Availability	5.0.0.0

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

	See Also
		fz_objt_spirstair_parm_enum

 ****************************************************************/
typedef enum fz_objt_spirstair_angcalc_enum
{	FZ_OBJT_SPIRSTAIR_ANGL_CALC_BY_TOTAL = 0,
	FZ_OBJT_SPIRSTAIR_ANGL_CALC_BY_STEP_ANGLE,
	FZ_OBJT_SPIRSTAIR_ANGL_CALC_BY_STEP_WIDTH,
	
	FZ_OBJT_SPIRSTAIR_ANGL_CALC_MAX
} fz_objt_spirstair_angcalc_enum;

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

	fz_objt_rail_type_enum


	Description
		Hand rail type identifiers for a parametric spiral stair or stair from path 
		type object. Used for the FZ_OBJT_SPIRSTAIR_PARM_RAIL_RAIL_TYPE or 
		FZ_OBJT_PATHSTAIR_PARM_RAIL_RAIL_TYPE parameter.

	Members
		FZ_OBJT_STAIR_RAIL_TYPE_LINE
			Lines only
		FZ_OBJT_STAIR_RAIL_TYPE_RECT
			Rectangular cross section
		FZ_OBJT_STAIR_RAIL_TYPE_CIRCLE
			Circular cross section

	Availability	5.0.0.0

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

	See Also
		fz_objt_spirstair_parm_enum

 ****************************************************************/
typedef enum fz_objt_rail_type_enum
{	FZ_OBJT_STAIR_RAIL_TYPE_LINE = 0,
	FZ_OBJT_STAIR_RAIL_TYPE_RECT,
	FZ_OBJT_STAIR_RAIL_TYPE_CIRCLE,
	
	FZ_OBJT_STAIR_RAIL_TYPE_MAX
} fz_objt_rail_type_enum;

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

	fz_objt_rail_colm_type_enum


	Description
		Rail column type identifiers for a parametric spiral stair or stair from path 
		type object. Used for the FZ_OBJT_SPIRSTAIR_PARM_RAIL_COLM_TYPE or 
		FZ_OBJT_PATHSTAIR_PARM_RAIL_COLM_TYPE parameter.

	Members
		FZ_OBJT_STAIR_RCOL_TYPE_LINE
			Lines only
		FZ_OBJT_STAIR_RCOL_TYPE_RECT
			Rectangular cross section
		FZ_OBJT_STAIR_RCOL_TYPE_CIRCLE
			Circular cross section

	Availability	5.0.0.0

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

	See Also
		fz_objt_spirstair_parm_enum

 ****************************************************************/
typedef enum fz_objt_rail_colm_type_enum
{	FZ_OBJT_STAIR_RCOL_TYPE_LINE = 0,
	FZ_OBJT_STAIR_RCOL_TYPE_RECT,
	FZ_OBJT_STAIR_RCOL_TYPE_CIRCLE,
	
	FZ_OBJT_STAIR_RCOL_TYPE_MAX
} fz_objt_rail_colm_type_enum;


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

	fz_objt_cnstr_pathstair_opts_init



	Description
		Allocates and initializes stair from path construction options. All options 
		are filled with default values.

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

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair_opts_finit,fz_objt_cnstr_pathstair_opts_get,fz_objt_cnstr_pathstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_pathstair_opts_init_func) (
	fzrt_int				windex,
	fz_objt_pathstair_cnstr_opts_ptr	*opts
	);

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

	fz_objt_cnstr_pathstair_opts_get



	Description
		Gets the value of a stair from path construction option. Note, that 
		only those values in fz_objt_pathstair_parm_enum are accepted 
		which are tagged for the construction options. See 
		fz_objt_pathstair_parm_enum for details.

	Parameters
		windex  [Input]
			project window index
		opts  [Input]
			construction options
		which  [Input]
			parameter identifier
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair_opts_init,fz_objt_cnstr_pathstair_opts_finit,fz_objt_cnstr_pathstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_pathstair_opts_get_func) (
	fzrt_int					windex,
	fz_objt_pathstair_cnstr_opts_ptr		opts,
	fz_objt_pathstair_parm_enum	which,
	fz_type_td				*data
	);

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

	fz_objt_cnstr_pathstair_opts_set



	Description
		Sets the value of a stair from path construction option. Note, that 
		only those values in fz_objt_pathstair_parm_enum are accepted 
		which are tagged for the construction options. See 
		fz_objt_pathstair_parm_enum for details.

	Parameters
		windex  [Input]
			project window index
		opts  [Input]
			construction options
		which  [Input]
			parameter identifier
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair_opts_init,fz_objt_cnstr_pathstair_opts_finit,fz_objt_cnstr_pathstair_opts_get

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_pathstair_opts_set_func) (
	fzrt_int					windex,
	fz_objt_pathstair_cnstr_opts_ptr		opts,
	fz_objt_pathstair_parm_enum	which,
	fz_type_td				*data
	);

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

	fz_objt_cnstr_pathstair_opts_finit



	Description
		Frees stair from path construction options. The opts pointer 
		is deallocated and returned back as NULL.

	Parameters
		windex  [Input]
			project window index
		opts  [Input, Result]
			construction options (will become NULL)

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair_opts_init,fz_objt_cnstr_pathstair_opts_get,fz_objt_cnstr_pathstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_pathstair_opts_finit_func) (
	fzrt_int				windex,
	fz_objt_pathstair_cnstr_opts_ptr	*opts
	);

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

	fz_objt_cnstr_spirstair_opts_init



	Description
		Allocates and initializes spiral stair construction options. All options 
		are filled with default values.

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

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_spirstair_opts_finit,fz_objt_cnstr_spirstair_opts_get,fz_objt_cnstr_spirstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_spirstair_opts_init_func) (
	fzrt_int				windex,
	fz_objt_spirstair_cnstr_opts_ptr	*opts
	);

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

	fz_objt_cnstr_spirstair_opts_get



	Description
		Gets the value of a spiral stair's construction option. Note, that 
		only those values in fz_objt_spirstair_parm_enum are accepted 
		which are tagged for the construction options. See 
		fz_objt_spirstair_parm_enum for details.

	Parameters
		windex  [Input]
			project window index
		opts  [Input]
			construction options
		which  [Input]
			parameter identifier
		data  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_spirstair_opts_init,fz_objt_cnstr_spirstair_opts_finit,fz_objt_cnstr_spirstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_spirstair_opts_get_func) (
	fzrt_int					windex,
	fz_objt_spirstair_cnstr_opts_ptr		opts,
	fz_objt_spirstair_parm_enum	which,
	fz_type_td				*data
	);

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

	fz_objt_cnstr_spirstair_opts_set



	Description
		Sets the value of a spiral stair's construction option. Note, that 
		only those values in fz_objt_spirstair_parm_enum are accepted 
		which are tagged for the construction options. See 
		fz_objt_spirstair_parm_enum for details.

	Parameters
		windex  [Input]
			project window index
		opts  [Input]
			construction options
		which  [Input]
			parameter identifier
		data  [Input]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_spirstair_opts_init,fz_objt_cnstr_spirstair_opts_finit,fz_objt_cnstr_spirstair_opts_get

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_spirstair_opts_set_func) (
	fzrt_int					windex,
	fz_objt_spirstair_cnstr_opts_ptr		opts,
	fz_objt_spirstair_parm_enum	which,
	fz_type_td				*data
	);

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

	fz_objt_cnstr_spirstair_opts_finit



	Description
		Frees spiral stair construction options. The opts pointer 
		is deallocated and returned back as NULL.

	Parameters
		windex  [Input]
			project window index
		opts  [Input, Result]
			construction options (will become NULL)

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_spirstair_opts_init,fz_objt_cnstr_spirstair_opts_get,fz_objt_cnstr_spirstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_spirstair_opts_finit_func) (
	fzrt_int				windex,
	fz_objt_spirstair_cnstr_opts_ptr	*opts
	);


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

	fz_objt_cnstr_pathstair



	Description
		Creates a straight stair object from a wire path.

	Parameters
		windex  [Input]
			project window index
		pth_obj  [Input]
			path object
		type  [Input]
			parameter id
		width  [Input]
			stair width
			Range: 0.0
		height  [Input]
			stair height
			Range: 0.0
		sstr_opts  [Input, Optional]
			construction options. For defaults see fz_objt_pathstair_parm_enum.
		obj  [Result]
			stair object

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_pathstair_opts_init,fz_objt_cnstr_pathstair_opts_finit,fz_objt_cnstr_pathstair_opts_get,fz_objt_cnstr_pathstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_pathstair_func) (
	fzrt_int 					windex,
	fz_objt_ptr			pth_obj,
	fz_objt_pathstair_type_enum	type,
	double					width,
	double					height,
	fz_objt_pathstair_cnstr_opts_ptr		sstr_opts,
	fz_objt_ptr			*obj
	);
											
/****************************************************************

	fz_objt_cnstr_spirstair



	Description
		Creates a spiral stair object.

	Parameters
		windex  [Input]
			project window index
		ax_p1  [Input]
			axis 1
		ax_p2  [Input]
			axis 2
		ax_p3  [Input]
			axis 3
		inside_radius  [Input]
			inside radius
			Range: 0.0
		outside_radius  [Input]
			outside radius
			Range: inside_radius
		stair_height  [Input]
			height if stairs
			Range: inside_radius
		spir_opts  [Input, Optional]
			construction options. For defaults see fz_objt_spirstair_parm_enum.
		obj  [Result]
			spiral stair object

	Returns
		Error codes


	Availability	5.0.0.0

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

	See Also
		fz_objt_cnstr_spirstair_opts_init,fz_objt_cnstr_spirstair_opts_finit,fz_objt_cnstr_spirstair_opts_get,fz_objt_cnstr_spirstair_opts_set

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_cnstr_spirstair_func) (
	fzrt_int 					windex,
	fz_xyz_td					*ax_p1,
	fz_xyz_td					*ax_p2,
	fz_xyz_td					*ax_p3,
	double					inside_radius,
	double					outside_radius,
	double					stair_height,
	fz_objt_spirstair_cnstr_opts_ptr		spir_opts,
	fz_objt_ptr			*obj
	);



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

	fz_objt_edit_spirstair_parm_get



	Description
		Gets a parameter of a spiral stair.

	Parameters
		windex  [Input]
			project window index
		obj  [Input]
			spiral stair object
		which  [Input]
			parameter identifier
		data  [Result]
			parameter data

	Returns
		Error codes 
		MODEL_ERR_WRONG_OBJT_TYPE	- object passed in is not a spiral stair


	Availability	5.0.0.0

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

	See Also
		fz_objt_edit_spirstair_parm_set,fz_objt_cnstr_spirstair,fz_objt_edit_parm_regen

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_edit_spirstair_parm_get_func) (
	fzrt_int					windex,
	fz_objt_ptr			obj,
	fz_objt_spirstair_parm_enum	which,
	fz_type_td				*data
	);

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

	fz_objt_edit_spirstair_parm_set



	Description
		Sets a parameter of a spiral stair. Note, that the shape of the spiral stair 
		is not changed until the function fz_objt_edit_parm_regen has 
		been called.

	Parameters
		windex  [Input]
			project window index
		obj  [Input]
			spiral stair object
		which  [Input]
			parameter identifier
		data  [Input]
			parameter data

	Returns
		Error codes 
		MODEL_ERR_WRONG_OBJT_TYPE	- object passed in is not a spiral stair


	Availability	5.0.0.0

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

	See Also
		fz_objt_edit_spirstair_parm_get,fz_objt_cnstr_spirstair,fz_objt_edit_parm_regen

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_edit_spirstair_parm_set_func) (
	fzrt_int					windex,
	fz_objt_ptr			obj,
	fz_objt_spirstair_parm_enum	which,
	fz_type_td				*data
	);

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

	fz_objt_edit_pathstair_parm_get



	Description
		Gets a parameter of a stair from path. Note, that when 
		getting the path object ( which == FZ_OBJT_PATHSTAIR_PARM_PATH_OBJ), 
		this function will create a new object in windex, and 
		copy the content of the stairs path object into that new 
		object. It is the responsibility of the calling function 
		to delete this new object afterwards, using fz_objt_edit_delete_objt.

	Parameters
		windex  [Input]
			project window index
		obj  [Input]
			stair from path object
		which  [Input]
			parameter identifier
		data  [Result]
			parameter data

	Returns
		Error codes 
		MODEL_ERR_WRONG_OBJT_TYPE	- object passed in is not a stair from path


	Availability	5.0.0.0

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

	See Also
		fz_objt_edit_pathstair_parm_set,fz_objt_cnstr_pathstair,fz_objt_edit_parm_regen

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_edit_pathstair_parm_get_func) (
	fzrt_int					windex,
	fz_objt_ptr			obj,
	fz_objt_pathstair_parm_enum	which,
	fz_type_td				*data
	);
											
/****************************************************************

	fz_objt_edit_pathstair_parm_set



	Description
		Sets a parameter of a stair from path. 
		When setting a new path object (which == FZ_OBJT_PATHSTAIR_PARM_PATH_OBJ), 
		the content of the object passed in is copied into the path 
		object maintained with the stair. The same restrictions apply 
		for this object as for the one used to construct the stair initially 
		Note, that the shape of the stair from path is not changed 
		until the function fz_objt_edit_parm_regen has been called.

	Parameters
		windex  [Input]
			project window index
		obj  [Input]
			stair from path object
		which  [Input]
			parameter identifier
		data  [Input]
			parameter data

	Returns
		Error codes 
		MODEL_ERR_WRONG_OBJT_TYPE	- object passed in is not a stair from path


	Availability	5.0.0.0

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

	See Also
		fz_objt_edit_pathstair_parm_get,fz_objt_cnstr_pathstair,fz_objt_edit_parm_regen

 ****************************************************************/
typedef fzrt_error_td  (*fz_objt_edit_pathstair_parm_set_func) (
	fzrt_int					windex,
	fz_objt_ptr			obj,
	fz_objt_pathstair_parm_enum	which,
	fz_type_td				*data
	);

#ifdef __cplusplus
}
#endif

#endif
