int run()
{
	/* Force optimizing linkers to bring in all C++ classes */
	stplib_init();

	/* Create a RoseDesign to hold the instance data */
	const char * output_name = "cylinder";
	RoseDesign * design = new RoseDesign(output_name);

	/* Give the design some Part 21 header information */
	design->initialize_header();
	design->header_name()->originating_system("Cylinder Creation");
	design->header_description()->description()->
		add("Empty Shape Representation Sample File");

	ROSE.useDesign(design);

	StixUnit au = stixunit_deg;
	StixUnit lu = stixunit_mm;
	StixUnit sau = stixunit_steradian;

	stp_advanced_brep_shape_representation * cylin = create_empty_product_with_geometry_cylinder(
		au, lu, sau);

	const char* c = "red";

	create_any_cylinder(cylin, 5, 10, 2.5, 2.5, 5, c);

	design->save();
	return 0;
}
int main(int argc, char* argv[])
{
	/* Force optimizing linkers to bring in all C++ classes */
	stplib_init();

	/* Create a RoseDesign to hold the instance data */
	const char * output_name = "cylinder_with_filet";
	RoseDesign * design = new RoseDesign(output_name);

	/* Give the design some Part 21 header information */
	design->initialize_header();
	design->header_name()->originating_system("Cylinder Creation");
	design->header_description()->description()->
		add("Empty Shape Representation Sample File");

	ROSE.useDesign(design);

	stp_advanced_brep_shape_representation * cylin = create_empty_product_with_geometry();

	create_any_cylinder(cylin, 8, 10, 4);

	design->save();
	return 0;
}