// Copyright (C) 1997-2004 Alias Systems Corp.
// 
// The information in this file is provided for the exclusive use of the
// licensees of Alias.  Such users have the right to use, modify,
// and incorporate this code into other products for purposes authorized
// by the Alias license agreement, without fee.
// 
// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.

//
//  Alias Script File
//  MODIFY THIS AT YOUR OWN RISK
//
//  Creation Date:  April 29 1997
//
//  Description:
//      Global function to ensure the options for circularFillet are set.
//
//  Input Arguments:
//      Force the factory setting or not.
//
//  Return Value:
//      None.
//

global proc circularFilletSetOptionVars( 
	int $forceFactorySettings )
//
//
//
{
	// primary Radius.
	//
    if ($forceFactorySettings || !`optionVar -exists circularFilletRadius`) {
        optionVar -floatValue circularFilletRadius 1.0 ;
    }

	// generate cos.
	//
    if ($forceFactorySettings || !`optionVar -exists circularFilletGenerateCoS`) {
        optionVar -intValue circularFilletGenerateCoS 0 ;
    }

	// reverse primary surface.
	//
    if ($forceFactorySettings || !`optionVar -exists circularFilletReversePrimary`) {
        optionVar -intValue circularFilletReversePrimary 0 ;
    }

	// reverse secondary surface.
	//
    if ($forceFactorySettings || !`optionVar -exists circularFilletReverseSecondary`) {
        optionVar -intValue circularFilletReverseSecondary 0 ;
    }

	// circularFilletOutputPolygons (int) - either 0|1 for polygon or Nurbs output
    //
    //if ($forceFactorySettings || !`optionVar -exists circularFilletOutputPolygons`){
    //   optionVar -intValue circularFilletOutputPolygons 0;
    //}

	// Tolerances - To use global Vs local tolerances.
    // tolerance (boolean), local positional tolerance (float),
	// local tangent Tolerance (float).
	//
    if ($forceFactorySettings ||
        !`optionVar -exists circularFilletUseGlobalTolerance`) {
        optionVar -intValue circularFilletUseUseGlobalTolerance 1;
    }
    if ($forceFactorySettings ||
        !`optionVar -exists circularFilletLocalPositionalTolerance`) {
        optionVar -floatValue circularFilletLocalPositionalTolerance 0.01;
    }

    if ($forceFactorySettings ||
        !`optionVar -exists circularFilletLocalTangentTolerance`) {
        optionVar -floatValue circularFilletLocalTangentTolerance 0.1;
    }
}

