Home

BoolOptions Class Reference
[Boolean Options]

Class to hold information and options for a Boolean operation. More...

#include <bool_api_options.hxx>

Inheritance diagram for BoolOptions:

Inheritance graph
[legend]
Collaboration diagram for BoolOptions:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 BoolOptions ()
 Default constructor.
void get_associated_entities (ENTITY *ent, ENTITY_LIST &assoc_ents)
 Return the list of associated entities with a given entity for an imprinting operation.
body_clash_type get_clash_info () const
 Returns the value of the clash info.
void get_imprinted_entities (bool_body_type body_type, ENTITY_LIST &edges)
 Return the list of the imprinted entities from a body specified by the enum bool_body_type.
bool_merge_type get_merge_type ()
 Queries the merge type.
logical get_track_entities () const
 Return the current status of the track_entities flag.
void list_merge_candidates (ENTITY_LIST &candidates)
 Retrieves a list of merge candidates left over from a Boolean carried out with a delayed merge.
double near_coincidence_fuzz () const
 Returns the value of the near coincidence fuzz.
void reset_outputs ()
 Removes any items from the options which were used as outputs from a previous Boolean operation.
void set_merge_type (bool_merge_type mt)
 Sets the merge type.
void set_near_coincidence_fuzz (double fuzz)
 Sets the value of the near coincidence fuzz.
void set_track_entities (logical te)
 Set the track_entities flag.
virtual ~BoolOptions ()
 Destructor.


Detailed Description

Class to hold information and options for a Boolean operation.


Role: A BoolOptions object supplies information to, and retrieves information from, a given Boolean operation.

This class can be used to specify a near coincidence fuzz value. If this value is set and is greater than SPAresabs then it is used as a hint to the Boolean that pairs of entities that are coincident to within the fuzz value may be regarded as coincident. The Boolean may then force coincidence by adding tolerances where necessary. Depending on the situation the fuzz value may be ignored by the Boolean (for instance, if forcing coincidence would result in the creation of bad geometry). The default value for this parameter is 0.

The class can be used to control whether merging is done by the Boolean operation. This is controlled by the merge type parameter. This parameter may have one of four possible settings:

The default value for the merge type is bool_merge_unset.

The class can be used to return lists of imprinted edges or/and vertices after an imprint operation. (A vertex is included in the list if the imprint operation resulted in a degenerate edge in one of the bodies.) This functionality is controlled by the flag set by set_track_entities method and retrieved by get_track_entities method. The default value for the track entities parameter is FALSE. The lists are obtained by the method get_imprinted_entities(bool_body_type, ENTITY_LIST&). The enum bool_body_type controls whether the entities to be returned are from the blank body or tool body. In either case the associated entities (that is, the entities in the other body) can be retrived by calling the method get_associated_entities(ENTITY *, ENTITY_LIST&).

The class can be used to return information on whether the blank and tool bodies clash following a Boolean operation. This is returned via the get_clash_info method.

Constructor & Destructor Documentation

BoolOptions::BoolOptions (  ) 

Default constructor.

virtual BoolOptions::~BoolOptions (  )  [virtual]

Destructor.


Member Function Documentation

void BoolOptions::get_associated_entities ( ENTITY ent,
ENTITY_LIST assoc_ents 
)

Return the list of associated entities with a given entity for an imprinting operation.

body_clash_type BoolOptions::get_clash_info (  )  const [inline]

Returns the value of the clash info.

void BoolOptions::get_imprinted_entities ( bool_body_type  body_type,
ENTITY_LIST edges 
)

Return the list of the imprinted entities from a body specified by the enum bool_body_type.

bool_merge_type BoolOptions::get_merge_type (  )  [inline]

Queries the merge type.

See the documentation for bool_merge_type.

logical BoolOptions::get_track_entities (  )  const

Return the current status of the track_entities flag.

void BoolOptions::list_merge_candidates ( ENTITY_LIST candidates  ) 

Retrieves a list of merge candidates left over from a Boolean carried out with a delayed merge.

double BoolOptions::near_coincidence_fuzz (  )  const [inline]

Returns the value of the near coincidence fuzz.

void BoolOptions::reset_outputs (  ) 

Removes any items from the options which were used as outputs from a previous Boolean operation.

void BoolOptions::set_merge_type ( bool_merge_type  mt  )  [inline]

Sets the merge type.

See the documentation for bool_merge_type. The default value is bool_merge_unset.

void BoolOptions::set_near_coincidence_fuzz ( double  fuzz  ) 

Sets the value of the near coincidence fuzz.

The default value is 0.

void BoolOptions::set_track_entities ( logical  te  ) 

Set the track_entities flag.

The default value is FALSE.