|
Classes | |
| class | tube_options |
| Creates a data structure to facilitate generalizing selective Booleans. More... | |
Functions | |
| 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) |
| Does a selective Boolean operation on two bodies. | |
| outcome | api_create_graph_from_cells (ENTITY_LIST &cells, generic_graph *&graph, AcisOptions *ao=NULL) |
| Creates a graph (from cells) used in graph theory. | |
| outcome | api_create_graph_from_edges (ENTITY_LIST &edges, generic_graph *&graph, AcisOptions *ao=NULL) |
| Creates a graph (from edges) used in graph theory. | |
| outcome | api_create_graph_from_faces (ENTITY_LIST &faces, generic_graph *&graph, AcisOptions *ao=NULL) |
| Creates a graph (from faces) used in graph theory. | |
| outcome | api_initialize_sbooleans () |
| Initializes the Selective Booleans Component library. | |
| outcome | api_selective_boolean_stage1 (BODY *blank, BODY *tool, generic_graph *&graph, AcisOptions *ao=NULL) |
| Creates a graph for the first stage of selective Booleans from a tool body and a blank body. | |
| outcome | api_selective_boolean_stage2 (BODY *non_reg_unite_body, generic_graph *graph_of_cells_to_keep, AcisOptions *ao=NULL) |
| Completes the selective Boolean process for the cells selected. | |
| outcome | api_selective_boolean_stage2 (BODY *non_reg_unite_body, ENTITY_LIST &cells_to_keep, AcisOptions *ao=NULL) |
| Completes the selective Boolean process for the cells selected. | |
| outcome | api_selective_unite (BODY *tool, BODY *blank, int tnum, SPAposition *tpos, int bnum=0, SPAposition *bpos=NULL, AcisOptions *ao=NULL) |
| Unites two bodies with the given positions. | |
| outcome | api_subgraph_2dcell (const generic_graph *whole_graph, generic_graph *&partial_graph, AcisOptions *ao=NULL) |
| Returns a subgraph containing only the vertices that are 2D cells. | |
| outcome | api_subgraph_3dcell (const generic_graph *whole_graph, generic_graph *&partial_graph, AcisOptions *ao=NULL) |
| Returns a subgraph containing only the vertices that are 3D cells. | |
| outcome | api_subset_graph_with_plane (const generic_graph *whole_graph, const SPAposition &plane_origin, const SPAunit_vector &plane_normal, generic_graph *&partial_graph, AcisOptions *ao=NULL) |
| Finds the subset of a graph on one side of a plane. | |
| outcome | api_terminate_sbooleans () |
| Terminates the Selective Booleans Component library. | |
| 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 | |||
| ) |
Does a selective Boolean operation on two bodies.
Role: The API boolean_tube_body takes two bodies (blank and tube) as input and calls the selective Booleans stage1 once and stage2 the number_of_options times. Each time these selective Booleans are called, this function automatically sets up the subgraph from a set of options and start and end conditions.
If you pass multiple options into api_boolean_tube_body, the results will be found many times faster than calling it separately for each option.
Defining the operation (bool_type) using tube_options:
There are 3 types of cells, "only from the blank", "only from the tool", and "from both".
There are 4 possible bool_types, UNITE, LIMIT, INTERSECT, and SUBTRACT:
UNITE operation deals with the cells "only from the tool", adding the specified ones to the blank. Given a variable, opts, of type tube_options, call for example: opts->set_bool_type(UNITE). LIMIT operation is the same as UNITE except that all cells from the blank are discarded instead of kept. INTERSECT operation deals with "cells from both". Only the specified cells are kept. SUBTRACT operation deals with "cells from both". Start with the blank, and subtract the specified cells. TRUE if from tool. TRUE if from blank. TRUE if start cell. TRUE if end cell. TRUE, since we are doing a unite, and only cells from the tool are considered. FALSE, since we are doing a unite, and no cells from the blank are considered. TRUE if x1 is 0. TRUE if x1 is 3. law* keep_law = NULL;api_str_to_law("x!=x2",&keep_law)opts->set_keep_law( keep_law );keep_law->remove(); api_str_to_law("x5",&keep_law) api_str_to_law("x=1 or x6",&keep_law) FALSE. To keep branch cells use: opts->set_keep_branches(TRUE). | blank | blank body. | |
| tube | tube body. | |
| start_faces | start face. | |
| end_faces | end face. | |
| start_pos | array of start positions. | |
| number_of_starts | number of start positions. | |
| end_pos | array of end positions. | |
| number_of_ends | number of end positions. | |
| start_dir | start direction should be (0,0,0) if not cyclic. | |
| opts | options for tube. | |
| number_of_options | number of options. | |
| bodies | output bodies. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_create_graph_from_cells | ( | ENTITY_LIST & | cells, | |
| generic_graph *& | graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a graph (from cells) used in graph theory.
Role: This API creates a graph that can be used for graph theory operations and selective Booleans.
When creating a graph from cells, the list must contain cells from Cellular Topology. The ACIS topology is analyzed to determine which cells are connected. The connections between cells become edges (or dashes) of the graph.
Effect: Changes model
Journal: Available
| cells | cells to use. | |
| graph | graph. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_create_graph_from_edges | ( | ENTITY_LIST & | edges, | |
| generic_graph *& | graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a graph (from edges) used in graph theory.
Role: This API creates a graph used for graph theory operations and selective Booleans.
Effect: Changes model
Journal: Available
| edges | edges to use. | |
| graph | graph. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_create_graph_from_faces | ( | ENTITY_LIST & | faces, | |
| generic_graph *& | graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a graph (from faces) used in graph theory.
Role: This API creates a graph that can be used for graph theory operations and selective Booleans.
Effect: Changes model
Journal: Available
| faces | faces to use. | |
| graph | graph. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_initialize_sbooleans | ( | ) |
Initializes the Selective Booleans Component library.
Effect: System routine
Journal: Not Available
include <sboolapi.hxx>
| outcome api_selective_boolean_stage1 | ( | BODY * | blank, | |
| BODY * | tool, | |||
| generic_graph *& | graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a graph for the first stage of selective Booleans from a tool body and a blank body.
Role: This API creates a graph structure (e.g., graph theory) from the blank_body entity and the tool_body entity. Using Cellular Topology, distinctive cells of the blank_body and the tool_body become vertices of the graph. Overlapping portions of the cells become edges in the graph. Once the graph has been created, further graph theory operations can be performed to obtain a more desirable graph. This is then used as input to the second stage of selective Booleans, api_selective_boolean_stage2.
Errors: Pointer to tool or blank body is NULL or not to a BODY.
Effect: Changes model
Journal: Available
| blank | blank body. | |
| tool | tool body. | |
| graph | cell adjacency graph. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_selective_boolean_stage2 | ( | BODY * | non_reg_unite_body, | |
| generic_graph * | graph_of_cells_to_keep, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Completes the selective Boolean process for the cells selected.
Role: This function modifies the entity based on either the results of graph theory or a Cellular Topology cell list. When a cell list is used, only the cell entities in the list should be kept. When a graph is used, the resulting graph still maps to cells in the body and represents the cells to keep.
The mapping of cells in a graph to entities will not be the same from execution to execution.
Effect: Changes model
Journal: Available
| non_reg_unite_body | body to use. | |
| graph_of_cells_to_keep | graph cells to keep. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_selective_boolean_stage2 | ( | BODY * | non_reg_unite_body, | |
| ENTITY_LIST & | cells_to_keep, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Completes the selective Boolean process for the cells selected.
Role: This function modifies the entity based on either the results of graph theory or a Cellular Topology cell list. When a cell list is used, only the cell entities in the list should be kept. When a graph is used, the resulting graph still maps to cells in the body and represents the cells to keep.
The mapping of cells in a graph to entities will not be the same from execution to execution.
Effect: Changes model
Journal: Available
| non_reg_unite_body | body to use. | |
| cells_to_keep | cells to keep. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_selective_unite | ( | BODY * | tool, | |
| BODY * | blank, | |||
| int | tnum, | |||
| SPAposition * | tpos, | |||
| int | bnum = 0, |
|||
| SPAposition * | bpos = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Unites two bodies with the given positions.
Role: This selective union operation takes two bodies and two lists of positions. The lists of positions are used to specify the portions to keep after the Boolean operation. If the number of positions is zero, the operation will retain the entire body.
Effect: Changes model
Journal: Available
| tool | first body. | |
| blank | second body. | |
| tnum | number of position on tool to keep, 0 means keep all. | |
| tpos | positions. | |
| bnum | number of position on blank to keep, 0 means keep all. | |
| bpos | positions. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_subgraph_2dcell | ( | const generic_graph * | whole_graph, | |
| generic_graph *& | partial_graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a subgraph containing only the vertices that are 2D cells.
Effect: Read-only
Journal: Available
| whole_graph | input graph. | |
| partial_graph | output graph with 2d cells. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_subgraph_3dcell | ( | const generic_graph * | whole_graph, | |
| generic_graph *& | partial_graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a subgraph containing only the vertices that are 3D cells.
Effect: Read-only
Journal: Available
| whole_graph | input graph. | |
| partial_graph | output graph with 3d cells. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_subset_graph_with_plane | ( | const generic_graph * | whole_graph, | |
| const SPAposition & | plane_origin, | |||
| const SPAunit_vector & | plane_normal, | |||
| generic_graph *& | partial_graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Finds the subset of a graph on one side of a plane.
Role: The graph must first be split at that plane. It is assumed that the graph is made of entities which are either faces or cells.
Effect: Read-only
Journal: Available
| whole_graph | input graph. | |
| plane_origin | origin. | |
| plane_normal | plane normal. | |
| partial_graph | output graph. | |
| ao | acis options. |
include <sboolapi.hxx>
| outcome api_terminate_sbooleans | ( | ) |
Terminates the Selective Booleans Component library.
Effect: System routine
Journal: Not Available
include <sboolapi.hxx>