Home

intrapi.hxx File Reference

#include "acis.hxx"
#include "box_opts.hxx"
#include "ent_pt_dist_opts.hxx"
#include "sil_opts.hxx"
#include "rayfire_opts.hxx"
#include "dcl_intr.h"
#include "api.hxx"
#include "ptcont.hxx"
#include "ptfcenum.hxx"
#include "bl_enum.hxx"
#include "param.hxx"
#include "coedfield.hxx"
#include "pattern_enum.hxx"

Classes

class  param_info
 Data representing type and, in some cases, parameter information about a point on an ENTITY. More...

Enumerations

enum  clash_behaviour
 Enumeration of the different behavior settings for api_clash_bodies. More...
enum  clash_mode
 Enumeration of the different levels of detail/speed available for api_clash_bodies. More...
enum  entity_clash_type
 Enumeration of the different ways in which a pair of EDGE or FACE entities can be classified during clash detection. More...

Functions

outcome api_body_mass_props (BODY *body, mass_props &mp, mass_props_options *mpo=NULL, AcisOptions *ao=NULL)
 Determines the mass properties of a body.
outcome api_check_cur_smoothness (EDGE *given_edge, curve_irregularities *&cirr, int &no_pts, AcisOptions *ao=NULL)
 Analyzes a curve for C1 or G1 discontinuities.
outcome api_check_edge (EDGE *edge, insanity_list *&ilist, AcisOptions *ao=NULL)
 Checks an edge's underlying curve for various conditions that could cause errors in other ACIS operations.
outcome api_check_edge (EDGE *edge, check_status_list *&list, AcisOptions *ao=NULL)
 Checks edge geometry for various conditions that could cause errors in other ACIS operations.
outcome api_check_entity (const ENTITY *given_entity, insanity_list *&list, AcisOptions *ao=NULL)
 Calls the ACIS Checker.
outcome api_check_face (FACE *face, insanity_list *&ilist, AcisOptions *ao=NULL)
 Checks a face's underlying surface for various conditions that could cause errors in other ACIS operations.
outcome api_check_face (FACE *face, check_status_list *&list, AcisOptions *ao=NULL)
 Checks face geometry for various conditions that could cause errors in other ACIS operations.
outcome api_check_wire_self_inters (BODY *body, AcisOptions *ao=NULL)
 Evaluates a wire BODY for self intersections.
outcome api_check_wire_self_inters (WIRE *wire, AcisOptions *ao=NULL)
 Evaluates a WIRE for self intersections.
outcome api_clash_bodies (BODY *body_a, BODY *body_b, body_clash_result &clash_result, clash_mode mode=CLASH_CLASSIFY_SUB_ENTITIES, clash_behaviour behaviour=CLASH_IGNORE_WIRES, AcisOptions *ao=NULL)
 Determines whether two bodies clash, and optionally how they clash if so.
outcome api_clash_faces (FACE *face_a, FACE *face_b, entity_clash_type &clash_result, AcisOptions *ao=NULL)
 Determines whether and how two faces clash.
outcome api_create_boundary_field (ENTITY_LIST &coeds, law **field_laws, double draft, ENTITY_LIST &cons_eds, int global, law **&out_law, AcisOptions *ao=NULL)
 Generates a vector field around the coedges of a wire or face.
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)
 Generates a vector field around the coedges of a wire or face.
outcome api_create_boundary_field (WIRE *in_wire, fieldtype ftype, int rev, double draft, SPAvector &uniform_vec, ENTITY_LIST &cons_eds, int global, law **&out_law, AcisOptions *ao=NULL)
 Generates a vector field around the coedges of a wire.
outcome api_create_boundary_field (FACE *in_fas, fieldtype ftype, int rev, double draft, SPAvector &uniform_vec, ENTITY_LIST &cons_eds, int global, law **&out_law, AcisOptions *ao=NULL)
 Generates a vector field around the coedges of a face.
outcome api_crv_self_inters (CURVE *crv, double start_par, double end_par, curve_curve_int *&self_intersection, AcisOptions *ao=NULL)
 Locates self-intersections of a CURVE.
outcome api_ed_self_inters (EDGE *edge, curve_curve_int *&self_intersection, AcisOptions *ao=NULL)
 Determines if a curve that defines an edge self-intersects.
outcome api_edent_rel (EDGE *edge, ENTITY *entity, edge_entity_rel *&rel, AcisOptions *ao=NULL)
 Determines the relationship between a given EDGE and a given APOINT, EDGE, FACE, or BODY.
outcome api_edge_convexity_param (EDGE *edge, double p, bl_ed_convexity &cxty, AcisOptions *ao=NULL)
 Analyzes the convexity of an edge at a given parameter value.
outcome api_edge_tangent (EDGE *edge, logical &is_tangent, double tolerance=SPAresnor, AcisOptions *acis_options=NULL)
 Test an edge for tangency conditions.
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)
 Gets the minimum distance between two entities and the closest positions on those entities.
outcome api_entity_entity_touch (ENTITY *ent1, ENTITY *ent2, logical &touch, AcisOptions *ao=NULL)
 Determines if two entities are "touching" (the distance between them is less than 2 * SPAresabs).
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)
 Computes the position of the extremum of the entities in the given direction.
outcome api_entity_extrema (ENTITY *ent, int nvec, SPAvector *in_vec, SPAposition &on_pos, param_info &info=*(param_info *) NULL_REF, AcisOptions *ao=NULL)
 Computes the position of the extremum of the entity in the given direction.
outcome api_entity_point_distance (ENTITY_LIST const &entl, int num_points, const SPAposition in_points[], SPAposition closest_pos[], double distances[], param_info ent_infos[]=(param_info *) NULL_REF, SPAentity_point_distance_options *epdo=NULL, AcisOptions *ao=NULL)
 Computes the minimum distances and the closest positions between given entities and each point in a list.
outcome api_entity_point_distance (ENTITY *ent, int num_points, const SPAposition in_points[], SPAposition closest_pos[], double distances[], param_info ent_infos[]=(param_info *) NULL_REF, SPAentity_point_distance_options *epdo=NULL, AcisOptions *ao=NULL)
 Computes the minimum distances and the closest positions between an entity and each point in a list.
outcome api_entity_point_distance (ENTITY *ent, SPAposition &in_point, SPAposition &closest_pos, double &distance, param_info &ent_info, SPAentity_point_distance_options *epdo, AcisOptions *ao=NULL)
 Gets the minimum distance between an entity and a point, and the closest position on the entity to the point.
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)
 Gets the minimum distance between an entity and a point, and the closest position on the entity to the point.
outcome api_face_nu_nv_isolines (int nu, int nv, FACE *face, const SPAtransf &ftrans, ENTITY_LIST *edge_list, AcisOptions *ao=NULL)
 Generates a list of edges that lie on the isoparametric curves and are trimmed to the boundaries of the face.
outcome api_face_u_iso (double v, FACE *face, const SPAtransf &ftrans, ENTITY_LIST *edge_list, AcisOptions *ao=NULL)
 Generates a list of edges that lie on a u-parametric curve and are trimmed to the boundary of a face.
outcome api_face_v_iso (double u, FACE *face, const SPAtransf &ftrans, ENTITY_LIST *edge_list, AcisOptions *ao=NULL)
 Generates a list of edges that lie on a v-parametric curve and are trimmed to the boundary of a face.
outcome api_facet_curve (const curve &crv, double a, double b, double tol, int nmax, int &npts, SPAposition pts[], double t[], AcisOptions *ao=NULL)
 Creates facets for a curve.
outcome api_find_cls_ptto_face (const SPAposition &from_point, FACE *face, SPAposition &to_point, AcisOptions *ao=NULL)
 Determines the point on face nearest a given point in space.
outcome api_get_entity_box (const ENTITY_LIST &ent_list, WCS *wcs, SPAposition &min_pt, SPAposition &max_pt, logical tight_box=FALSE, AcisOptions *ao=NULL)
 Computes a bounding box containing the entities.
outcome api_get_entity_box (ENTITY *entity, SPAposition &min_pt, SPAposition &max_pt, SPAboxing_options *box_options=NULL, AcisOptions *ao=NULL)
 Computes a bounding box containing the entity.
outcome api_get_entity_box (const ENTITY_LIST &ent_list, SPAposition &min_pt, SPAposition &max_pt, SPAboxing_options *box_options=NULL, AcisOptions *ao=NULL)
 Computes a bounding box containing the entities.
outcome api_get_ents (SPAposition const &ray_point, SPAunit_vector const &ray_direction, double ray_radius, int type_wanted, BODY *target_body, ENTITY_LIST &entities_hit, double *&ray_parameters, AcisOptions *ao=NULL)
 Gets a list of hits of a specified entity type by firing a ray at a body.
outcome api_initialize_intersectors ()
 Initializes the intersector library.
outcome api_inter_ed_ed (EDGE *e1, EDGE *e2, curve_curve_int *&inters, AcisOptions *ao=NULL)
 Intersects two edges, producing a list of curve-curve intersection records.
outcome api_intersect_curves (EDGE *crv1, EDGE *crv2, logical bounded, curve_curve_int *&inters, AcisOptions *ao=NULL)
 Intersects two edges or two curves, producing a list of curve-curve intersection records.
outcome api_point_in_body (SPAposition const &test_point, BODY *target_body, point_containment &pc, logical use_boxes=TRUE, AcisOptions *ao=NULL)
 Determines whether the given point lies inside, outside, or on the boundary of a given body.
outcome api_point_in_face (SPAposition const &test_point, FACE *test_face, SPAtransf const &face_trans, point_face_containment &cont_answer, SPApar_pos const &test_uv_guess, SPAposition const &prev_point_input, point_face_containment prev_cont, logical use_cache=FALSE, int cache_size=10, AcisOptions *ao=NULL)
 Determines the relationship of a position within a given face's surface.
outcome api_point_in_face (SPAposition const &test_point, FACE *test_face, SPAtransf const &face_trans, point_face_containment &cont_answer, SPApar_pos const &test_uv_guess=*(SPApar_pos *) NULL_REF, logical use_cache=FALSE, int cache_size=10, AcisOptions *ao=NULL)
 Determines the relationship of a position within a given face's surface.
outcome api_ptent_rel (APOINT *point, ENTITY *entity, point_entity_rel *&rel, AcisOptions *ao=NULL)
 Determines the relationship of given point to a given entity (POINT, EDGE, FACE, or BODY).
outcome api_ray_fire (ENTITY_LIST &target_entitylist, ray const &test_ray, entity_hit_list &hits, rayfire_options *ro=NULL, AcisOptions *ao=NULL)
 Gets the list of entities that are hit when a ray is fired at an ENTITY_LIST.
outcome api_ray_fire (ENTITY *target_entity, ray const &test_ray, entity_hit_list &hits, rayfire_options *ro=NULL, AcisOptions *ao=NULL)
 Gets the list of entities that are hit when a ray is fired at a body.
outcome api_ray_test_body (SPAposition const &ray_point, SPAunit_vector const &ray_direction, double ray_radius, int hits_wanted, BODY *target_body, ENTITY_LIST &entities_hit, double *&ray_parameters, AcisOptions *ao=NULL)
 Gets the list of entities that are hit when a ray is fired at a body.
outcome api_ray_test_ents (SPAposition const &ray_point, SPAunit_vector const &ray_direction, double ray_radius, int hits_wanted, int n_target_ents, ENTITY *target_ents[], ENTITY_LIST &entities_hit, double *&ray_parameters, AcisOptions *ao=NULL)
 Gets the list of entities that are hit when a ray is fired at one or more entities.
outcome api_raytest_body (SPAposition const &ray_point, SPAunit_vector const &ray_direction, double ray_radius, int hits_wanted, BODY *target_body, hit *&hit_list, AcisOptions *ao=NULL)
 Gets the list of hits when a ray is fired at a body.
outcome api_raytest_ents (SPAposition const &ray_point, SPAunit_vector const &ray_direction, double ray_radius, int hits_wanted, int n_target_ents, ENTITY *target_ents[], hit *&hit_list, AcisOptions *ao=NULL)
 Gets the list of hits when a ray is fired at one or more entities.
outcome api_silhouette_edges (FACE *face, const SPAtransf &ftrans, const SPAposition &from_point, const SPAposition &to_point, int projection_type, ENTITY_LIST *edgelist, silhouette_options *sil_opts, AcisOptions *ao=NULL)
 Generates a list of silhouette edges for a given face.
outcome api_silhouette_edges (FACE *face, const SPAtransf &ftrans, const SPAposition &from_point, const SPAposition &to_point, int projection_type, ENTITY_LIST *edgelist, AcisOptions *ao=NULL)
 Generates a list of silhouette edges for a given face.
outcome api_terminate_intersectors ()
 Terminates the intersector library.

Variables

option_header epd_allow_multithreading
 If this option header is set to FALSE, the single threaded entity point distance algorithm will be used even if ACIS has multiple worker threads in use.

Detailed Description