All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

SPAkern Class WIRE

SPAbase.ACIS_OBJECT
  |
  +---SPAkern.ENTITY
    |
    +---WIRE
 

Usage: you can derive this class.


public class WIRE

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

Role: A wire represents a connected collection of unembedded edges. It is owned by a body or a shell, the latter necessarily if the wire is attached to corners of faces in the shell, or if it is internal to a lump (which will own the shell). Isolated wires used to be owned by bodies, and may remain so, though they might logically go into a shell owned by a lump owned by the body.

Usually each edge has one coedge. Coedges are linked in circular lists around each vertex using next and previous pointers according to which end of the coedge lies at the vertex. When Booleans are used to slice (imprint) one body with another, a wire is returned that has two coedges per edge; the coedges have attributes giving details of the intersections of the body boundaries at each edge.

See also:
COEDGE


Constructor and Destructor Index


o WIRE()
Constructs a WIRE (default constructor).
o WIRE(COEDGE*,WIRE*)
Constructs a WIRE from a list of COEDGEs and a connected WIRE already in the owning BODY.

Method Index


o body()
Returns the owner of this WIRE if the former is a BODY, otherwise NULL.
o bound()
Returns a geometric bounding region (box) for this WIRE.
o bulletin_no_change_vf(ENTITY const*,logical)
Virtual function for comparing subclass data - called by bulletin_no_change.
o coedge()
Returns a pointer to a COEDGE in this WIRE.
o cont()
Returns the containment information for this WIRE.
o copy_pattern_down(ENTITY*)
Obsolete: do not use.
o get_all_patterns(VOID_LIST&)
Obsolete: do not use.
o identity(int)
Returns a type identifier for this object.
o lose()
Posts a delete bulletin to the bulletin board indicating this WIRE is no longer used in the active model.
o next(PAT_NEXT_TYPE)
Returns a pointer to the next WIRE in a complete enumeration of all the WIREs in a BODY or SHELL.
o next_in_list(PAT_NEXT_TYPE)
Returns a pointer to the next WIRE in the list of WIREs contained directly by a BODY, SHELL, or SUBSHELL.
o owner()
Returns a pointer to the owning entity.
o restore_common()
Restores this WIRE from a SAT file.
o set_body(BODY*)
Sets the this WIRE's owning BODY to the specified BODY.
o set_bound(SPAbox*)
Sets the bounding region (box) of this WIRE to the specified box.
o set_coedge(COEDGE*)
Sets the first COEDGE in the list of COEDGEs belonging to this WIRE.
o set_cont(WIRECONTBIT)
Sets the containment for this WIRE.
o set_next(WIRE*,logical)
Sets the next WIRE in the BODY's list of WIREs to the given WIRE.
o set_owner(ENTITY*)
Set this WIRE's owner to be the specified BODY or SHELL.
o set_pattern(pattern*,logical)
Obsolete: do not use.
o set_shell(SHELL*,logical)
Sets the this WIRE's owning SHELL to the specified SHELL.
o set_subshell(SUBSHELL*)
Sets the SUBSHELL directly containing this WIRE to be the given SUBSHELL.
o shell()
Return a pointer to the owning SHELL.
o subshell()
Returns a pointer to the SUBSHELL directly containing this WIRE.
o type_name()
Returns the string "wire".

Constructor and Destructor


o WIRE
public WIRE()
Constructs a WIRE (default constructor).

Role: Requests memory for this object but does not populate it. The allocation constructor is used primarily by restore. Applications should call this constructor only with the overloaded new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.
o WIRE
public WIRE(COEDGE* coedge,
WIRE* wire)
Constructs a WIRE from a list of COEDGEs and a connected WIRE already in the owning BODY.

Role: Requests memory for this object and populates it with the data supplied as the argument. Applications should call this constructor only with the overloaded new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.

Creates and initializes a WIRE, setting its COEDGE back pointers. The arguments define the first COEDGE in this WIRE and the next WIRE in a list of WIREs on the BODY, respectively.

Parameters:
coedge
the first COEDGE in the constructed WIRE.
wire
the next WIRE in the owning BODY.

Methods


o body
public BODY * body()const
Returns the owner of this WIRE if the former is a BODY, otherwise NULL.

Role: Each WIRE may belong to only one BODY.
o bound
public SPAbox * bound()
Returns a geometric bounding region (box) for this WIRE.

Role: Returns a box that includes the entire WIRE (with respect to the internal coordinate system of the BODY). The return may be NULL if the bound was not calculated since the WIRE was last modified.
o bulletin_no_change_vf
protected virtual logical bulletin_no_change_vf(ENTITY const* other,
logical identical_comparator) const
Virtual function for comparing subclass data - called by bulletin_no_change.

Role: For the identical_comparator argument to be TRUE, it requires an exact match when comparing doubles and returns the result of memcmp as a default (for non-overridden subclasses). FALSE indicates tolerant compares and returns FALSE as a default.

Parameters:
other
other entity.
identical_comparator
comparator.
o coedge
public COEDGE * coedge()
Returns a pointer to a COEDGE in this WIRE.

Role: No significance is placed upon the choice of this COEDGE, which may change during modeling operations.
o cont
public WIRECONTBIT cont()
Returns the containment information for this WIRE.

Role: A return value of ALL_OUTSIDE indicates that the WIRE represents material in space, while ALL_INSIDE indicates that the WIRE represents an infinitesimally small hole through material.
o copy_pattern_down
public logical copy_pattern_down(ENTITY* target) const
Obsolete: do not use.

Role: Copies the pattern through all children of the target entity.

Parameters:
target
target.
o get_all_patterns
public void get_all_patterns(VOID_LIST& list)
Obsolete: do not use.

Role: Returns all patterns in the list.

Parameters:
list
pattern list.
o identity
public virtual int identity(int level= 0 )const
Returns a type identifier for this object.

Role: If level is unspecified or 0, returns the type identifier WIRE_TYPE. If level is specified, returns WIRE_TYPE for that level of derivation from ENTITY. The level of this class is defined as WIRE_LEVEL.

Parameters:
level
the derivation level at which the object is to be identified.
o lose
public virtual void lose()
Posts a delete bulletin to the bulletin board indicating this WIRE is no longer used in the active model.

Role: The lose methods for attached attributes are also called.
o next
public WIRE* next(PAT_NEXT_TYPE next_type= PAT_CAN_CREATE) const
Returns a pointer to the next WIRE in a complete enumeration of all the WIREs in a BODY or SHELL.

Role: The order is not defined and may change when SUBSHELLs are recomputed.

The next_type argument controls how the next method treats patterns, and can take any one of three values:

PAT_CAN_CREATE: If the next wire is to be generated from a pattern, create it if it doesn't yet exist and return its pointer.
PAT_NO_CREATE: If the next wire is to be generated from a pattern, but hasn't yet been created, bypass it and return the pointer of the next already-created wire (if any).
PAT_IGNORE: behave as though there is no pattern on the wire.

Parameters:
next_type
(see Role).
o next_in_list
public WIRE * next_in_list(PAT_NEXT_TYPE = PAT_CAN_CREATE)
Returns a pointer to the next WIRE in the list of WIREs contained directly by a BODY, SHELL, or SUBSHELL.

Role: The next_type argument controls how the next method treats patterns, and can take any one of three values:

PAT_CAN_CREATE:
If the next wire is to be generated from a pattern, create it if it doesn't yet exist and return its pointer.
PAT_NO_CREATE:
If the next wire is to be generated from a pattern, but hasn't yet been created, bypass it and return the pointer of the next already-created wire (if any).
PAT_IGNORE:
Behave as though there is no pattern on the wire.

Parameters:
next_type
(see Role).
o owner
public ENTITY * owner()const
Returns a pointer to the owning entity.
o restore_common
public void restore_common()
Restores this WIRE from a SAT file.

Role: The RESTORE_DEF macro expands to the restore_common method, which is used in reading information from a SAT file. This method is never called directly. It is called by a higher hierarchical function if an item in the SAT file is determined to be of this class type. An instance of this class will already have been created through the allocation constructor. This method then populates the class instance with the appropriate data from the SAT file.
    if (restore_version_number >= PATTERN_VERSION
       read_ptr  APATTERN index
       if (apat_idx != (APATTERN*)(-1)))
          restore_cache();
    read_ptr  Pointer to record in save file for next WIRE in body, shell or subshell
    read_ptr  Pointer to record in save file for first COEDGE in wire
    read_ptr  Pointer to record in save file for (ENTITY) body or shell containing wire
    if (restore_version_number >= WIREBOOL_VERSION)
       read_ptr  Pointer to record in save file for SUBSHELL containing wire
       read_logical  ("out" "in") Containment of wire
    else
       Pointer to SUBSHELL set to NULL and containment of wire set to ALL_OUTSIDE.
o set_body
public void set_body(BODY* body)
Sets the this WIRE's owning BODY to the specified BODY.

Role: Before performing the change, it checks if the data structure is posted on the bulletin board. If not, the method calls backup to put an entry on the bulletin board.

Parameters:
body
the new parent BODY.
o set_bound
public void set_bound(SPAbox* in_box)
Sets the bounding region (box) of this WIRE to the specified box.

Role: Sets the WIRE's SPAbox pointer to point to the given SPAbox. Before performing the change, it checks if the data structure is posted on the bulletin board. If not, the method calls backup to put an entry on the bulletin board.

Parameters:
box
the new SPAbox.
o set_coedge
public void set_coedge(COEDGE* coedge)
Sets the first COEDGE in the list of COEDGEs belonging to this WIRE.

Role: Before performing the change, it checks if the data structure is posted on the bulletin board. If not, the method calls backup to put an entry on the bulletin board.

Parameters:
coedge
the new COEDGE.
o set_cont
public void set_cont(WIRECONTBIT cont)
Sets the containment for this WIRE.

Parameters:
cont
the new containment.
o set_next
public void set_next(WIRE* wire,
logical reset_pattern= TRUE)
Sets the next WIRE in the BODY's list of WIREs to the given WIRE.

Role: Before performing the change, it checks if the data structure is posted on the bulletin board. If not, the method calls backup to put an entry on the bulletin board.

Parameters:
wire
the new next WIRE.
reset_pattern
internal use only.
o set_owner
public void set_owner(ENTITY* owner)
Set this WIRE's owner to be the specified BODY or SHELL.

Parameters:
owner
the new owning ENTITY.
o set_pattern
public void set_pattern(pattern* in_pat,
logical keep_pointer= TRUE)
Obsolete: do not use.

Role: Sets the pattern to be the specified pattern.

Parameters:
in_pat
pattern.
keep_pointer
internal use only.
o set_shell
public void set_shell(SHELL* shell,
logical reset_pattern= TRUE)
Sets the this WIRE's owning SHELL to the specified SHELL.

Parameters:
shell
the new parent SHELL.
reset_pattern
internal use only.
o set_subshell
public void set_subshell(SUBSHELL* subshell)
Sets the SUBSHELL directly containing this WIRE to be the given SUBSHELL.

Parameters:
subshell
the new parent SUBSHELL.
o shell
public SHELL * shell()const
Return a pointer to the owning SHELL.

Role: Returns NULL if the owning ENTITY is not a SHELL.
o subshell
public SUBSHELL * subshell()
Returns a pointer to the SUBSHELL directly containing this WIRE.

Role: Returns NULL if the WIRE is directly contained by its ENTITY, BODY, or SHELL.
o type_name
public virtual const char * type_name()const
Returns the string "wire".

This object is included in the file: wire.hxx

Copyright (c) 1989-2007 by Spatial Corp. All rights reserved.