PART_CONTEXT* active_part_context();
void add_rbase_app_cb( rbase_app_callback* cb);
logical af_delete_facets( ENTITY* entity);
void af_delete_mesh( ENTITY* entity);
double angle_between(const SPAunit_vector& v1, const
SPAunit_vector& v2, const SPAunit_vector& z
=*(SPAunit_vector*)NULL_REF);
logical antiparallel( SPAunit_vector const& v1,
SPAunit_vector const& v2, const double res= SPAresnor);
outcome api_abh_chamfer_edges(const ENTITY_LIST& edgs,
double r1, double r2= -1, double r1_end= -1, double r2_end= -1,
double R1= 0, double R2= 0, AcisOptions* ao = NULL);
outcome api_abh_edge_project( BODY* b, EDGE* e, logical
sequence, double dist, logical left, SPAvector v, AcisOptions* ao =
NULL);
outcome api_abh_imprint( BODY* int_wire, ENTITY_LIST&
edge_list, AcisOptions* ao= NULL);
outcome api_abh_slice( BODY* tool, BODY* blank,
BODY*& int_wire, AcisOptions* ao = NULL);
outcome api_abh_vblend( EDGE* in_ed, double r1, double r2,
AcisOptions* ao = NULL);
outcome api_abort_state( HISTORY_STREAM* hs= NULL);
outcome api_accurate_bs3_approximation( FACE* face, double
requested_tol, bs3_surface& fit_sur=*(bs3_surface*)NULL_REF,
AcisOptions* ao = NULL);
outcome api_add_generic_named_attribute( ENTITY* ent, const
char* name, ENTITY* value, split_action split_opt= SplitKeep,
merge_action merge_opt= MergeKeepKept, trans_action trans_opt=
TransIgnore, copy_action copy_opt= CopyCopy, AcisOptions* ao = NULL
);
outcome api_add_guide_curve_si( AcisSLInterface* obj,
EDGE* in_guide, AcisOptions* opts = NULL);
outcome api_add_mapping_curve_sli( AcisSLInterface* obj, int
num, SPAposition* pts, AcisOptions* opts = NULL);
outcome api_add_state( DELTA_STATE* ds, HISTORY_STREAM*
hs);
outcome api_add_vertex_sli( AcisSLInterface* obj, WIRE*
wire, COEDGE* coedge, AcisOptions* opts = NULL);
outcome api_advanced_cover( FACE* target_face,
acover_options* options= NULL, AcisOptions* opts= NULL);
outcome api_align_wires_sli( AcisSLInterface* obj, int start
= 0, int end = 0, AcisOptions* opts = NULL);
outcome api_alternating_keep_pattern( pattern*& pat,
const pattern& in_pattern, logical keep1, logical keep2, int
which_dim, logical merge = TRUE, AcisOptions* ao = NULL);
outcome api_alternating_scale_pattern( pattern*& pat,
const pattern& in_pattern, double scale1, double scale2, int
which_dim, const SPAposition& root, logical merge = TRUE,
AcisOptions* ao = NULL);
outcome api_apply_transf( ENTITY* entity, SPAtransf
const& trans, AcisOptions* ao = NULL);
void api_bb_begin(logical linear= TRUE);
void api_bb_delete();
void api_bb_end( outcome& result, logical linear= TRUE,
logical delete_stacked_bb = FALSE);
outcome api_bend_entity( ENTITY* in_entity, SPAposition&
neutral_root, SPAunit_vector&neutral_axis, SPAunit_vector&
bend_direction, double radius, double angle, double width= -1, logical
f_center_bend= FALSE, int n_points= 0, SPAposition* bend_regions
= NULL, AcisOptions* opts = NULL);
outcome api_bend_to_curve_entity( BODY* in_entity, const
SPAposition& start, const SPAposition& end, const SPAunit_vector&
initial_rail, curve_law* final_curve, law* final_rail = NULL,
AcisOptions* opts = NULL);
outcome api_blend_edges( ENTITY_LIST& edges, double radius,
AcisOptions* ao= NULL);
outcome api_blend_edges_pos_rad(const ENTITY_LIST& eds,
const int num_fixes, SPAposition fix_positions[], double
fix_radii[], double* start_slope= NULL, double* end_slope =
NULL, AcisOptions* ao = NULL);
outcome api_blend_graph( ENTITY* this_ent, ENTITY_LIST&
ent_list, AcisOptions* ao= NULL);
outcome api_blend_seq( EDGE* this_edge, ENTITY_LIST&
ents, AcisOptions* ao= NULL);
outcome api_body( BODY*& bodyOut, AcisOptions* ao
= NULL);
outcome api_body_mass_pr( BODY* body, SPAposition const&
root_proj_pl, SPAunit_vector const&normal_proj_pl, int selector, double
req_rel_accy, double& volume, SPAposition& cofg, tensor& inertia,
double p_moments[], SPAunit_vector p_axes[],
double& est_rel_accy_achieved, double sheet_thickness = 0.0,
AcisOptions* ao = NULL);
outcome api_body_to_2d( BODY* body, AcisOptions* ao =
NULL);
outcome api_boolean( BODY* tool, BODY* blank, BOOL_TYPE op,
NDBOOL_KEEP ndbool_keep= NDBOOL_KEEP_NEITHER, BODY*&
result_body=*(BODY**)NULL_REF, AcisOptions* ao =
NULL);
outcome api_boolean_chop_body( BODY* tool, BODY* blank,
logical nonreg, BODY*& outside, BODY*& leftovers
=*(BODY**)NULL_REF, NDBOOL_KEEP ndbool_keep= NDBOOL_KEEP_NEITHER,
BODY*& result_body=*(BODY**)NULL_REF,
AcisOptions* ao = NULL);
outcome api_boolean_chop_complete(logical nonreg,
BODY*& outside, BODY*& leftovers
=*(BODY**)NULL_REF, NDBOOL_KEEP ndbool_keep= NDBOOL_KEEP_NEITHER,
BODY*& result_body=*(BODY**)NULL_REF,
AcisOptions* ao= NULL);
outcome api_boolean_complete( BOOL_TYPE op, NDBOOL_KEEP
ndbool_keep = NDBOOL_KEEP_NEITHER, BODY*& res
=*(BODY**)NULL_REF, AcisOptions* ao = NULL);
outcome api_boolean_glue( BODY* tool, BODY* blank,
BOOL_TYPE op, const glue_options* glue_opts, NDBOOL_KEEP ndbool_keep
= NDBOOL_KEEP_NEITHER, BODY*& result_body
=*(BODY**)NULL_REF, AcisOptions* ao = NULL);
outcome api_boolean_start( BODY* tool, BODY* blank,
AcisOptions* ao = NULL);
outcome api_boolean_tube_body( BODY* blank, BODY* tube,
ENTITY_LIST& start_faces, ENTITY_LIST& end_faces, SPAposition*
start_pos, int number_of_starts, SPAposition* end_pos, int
number_of_ends, SPAvector start_dir, tube_options** opts, int
number_of_options, ENTITY_LIST& bodies, AcisOptions* ao = NULL);
outcome api_bool_make_intersection_graph( BODY* tool,
BODY* blank, BODY*& graph, BOOL_TYPE type= UNION, const
glue_options* glue_opts= NULL, AcisOptions* ao= NULL);
outcome api_breakup_wires_sli( AcisSLInterface* obj, int
start = 0, int end = 0, AcisOptions* opts = NULL);
outcome api_build_body_sli( AcisSLInterface* obj,
BODY*& body_out, AcisOptions* opts = NULL);
outcome api_build_edges_sli( AcisSLInterface* obj,
ENTITY_LIST& edgeList, AcisOptions* opts = NULL);
outcome api_build_faces_sli( AcisSLInterface* obj,
ENTITY_LIST& edgeList, AcisOptions* opts = NULL);
outcome api_build_wire( BODY* given_body, logical closed, int
length, SPAposition points[], curve* curves[],
BODY*& body, AcisOptions* ao = NULL);
outcome api_calculate_edge_tolerance( EDGE* edge,
double& tol, AcisOptions* ao = NULL);
outcome api_calculate_vertex_tolerance( VERTEX* vertex,
double& tol, AcisOptions* ao = NULL);
outcome api_chamfer_edges( ENTITY_LIST& edges, double
left_range, double right_range= -1, AcisOptions* ao= NULL);
outcome api_chamfer_vertex( VERTEX* vertex, double offset1,
EDGE* edge1= NULL, double offset2= -1, EDGE* edge2= NULL,
double offset3= -1, EDGE* edge3= NULL, logical
distanceStraight= TRUE, AcisOptions* ao= NULL);
outcome api_chamfer_vertices( ENTITY_LIST& vertices, double
offset, logical distanceStraight= TRUE, AcisOptions* ao= NULL
);
outcome api_change_body_trans( BODY* body, TRANSFORM*
new_transform, logical negate = FALSE, AcisOptions* ao = NULL);
outcome api_change_state( DELTA_STATE* ds);
outcome api_change_to_state( HISTORY_STREAM* hs,
DELTA_STATE* ds, int& n_actual);
outcome api_checking(logical on_off);
outcome api_check_ct(const ENTITY* ent,
insanity_list*& list, AcisOptions* ao = NULL);
outcome api_check_cur_smoothness( EDGE* given_edge,
curve_irregularities*& cirr, int& no_pts, AcisOptions* ao = NULL);
outcome api_check_edge( EDGE* edge,
check_status_list*& list, AcisOptions* ao = NULL);
outcome api_check_edge_errors( ENTITY_LIST const& edges,
ENTITY_LIST& bad_edges, ENTITY*& worst_entity, double&
worst_error, double tol= SPAresabs, logical stop_immediately= FALSE,
ENTITY_LIST& new_edges=*(ENTITY_LIST*)NULL_REF,
AcisOptions* ao = NULL);
outcome api_check_entity(const ENTITY* given_entity,
insanity_list*& list, AcisOptions* ao = NULL);
outcome api_check_entity_ff_ints(const ENTITY*
given_entity, ENTITY_LIST* insane_ents, logical& bad_ints, FILE*
file_ptr= NULL, insanity_list*& list
=*(insanity_list**)NULL_REF, AcisOptions* ao = NULL);
outcome api_check_face( FACE* face,
check_status_list*& list, AcisOptions* ao = NULL);
outcome api_check_face_clearance( FACE* face1, FACE*
face2, double min_clearance, double facet_resolution, SPAposition&
p1, SPAposition& p2, double& min_dist, AcisOptions* ao
= NULL);
outcome api_check_face_loops( FACE* in_face, int
ai_info[]= NULL, AcisOptions* ao = NULL);
outcome api_check_histories( HISTORY_STREAM_LIST*
insane_list= NULL, FILE* fptr= stdout);
outcome api_check_list_ff_ints(int num_faces1, FACE*
face_list1[], ENTITY_LIST* insane_ents, logical& bad_ints, FILE*
file_ptr= NULL, int num_faces2= 0, FACE* face_list2[]
= NULL, AcisOptions* ao = NULL);
logical api_check_on();
outcome api_check_solid_clearance( BODY* user_body1,
BODY* user_body2, double min_clearance, double facet_resolution,
SPAposition& p1, SPAposition& p2, double& min_dist, AcisOptions* ao
= NULL);
outcome api_check_vertex_errors( ENTITY_LIST const&
vertices, ENTITY_LIST& bad_vertices, ENTITY*& worst_entity,
double& worst_error, double tol= SPAresabs, logical stop_immediately
= FALSE, ENTITY_LIST& new_vertices
=*(ENTITY_LIST*)NULL_REF, AcisOptions* ao = NULL);
outcome api_check_wire_self_inters( BODY* body,
AcisOptions* ao = NULL);
outcome api_clean_body( BODY* body, AcisOptions* ao =
NULL);
outcome api_clean_entity( ENTITY* ent, AcisOptions* ao
= NULL);
outcome api_clean_wire( BODY* wire, AcisOptions* ao =
NULL);
outcome api_clear_annotations( AcisOptions* ao = NULL);
outcome api_clear_guide_curves_sli( AcisSkinningInterface*
obj, AcisOptions* opts = NULL);
outcome api_clear_mapping_curves_sli( AcisSLInterface* obj,
AcisOptions* opts = NULL);
outcome api_closed_wire( BODY* body, AcisOptions* ao =
NULL);
outcome api_collapse_wires_sli( AcisSLInterface* obj,
ENTITY_LIST& wire_list, AcisOptions* opts = NULL);
outcome api_combine_body( BODY* from_body, BODY* to_body,
AcisOptions* ao = NULL);
outcome api_combine_edges( EDGE* edge1, EDGE* edge2,
EDGE*& new_edge, FILE* outfile= NULL, AcisOptions* ao =
NULL);
outcome api_complete_blends( BODY* int_graph, BODY*
sheet, BODY* this_body, AcisOptions* ao= NULL);
outcome api_complete_intersection_graph( BODY* tbody,
BODY* blank, BODY*& graph, AcisOptions* ao= NULL);
outcome api_concl_blend_ss( blend1_data& bl1_data, BODY*
sheet_body, AcisOptions* ao= NULL);
outcome api_convert_pipes(int const nface, FACE*
face[], AcisOptions* ao = NULL);
outcome api_convert_to_spline( ENTITY* given_entity,
ENTITY*& return_entity, AcisOptions* ao = NULL);
outcome api_copy_body( BODY* body, BODY*& new_body,
AcisOptions* ao = NULL);
outcome api_copy_entity( ENTITY* entity, ENTITY*&
new_entity, AcisOptions* ao = NULL);
outcome api_copy_entity_contents( ENTITY* in_ent,
ENTITY*& copy, SPAtransf& tr=*(SPAtransf*)NULL_REF,
AcisOptions* ao = NULL);
outcome api_copy_entity_list( ENTITY_LIST& entity_list,
ENTITY_LIST& copied_entity_list, AcisOptions* ao = NULL);
outcome api_cover_circuits(int num_circuits, ENTITY_LIST*
array_circuits[], surface const& surf, ENTITY_LIST& faces_list,
AcisOptions* ao = NULL);
outcome api_cover_planar_edges( ENTITY_LIST& eds,
BODY*& out_bdy, ENTITY_LIST& wires, int nest= TRUE,
AcisOptions* ao = NULL);
outcome api_cover_planar_wires( ENTITY_LIST& wbs,
BODY*& out_bdy, ENTITY_LIST& out_wires, logical nest,
AcisOptions* ao);
outcome api_cover_sheet( BODY* sheet, surface const& surf,
ENTITY_LIST& faces_list, logical multiple_cover = FALSE, AcisOptions*
ao = NULL);
outcome api_cover_wire( WIRE* wire, surface const& surf,
FACE*& face, AcisOptions* ao = NULL);
outcome api_cover_wires( BODY* wire_body, surface const&
surf, ENTITY_LIST& faces_list, AcisOptions* ao = NULL);
outcome api_cover_wire_loops( ENTITY_LIST& wires,
BODY*& sheet, AcisOptions* ao = NULL);
outcome api_create_boundary_field( ENTITY_LIST& coeds,
FACE** ref_faces, fieldtype ftype, int rev, double draft, SPAvector&
uniform_vec, ENTITY_LIST& cons_eds, int global, law**
out_law&, AcisOptions* ao = NULL);
outcome api_create_graph_from_cells( ENTITY_LIST& cells,
generic_graph*& graph, AcisOptions* ao = NULL);
outcome api_create_graph_from_edges( ENTITY_LIST& edges,
generic_graph*& graph, AcisOptions* ao = NULL);
outcome api_create_graph_from_faces( ENTITY_LIST& faces,
generic_graph*& graph, AcisOptions* ao = NULL);
outcome api_create_history( HISTORY_STREAM*& hs);
outcome api_create_li(int number_coedges,
Loft_Connected_Coedge_List* edgeList, AcisLoftingInterface*& obj,
BODY**& wireBodies, skin_options* opts, AcisOptions* ao= NULL
);
outcome api_create_point(const SPAposition& pos,
APOINT*& pnt, AcisOptions* ao = NULL);
outcome api_create_refinement( REFINEMENT*& ref,
AcisOptions* ao = NULL);
outcome api_create_si( ENTITY_LIST&,
AcisSkinningInterface*&, BODY**& wireBodies, BODY* path = NULL,
skin_options* opts, AcisOptions* opts= NULL);
outcome api_create_text(const SPAposition& location, const
char* string, const char* font, int size, TEXT_ENT*& text,
AcisOptions* ao = NULL);
outcome api_create_vertex_template(int n_tokens, int
tokens[], VERTEX_TEMPLATE*& tplate, AcisOptions* ao = NULL
);
outcome api_crv_self_inters( CURVE* crv, double start_par,
double end_par, curve_curve_int*&self_intersection,
AcisOptions* ao = NULL);
outcome api_ct_add_to_group( ENTITY* ent, SPAGROUP*
group, AcisOptions* ao = NULL);
outcome api_ct_attach( ENTITY_LIST& body_list,
AcisOptions* ao = NULL);
outcome api_ct_attach_cells( LUMP* lump, AcisOptions* ao
= NULL);
outcome api_ct_cell_area( CELL* cell, double req_rel_accy,
double& area, double&est_rel_accy_achieved, AcisOptions* ao
= NULL);
outcome api_ct_cell_mass_pr( CELL3D* cell, SPAposition
const&root_proj_pl, SPAunit_vector const&normal_proj_pl, int
selector, double req_rel_accy, double& volume, SPAposition& cofg,
tensor& inertia, double p_moments[], SPAunit_vector*
p_axes[], double&est_rel_accy_achieved, AcisOptions* ao = NULL
);
outcome api_ct_copy_cell( CELL* cell, BODY*& body,
AcisOptions* ao = NULL);
outcome api_ct_expand( ENTITY_LIST& body_list,
AcisOptions* ao = NULL);
outcome api_ct_expand_cells( LUMP* lump, AcisOptions* ao
= NULL);
outcome api_ct_flatten( ENTITY_LIST& body_list,
AcisOptions* ao = NULL);
outcome api_ct_flatten_cells( LUMP* lump, AcisOptions* ao
= NULL);
outcome api_ct_get_all_cells( ENTITY_LIST const& body_list,
ENTITY_LIST& cell_list, AcisOptions* ao = NULL);
outcome api_ct_lose_cells( LUMP* lump, AcisOptions* ao
= NULL);
outcome api_ct_lose_group( SPAGROUP* group, AcisOptions*
ao = NULL);
outcome api_ct_make_group( ENTITY_LIST& list,
SPAGROUP*& group, AcisOptions* ao = NULL);
outcome api_ct_point_in_cell( SPAposition const& test_point,
CELL3D* target_cell, point_containment& pc, AcisOptions* ao =
NULL);
outcome api_ct_propagate_cface_attribs( LUMP* lump,
AcisOptions* ao = NULL);
outcome api_ct_remove( ENTITY_LIST& body_list,
AcisOptions* ao = NULL);
outcome api_ct_remove_from_group( ENTITY* ent, SPAGROUP*
group, AcisOptions* ao = NULL);
outcome api_ct_return_ents( SPAGROUP* group,
ENTITY_LIST& list, AcisOptions* ao = NULL);
outcome api_ct_return_groups( ENTITY* ent, ENTITY_LIST&
list, AcisOptions* ao = NULL);
outcome api_ct_vacate_cell( CELL3D* cell, AcisOptions* ao
= NULL);
outcome api_curve_arc(const SPAposition& center, double
radius, double start_angle, double end_angle, EDGE*& arc,
AcisOptions* ao = NULL);
outcome api_curve_arc_3curve(const entity_with_ray& crv1,
const entity_with_ray& crv2, const entity_with_ray& crv3,
logical full, EDGE*& arc, AcisOptions* ao = NULL);
outcome api_curve_arc_3pt(const SPAposition& pt1, const
SPAposition& pt2, const SPAposition& pt3, logical full, EDGE*& arc,
AcisOptions* ao = NULL);
outcome api_curve_arc_center_edge(const SPAposition&
center, const SPAposition& pt1, const SPAposition& pt2, const
SPAunit_vector* norm, EDGE*& arc, AcisOptions* ao = NULL);
outcome api_curve_arc_diagonal(const SPAposition& pt1, const
SPAposition& pt2, logical full, EDGE*& arc, AcisOptions* ao =
NULL);
outcome api_curve_bezier(const SPAposition& pt1, const
SPAposition& pt2, const SPAposition& pt3, const SPAposition& pt4,
EDGE*& crv, AcisOptions* ao = NULL);
outcome api_curve_ellipse(const SPAposition& center, const
SPAposition& major, double ratio, double start_angle, double end_angle,
EDGE*& ell, AcisOptions* ao = NULL);
outcome api_curve_fillet(const entity_with_ray& crv1, const
entity_with_ray& crv2, double radius, logical trim1, logical trim2, EDGE*&
arc, AcisOptions* ao = NULL);
outcome api_curve_law( law* in_law, double start, double end,
curve*& new_curve, int law_number= 0, law** other_laws=
NULL, AcisOptions* ao = NULL);
outcome api_curve_line(const SPAposition& pt1, const
SPAposition& pt2, EDGE*& line, AcisOptions* ao = NULL);
outcome api_curve_line_tangent(const SPAposition* pt1, const
entity_with_ray* eray1, const SPAposition* pt2, const entity_with_ray*
eray2, EDGE*& line, AcisOptions* ao = NULL);
outcome api_curve_pattern( pattern*& pat, const
curve& in_curve, const SPAinterval& param_range, int num_elements,
const SPAposition& root, logical on_endpoints= FALSE, law*
rail_law= NULL, const SPAvector& rail_dir
=*(SPAvector*)NULL_REF, const SPAvector& tangent_dir
=*(SPAvector*)NULL_REF, const SPAtransf& in_trans
=*(SPAtransf*)NULL_REF, AcisOptions* ao = NULL);
outcome api_curve_spline(int numpts, const SPAposition* pts,
const SPAunit_vector* start, const SPAunit_vector* end,
EDGE*& crv, logical approx_ok = TRUE, logical periodic= FALSE,
AcisOptions* ao = NULL);
outcome api_curve_spline2(int numpts, const SPAposition* pts,
const double* params, const SPAvector* start, const
SPAvector* end, EDGE*& crv, AcisOptions* ao= NULL);
outcome api_cylindrical_pattern( pattern*& pat, const
FACE* in_face, int num_angular, int num_axial= 1, double ring_spacing
= 0.0, logical alternating= FALSE, AcisOptions* ao = NULL
);
outcome api_deep_copy_entity( ENTITY* entity,
ENTITY*& new_entity, logical dpcpy_skip= FALSE, AcisOptions* ao
= NULL);
outcome api_deep_copy_entity_list( ENTITY_LIST&
entity_list, ENTITY_LIST& new_entity_list, logical dpcpy_skip= FALSE,
AcisOptions* ao = NULL);
outcome api_delent( ENTITY* given_entity, AcisOptions* ao
= NULL);
outcome api_delete_blends( ENTITY_LIST const& ents_list,
AcisOptions* ao= NULL);
outcome api_delete_body_facets( BODY* body, AcisOptions*
ao = NULL);
outcome api_delete_ds( DELTA_STATE* ds);
outcome api_delete_entity_facets( ENTITY* entity,
AcisOptions* ao = NULL);
outcome api_delete_exp_blends( ENTITY_LIST const& ents_list,
AcisOptions* ao= NULL);
outcome api_delete_face_facets( FACE* face, AcisOptions*
ao = NULL);
outcome api_delete_history( HISTORY_STREAM* hs= NULL);
outcome api_delete_lump_facets( LUMP* lump, AcisOptions*
ao = NULL);
outcome api_delete_shell_facets( SHELL* shell,
AcisOptions* ao = NULL);
outcome api_delete_sli( AcisSLInterface* obj,
AcisOptions* opts = NULL);
outcome api_del_entity( ENTITY* given_entity,
AcisOptions* ao = NULL);
outcome api_del_entity_list( ENTITY_LIST& given_list,
AcisOptions* ao = NULL);
outcome api_detect_short_edges( ENTITY* entity,
ENTITY_LIST& returned_list, const double tolerance= SPAresfit, logical
replace= FALSE, AcisOptions* ao = NULL);
outcome api_detect_sliver_faces( ENTITY* entity,
ENTITY_LIST& returned_list, const double tolerance= -1, logical replace
= FALSE, AcisOptions* ao = NULL);
outcome api_distribute_state_to_streams( DELTA_STATE*
pState, StreamFinder* pStreamFinder, logical clearDelta, logical
hideStates);
outcome api_dm_add_multi_face( ATTRIB_DM2ACIS*
attrib_dm2acis, ENTITY* entity, int& entity_tag, int& tag_shift,
adm_options* adm_o= NULL, AcisOptions* acisO= NULL);
outcome api_dm_add_patch( ATTRIB_DM2ACIS*attrib_dm2acis,
int shape_flag, SPApar_pos domain_pt1, SPApar_pos domain_pt2,
SPApar_pos domain_pt3, int refinement, int tag_flag, int& patch_tag,
adm_options* adm_o= NULL, AcisOptions* acisO= NULL);
outcome api_dm_auto_elevate(int y_n, adm_options* adm_o=
NULL, AcisOptions* acisO= NULL);
outcome api_dm_commit_attrib_dm2acis( ATTRIB_DM2ACIS*
attrib_dm2acis, adm_options* adm_o= NULL, AcisOptions* acisO=
NULL);
outcome api_dm_get_attrib_dm2acis( ENTITY* entity,
ATTRIB_DM2ACIS*&attrib_dm2acis, adm_options* adm_o= NULL,
AcisOptions* acisO= NULL);
outcome api_dm_get_hierarchy_entities( ATTRIB_DM2ACIS*
attrib_dm2acis, ENTITY_LIST& elist, adm_options* adm_o= NULL,
AcisOptions* acisO= NULL);
outcome api_dm_journal_off( adm_options* adm_o= NULL,
AcisOptions* acisO= NULL);
outcome api_dm_journal_on(char* filename, int cascade= 0,
adm_options* adm_o= NULL, AcisOptions* acisO= NULL);
outcome api_dm_query_attrib_dm2acis( DS_dmod* dmod,
ATTRIB_DM2ACIS*& dm2acis, adm_options* adm_o= NULL, AcisOptions* acisO
= NULL);
outcome api_dm_remove_attrib_dm2acis( ATTRIB_DM2ACIS*
attrib_dm2acis, adm_options* adm_o= NULL, AcisOptions* acisO=
NULL);
outcome api_dm_remove_dm_attributes( ENTITY* entity,
adm_options* adm_o= NULL, AcisOptions* acisO= NULL);
outcome api_dm_rm_multi_face( ATTRIB_DM2ACIS*
attrib_dm2acis, int tag, adm_options* adm_o= NULL, AcisOptions* acisO
= NULL);
outcome api_dm_rm_patch( ATTRIB_DM2ACIS* attrib_dm2acis, int
tag_flag, adm_options* adm_o= NULL, AcisOptions* acisO=
NULL);
outcome api_dm_set_array_size( DM_dbl_array& arr, int
new_size, double init_val= 0.0, adm_options* adm_o= NULL,
AcisOptions* acisO= NULL);
outcome api_dm_set_tolerance( adm_options* adm_o= NULL,
AcisOptions* acisO= NULL);
outcome api_dm_use_link_cstrns( adm_options* adm_o=
NULL, AcisOptions* acisO= NULL);
outcome api_do_one_blend_ss( blend1_data& bl1_data, int
index, BODY* sheet_body, AcisOptions* ao= NULL);
outcome api_edent_rel( EDGE* edge, ENTITY* entity,
edge_entity_rel*& rel, AcisOptions* ao = NULL);
outcome api_edfa_int( EDGE* edge, FACE* face,
ENTITY_LIST*& inter, AcisOptions* ao = NULL);
outcome api_edge( EDGE* edgeIn, EDGE*& edgeOut,
AcisOptions* ao = NULL);
outcome api_edge_arclength_metric( EDGE* edgeIn, double&
metric, AcisOptions* ao = NULL);
outcome api_edge_arclength_param( EDGE* edgeIn, logical
approx_ok, double tol, EDGE*& edgeOut, AcisOptions* ao = NULL
);
outcome api_edge_convexity_param( EDGE* edge, double p,
bl_ed_convexity& cxty, AcisOptions* ao = NULL);
outcome api_edge_helix( SPAposition axis_start, SPAposition
axis_end, SPAvector start_dir, double radius, double thread_distance,
logical handiness, EDGE*& new_edge, AcisOptions* ao = NULL
);
outcome api_edge_law( law* inlaw, double start, double end,
EDGE*& new_edge, int law_number= 0, law** other_laws=
NULL, AcisOptions* ao = NULL);
outcome api_edge_pattern( pattern*& pat, COEDGE*
in_coedge, int number, const SPAposition& root, logical on_endpoints=
FALSE, const SPAvector& normal_dir
=*(SPAvector*)NULL_REF, const SPAvector& tangent_dir law
=*(SPAvector*)NULL_REF, AcisOptions* ao = NULL);
outcome api_edge_plaw( FACE* in_face, law* inlaw, double
start, double end, EDGE*& new_edge, int law_number= 0,
law** other_laws= NULL, AcisOptions* ao = NULL);
outcome api_edge_spiral( SPAposition& center, SPAvector&
normal, SPAposition&start_position, double width, double angle,
EDGE*& spiral, logical handedness= TRUE, AcisOptions* ao =
NULL);
outcome api_edge_spring( SPAposition& axis_point,
SPAvector& axis_vector, SPAposition& start_position, logical
handedness, int helix_count, double*thread_distance_array, double*
rotation_angle_array, double*transition_height_array, double*
transition_angle_array, EDGE*& crv, AcisOptions* ao = NULL);
outcome api_edge_spring_law( SPAposition& axis_point,
SPAvector& axis_vector, SPAposition& start_position, law*
variable_radius_law, logical handedness, int helix_count, double*
thread_distance_array, double*rotation_angle_array, double*
transition_height_array, double*transition_angle_array, EDGE*& crv,
AcisOptions* ao = NULL);
outcome api_edge_spring_taper( SPAposition& axis_point,
SPAvector& axis_vector, SPAposition& start_position, double
taper_angle, logical handedness, int helix_count, double*
thread_distance_array, double*rotation_angle_array, double*
transition_height_array, double*transition_angle_array, EDGE*& crv,
AcisOptions* ao = NULL);
outcome api_edge_taper_faces(int const nface, FACE*
face[], EDGE* edge[], SPAunit_vector const& draft_dir,
double const& draft_angle, SPAposition box_low, SPAposition
box_high, AcisOptions* ao = NULL);
outcome api_edge_to_spline( EDGE* e1, EDGE*& e2,
AcisOptions* ao = NULL);
outcome api_ed_inters_to_ents( EDGE* e1,
curve_curve_int* inters, ENTITY_LIST& ents, AcisOptions* ao = NULL);
outcome api_ed_self_inters( EDGE* edge,
curve_curve_int*&self_intersection, AcisOptions* ao = NULL);
outcome api_elliptical_pattern( pattern*& pat, const
SPAposition& center, const SPAvector& normal, int num_elements, logical
not_rotate= FALSE, const SPAposition& root
=*(SPAposition*)NULL_REF, double angle= 2.0* 3.14159265358979323846, double ratio
= 1.0, const SPAvector& major_axis
=*(SPAvector*)NULL_REF, AcisOptions* ao = NULL);
outcome api_enclose_void( FACE* face, REVBIT sense, logical
lumps, AcisOptions* ao = NULL);
outcome api_end_journal( AcisOptions* ao);
outcome api_ensure_empty_root_state( HISTORY_STREAM*
history, DELTA_STATE*& root_state);
outcome api_entity_entity_distance( ENTITY* ent1,
ENTITY* ent2, SPAposition& pos1, SPAposition& pos2, double&
distance, param_info& ent1_info=*(param_info*)NULL_REF,
param_info& ent2_info=*(param_info*)NULL_REF,
AcisOptions* ao = NULL);
outcome api_entity_entity_touch( ENTITY* ent1, ENTITY*
ent2, logical& touch, AcisOptions* ao = NULL);
outcome api_entity_extrema( ENTITY_LIST& ents, int nvec,
SPAvector* in_vec, SPAposition& max_pos, param_info& out_info
=*(param_info*)NULL_REF, AcisOptions* ao = NULL);
outcome api_entity_point_distance( ENTITY* ent,
SPAposition& in_point, SPAposition& closest_pos, double& distance,
param_info& ent_info=*(param_info*)NULL_REF, AcisOptions*
ao = NULL);
outcome api_ent_area( ENTITY* ent, double req_rel_accy,
double& area, double& est_rel_accy_achieved, AcisOptions* ao
= NULL);
outcome api_estimate_min_rad_curvature_skin(
AcisSLInterface* obj, double& min_rad, AcisOptions* opts = NULL);
outcome api_estimate_tangent_factor_scale_li(
AcisLoftingInterface* obj, SPAinterval& range, double& optimum
=*(double*)NULL_REF, double& min_radius=*(double*)NULL_REF,
AcisOptions* opts = NULL);
outcome api_expand_body( BODY* body, AcisOptions* ao =
NULL);
outcome api_extract_coed_info( COEDGE* coedge, logical
forward, logical outward, int num_pts, SPAposition* pts,
SPAunit_vector* tans);
outcome api_faceted_face( FACE* face, logical& faceted,
AcisOptions* ao = NULL);
outcome api_facet_area( ENTITY* entity, double& area,
AcisOptions* ao= NULL);
outcome api_facet_body( BODY* body, AcisOptions* ao =
NULL);
outcome api_facet_curve(const curve& crv, double a, double b,
double tol, int nmax, int& npts, nmax if nmax exceeded) SPAposition
pts[], double t[], AcisOptions* ao = NULL);
outcome api_facet_entities( ENTITY* owner, ENTITY_LIST*
entity_list, AcisOptions* ao = NULL);
outcome api_facet_entity( ENTITY* entity, AcisOptions* ao
= NULL);
outcome api_facet_face( FACE* face, AcisOptions* ao =
NULL);
outcome api_facet_lump( LUMP* lump, AcisOptions* ao =
NULL);
outcome api_facet_shell( SHELL* shell, AcisOptions* ao
= NULL);
outcome api_facet_unfaceted_entities( ENTITY* owner,
ENTITY_LIST* entity_list, AcisOptions* ao = NULL);
outcome api_facet_unfaceted_entity( ENTITY* entity,
AcisOptions* ao = NULL);
outcome api_face_conic(double radius, double conic_const, double
extent, double length, FACE*& face, AcisOptions* ao = NULL
);
outcome api_face_cylinder_cone(const SPAposition& center,
const SPAvector& normal, double bottom, double top, double start,
double end, double ratio, const SPAposition* pt, FACE*& face,
AcisOptions* ao = NULL);
outcome api_face_law( law* in_law, double minu, double maxu,
double minv, double maxv, FACE*& face, int in_law_number= 0,
law** in_other_laws= NULL, AcisOptions* ao = NULL);
outcome api_face_nu_nv_isolines(int nu, int nv, FACE* face,
const SPAtransf& ftrans, ENTITY_LIST* edge_list,
AcisOptions* ao = NULL);
outcome api_face_plane(const SPAposition& p, double width,
double height, const SPAvector* normal, FACE*& face,
AcisOptions* ao = NULL);
outcome api_face_sphere(const SPAposition& center, double
radius, double lo_start, double lo_end, double la_start, double la_end,
const SPAvector* normal, FACE*& face, AcisOptions* ao
= NULL);
outcome api_face_spl_apprx(const splgrid* grid,
FACE*& face, AcisOptions* ao = NULL);
outcome api_face_spl_ctrlpts(const splsurf* surf,
FACE*& face, AcisOptions* ao = NULL);
outcome api_face_spl_intrp(const splgrid* grid,
FACE*& face, AcisOptions* ao = NULL);
outcome api_face_torus(const SPAposition& center, double
major, double minor, double tu_start, double tu_end, double sv_start,
double sv_end, const SPAvector* normal, FACE*& face,
AcisOptions* ao = NULL);
outcome api_face_u_iso(double v, FACE* face, const
SPAtransf& ftrans, ENTITY_LIST* edge_list, AcisOptions* ao = NULL
);
outcome api_face_v_iso(double u, u parameter FACE* face, const
SPAtransf& ftrans, ENTITY_LIST* edge_list, AcisOptions* ao = NULL
);
outcome api_fafa_int( FACE* tool, FACE* blank,
BODY*& graph, AcisOptions* ao = NULL);
outcome api_fast_find_face( SPAposition const& ray_pos,
SPAunit_vector const& ray_dir, BODY* in_body, int& in_count,
ENTITY**& in_faces=*(ENTITY***)NULL_REF,
SPAposition*& in_hits=*(SPAposition**)NULL_REF,
double*& in_params=*(double**)NULL_REF,
AcisOptions* ao = NULL);
outcome api_fillet_vertex( VERTEX* vert, double radius,
EDGE* edge1= NULL, EDGE* edge2= NULL, AcisOptions* ao
= NULL);
outcome api_find_annotations( ENTITY_LIST&, is_fun=
is_ANNOTATION, BULLETIN_BOARD* bb= NULL, AcisOptions* = NULL);
outcome api_find_cls_ptto_face(const SPAposition&
from_point, FACE* face, SPAposition& to_point, AcisOptions* ao
= NULL);
outcome api_find_face( BODY* body, SPAunit_vector const&
direction, FACE*& face, AcisOptions* ao = NULL);
outcome api_find_named_attribute( ENTITY* ent, const
char* name, ATTRIB_GEN_NAME*& ret_att, AcisOptions* ao
= NULL);
outcome api_find_named_state(const char* name,
HISTORY_STREAM* hs, DELTA_STATE_LIST& dslist);
outcome api_find_vertex( BODY* body, SPAposition const&
pos, VERTEX*& vertex, AcisOptions* ao = NULL);
outcome api_fixup_intersection(int edge_knt, EDGE**
edge_array, FACE** tfaces, AcisOptions* ao= NULL);
outcome api_fix_blends( ENTITY_LIST const& ents,
AcisOptions* ao= NULL);
outcome api_flatten_body( BODY* body, AcisOptions* ao
= NULL);
outcome api_get_active_entities( HISTORY_STREAM const* hs,
ENTITY_LIST& ents, logical unowned_only= FALSE, AcisOptions* ao =
NULL);
PART* api_get_active_part();
outcome api_get_active_state( DELTA_STATE*& active_ds,
HISTORY_STREAM* hs= NULL);
outcome api_get_all_user_attributes( HISTORY_STREAM const*
hs, int derivation_level, int attrib_type_code, ENTITY_LIST&
attribs, logical active_only= TRUE, AcisOptions* ao = NULL);
outcome api_get_annotation_ctx( annotation_ctx*& list,
AcisOptions* = NULL);
outcome