Appendix A. Reference Summary

Topic: Ignore This appendix provides a summary of the reference items defined in the Kernel Component. Just the name and a brief description of each item is given. There is a separate section for each type of item (class, function, Scheme extension, test harness command, etc.).

Classes Topic: Ignore AcisJournal ...... Contains data and methods related to journaling operation.

AcisOptions ...... Implements an AcisOptions class. AcisVersion ...... Creates an ACISversion object. ANNOTATION ...... Defines a base class for adding information to the bulletin boards.

annotation_ctx ...... Holds global information about annotations, including settings and a list of them.

APOINT ...... Represents the position of a point as an object in the model.

ATTRIB ...... Represents common data and functionality for all attributes. ATTRIB_ANNOTATION ...... Attaches an annotation to an entity. ATTRIB_ST ...... Organization attribute from which various color, display, id, and other attributes are derived. ATTRIB_SYS ...... Organization base attribute class for the ACIS kernel. ATTRIB_TAG ...... Defines a base class that contains a pointer to the original input entity as well as a flag indicating if the entity still exists.

Kernel R10 ATTRIB_TSL ...... This is an organization base class from which other classes are derived. It is never instantiated.

BinaryFile ...... Defines the BinaryFile class for doing ACIS save and restore to binary files. blend_spl_sur ...... Provides common functionality and data for all blend surfaces.

BODY ...... Represents a wire, sheet, or solid body. bounded_arc ...... Defines a bounded_arc as a subtype of a bounded_curve. bounded_curve ...... Defines a bounded . bounded_line ...... Defines a bounded_line as a subtype of bounded_curve.

BULLETIN ...... Describes the records that are chained into bulletin-boards.

BULLETIN_BOARD ...... Creates a record of the changes to a single ENTITY during the current operation on the model. check_status_list ...... Implements the list of return codes for status checking.

COEDGE ...... Relates EDGEs with adjacent EDGEs and owning ENTITYs.

CONE ...... Defines a cone as an object in the model. cone ...... Defines the elliptical single cone.

CURVE ...... Defines a generic curve as an object in the model. curve ...... Provides methods and data common to all curve subclasses. curve_bounds ...... Specifies the curve bounds of interest. curve_curve_int ...... Represents the intersection of a curve with another curve and returns the intersections as a list.

Kernel R10 curve_interp ...... Contains arrays to be interpolated and the information necessary for the interpolation.

curve_irregularities ...... Implements a linked list of parameter values at which a curve has a C1 (tangent direction) or G1 (tangent magnitude) discontinuity.

curve_law_data ...... Creates a wrapper to an ACIS curve class.

curve_surf_int ...... Represents the intersection of a curve with a surface and returns the intersections as a list.

DEBUG_LIST ...... Defines a simple list pointer, which allows all active lists to be scanned.

DELTA_STATE ...... Retrieves a sequence of bulletin boards.

DELTA_STATE_LIST ...... Implements a variable length list of delta states.

discontinuity_info ...... Stores discontinuity information for a curve or surface.

EDGE ...... Represents a physical edge.

EE_LIST ...... Defines a wrapper for ENTITY_LIST that is an ENTITY, with full support for save/restore and rollback.

ELLIPSE ...... Defines an as an object in the model.

ellipse ...... Defines an ellipse.

ENTITY ...... Represents common data and functionality that is mandatory in all classes that are permanent objects in the model.

entity_and_filter ...... Returns TRUE if both of its two child filters return TRUE.

entity_binary_filter ...... Combines entity_and_filter and entity_or_filter classes.

entity_filter ...... Provides generic methods and data for all filters.

entity_gvertex ...... Creates an instance of a graph vertex that holds an entity pointer as data.

Kernel R10 ENTITY_LIST ...... Implements a variable length list of entities. entity_notification_handler ...... Allows an application to notify its sub-systems of ENTITY events. entity_not_filter ...... Returns TRUE if and only if its child filter returns FALSE, and vice versa. entity_or_filter ...... Returns TRUE if either of its two child filters returns TRUE. entity_test_filter ...... Returns TRUE if the given C++ test function returns TRUE. entity_with_ray ...... Combines an ENTITY and a pick_ray. exact_int_cur ...... Represents an exact intersection spline curve.

FACE ...... Represents a bounded portion of a SURFACE.

FileInfo ...... Contains additional required file header information.

FileInterface ...... Defines the abstract base class. gedge ...... Creates an instance of a graph edge for use in graph theory. generic_graph ...... Creates an instance of a graph for the graph theory mathematical operations. gvertex ...... Creates an instance of a graph vertex for use in graph theory. history_callbacks ...... Provides callbacks for history management. history_callbacks_list ...... Provides a list of callbacks for history.

HISTORY_MANAGER ...... Creates a history state on the specified history stream.

HISTORY_STREAM ...... Implements a method for saving past states.

HISTORY_STREAM_LIST ...... Stores a list of history streams.

INTCURVE ...... Defines a parametric curve as an object in the model. intcurve ...... An interpolated curve type.

Kernel R10 int_cur ...... Defines interpolated .

LAW ...... Stores a law function as an entity for saving to and restoring from a SAT file.

LOOP ...... Set of connected EDGEs that bounds a FACE.

LUMP ...... Represents a bounded, connected portion of space.

METHOD_ARGS ...... Defines the virtual method ID that must return a unique character string to allow runtime identification of overloaded methods.

METHOD_ID ...... Identifies runtime methods.

METHOD_TABLE ...... Holds the table of runtime method implementation functions for a class.

off_int_cur ...... Represents a spline curve obtained by the intersection of two surfaces that are offsets of the given surfaces.

off_spl_sur ...... Represents the offset of a surface.

outcome ...... Defines a class for the result of API calls.

par_int_cur ...... Represents an exact spline curve in the parameter space of a surface.

par_int_interp ...... Fits a 3D curve to the parameter curve.

pattern ...... Provides all information necessary to generate a regular or irregular pattern of entities from a single, “seed” entity.

PCURVE ...... Defines a 2D parameter-space approximation to a curve as an object in the model.

pcurve ...... Defines a 2D curve defined in the parameter space of a parametric surface.

pcurve_law_data ...... Creates a wrapper for pcurve classes for passing as arguments to laws.

pcur_int_cur ...... Defines an interpolated curve subtype that is the 3D extension of the parameter curve representing a curve on a surface.

Kernel R10 pick_ray ...... Maps a 2D graphic pick on an entity position defined in model space.

PLANE ...... Defines a plane as an object in the model. plane ...... Defines a planar surface. position_array ...... Creates dynamic arrays of positions. rb_blend_spl_sur ...... Implements the constant radius rolling ball blend surface. restore_def ...... Records an entity type name, a pointer to a restore_data routine for that type of entity, and a link pointer. rot_spl_sur ...... Represents a surface of rotation.

SabFile ...... Performs save and restore to stream files.

SatFile ...... Defines the SatFile class for doing ACIS save and restore to stream files in text format.

SHELL ...... Represents the external boundary of a LUMP, or the internal boundary of a void (unoccupied space) within a LUMP. skin_spl_sur ...... Defines a skin surface between a list of curves.

SPHERE ...... Defines a as an object in the model. sphere ...... Defines a spherical surface.

SPLINE ...... Defines a parametric surface as an object in the model. spline ...... Records a B–spline surface. spl_sur ...... Defines an abstract base class from which spline surface definitions are derived. standard_error_info ...... Returns standard error information.

STRAIGHT ...... Defines an infinite as an object in the model. straight ...... Defines an infinite straight line represented by a point and a unit vector specifying the direction.

Kernel R10 StreamFinder ...... Used by the DistributeStates function below to find the HISTORY_STREAM corresponding to a given entity.

SUBSHELL ...... Represents a subdivision of a SHELL or SUBSHELL.

subtrans_object ...... Defines a shared-subtype class that is subject to transformations.

subtype_object ...... Defines the master object from which all subtype objects must be derived.

sum_spl_sur ...... Represents a linear sum of two curves.

SURFACE ...... Defines a generic surface as an object in the model.

surface ...... Base class for all ACIS surface types that defines the basic virtual functions that are supplied for all specific surface classes.

surface_law_data ...... Creates a wrapper to an ACIS surface class.

surf_int_cur ...... Represents spline curves on a surface within the given fit tolerance.

surf_normcone ...... Provides a return value for normal_cone which returns a cone bounding the surface normal.

surf_princurv ...... Provides the return value for the principle functions, returning two directions and two for a surface.

surf_surf_int ...... Represents the intersection of two face surfaces and returns zero or more curves.

sweep_spl_sur ...... Defines the perpendicular sweep of a planar profile curve along a path curve.

TaggedData ...... Tracks data and its type for saving and restoring unknown ENTITY types.

TCOEDGE ...... Internal to ACIS and not intended for direct usage.

TEDGE ...... Internal to ACIS and not intended for direct usage.

Kernel R10 tensor ...... Defines a 3 X 3 tensor.

TEXT_ANNOTATION ...... Defines a simple annotation attribute for testing annotations.

TEXT_ENT ...... Stores simple text display information. tk_list ...... Base class that can be used to manage a list of items.

TORUS ...... Defines a torus as an object in the model. torus ...... Represents tori.

TRANSFORM ...... Represents an overall transformation applied to a BODY, and is saved as part of the model. transform_law_data ...... Creates a wrapper to a ACIS TRANSFORM class.

TVERTEX ...... Internal to ACIS and not intended for direct usage.

UNDEFC ...... Defines a curve that is undefined except for its end points as an object in the model. unknown_text_pointer ...... Implements the member functions to point to an object containing textual data to be read from a save file. var_cross_section ...... Evaluates the cross section of a blend surface. var_radius ...... Defines the variable radius. var_rad_fixed_width ...... Defines a constant cross section radius for a variable radius function. var_rad_functional ...... Defines a functional form of a variable radius function. var_rad_rot_ellipse ...... Defines a rotational radius ellipse for a variable radius function. var_rad_two_ends ...... Defines a two-ends form of a variable radius function.

VBL_SURF ...... Defines the vertex blend surface class.

VERTEX ...... Represents a corner of a FACE and/or the end of an EDGE.

Kernel R10 WCS ...... Defines the creation of a working coordinate system.

WCS_callback ...... Provides notification of changes to the WCS.

WCS_callback_list ...... Provides a type-safe interface to toolkit_callback_list class and the execute command.

WIRE ...... Represents a collection of edges that are owned by a body but are not attached to faces and do not enclose any volume.

wire_law_data ...... Creates a wrapper to a ACIS WIRE class.

Enumerations Topic: Ignore blend_coord_type ...... Specifies the blending of true surfaces with the approximating one outside the polygon.

blend_how ...... Specifies blend behavior when the rolling ball meets a smooth or non–smooth edge at the start, middle or end of the blend sequence.

bl_continuity ...... Specifies the continuity with which a blend face meets adjacent body faces.

bl_ed_convexity ...... Specifies blending convexity of an entity.

bndy_type ...... Specifies on which boundary of a surface a pcurve lies.

bs2_curve_form ...... Classifies the end conditions of a 2D B-spline curve.

bs3_curve_form ...... Classifies the end conditions of a 3D B-spline curve.

bs3_surf_form ...... Classifies the end conditions of a 3D B-spline surface.

bs_conic_type ...... Classifies a B-spline curve as a type of .

BULLETIN_TYPE ...... Specifies creation, change, or deletion of a model entity.

Kernel R10 closed_forms ...... Number of closed forms for blends.

cross_section_forms ...... Number specifies the type of cross section.

CURVE_EXTENSION_TYPE ...... Number specifies the extension type.

DataType ...... Written to a binary SAT file to identify the type of data items in an unknown ENTITY. They are given explicitly and must not be changed.

error_type ...... Specifies the type of error that is to be found by the VBL_SURF error functions.

loop_type ...... Specifies the type of a loop classified by api_loop_type.

PAT_CHECK_TYPE ...... Used in api_set_entity_pattern and in api_refresh_entity_pattern, to specify checking behavior to follow the application of a pattern (in versions 7 and 8, a logical was used instead, so in adding ”check–and–fix”, it is backward–compatible with the former type and the associated behavior).

PAT_NEXT_TYPE ...... For entities with next() methods, include this switch to specify how it should work when the entity has a pattern holder.

point_face_containment ...... Specifies whether a point lies inside, outside, or on a face.

underlying_sf_type ...... Text specifies surface type.

Functions Topic: Ignore angle_between ...... Gets the angle (in radians) between two vectors or two unit vectors in the range 0 <= angle < 2 pi.

api_abort_state ...... Deletes the current delta state and rolls model to the state before the current state.

api_add_state ...... Merges a DELTA_STATE instance into a HISTORY_STREAM.

Kernel R10 api_alternating_keep_pattern ...... Creates a new pattern by applying an alternating keep–filter to an existing pattern.

api_alternating_scale_pattern ...... Creates a new pattern by applying an alternating scale to an existing pattern.

api_apply_transf ...... Changes the transform entity attached to a body.

api_bb_begin ...... Starts the API bulletin board.

api_bb_delete ...... Deletes bulletin boards.

api_bb_end ...... Terminates the API bulletin board.

api_calculate_edge_tolerance ...... Calculates the tolerance of an edge.

api_calculate_vertex_tolerance ...... Calculates the tolerance of a vertex.

api_change_body_trans ...... Substitutes the given transform for the existing transform of the body.

api_change_state ...... Modifies the modeler state by applying a delta state.

api_change_to_state ...... Modifies the modeler state by applying zero or more delta_states.

api_checking ...... Sets the pointer argument checking for an API call to on or off.

api_check_edge_errors ...... Checks whether edges have errors that require them to be made tolerant, and optionally performs this conversion.

api_check_face_loops ...... Checks a face to see that it contains valid loops.

api_check_histories ...... Checks all HISTORY_STREAMs for problems.

api_check_on ...... Determines the status of checking and returns TRUE if it is on; otherwise, it returns FALSE.

api_check_vertex_errors ...... Checks the vertices in the given list for gaps worse than the specified tolerance.

api_clear_annotations ...... Clears annotation entities from the currently active bulletin board.

api_copy_body ...... Creates a copy of a body.

Kernel R10 api_copy_entity ...... Creates a copy of an entity and all its associated entities. api_copy_entity_contents ...... Creates a copy of a topological entity all its associated subentities. api_copy_entity_list ...... Creates a copy of all entities in an entity list and all their associated entities. api_create_history ...... Returns a newly created HISTORY_STREAM on the heap. api_curve_pattern ...... Creates a pattern parallel to a curve. api_cylindrical_pattern ...... Creates a pattern with cylindrical symmetry. api_deep_copy_entity ...... Creates a deep copy of an entity and all its associated entities. api_deep_copy_entity_list ...... Creates a deep copy of all entities in an entity list and all their associated entities. api_delent ...... Deletes an entity and subentities, which are entities below the given entity in the topological hierarchy. api_delete_ds ...... Deletes a delta state and dependent data. api_delete_history ...... Deletes the HISTORY_STREAM and all ENTITYs in the stream. api_del_entity ...... Deletes the given entity. api_del_entity_list ...... Deletes the given list of entities. api_distribute_state_to_streams ...... Distributes BULLETINs in a DELTA_STATE to one or more HISTORY_STREAMs as directed by a StreamFinder. api_edge_pattern ...... Creates a pattern parallel to an edge. api_elliptical_pattern ...... Creates an elliptical pattern. api_end_journal ...... Sets the status flag off journalizing and finishes the snapshot journaling mechanism. api_ensure_empty_root_state ...... If necessary, adds an empty delta state to the beginning of the history stream so that users can roll to a state with no entities.

Kernel R10 api_extract_coed_info ...... Computes the given number of equidistant points in the parametric space of the underlying curve for the coedge.

api_find_annotations ...... Finds all annotation entities of a given type.

api_find_named_state ...... Rolls to the start of a named state.

api_get_active_entities ...... Finds all active entities associated with a history stream.

api_get_active_state ...... Returns the active DELTA_STATE in the given HISTORY_STREAM.

api_get_all_user_attributes ...... Finds all attributes of a specified user type in a history stream.

api_get_annotation_ctx ...... Returns the annotation list.

api_get_coedges ...... Gets all the coedges related to an entity.

api_get_curve_ends ...... Gets the end points of a curve.

api_get_default_history ...... Returns the default HISTORY_STREAM.

api_get_edges ...... Gets all the edges related to an entity.

api_get_ellipse_parameters ...... Gets the arguments for a or an ellipse.

api_get_entities ...... Gets all specified entities related to an entity.

api_get_entity_box ...... Gets the bounding box for a list of entities relative to the active working coordinate system.

api_get_entity_from_id ...... Returns an ENTITY identified by the given id.

api_get_entity_id ...... Returns a unique integer identifier for a given ENTITY.

api_get_faces ...... Gets all faces related to an entity.

api_get_file_info ...... Gets header info from the last restored file.

api_get_history_from_entity ...... Returns the HISTORY_STREAM in which the ENTITY lives.

api_get_history_size ...... Gets the size of the DELTA_STATE in the HISTORY_STREAM.

Kernel R10 api_get_journal ...... Gets a reference to the AcisJournal contained in AcisOptions. api_get_loops ...... Gets all loops related to an entity. api_get_lumps ...... Gets all lumps related to an entity. api_get_modified_faces ...... Finds faces that have been deleted, created, or modified since a particular state. api_get_owner ...... Gets the top level owner of an entity. api_get_save_version ...... Gets the current save file format version. api_get_shells ...... Gets all shells related to an entity. api_get_state_from_id ...... Returns a DELTA_STATE identified by the given id. api_get_state_id ...... Returns a unique integer identifier for a given DELTA_STATE. api_get_tcoedges ...... Gets all the tcoedges related to an entity. api_get_tedges ...... Gets all the tedges related to an entity. api_get_tvertices ...... Gets all TVERTEXes related to an entity. api_get_version_tag ...... Gets the version tag from an ACISversion. api_get_vertices ...... Gets all vertices related to an entity. api_get_wires ...... Gets all the wires related to an entity. api_hedgehog ...... Creates a DL_item list of hairs to show a vector field. api_hex_cylindrical_pattern ...... Creates a hexagonal pattern with cylindrical symmetry. api_hex_pattern ...... Creates a hexagonal pattern in two or three dimensions. api_hook_annotations ...... Traverses the active list of annotations and adds ATTRIB_ANNOTATIONs to hook them to the annotated entities. api_initialize_kernel ...... Initializes the kernel library.

Kernel R10 api_initialize_spline ...... Initializes the spline library.

api_integrate_law ...... Integrates a law over a given domain to a given tolerance.

api_integrate_law_wrt ...... Integrates a law over a given domain to a given tolerance with respect to a given variable.

api_integrate_law_wrt_and_splits ...... Integrates a law over a given domain to a given tolerance with respect to a given variable with respect an array of points to split the domain.

api_law_to_entity ...... Converts a law mathematic function into an entity for the purposes of saving to and restoring from a SAT file.

api_linear_pattern ...... Creates a linear pattern.

api_linear_scale_pattern ...... Creates a new pattern by applying a linear scale to an existing pattern.

api_load_state ...... Loads the state of global variables from a given text file.

api_logging ...... Sets logging on or off for roll back.

api_loop_type ...... Determines the type of a given loop.

api_make_cubic ...... Creates a cubic law given {a,b,f(a),f(b),f ’(a),f’(b)}.

api_make_linear ...... Creates a linear law given {a,b,f(a),f(b)}.

api_make_polynomial_law ...... Creates a polynomial law.

api_make_quintic ...... Creates a quintic law given {a,b,f(a),f(b),f ’(a),f’(b) f’’(a) f’’(b)}.

api_make_rails ...... Creates the default rail laws for sweeping along a wire.

api_make_root_state ...... Sets the state of the root.

api_make_VBL_output_surfaces ...... Splits the approximating surface for a VBL_SURF into n four–sided bs3_surface patches.

api_make_version_object ...... Makes an AcisVersion object from various forms of input.

Kernel R10 api_merge_states ...... Modifies a history stream by merging a range of delta states. api_name_state ...... Names the current state. api_ndifferentiate_law ...... Numerically differentiates a law at a given point with respect to a given variable a given number of times. api_nmax_of_law ...... Gets the maximum value of a given law over the given domain. api_nmin_of_law ...... Gets the minimum value of a given law over the given domain. api_note_state ...... Sets a check point for roll back and returns model differences since previous call to api_note_state. api_nroots_of_law ...... Gets all the roots of a given law over the given domain. api_nsolve_laws ...... Determines where two given laws are equal over a given domain. api_optimize_tvertex_tolerance ...... Optimize (minimizes) the TVERTEX tolerance on the ends of a EDGE or TEDGE. api_pattern_find_bump ...... Finds the bump associated with a given face or loop. api_pattern_to_entity ...... Converts a pattern into an entity for the purposes of saving to and restoring from a SAT file. api_pause_journal ...... Sets the status flag for journalizing to off, disabling the snapshot journal mechanism. api_periodic_keep_pattern ...... Creates a new pattern by applying a periodic keep–filter to an existing pattern. api_periodic_scale_pattern ...... Creates a new pattern by applying a periodic scale to an existing pattern. api_polar_grid_pattern ...... Creates a polar–grid pattern. api_project_curve_to_surface ...... Projects a curve onto a surface.

Kernel R10 api_prune_following ...... Removes forward delta states from a history stream.

api_prune_history ...... Removes delta states from a history stream.

api_query_state_validity ...... Returns TRUE if the given DELTA_STATE is in the HISTORY_STREAM.

api_radial_pattern ...... Creates a radial pattern.

api_random_keep_pattern ...... Creates a new pattern by applying a random keep–filter to an existing pattern.

api_random_offset_pattern ...... Creates a new pattern by adding random offsets to an existing pattern.

api_random_orient_pattern ...... Creates a new pattern by applying random rotations at each site of an existing pattern.

api_random_pattern ...... Creates a random pattern within the indicated region.

api_random_scale_pattern ...... Creates a new pattern by applying a random scale to an existing pattern.

api_remove_pattern ...... If the input entity is patterned, removes the pattern from it and from all other associated patterned entities.

api_remove_state ...... Merges a DELTA_STATE instance into a HISTORY_STREAM.

api_remove_transf ...... Removes (discards) the transformation of a body.

api_replace_edge_with_tedge ...... Replaces an edge with a tolerant edge.

api_replace_tedge_with_edge ...... Replaces a tolerant edge with a normal edge.

api_replace_tvertex_with_vertex ...... Replaces a tolerant vertex with a normal vertex.

api_replace_vertex_with_tvertex ...... Replaces a vertex with a tolerant vertex.

api_reset_boxes ...... Removes and then adds back bounding boxes from the selected body and its subparts (or just the selected entity if it’s not a body).

api_restore_entity_list ...... Restores an entity_list from disk.

Kernel R10 api_restore_entity_list_file ...... Restores an entity_list from disk. api_restore_entity_list_with_history . . . . . Restores an entity_list from disk. api_restore_entity_list_with_history_file . . Restores an entity_list from disk. api_restore_history ...... Restores a history stream and associated entities and entity id information from a file. api_restore_history_file ...... Restores an history stream and associated entities and entity id information from a file. api_resume_journal ...... Sets the status flag for journalizing to on, enabling the snapshot journal mechanism. api_roll_n_states ...... Modifies modeler state by applying zero or more delta_states. api_save_entity_list ...... Writes a list of entities to disk as text or binary. api_save_entity_list_file ...... Writes a list of entities to disk in text or binary format. api_save_entity_list_with_history ...... Writes a list of entities to disk as text or binary. api_save_entity_list_with_history_file . . . Writes a list of entities to disk as text or binary. api_save_history ...... Writes a history stream and associated entities and entity ID information to a file. api_save_history_file ...... Writes a history stream and associated entities and entity id information to a file. api_save_state ...... Save the current state of global variables into a text file. api_save_version ...... Sets the save file format. api_set_acis_options ...... Copies the AcisJournal and AcisVersion Objects from the arguments to the data members inside AcisOptions. api_set_dbl_option ...... Sets the value of the specified option to the given double. api_set_default_history ...... Sets the input HISTORY_STREAM to be the default the history stream. api_set_file_info ...... Sets required header info to be written to ACIS save files.

Kernel R10 api_set_int_option ...... Sets the value of the specified option to the given integer.

api_set_journal ...... Copies the AcisJournal object to AcisOptions.

api_set_journal_name ...... Sets the snapshot journal file name.

api_set_str_option ...... Sets the value of the specified option to the given string.

api_set_version ...... Copies the version object into the acis option.

api_spherical_pattern ...... Creates a spherical pattern.

api_stackmon_limit ...... Sets the limit in bytes of how much stack ACIS may use.

api_start_journal ...... Sets the status flag for journalizing to on and initializes journal.

api_start_modeller ...... Starts the modeler.

api_stop_modeller ...... Terminates modeler and releases memory.

api_str_to_law ...... Creates a law from a string and an optional array of law data.

api_surface_pattern ...... Creates a pattern parallel to a surface.

api_terminate_kernel ...... Terminates the kernel library.

api_terminate_spline ...... Terminates the spline library.

api_test_deep_copy ...... Test the deep copy functionality for improper sharing.

api_transform_entity ...... Applies a transformation to an entity.

api_unhook_annotations ...... Traverses the active list of annotations and removes associated ATTRIB_ANNOTATIONs.

api_update_tolerance ...... Updates the tolerance on an entity.

api_wcs_create ...... Creates a new working coordinate system.

api_wcs_get_active ...... Gets the active working coordinate system.

api_wcs_set_active ...... Sets a specified working coordinate system to be active.

Kernel R10 bs2_curve_accurate_derivs ...... Gets the number of derivatives that bs2_curve_evaluate can calculate. bs2_curve_add_knot ...... Adds a knot to a B–spline at a given parameter value. bs2_curve_box ...... Gets a box that encloses the curve with additional tolerances. bs2_curve_closed ...... Determines whether a spline is closed or open. bs2_curve_connect ...... Joins two 2D B-splines end to end. bs2_curve_construct ...... Creates a curve which is supplied as B-spline vertexes and knot values. bs2_curve_control_points ...... Gets the number of control points and an array of control points for a 2D B–spline curve. bs2_curve_copy ...... Creates an exact copy of the curve. bs2_curve_debug ...... Gets a readable representation of the curve and writes it to a file. bs2_curve_delete ...... Deletes storage occupied by a curve that is no longer required. bs2_curve_deriv ...... Evaluates the first derivative of the curve with respect to the parameter at the given parameter value. bs2_curve_eval ...... Evaluates the curve and its parametric derivative at the given parameter value. bs2_curve_evaluate ...... Evaluates an arbitrary number of derivatives and selects the handedness of derivatives at discontinuities. bs2_curve_fit ...... Fits a bs2_curve to a collection of point and direction data. bs2_curve_for_curve_on_surf ...... Creates a bs2_curve that approximates a segment of a bs3_curve lying on a surface. bs2_curve_from_ctrlpts ...... Creates a two-dimensional B-spline curve specified as a sequence of control points, weights, and an associated knot vector.

Kernel R10 bs2_curve_init ...... Initializes the bs2_curve interface and the underlying curve package.

bs2_curve_interp ...... Creates a cubic curve that interpolates or fits to an array of points, with given start and end directions.

bs2_curve_join ...... Creates a new curve by appending the second curve to the end of the first.

bs2_curve_knots ...... Gets the number of knots and the knot vector for a 2D B-spline curve.

bs2_curve_knottol ...... Gets the parametric criterion used to decide whether a given parameter is a knot.

bs2_curve_make_line ...... Creates a straight line spline between two points.

bs2_curve_make_rho_conic ...... Creates a conic curve given three distinct parametric positions and a rho value.

bs2_curve_open ...... Determines if the spline is open or not.

bs2_curve_par_trans ...... Transforms the given bs2_curve in parameter space.

bs2_curve_period ...... Gets the primary interval (the parametric period) of definition of a periodic curve.

bs2_curve_periodic ...... Determines if the curve is smoothly closed in object space and may be considered an endless loop (periodic).

bs2_curve_position ...... Evaluates the curve at the given parameter value.

bs2_curve_range ...... Gets the primary interval on which the curve is defined.

bs2_curve_reparam ...... Reparameterizes the given curve in place so that its primary interval of definition is from the start to the given end parameters.

bs2_curve_restore ...... Restores a curve.

bs2_curve_reverse ...... Reverses the direction of the given curve, and negates the parameterization.

Kernel R10 bs2_curve_same ...... Determines whether two curves are the same. bs2_curve_save ...... Saves a curve to a file. bs2_curve_set_closed ...... Marks a bs2_curve as being closed. bs2_curve_set_ctrlpt ...... Sets the position of one control point. bs2_curve_set_ctrlpts ...... Sets the positions, and optionally weights, of all control points on a curve. bs2_curve_set_end_prms ...... Sets the values of the start and/or end parameters of a spline. bs2_curve_set_form ...... Sets a bs2_curve form variable to the same value as a corresponding bs3_curve form variable. bs2_curve_set_open ...... Sets a curve’s form to be open. bs2_curve_set_periodic ...... Marks a bs2_curve as being periodic. bs2_curve_shift ...... Reparameterizes the given curve in place by adding the given shift value to its parameter values. bs2_curve_split ...... Splits a given parametric curve into two sections at a given parameter value. bs2_curve_straddles_bs3_surface_knots Determines if the convex hull of the curve straddles any knots. bs2_curve_subset ...... Creates a curve that is a subset of a given curve. bs2_curve_tangent ...... Evaluates the curve direction at the given parameter value. bs2_curve_to_array ...... Gets the dimension, degree, control points, weights, and knots for a 2D B-spline curve, and determines if the curve is rational. bs2_curve_to_bs3_curve ...... Resolves the AG references in the skin code. bs2_curve_trans ...... Transforms the given curve in place. bs2_curve_u_param_line ...... Creates a parameter-space curve along a u parameter line of a spline surface. bs2_curve_v_param_line ...... Creates a parameter line space curve along a v parameter line of a spline surface.

Kernel R10 bs2_curve_weights ...... Gets the number of weights and an array of weights values for a rational, 2D B-spline curve.

bs2_radius_is_zero ...... Determines whether or not the spline radius is zero.

bs3_curve_accurate_derivs ...... Gets the number of derivatives that bs3_curve_evaluate can calculate.

bs3_curve_add_knot ...... Adds a knot to a B-spline at a given parameter value.

bs3_curve_add_mult_ekn ...... Adds multiple end knots to a spline curve.

bs3_curve_arc_3curve ...... Gets the radius and center of an arc tangent to three curves.

bs3_curve_arc_3curve_modified ...... Gets the radius and center of an arc tangent to three curves.

bs3_curve_box ...... Determines a box that encloses the curve with additional tolerances.

bs3_curve_bs3_curve_int ...... Intersects two curves.

bs3_curve_check ...... Checks the curve for closure, continuity etc. and applies fixes if requested, and possible.

bs3_curve_check_smoothness ...... Gets knot values where the curve is discontinuous in tangent direction or magnitude.

bs3_curve_closed ...... Determines if a curve is closed.

bs3_curve_compat ...... Sets two curves to be side–by–side compatible.

bs3_curve_conic_type ...... Determines whether the given curve is a conic section.

bs3_curve_connect ...... Joins two splines end to end in a C1 join.

bs3_curve_construct ...... Creates a cubic curve which is supplied as B-spline vertexes and knot values.

bs3_curve_control_points ...... Gets the number of control points and an array of control points for a 3D B–spline curve.

bs3_curve_copy ...... Creates an exact copy of the curve in free store.

bs3_curve_cub_fit_to_conic ...... Creates a nonrational cubic B-spline fit to the given conic.

Kernel R10 bs3_curve_curvature ...... Evaluates the curvature of the curve at the given parameter value. bs3_curve_cylinder ...... Gets a cylinder enclosing a bs3_curve. bs3_curve_debug ...... Gets a readable representation of the curve and writes it to a file. bs3_curve_degree ...... Gets the degree of a bs3_curve. bs3_curve_degree_elevate ...... Raises the degree of a B-spline curve in place by one. bs3_curve_delete ...... Deletes storage occupied by the given curve that is no longer required. bs3_curve_deriv ...... Evaluates the parametric derivative (direction and magnitude) of a given 3D B–spline curve at a given parameter value. bs3_curve_end ...... Gets the end point of the given spline curve. bs3_curve_end_tangent ...... Gets the normalized tangent to the given spline at the end. bs3_curve_estimate_param ...... Estimates the parameter of the nearest point or a curve to the given point. bs3_curve_eval ...... Evaluates the curve and its parametric derivatives at the given parameter value. bs3_curve_evaluate ...... Gets an arbitrary number of derivatives of a curve. bs3_curve_extrema ...... Determines the extreme points (maxima and minima) of a parametric curve with respect to a given direction in object space. bs3_curve_facet ...... Gets an array of points and parameter values that form the linear approximation to a curve within a specified tolerance. bs3_curve_fillet_curves ...... Creates a fillet curve between two curves. bs3_curve_from_bs2 ...... Converts a two-dimensional parameter-space curve into a three-dimensional curve. bs3_curve_from_ctrlpts ...... Creates a 3D B-spline curve specified as a sequence of control points, weights, and an associated knot vector.

Kernel R10 bs3_curve_hermite_interp ...... Interpolates a cubic B–spline curve (Hermite interpolation) from points and tangents.

bs3_curve_init ...... Initializes the bs3_curve interface and the underlying curve package.

bs3_curve_int ...... Determines the intersection of two curves.

bs3_curve_intcurve_invert ...... Inverts a bs3_curve, taking an intcurve into account.

bs3_curve_interp ...... Creates a curve that interpolates or fits to the given tolerance the given points, with the given tangent directions at the two end points.

bs3_curve_interp_knots ...... Creates a cubic curve which interpolates or fits to an array of points, with given start and end directions.

bs3_curve_invert ...... Determines the parameter value of a near–point to the given point on the curve.

bs3_curve_join ...... Creates a new curve by appending the second curve to the end of the first.

bs3_curve_knots ...... Gets the number of knots and knot values for a 3D B–spline curve.

bs3_curve_knottol ...... Gets the parametric criterion used to determine whether a given parameter is a knot.

bs3_curve_knot_mult ...... Determines the multiplicity of a B–spline curve knot.

bs3_curve_length ...... Determines the arc length of a three–dimensional B–spline curve between given parameter bounds.

bs3_curve_length_param ...... Determines the parameter value of the point at a given arc length from the given parameter value.

bs3_curve_line_tan_2crv ...... Determines the positions for creating a line tangent to two bs3_curves.

bs3_curve_line_tan_pt_crv ...... Determines all positions on a bs3_curve where a line from a given position is tangent to the curve.

Kernel R10 bs3_curve_make_cur ...... Creates a curve from a portion of a general ACIS curve. bs3_curve_make_ell ...... Creates a spline curve from an elliptical arc. bs3_curve_make_int ...... Creates a spline curve from an intcurve. bs3_curve_make_rho_conic ...... Creates a general conic curve segment given three distinct points and a rho value. bs3_curve_make_str ...... Creates a parametric curve that is geometrically the same as the portion of the given straight line between the given parameter values. bs3_curve_max_dist_to_point_bound . . . Gets an upper limit to the maximum distance from a point in space to the given curve. bs3_curve_mergeable ...... Sets two curves so they can be merged. bs3_curve_mid ...... Gets the mid–point of the given spline curve. bs3_curve_mid_tangent ...... Gets the normalized mid–tangent to the given spline. bs3_curve_modify ...... Modifies the curve, such that the curve passes through the given point at the given parameter value and has the given tangent direction. bs3_curve_mult ...... Determines if the current curve has multiple end knots. bs3_curve_nderiv ...... Evaluates the nth derivative of a given bs3_curve at a given parameter value. bs3_curve_nspans ...... On the assumption that the curve consists of a sequence of simple spans, gets the number of such spans. bs3_curve_num_ctlpts ...... Gets the number of control points in a bs3_curve. bs3_curve_offset_by_dist ...... Offsets a planar bs3_curve by a specified distance. bs3_curve_offset_by_vec ...... Offsets a planar bs3_curve by a vector. bs3_curve_open ...... Determines if a bs3_curve is open.

Kernel R10 bs3_curve_param_length ...... Gets the signed arc length of the curve between two parameter values.

bs3_curve_period ...... Gets the length of the primary interval (i.e., the parametric period) that defines a periodic curve.

bs3_curve_periodic ...... Determines if the curve is smoothly closed and is an endless loop.

bs3_curve_perp ...... Gets the position, tangent direction, and parameter value at the foot of a perpendicular dropped from a point to the spline curve.

bs3_curve_planar ...... Determines whether the curve is planar, within the specified tolerance.

bs3_curve_position ...... Evaluates the curve at the given parameter value.

bs3_curve_rail_from_cen ...... Gets a rail curve to sweep for surface construction.

bs3_curve_range ...... Gets the primary interval on which the curve is defined, which in open and nonperiodic closed curves is the actual domain.

bs3_curve_rational ...... Determines whether a spline curve is rational.

bs3_curve_rem_extra_knots ...... Removes redundant knots from a bs3_curve.

bs3_curve_reparam ...... Reparameterizes the given curve in place.

bs3_curve_restore ...... Restores a curve from a file.

bs3_curve_reverse ...... Reverses the direction of the given curve, and negates the parameterization.

bs3_curve_same ...... Determines whether two spline curves are the same.

bs3_curve_save ...... Saves a curve to a file.

bs3_curve_self_int ...... Determines self intersections in a curve.

bs3_curve_set_closed ...... Sets the form of a bs3_curve to be closed.

bs3_curve_set_ctrlpt ...... Sets the position of one control point.

bs3_curve_set_ctrlpts ...... Sets the position of all control points.

Kernel R10 bs3_curve_set_fitol ...... Sets the fit tolerance of a curve. bs3_curve_set_form ...... Sets the form of a bs3_curve. bs3_curve_set_open ...... Sets the form of a bs3_curve to be open. bs3_curve_set_periodic ...... Sets the form of a bs3_curve to be periodic. bs3_curve_shift ...... Reparameterizes the given curve in place by adding the given shift value to its parameter values. bs3_curve_span ...... Creates a new curve that is the nth span of the given curve. bs3_curve_span_poly ...... Gets the normalized rational polynomial for the indexed span of the given curve. bs3_curve_span_range ...... Gets the parameter bounds of the span specified. bs3_curve_split ...... Splits a given 3D B–spline curve at a given parameter value. bs3_curve_start ...... Gets the start point of the given spline curve. bs3_curve_start_tangent ...... Gets the normalized tangent to the given spline at the start. bs3_curve_subset ...... Creates a curve that is a subset of a given one. bs3_curve_tangent ...... Determines the curve direction at the given parameter value. bs3_curve_tangent_cone ...... Creates a cone bounding the tangent directions of a curve. bs3_curve_tan_pt_crv ...... Determines a position on a bs3_curve where a line from a given position is tangent to the curve. bs3_curve_term ...... Flushes any retained storage in the underlying curve package. bs3_curve_testpt ...... Determines whether a point lies within tolerance of a three-dimensional B-spline curve. bs3_curve_to_array ...... Gets the dimension, degree, rationality, control points, weights, and knots for a 3D B-spline curve.

Kernel R10 bs3_curve_to_bs2_curve ...... Resolves the AG references in the skin code.

bs3_curve_trans ...... Transforms the given curve in place.

bs3_curve_u_param_line ...... Creates a curve along the u parameter of a parametric surface, with the v parameter held constant.

bs3_curve_v_param_line ...... Creates a curve along the v parameter of a parametric surface, with the u parameter held constant.

bs3_curve_weight ...... Gets the weight value corresponding to a specific control point for a rational, 3D B–spline curve.

bs3_curve_weights ...... Gets the number of weights and the values of the weights for a rational, 3D B-spline curve.

bs3_surface_3crv ...... Creates a spline surface that interpolates three boundary curves.

bs3_surface_4crv ...... Creates a spline surface that interpolates four boundary curves.

bs3_surface_accurate_derivs ...... Gets the number of derivatives that bs3_surface_evaluate evaluates accurately.

bs3_surface_add_knot ...... Adds knots to a surface.

bs3_surface_bicubic ...... Creates a surface that is a bi-cubic interpolant.

bs3_surface_bispan ...... Creates a surface from a simple patch of a surface.

bs3_surface_bispan_poly ...... Converts a span into a rational bipolynomial vector with normalized parameterization in each direction.

bs3_surface_bispan_range ...... Gets the parameter bounds of a simple surface patch.

bs3_surface_boundary_angle ...... Gets the boundary angle.

bs3_surface_box ...... Gets a box that encloses a portion of a three-dimensional B-spline surface.

bs3_surface_check ...... Checks for errors in the approximating surface.

Kernel R10 bs3_surface_closed_u ...... Determines whether a given surface is closed in the u-parameter. bs3_surface_closed_v ...... Determines whether the given surface is closed in the v-parameter. bs3_surface_control_points ...... Gets the number of control points in the u and v directions, and the array of control points, for the given surface. bs3_surface_copy ...... Creates an exact copy of the surface in free store. bs3_surface_cross ...... Evaluates the cross curvature of a three-dimensional B-spline surface at a given uv. bs3_surface_debug ...... Gets a readable representation of the curve and writes it to a file. bs3_surface_degree_u ...... Gets the spline degree in the u direction. bs3_surface_degree_v ...... Gets the spline degree in the v direction. bs3_surface_delete ...... Deletes storage occupied by the given surface. bs3_surface_dim ...... Gets the dimensionality of a surface. bs3_surface_estimate_param ...... Estimates the parameter values of the foot of a perpendicular from a given point to the surface. bs3_surface_eval ...... Evaluates a bs3_surface for position, first, and second derivatives at the given parameter value. bs3_surface_evaluate ...... Evaluates the position and an arbitrary number of derivatives of the surface. bs3_surface_fit ...... Fits a mesh of points to a bs3_surface. bs3_surface_fitol ...... Determines the fit tolerance of a surface. bs3_surface_from_ctrlpts ...... Creates a B-spline surface from a collection of control points and knot vectors. bs3_surface_hermite ...... Creates a single patch Bezier surface from Hermite data at the patch corners.

Kernel R10 bs3_surface_hermite_intp ...... Creates a bi-cubic Hermite interpolant using a mesh of points, tangents, twists, and knot vectors.

bs3_surface_hull_planes ...... Creates a bounding hull around a surface.

bs3_surface_ij_ctrlpt ...... Gets the [i,j] control point of a given spline surface.

bs3_surface_ij_knu ...... Gets the ith knot in u direction.

bs3_surface_ij_knv ...... Gets the ith knot in v direction.

bs3_surface_init ...... Initializes the spline surface system.

bs3_surface_interp_knots ...... Creates a bicubic surface that interpolates or fits a set of points, with specified boundary derivatives and twist vectors.

bs3_surface_intp ...... Interpolates a mesh of points.

bs3_surface_invdir ...... Gets the direction in the parameter space of a surface at a given position that corresponds to a given object-space tangent direction.

bs3_surface_invert ...... Gets the parameter of a point on a 3D B-spline surface.

bs3_surface_join_u ...... Joins two compatible three–dimensional B–spline surfaces together.

bs3_surface_join_v ...... Joins two compatible three–dimensional B–spline surfaces together.

bs3_surface_knots_u ...... Gets the number of knots in the u direction and the knot values in the u direction, for the given surface.

bs3_surface_knots_v ...... Gets the number of knots in the v direction and the knot values in the v direction, for the given surface.

bs3_surface_knottol ...... Gets the parametric criterion used to decide whether a given parameter is a knot.

bs3_surface_loft_curves ...... Lofts a surface from an array of n bs3_curves.

bs3_surface_loft_u_curves ...... Lofts a series of similar bs3_curves into a bs3_surface.

Kernel R10 bs3_surface_make_con ...... Creates a parametric surface coincident with the given cone. bs3_surface_make_pipe ...... Creates a spline surface that is an approximation to a constant–radius circular pipe centered on the given spine curve. bs3_surface_make_pipe_boundary . . . . . Creates a pipe surface given the spine, radius, and two boundary curves that bracket the zero u–parameter direction. bs3_surface_make_pla ...... Creates a spline surface from the given plane. bs3_surface_make_sph ...... Creates a spline surface from the given sphere. bs3_surface_make_spl ...... Creates a parametric surface coincident with the given spline. bs3_surface_make_sur ...... Converts a portion of a general ACIS surface into a spline surface. bs3_surface_make_tor ...... Creates a spline surface from the given torus. bs3_surface_max_size_to_param_line . . Estimates the parameter of a near point on a surface, given the parameter of a control point of the surface. bs3_surface_mult_eku ...... Determines if surface has multiple u end knots. bs3_surface_mult_ekv ...... Determines if surface has multiple v end knots. bs3_surface_ncu ...... Gets the number of control points in u_direction. bs3_surface_ncv ...... Gets the number of control points in v_direction. bs3_surface_nku ...... Gets the number of knots in the u direction for the given surface. bs3_surface_nkv ...... Gets the number of knots in the v direction for the given surface. bs3_surface_normal ...... Evaluates the normal to a three–dimensional B–spline surface at a given (u,v). bs3_surface_nspans_u ...... Gets number of simple patches in the u parameter direction forming a bs3_surface.

Kernel R10 bs3_surface_nspans_v ...... Gets number of simple patches in the v parameter direction forming a bs3_surface.

bs3_surface_offset ...... Offsets the given surface by offset distance.

bs3_surface_periodic_u ...... Determines whether the surface is periodic in the u-parameter.

bs3_surface_periodic_v ...... Determines whether the surface is periodic in the v-parameter.

bs3_surface_period_u ...... Gets the u-parameter period of a three-dimensional B-spline surface.

bs3_surface_period_v ...... Gets the v-parameter period of a three-dimensional B-spline surface.

bs3_surface_perp ...... Gets the intersection with the surface and the normal to the surface of a perpendicular dropped from a point to the surface.

bs3_surface_planar ...... Determines if a bs3_surface is planar.

bs3_surface_poles_u ...... Gets a flag indicating the existence of poles (singularities) in the u direction.

bs3_surface_poles_v ...... Gets a flag indicating the existence of poles (singularities) in the v direction.

bs3_surface_position ...... Evaluates and returns a position on a three-dimensional B-spline surface at a given uv.

bs3_surface_prin_curv ...... Evaluates the principal axes of curvature and corresponding curvatures of a three-dimensional B-spline surface at a given uv.

bs3_surface_proc ...... Creates an approximate spline surface to a procedurally defined surface.

bs3_surface_range ...... Gets the range of both parameter values that defines the surface as the bounds of a rectangular box in parameter space.

bs3_surface_range_u ...... Gets the u parameter range a three-dimensional B-spline surface.

bs3_surface_range_v ...... Gets the v parameter range of a three-dimensional B-spline surface.

Kernel R10 bs3_surface_rational_u ...... Determines if a surface is rational in u. bs3_surface_rational_v ...... Determines if a surface is rational in v. bs3_surface_remove_extra_knots ...... Deletes knots where multiplicities are greater than the degree in both u and v. bs3_surface_reparam_u ...... Reparameterizes the surface in u. bs3_surface_reparam_v ...... Reparameterizes the surface in v. bs3_surface_restore ...... Restores a saved surface. bs3_surface_revolve_curve ...... Creates a spline surface by revolving a three-dimensional B-spline curve about an axis. bs3_surface_ruled ...... Creates a ruled surface between two curves. bs3_surface_rule_from_pt ...... Creates a triangular ruled surface from a point to a curve. bs3_surface_same ...... Determines whether two spline surfaces are the same. bs3_surface_save ...... Saves a surface. bs3_surface_set_closed_u ...... Sets the bs3_surface to be closed in u. bs3_surface_set_closed_v ...... Sets the bs3_surface to be closed in v. bs3_surface_set_ctrlpt ...... Sets the position of one control point. bs3_surface_set_ctrlpts ...... Sets the position of all control points. bs3_surface_set_form ...... Sets the form of a bs3_surface. bs3_surface_set_open_u ...... Sets the bs3_surface to be open in u. bs3_surface_set_open_v ...... Sets the bs3_surface to be open in v. bs3_surface_set_periodic_u ...... Marks the surface as being periodic in u. bs3_surface_set_periodic_v ...... Marks the surface as being periodic in v. bs3_surface_shift_u ...... Reparameterizes the given surface in u. bs3_surface_shift_v ...... Reparameterizes the given surface in v. bs3_surface_sil ...... Creates the silhouettes of the surface.

Kernel R10 bs3_surface_singular_u ...... Determines if the mapping from parameter space to object-space is singular along the given constant u-parameter line.

bs3_surface_singular_v ...... Determines if the mapping from parameter space to object space is singular along the given constant v parameter line.

bs3_surface_skin_curves ...... Creates a surface that interpolates (“skins”) between a sequence of bs3_curves.

bs3_surface_span_range_u ...... Gets the u parameter bounds of a surface’s simple patches.

bs3_surface_span_range_v ...... Gets the v parameter bounds of a surface’s simple patches.

bs3_surface_split_u ...... Splits a B-spline surface into two sections at a given u parameter value.

bs3_surface_split_v ...... Splits a B-spline surface into two sections at a given v parameter value.

bs3_surface_subset ...... Creates a surface identical to the given surface.

bs3_surface_sum_curves ...... Creates a spline surface by summing two 3D B-spline curves.

bs3_surface_sum_x_pla_str ...... Specializes the top curve construction for perpendicular sweep.

bs3_surface_testpt ...... Determines whether an object-space point lies on a given surface within the given positional precision.

bs3_surface_to_array ...... Creates arrays of control points, weights, u knots, and v knots from a B–spline surface.

bs3_surface_trans ...... Transforms a surface.

bs3_surface_unitvec ...... Determines the offset in parameter space corresponding to a unit move in a direction on a 3D B-spline surface at a given position.

bs3_surface_weights ...... Gets the number of weights in the u and v directions and the array of weights for the given surface.

Kernel R10 bs3_surface_wiggle ...... Creates four splines for the edges or a wiggle. check_outcome ...... Check an outcome from an API and signal an exception if it is not OK. clear_debug_lists ...... Clears the DEBUG_LISTs. closest_points ...... Determines where two lines, defined by positions and directions, are closest. compute_axes_from_z ...... Determines two orthogonal vectors to define a coordinate system, given a SPAunit_vector. current_bb ...... Gets access to the current bulletin-board for update functions. debug_int ...... Prints an integer with the given title to the output file. debug_leader ...... Prints to the output file a pointer to a static string containing a suitable blank title string for the second and subsequent lines of an item. debug_new_pointer ...... Prints to the output file an ENTITY pointer. debug_real ...... Prints out a real number with title and newline. debug_string ...... Prints to the output file a string value with the given title. delete_all_delta_states ...... Deletes all recorded DELTA_STATEs. dist_pt_to_line ...... Gets the distance from a point to a line, and the parameter along the line of the closest approach. extend_spline ...... Creates an extension to a given spline using the supplied distance. find_attrib ...... Locates an ENTITY’s attribute list for an ATTRIB of a given type, subtype, etc., starting at the beginning of the list. find_leaf_attrib ...... Locates an ENTITY’s attribute list for a leaf ATTRIB of a given type, starting at the beginning of the list. get_ATTRIB_SYS_TYPE ...... Gets the type of system attribute.

Kernel R10 get_attrib_tag_callbacks_list ...... Gets the global list of WCS callbacks.

get_ATTRIB_TSL_TYPE ...... Gets the type of TSL attribute.

get_bounded_curve ...... Gets a bounded_curve from an EDGE.

get_curve_center ...... Gets the center of a circular or elliptical EDGE.

get_default_stream ...... Retrieves a default history stream, which may be necessary when initially creating a history of actions.

get_edge_box ...... Returns the bounding box used for the edge.

get_face_box ...... Returns the bounding box used for the face.

get_savres_file ...... Gets the file interface object corresponding to the current SAT file.

get_Scm_Entity ...... Creates a C++ ENTITY from a Scheme entity.

get_Scm_Gvector ...... Creates a C++ SPAvector from a Scheme gvector object.

get_Scm_Law ...... Creates a C++ law from a Scheme law object.

get_Scm_Position ...... Creates a C++ SPAposition from a Scheme position object.

get_Scm_Transform ...... Creates a C++ SPAtransf from a Scheme transform object.

get_wire_plane ...... Gets the plane of a 3D WIRE.

intersect_line_circle ...... Gets the intersections of a line with a circle.

intersect_line_plane ...... Gets the intersection of a line with a plane.

intersect_plane_plane ...... Gets the intersection of two planes.

is_ANNOTATION ...... Determines if an ENTITY is an ANNOTATION.

is_APOINT ...... Determines if an ENTITY is an APOINT.

is_ATTRIB ...... Determines if an ENTITY is an ATTRIBUTE.

is_ATTRIB_ANNOTATION ...... Determines if an ENTITY is an ATTRIB_ANNOTATION.

Kernel R10 is_ATTRIB_ST ...... Determines if an ENTITY is an ATTRIB_ST. is_ATTRIB_SYS ...... Determines if an ENTITY is an ATTRIB_SYS. is_ATTRIB_TAG ...... Determines if an ENTITY is an ATTRIB_TAG. is_ATTRIB_TSL ...... Determines if an ENTITY is an ATTRIB_TSL. is_BODY ...... Determines if an ENTITY is a BODY. is_circular_edge ...... Determines if an ENTITY is a circular edge. is_closed_curve ...... Determines if a curve is closed. is_COEDGE ...... Determines if an ENTITY is a COEDGE. is_CONE ...... Determines if an ENTITY is a CONE. is_cone ...... Determines if a surface is a conical surface. is_conical_face ...... Determines if an ENTITY is a conical face. is_CURVE ...... Determines if an ENTITY is a CURVE. is_curve_edge ...... Determines if an ENTITY is a curve edge. is_cylindrical_face ...... Determines if an ENTITY is a cylindrical face. is_EDGE ...... Determines if an ENTITY is an EDGE. is_EE_LIST ...... Determines if an ENTITY is an EE_LIST. is_ELLIPSE ...... Determines if an ENTITY is an ELLIPSE. is_ellipse ...... Determines if a curve is an ellipse. is_elliptical_edge ...... Determines if an ENTITY is an elliptical edge. is_ENTITY ...... Validates the input ENTITY. is_FACE ...... Determines if an ENTITY is a FACE. is_INTCURVE ...... Determines if an ENTITY is an INTCURVE. is_intcurve ...... Determines if a curve is an intcurve. is_intcurve_edge ...... Determines if an ENTITY is an intcurve edge. is_LAW ...... Determines if an ENTITY is a LAW.

Kernel R10 is_linear_edge ...... Determines if an ENTITY is a linear edge.

is_LOOP ...... Determines if an ENTITY is a LOOP.

is_LUMP ...... Determines if an ENTITY is a LUMP.

is_PCURVE ...... Determines if an ENTITY is a PCURVE.

is_planar_face ...... Determines if an ENTITY is a planar face.

is_planar_wire ...... Determines if a WIRE is planar.

is_PLANE ...... Determines if an ENTITY is a PLANE.

is_plane ...... Determines if a surface is a planar surface.

is_Scm_Entity ...... Determines if a Scheme object is an ENTITY.

is_Scm_Entray ...... Determines if a Scheme object is an entray.

is_SHELL ...... Determines if an ENTITY is a SHELL.

is_solid_body ...... Determines if an ENTITY is a solid BODY.

is_SPHERE ...... Determines if an ENTITY is a SPHERE.

is_sphere ...... Determines if a surface is a spherical surface.

is_spherical_face ...... Determines if an ENTITY is a spherical face.

is_SPLINE ...... Determines if an ENTITY is a SPLINE.

is_spline ...... Determines if a surface is a spline surface.

is_spline_face ...... Determines if the ENTITY is a spline face.

is_STRAIGHT ...... Determines if an ENTITY is a STRAIGHT.

is_straight ...... Determines if a curve is a straight curve.

is_SUBSHELL ...... Determines if an ENTITY is a SUBSHELL.

is_SURFACE ...... Determines if an ENTITY is a SURFACE.

is_TCOEDGE ...... Determines if an ENTITY is a TCOEDGE.

is_TEDGE ...... Determines if an ENTITY is a TEDGE.

is_TEXT_ANNOTATION ...... Determines if an ENTITY is a TEXT_ANNOTATION.

Kernel R10 is_TEXT_ENT ...... Determines if an ENTITY is a TEXT_ENT. is_toplevel ...... Determines if an ENTITY is top level. is_toroidal_face ...... Determines if the ENTITY is a toroidal face. is_TORUS ...... Determines if an ENTITY is a TORUS. is_torus ...... Determines if a surface is a toroidal surface. is_TRANSFORM ...... Determines if an ENTITY is a TRANSFORM. is_TVERTEX ...... Determines if an ENTITY is a TVERTEX. is_UNDEFC ...... Determines if an ENTITY is an UNDEFC. is_VERTEX ...... Determines if the ENTITY is a VERTEX. is_WCS ...... Determines if an ENTITY is a WCS. is_WIRE ...... Determines if an ENTITY is a WIRE. is_wire_body ...... Determines if an ENTITY is a wire BODY. make_Scm_Entity ...... Creates a Scheme entity from a C++ ENTITY. make_surface ...... Creates a surface for the given surface constant. proj_pt_to_line ...... Projects a SPAposition onto a line. proj_pt_to_plane ...... Projects a SPAposition onto a plane. read_array ...... Reads an of array indices. read_char ...... Reads a character written with C printf format “%c”. read_data ...... Reads a TaggedData item from an unknown ENTITY type. read_enum ...... Reads an enumeration table. read_float ...... Reads a float written with C printf format “%g ”. read_header ...... Reads a header. read_id ...... Reads an identifier. read_int ...... Reads an integer by reading a long and converting.

Kernel R10 read_interval ...... Reads an interval as two doubles.

read_logical ...... Reads a logical.

read_long ...... Reads a long written with C printf format “%ld”.

read_matrix ...... Reads a SPAmatrix as three row vectors.

read_pointer ...... Reads a pointer.

read_position ...... Reads a position as three doubles.

read_ptr ...... Reads a pointer for the save file.

read_real ...... Reads a double.

read_sequence ...... Reads an explicit record sequence number.

read_string ...... Reads a string into a supplied buffer of a given size, maxlen.

read_subtype_end ...... Reads subtype end braces around the subtypes, written as “} ”.

read_subtype_start ...... Reads subtype start braces around the subtypes, written as “{ ”.

read_transf ...... Internal to ACIS and not intended for direct usage. Reads a transformation.

read_unit_vector ...... Reads a unit vector as a vector and then normalizes it.

read_vector ...... Reads a vector as three doubles.

reset_boxes ...... Resets the boxes used.

reset_boxes_downward ...... Resets the box of the given entity and then resets the boxes off all constituent boxes.

restore_curve ...... Internal to ACIS and not intended for direct usage.

set_logging ...... Flag to control whether rollback records are produced or not.

sg_add_pcurves_to_entity ...... Adds pcurves to any ENTITY.

Kernel R10 to_model ...... Gets a model space position from a WCS position.

to_wcs ...... Gets a WCS position from a model space position.

wcs_active_to_model ...... Gets the transformation that maps from the active WCS to model space.

wcs_get_active ...... Gets the active WCS.

wcs_model_to_active ...... Gets the transformation that maps from model space to the active WCS.

wcs_origin ...... Gets the origin of the active WCS.

wcs_set_origin ...... Sets the point or origin of the given WCS.

wcs_x_axis ...... Gets the x-axis of the active WCS.

wcs_y_axis ...... Gets the y-axis of the active WCS.

wcs_z_axis ...... Gets the z-axis of the active WCS.

Law Symbols Topic: Ignore DRAFT ...... Creates a law for accepting drafts as input data.

EDGE ...... Creates a law for accepting edges as input data.

PCURVE ...... Creates a law for accepting pcurves as input data.

SURF ...... Creates a law that returns the positions of the defining surface.

TRANS ...... Crates a law that transforms positions.

WIRE ...... Creates a law that returns the positions of the wire’s component edges.

Options Topic: Ignore address_debug ...... Sets the form of output addresses.

Kernel R10 annotations ...... Controls whether annotation entities are created.

api_checking ...... Controls whether or not arguments to APIs are checked.

backup_boxes ...... Sets backup of mesh boxes.

bb_immediate_close ...... Controls whether or not a bulletin board is closed off immediately when the call is made to the close_bulletin_board function.

binary_format ...... Controls the format to use when writing ACIS part save files as binary.

binary_read_format ...... Controls the format to use when reading ACIS part save files as binary.

bl_envelope_surf ...... Controls the type of blend surface used when a variable-radius blend is created.

brief_comp_debug ...... Sets how much information about a compcurv is printed.

brief_curve_debug ...... Sets how much information about a curve is printed.

brief_mesh_debug ...... Sets how much information about a mesh is printed.

brief_pcurve_debug ...... Sets how much information about a pcurve is printed.

brief_surface_debug ...... Sets how much information about a spline surface is printed.

careful ...... Controls whether or not extra /topology checking is done.

check_output ...... Determines the level of output generated by the body checker.

compress_bb ...... Controls bulletin board compression.

cone_param_range_v ...... Controls whether to use a more accurate algorithm for computing cone surface parameter range.

convert_on_restore ...... Controls whether to convert wires from the old to the new format during a restore operation.

Kernel R10 delete_forward_states ...... Controls whether to delete all forward delta states. error_no_input_tag ...... Controls whether or not an error occurs if inputs are not tagged (when annotations are activated). fitol_curve_interp ...... Sets the fit tolerance for spline curve interpolation. fix_pcurves ...... Controls whether or not pcurves are corrected when validity checks are performed. history_checks ...... Controls how history checks are reported. intcurve_save_approx_level ...... Controls the level of information stored in the SAT file for intcurves. logging ...... Sets whether bulletin boards and delta states are to be visible at the application level. new_dangling_wires ...... Converts dangling wires to either new or old style. new_transform_method ...... Sets the method used for transformations. print_entity_type ...... Controls how an entity is printed in Scheme output. regen_skin_approx ...... Controls whether to regenerate the approximating surface during retrieval of a skin surface. remesh ...... Sets automatic remeshing during a Boolean. restore_locale ...... Sets the localization properties (language locale) to use when restoring save files (.sat). res_near_tangent ...... Sets the tolerant modeling resolution (tolerance) for determining if an edge is considered tangent. ret_directory ...... Sets the default directory for retrieve files in the ACIS Test Harness. save_box ...... Sets writing the bounding boxes to the save file. save_directory ...... Sets the default directory for save files in the ACIS Test Harness.

Kernel R10 save_entity_count ...... Sets writing the entity count to the save file.

save_old_sab ...... Sets format for binary save files.

save_unknown_subtype_as_approx . . . . Sets how unknown subtypes are saved in old save file formats.

save_version ...... Sets the ACIS version to use for writing save files in the ACIS Test Harness.

sequence_save_files ...... Sets sequence numbers in save files.

spline_save_approx_level ...... Controls the level of information stored in the SAT file for spline surfaces.

split_curves ...... Sets curve splitting in the curve::split function.

string_check ...... Sets how NULL strings are handled.

sweep_selfint ...... Sets self intersection checks while evaluating the sweep surface.

test_share ...... Sets detecting and sharing of identical objects when restoring save files.

tight_sphere_box ...... Sets calculation of a tight bounding box for a sphere.

tight_torus_box ...... Sets calculation of a tight bounding box for a torus.

torus_param_range ...... Sets whether or not a box is used to find the torus parameter range.

unhook_annotations ...... Controls whether annotations are automatically unhooked from their entities.

Scheme Extensions Topic: Ignore acisoptions:set ...... Sets the parameters in an acis_options scheme object.

acis_journal:end ...... Ends the journaling mechanism.

acis_journal:pause ...... Pauses the journaling mechanism.

Kernel R10 acis_journal:resume ...... Resumes the journaling mechanism after a pause. acis_journal:set ...... Sets the parameters for journaling functions. acis_journal:start ...... Makes a acis_journal scheme–object. annotation:assert ...... Returns an error if the specified annotation does not exist. annotation:assert–not ...... Returns an error if the specified annotation DOES exist. annotation:clear–all ...... Removes all annotations. annotation:hook–all ...... Hooks all annotations. annotation:inputs ...... Returns the list of input entities for the given annotation entity. annotation:member–name ...... Returns the name of the selected entity as determined by an attached annotation attribute. annotation:outputs ...... Returns the list of output entities for the given annotation entity. annotation:unhook–all ...... Unhooks all annotations. arc:center ...... Gets the center position of a circular curve or edge of an elliptical curve or edge. arc:end–angle ...... Gets the end angle of a circular curve or edge or an elliptical curve or edge. arc:major–axis ...... Gets the gvector of the major axis of an elliptical curve or edge. arc:radius ...... Gets the radius of a circular curve or edge or an elliptical curve or edge. arc:start–angle ...... Gets the start angle of a circular curve or edge or an elliptical curve or edge. body:get–transform ...... Returns the transform attached to a body. body? ...... Determines if a scheme–object is a body. coedge:types ...... Prints a table of all coedges in the current part, including their containing entities and pcurve types.

Kernel R10 coedge? ...... Determines if a scheme–object is a coedge.

curve:bs3–eval–arc–3curve ...... Returns the radius and center of an arc tangent to three co–planar bs3curves. One or two of the curves may degenerate to a point.

curve:bs3–eval–tan–pt ...... Evaluates the straight line, which is tangent to a planar bs3curve, and passes it through the given point.

curve:circular? ...... Determines if a scheme–object is a curve:circular.

curve:domain ...... Determines the domain of an edge’s curve.

curve:elliptical? ...... Determines if a scheme–object is a curve:elliptical.

curve:end–param ...... Gets the end parameter of an edge or a curve.

curve:end–pos ...... Gets the end position of an edge or a curve.

curve:end–tan ...... Gets the end tangent of an edge or a curve.

curve:eval ...... Evaluates an edge or a curve at the specified parameter and number of derivatives.

curve:eval–curvature ...... Evaluates the curvature vector of an edge at the specified SPAparameter.

curve:eval–pos ...... Evaluates an edge or a curve at the specified parameter.

curve:eval–tan ...... Evaluates the tangent gvector of an edge or a curve at the specified parameter.

curve:from–edge ...... Creates a curve from an edge entity.

curve:from–tcoedge ...... Creates a curve from an tcoedge entity.

curve:length ...... Gets the length of an edge or a curve.

curve:linear? ...... Determines if a scheme–object is a linear curve.

curve:normal ...... Gets the normal of a given planar edge or curve.

curve:param ...... Gets the parameter value at a specified position on an edge or a curve.

Kernel R10 curve:param–at–dist ...... Gets the parameter value of a curve at an arc length distance along the curve. curve:project–pos ...... Gets the normal projection of a position onto an edge or curve. curve:ray–pos ...... Gets the position on a curve closest to the pick–ray. curve:start–param ...... Gets the start parameter of an edge or curve. curve:start–pos ...... Gets the start position of an edge or curve. curve:start–tan ...... Gets the tangent at the start of an edge or curve. curve:transform ...... Modifies a curve or edge by applying a transform. curve? ...... Determines if a scheme–object is a curve. debug:all–modules ...... Sets the debug level for all modules that have debugging turned on. debug:file ...... Sets debug output to be printed to the specified output device. debug:list–modules ...... Displays the current debug level for all modules with debugging turned on. Also prints a number of such modules. debug:module ...... Sets the debugging level for a module. derived–tag:string ...... Returns the string stored in the derived_tag. dummy–name:add ...... Adds a dummy naming attribute which can be used to test the annotation callbacks. edge:bs ...... Returns the B–spline approximation information (number of control points) for an edge. edge:circular? ...... Determines if a scheme–object is a circular–edge. edge:curve? ...... Determines if a scheme–object is a curve–edge. edge:domain ...... Determines the domain of an edge. edge:elliptical? ...... Determines if a scheme–object is an elliptical–edge.

Kernel R10 edge:linear? ...... Determines if a scheme–object is a linear–edge.

edge:min–rad ...... Returns the minimum radius of curvature of a curve.

edge:project–to–face ...... Projects (part of) an edge onto a face.

edge:project–to–plane ...... Projects an edge onto a plane.

edge:reversed? ...... Determines if the direction of an edge is reversed relative to a face.

edge:spline? ...... Determines if a scheme–object is a spline–edge.

edge:type ...... Determines the type of an edge.

edge:types ...... Prints a table of all edges in the current part, including their containing entities and curve types.

edge? ...... Determines if a scheme–object is an edge.

eelist:add ...... Adds an entity to an EE_LIST.

eelist:entities ...... Returns a list of the entities in an EE_LIST.

eelist:new ...... Creates a new EE_LIST entity.

eelist:remove ...... Removes an entity from an EE_LIST.

entity ...... Gets an entity from an entity ID number.

entity:annotation–names ...... Returns the name of the selected entity as determined by an attached annotation attribute.

entity:annotations ...... Returns the list annotation entities attached to the given entity via an annotation attribute.

entity:attach–derived–tag ...... Generates an error if the specified annotation does not exist.

entity:coedges ...... Gets the coedges from an entity or list of entities.

entity:copy ...... Copies any entity (solid, face, edge, etc.) and all entities attached to it.

entity:copy–contents ...... Copies lower topology entities from a given entity.

Kernel R10 entity:debug ...... Prints information about the data structure of an entity. entity:deep–copy ...... Deep copies an entity (solid, face, edge, etc.) plus all attached entities. entity:delete ...... Deletes an entity or list of entities and any attributes attached to those entities. entity:dindex ...... Returns the index of the given entity as listed in debug output. entity:dspindex ...... Returns faces, edges, tedges, coedges, tcoedges, tvertices or vertices selected by the same index as listed in debug output. entity:fix–transform ...... Applies a body transformation to all underlying geometry. entity:get–id ...... Returns the id tag from the given entity. entity:how–connected ...... Returns an ordered list of entities representing the path from one entity to another. entity:index ...... Returns the index of an entity. entity:loops ...... Gets a list of all loops of an entity or list of entities. entity:lose–attribs ...... Removes selected attributes from an entity and it’s subparts. entity:lumps ...... Gets a list of all lumps in an entity or list of entities. entity:move ...... Transforms an entity or list of entities. entity:next ...... Gets the next LUMP, SHELL, FACE, LOOP or COEDGE in an entity list. entity:owner ...... Gets the top level owner of an entity. entity:previous ...... Gets the previous COEDGE in an entity list. entity:reflect ...... Reflects an entity or list of entities. entity:reset–boxes ...... Removes and then adds back bounding boxes from the selected body and its subparts (or just the selected entity if it’s not a body).

Kernel R10 entity:rotate ...... Rotates an entity or list of entities.

entity:scale ...... Scales an entity or list of entities uniformly or non–uniformly.

entity:sense ...... Determines if a scheme–object is a FORWARD.

entity:shells ...... Gets a list of shell entities from a topological entity or list of entities.

entity:tcoedges ...... Gets the tcoedges from an entity or list of entities.

entity:tedges ...... Gets a list of all tedge entities in an entity or list of entities.

entity:transform ...... Applies a transform to a single entity or list of entities.

entity:tvertices ...... Gets a list of tvertices from an entity or list of entities.

entity:wires ...... Gets a list of wires from an entity or list of entities.

entity? ...... Determines if a scheme–object is an entity.

entray ...... Creates an entray.

entray:entity ...... Gets the entity component of an entray.

entray:ray ...... Gets the ray component of an entray.

entray? ...... Determines if a scheme–object is an entity–with–ray.

env:load–state ...... Loads the states of global variables (such as options and tolerances) from the given text file and sets the values to the variables.

env:restored–product–id ...... Returns the restored product information.

env:restored–units–scale ...... Returns the restored units scale.

env:save–product–id ...... Returns the save product information.

env:save–state ...... Saves the current states of global variables such as options and tolerances into a text file.

Kernel R10 env:save–units–scale ...... Gets the save units scale. env:set–save–units–scale ...... Sets the save units scale value in Fileinfo. env:set–tolerance ...... Sets the following system tolerances: SPAresabs, SPAresnor, SPAresfit, and SPAresmch. env:tolerance ...... Gets a list of system tolerances. face:bs ...... Returns the B–spline approximation information for a face. face:check ...... Determines if a face contains invalid loops. face:conical? ...... Determines if a Scheme object is a conical face. face:cylinder–axis ...... Gets the ray along the axis of a cylindrical–face entity. face:cylinder–radius ...... Gets the radius of a cylindrical face entity. face:cylindrical? ...... Determines if a Scheme object is a cylindrical face. face:derivtest ...... Tests face quality by comparing the procedural derivatives with finite difference derivatives up to the 4th derivatives. face:planar? ...... Determines if a Scheme object is a planar face. face:plane–normal ...... Gets the normal of a planar face. face:plane–ray ...... Gets the plane from a planar face as a ray. face:scar? ...... Checks the input body or face for scars and returns list (or unspecified if no scars exist). face:sphere–center ...... Gets the center position of a spherical face. face:sphere–radius ...... Gets the radius of a spherical face. face:spherical? ...... Determines if a Scheme object is a spherical face. face:spline? ...... Determines if a Scheme object is a face:spline. face:toroidal? ...... Determines if a Scheme object is a toroidal face.

Kernel R10 face:type ...... Returns the type of a face.

face:types ...... Prints a table of all faces in the current part, including their containing entities and surface types.

face? ...... Determines if a Scheme object is a face.

filter:and ...... Computes an AND of two or more entity–filters.

filter:apply ...... Applies a filter to an entity or list of entities.

filter:not ...... Computes the NOT of an input entity–filter.

filter:or ...... Computes the OR of two or more entity–filters.

filter:type ...... Creates a filter entity that selects for the type of an entity.

filter:types ...... Gets a list of available filter types.

find:angle ...... Returns the angle between edges. Returns a list of angles if a non–branched wire–body is submitted.

find:bump ...... Finds the bump associated with the given face or loop.

find:pattern–index ...... Finds the pattern index associated with a given entity.

graph:add–edge ...... Adds an edge to a graph.

graph:add–vertex ...... Adds a vertex to a graph.

graph:adjacent ...... Returns whether or not two vertices in a graph are connected with an edge.

graph:branch ...... Returns a subgraph of the given input graph.

graph:component ...... Creates a new graph from all of the component elements of a given graph specified by one of the component elements.

graph:components ...... Returns the number of independent components that are in a graph.

graph:connected? ...... Determines whether or not the specified graph is connected, or all in one component.

Kernel R10 graph:copy ...... Creates a new graph that is a copy of the specified graph. graph:cut–edge? ...... Determines whether or not the specified edge is a cutting edge. graph:cut–edges ...... Returns all of the cutting edges of a graph. graph:cut–vertex? ...... Determines whether or not the specified vertex is a cutting vertex. graph:cut–vertices ...... Returns all of the cutting vertices of a graph. graph:cycle–vertex? ...... Determines whether or not a given vertex is a cycle vertex. graph:cycle? ...... Determines whether or not a graph has a cycle. graph:degree? ...... Returns the number of graph vertices that are connected with graph edges to the specified vertex. graph:edge–entities ...... Returns a list of model entities associated with the graph edges. graph:edge–weight ...... Sets the weight for an edge of a graph. graph:entities ...... Returns a list of model entities associated with the graph vertices and edges. graph:get–order ...... Returns a number representing the distance a given graph vertex is from the 0 node in the given ordered graph. graph:intersect ...... Performs a Boolean intersect operation of two graphs. graph:is–subset ...... Returns TRUE if the small graph is a subset of the large graph. graph:kind ...... Returns a graph containing the input graph elements that are of the specified kind number and specified kind status. graph:kind? ...... Returns whether or not a graph with a given edge is of the specified kind. graph:kinds? ...... Returns a list of all the kinds on a vertex or edge.

Kernel R10 graph:lightest–path ...... Returns a graph representing the lightest path between two vertices of a graph.

graph:linear? ...... Determines whether or not a graph is linear.

graph:negate ...... Negates an ordered graph.

graph:order–cyclic ...... Assigns a sequence order to the vertices of a cyclic graph.

graph:order–from ...... Sets the order of a graph starting at 0 for the specified vertex.

graph:order–with ...... Sets the order of one graph onto another and rescales the ordering to remove gaps.

graph:set–kind ...... Specifies the kind type and its on/off value for an edge of the given graph.

graph:shortest–cycle ...... Returns the shortest cycle graph that includes the specified graph vertex.

graph:shortest–path ...... Returns the shortest path graph that includes the two specified graph vertices.

graph:show–order ...... Creates a list of a vertices in a graph and their respective distance from the starting vertex.

graph:split–branches ...... Decomposes a graph into components that do not have branches.

graph:subset ...... Creates a subgraph from a given graph using either two integers or a law.

graph:subtract ...... Performs a Boolean subtract operation of two graphs.

graph:subtract–edges ...... Subtracts the edges of graph1 from graph2 returning the result.

graph:total–weight ...... Returns the total weight associated with the edges of a graph.

graph:tree? ...... Determines whether or not a given graph is a tree structure.

graph:unite ...... Performs a Boolean unite operation of two graphs.

Kernel R10 graph:vertex–entities ...... Returns a list of entities that are associated with the vertices of a graph. graph:which–component ...... Returns the number of the component that a given graph element belongs to. gvector ...... Creates a new gvector given coordinates x, y, and z. gvector:+ ...... Adds two gvectors. gvector:– ...... Subtracts two gvectors. gvector:copy ...... Creates a gvector by copying an existing gvector. gvector:cross ...... Gets the cross product of two gvectors. gvector:dot ...... Gets the dot product of two gvector. gvector:from–to ...... Creates a gvector between two positions. gvector:length ...... Gets the length of a gvector. gvector:parallel? ...... Determines if two gvectors are parallel. gvector:perpendicular? ...... Determines if two gvectors are perpendicular. gvector:reverse ...... Reverses the direction of a gvector. gvector:scale ...... Multiplies a gvector by a scalar number to produce a new gvector. gvector:set! ...... Sets a gvector’s direction given components of x, y, and z. gvector:set–x! ...... Sets the x–direction component of a gvector. gvector:set–y! ...... Sets the y–direction component of a gvector. gvector:set–z! ...... Sets the z–direction component of a gvector. gvector:transform ...... Applies a transform to a gvector. gvector:unitize ...... Creates a new gvector as a unit vector in the same direction as the specified gvector. gvector:x ...... Gets the x–component of a gvector relative to the active coordinate system.

Kernel R10 gvector:y ...... Gets the y–component of a gvector relative to the active coordinate system.

gvector:z ...... Gets the z–component of a gvector relative to the active coordinate system.

gvector? ...... Determines if a Scheme object is a gvector.

history:ensure–empty–root–state ...... Adds empty delta state to the beginning of the history stream so that users can roll to a state with no entities.

history:get–active–state–id ...... Returns an integer representing the active state.

history:get–default ...... Returns the default history stream.

history:get–entity–from–id ...... Returns an ENTITY from a given tag id.

history:validate–streams ...... Checks all history streams for validity.

is: ...... Determines whether or not the input entity is a helix.

law ...... Creates a law Scheme data type composed of one or more law functions.

law:bounds ...... Finds the bounds for a law function.

law:check ...... Prints out the laws string.

law:count ...... Gets a count of laws in use.

law:cubic ...... Creates a cubic law given {a,b,f(a),f(b),f ’(a),f’(b)}.

law:derivative ...... Creates a law object that is the derivative of the given law with respect to the given variable.

law:end ...... Returns the end of the domain for a law.

law:eval ...... Evaluates a given law or law expression with the specified input and returns a real or list of reals.

law:eval–par–pos ...... Evaluates a parameter position.

law:eval–position ...... Evaluates a given law or law expression with the specified input and returns a position or a par–pos.

Kernel R10 law:eval–vector ...... Evaluates a given law or law expression with the specified input and returns a gvector. law:hedgehog ...... Creates visible vector field lines along an edge or wire. law:inverse ...... Returns a law that is the inverse of the supplied law. law:line–line–intersect ...... Returns TRUE if two lines intersect. law:linear ...... Creates a linear law given {a,b,f(a),f(b)}. law:make–entity ...... Creates a law entity data type composed of one law function. law:make–rails ...... Creates a rail law or a list of rail laws for use by sweeping. law:nderivative ...... Computes the numerical derivative of a law function with respect to a given variable, a given number of times. law:nintegrate ...... Computes the numerical integral of the given law function over the specified range. law:nmax ...... Computes where a law is the maximum over a given interval. law:nmin ...... Computes where a law is the minimum over a given interval. law:nroot ...... Computes all of the roots of a law function over a given interval. law:nsolve ...... Computes all the locations where two laws are equal to one another over a given interval. law:quintic ...... Creates a quintic law given {a,b,f(a),f(b),f ’(a),f’(b) f’’(a) f’’(b)}. law:reset–deriv ...... Sets the derivative of ith driving variable. law:set–deriv ...... Manually sets the derivative of ith driving variable. law:simplify ...... Creates a law which is the algebraic simplification of the given law.

Kernel R10 law:start ...... Finds the start of the domain of a law.

law? ...... Determines whether or not a Scheme object is of the law Scheme data type.

loop:find ...... Gets loops shared by two entities.

loop:type ...... Returns the type of given loop.

loop? ...... Determines if a Scheme object is a loop.

lump? ...... Determines if a Scheme object is a lump.

mixed–body? ...... Determines if a Scheme object is a mixed body.

monitor:file ...... Opens or closes a monitor file, which records the text in the I/O window.

option:get ...... Gets the value of an option.

option:list ...... Gets a list of available options and their associated values.

option:reset ...... Sets the list of available options to their initial values.

option:set ...... Sets the value of an option.

par–pos ...... Creates a new uv parametric position given coordinate values u and v.

par–pos:copy ...... Creates a new par–pos by copying an existing par–pos.

par–pos:distance ...... Gets the 2D distance between two par–pos.

par–pos:set! ...... Sets the u and v–components of a par–pos.

par–pos:set–u! ...... Sets the u–component of a par–pos.

par–pos:set–v! ...... Sets the v–component of a par–pos.

par–pos:u ...... Gets the u–component of a par–pos.

par–pos:v ...... Gets the v–component of a par–pos.

par–pos? ...... Determines if a Scheme object is a part.

pattern ...... Constructs a pattern Scheme data type.

Kernel R10 pattern:alternating–keep ...... Creates a new pattern by applying an alternating keep filter to an existing pattern. pattern:alternating–scale ...... Creates a new pattern by applying an alternating scale to an existing pattern. pattern:check ...... Lists the elements in an entity that have a pattern attached. pattern:circular? ...... Determines whether or not a pattern lies on a given circle. pattern:compose ...... Creates a new pattern by composing two existing ones. pattern:concatenate ...... Creates a new pattern by concatenating two existing ones. pattern:coords–to–index ...... For the specified pattern, returns the pattern index associated with the specified pattern coordinates. pattern:copy ...... Makes a copy of a pattern. pattern:cylindrical ...... Constructs a pattern with cylindrical symmetry. pattern:cylindrical? ...... Determines whether or not a pattern lies on a given cylinder. pattern:edge ...... Creates a pattern parallel to an edge. pattern:elliptical ...... Creates an elliptical pattern. pattern:from–list ...... Creates a pattern from a list of positions or transformations. pattern:get–transform ...... Returns the requested pattern transform. pattern:hex ...... Creates a hexagonal packing pattern. pattern:hex–cylindrical ...... Creates a hexagonal pattern with cylindrical symmetry. pattern:index–to–coords ...... For the specified pattern, returns the pattern coordinates associated with the specified pattern index. pattern:keep ...... Creates a new pattern by applying a keep law to an existing pattern.

Kernel R10 pattern:linear ...... Creates a linear pattern.

pattern:linear–scale ...... Creates a new pattern by applying a linear scale to an existing pattern.

pattern:make–entity ...... Creates a pattern entity data type composed of one pattern.

pattern:mirror ...... Creates a new pattern that is a concatenation of the given pattern with its reflection through a specified plane.

pattern:move–element ...... Moves a single element within an existing pattern.

pattern:periodic–keep ...... Creates a new pattern by applying a periodic keep filter to an existing pattern.

pattern:periodic–scale ...... Creates a new pattern by applying a periodic scale to an existing pattern.

pattern:planar? ...... Determines whether or not a pattern is parallel to a given plane.

pattern:polar–grid ...... Creates a polar–grid pattern.

pattern:print–transform ...... Prints the requested pattern transform to stdout.

pattern:radial ...... Creates a radial pattern.

pattern:random ...... Creates a random pattern within the indicated region.

pattern:random–keep ...... Creates a new pattern by applying a random keep filter to an existing pattern.

pattern:random–offset ...... Creates a new pattern by adding random offset to an existing pattern.

pattern:random–orient ...... Creates a new pattern by applying random rotations at each of the pattern sites.

pattern:random–scale ...... Creates a new pattern by applying a random scale to an existing pattern.

pattern:reflect ...... Creates a new pattern that is a reflection of the specified one through a given plane.

Kernel R10 pattern:remove ...... Removes all patterns from an entity. pattern:remove–element ...... Removes a single element from an existing pattern. pattern:restore–element ...... Restores the element specified by coords to an existing pattern. pattern:scale ...... Creates a new pattern by applying a scale law to an existing pattern. pattern:scale–element ...... Scales a single element of an existing pattern. pattern:set–root–transf ...... Creates a new pattern by applying a root transformation to an existing pattern. pattern:size ...... Returns the number of elements in the given pattern. pattern:spherical ...... Creates a spherical pattern. pattern:spherical? ...... Determines whether or not a pattern lies on a given sphere. pattern:surface ...... Creates a pattern parallel to a surface. pattern:transform ...... Creates a new pattern by applying a transformation to an existing pattern. pattern:undo–move–element ...... Undoes a move applied to a single element of an existing pattern. pattern? ...... Determines whether or not a Scheme object is of the pattern Scheme data type. point:position ...... Computes the position of a point. point? ...... Determines if a Scheme object is a point. position ...... Creates a new position with coordinates x, y, and z. position:closest ...... Gets the position from a list of positions that is closest to a given position. position:copy ...... Creates a new position by copying an existing position. position:distance ...... Gets the distance between two positions.

Kernel R10 position:interpolate ...... Interpolates a new position based on the weight between two given positions.

position:offset ...... Creates a new position offset from a given position.

position:project–to–line ...... Gets the projection of a position on to a line.

position:project–to–plane ...... Gets the projection of a position onto a plane.

position:set! ...... Sets the x, y, and z–components of a position.

position:set–x! ...... Sets the x–component of a position.

position:set–y! ...... Sets the y–component of a position.

position:set–z! ...... Sets the z–component of a position.

position:transform ...... Applies a transform to a position.

position:x ...... Gets the x–component of a position relative to the active coordinate system.

position:y ...... Gets the y–component of a position relative to the active coordinate system.

position:z ...... Gets the z–component of a position relative to the active coordinate system.

position? ...... Determines if a Scheme object is a position.

ray ...... Creates a ray given a base position and gvector.

ray:gvector ...... Gets the gvector component of a ray.

ray:position ...... Gets the position component of a ray.

ray:queue ...... Adds a ray to the ray queue.

ray:valid? ...... Tests whether a ray is valid.

ray? ...... Determines if a Scheme object is a ray.

read–ray ...... Reads a ray from the ray queue or from a pick–event.

shell? ...... Determines if a Scheme object is a shell.

solid? ...... Determines if a Scheme object is a solid.

Kernel R10 surface:domain ...... Determines the domain of a face’s surface. surface:eval ...... Evaluates a position on a parametric surface. surface:eval–curvatures ...... Evaluates a the principal curvatures and directions at the given uv on the surface surface:eval–normal ...... Gets the normal of a surface at the specified parameter values. surface:eval–pos ...... Gets the position on a surface at the specified parameter values. surface:from–face ...... Creates a surface from a face. surface:point–perp ...... Reverse evaluates a position on a parametric surface. surface:range ...... Returns the parameter range of a surface. surface? ...... Determines if a Scheme entity is a surface. test:deep–copy ...... Tests the deep copy functionality for improper sharing. test:equal ...... Compares two arguments for equality. test:greater–than ...... Compares two real numbers. test:less–than ...... Compares two real numbers. test:performance ...... Runs the performance test(s). text:font ...... Gets a text entity’s font. text:location ...... Gets a text entity’s location. text:set–font ...... Sets a text entity’s font. text:set–location ...... Sets a text entity’s location. text:set–size ...... Sets a text entity’s font size in points. text:set–string ...... Sets a text entity’s string. text:size ...... Gets a text entity’s font size in points. text:string ...... Gets a text entity’s string. text? ...... Determines if a Scheme object is a text entity.

Kernel R10 timer:end ...... Stops the timer.

timer:get–time ...... Calculates and returns the amount of time elapsed since timer:start was executed.

timer:show–time ...... Calculates and returns the amount of time elapsed since the timer:start command was executed. This is most often used to measure performance.

timer:start ...... Starts an internal clock/timer. The timer: commands are most often used to measure performance of some command or series of commands.

transform:axes ...... Creates a transform that takes an object from model space to the space defined by the new origin and axes.

transform:compose ...... Concatenates two transforms.

transform:copy ...... Copies a transform.

transform:identity ...... Creates an identity transform.

transform:inverse ...... Creates an inverse transform.

transform:print ...... Prints a transform.

transform:reflection ...... Creates a transform to mirror an object through an axis.

transform:rotation ...... Creates a transform to rotate an object about an axis.

transform:scaling ...... Creates a scaling transform.

transform:translation ...... Creates a translation transform.

transform? ...... Determines if a Scheme object is a transform.

versiontag ...... Gets the current version tag or creates a new version tag scheme object. Default is the current version.

vertex:position ...... Gets the position of a vertex.

vertex? ...... Determines if a Scheme object is a vertex.

Kernel R10 wcs ...... Creates a work coordinate system.

wcs:active ...... Gets the active work coordinate system.

wcs:from–transform ...... Creates a work coordinate system given a transform.

wcs:origin ...... Gets the origin of the active WCS.

wcs:set–active ...... Sets the active work coordinate system to the specified WCS.

wcs:to–model–transform ...... Gets the transform of the active WCS to model space.

wcs:to–wcs–transform ...... Gets the transform from the active WCS to the specified WCS.

wcs:x–axis ...... Gets the x–direction of the active coordinate system.

wcs:y–axis ...... Gets the y–direction of the active coordinate system.

wcs:z–axis ...... Gets the z–direction of the active coordinate system.

wcs? ...... Determines if a Scheme object is a WCS.

wire–body:planar? ...... Determines if a Scheme object is a planar wire body.

wire–body? ...... Determines if a Scheme object is a wire body.

wire:closed? ...... Determines if a Scheme object is a closed wire.

wire:planar? ...... Determines if a Scheme object is a planar wire.

wire? ...... Determines if a Scheme object is a wire.

Typedefs Topic: Ignore bs2_curve ...... Defines a 2D B–spline curve.

bs3_curve ...... Defines a 3D B–spline curve.

Kernel R10 bs3_surface ...... Defines a 3D B–spline surface.

entity_test_proc ...... Procedure which tests an ENTITY.

is_fun ...... Function pointer type used in various search routines.

STATE_ID ...... Identifier for a STATE.

tag_id_type ...... Identifier for a ENTITY.

Kernel R10