Home

ATTRIB_CONST_ROUND Class Reference
[Blending]

Defines a circular rolling-ball blend of constant radius. More...

#include <ro_const.hxx>

Inheritance diagram for ATTRIB_CONST_ROUND:

Inheritance graph
[legend]
Collaboration diagram for ATTRIB_CONST_ROUND:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void add ()
 If this ENTITY is use counted, adds one to the count.
virtual logical apply_transform (const SPAtransf &t, ENTITY_LIST &list, logical negate=FALSE, logical reset_pattern=TRUE)
 Transforms this ENTITY.
ATTRIBattrib () const
 Returns this ENTITY's attribute pointer, or NULL if there is no attached attribute.
 ATTRIB_CONST_ROUND (ATTRIB_CONST_ROUND const *attr)
 C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.
 ATTRIB_CONST_ROUND (ENTITY *ent_name=NULL, double rad=0, double set_start=0, double set_end=0, FACE *left_face=NULL, FACE *right_face=NULL, double start_diff=0, double end_diff=0, logical set_setstart=TRUE, logical set_setend=TRUE, blend_how mid_blend=bl_how_default, double start_angle=0.0, double stop_angle=0.0)
 C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
ENTITYbackup ()
 Creates a duplicate record and a change bulletin, if needed, as a backup for roll back.
bl_end_condition bl_end_con_at_end () const
 Returns the bl_end_con_at_end_data data, which records the condition at the end of the blend.
bl_end_condition bl_end_con_at_start () const
 Returns the bl_end_con_at_start_data data, which records the condition at the start of the blend.
blend_how bl_how () const
 Returns the bl_how_data, which is the mid-blend behavior.
blend_status bl_status () const
 Read function for a data member, returns bl_stat.
virtual double blend_size (logical start) const
 Returns a measure of the size of the blend cross-section (how far the blend spine may be from the underlying surfaces).
virtual double blend_size_at_vtx (logical at_start=TRUE) const
 Returns a measure of the size of the blend at one end of the edge.
int bulletin_count () const
 Returns the number of bulletins referring to this ENTITY.
virtual logical call_method (METHOD_ID const &, METHOD_ARGS const &)
 Executes the implementation function for a routine virtual method.
virtual bl_continuity continuity (int sup_index) const
 Returns the continuity of the blend at the spring curves.
logical convex () const
 Returns TRUE if the blend is convex; otherwise, it returns FALSE.
virtual ATTRIB_BLENDcopy () const
 Copies a blend and sets the implicit blend data only without attaching the copy to an entity.
virtual ENTITYcopy_data (ENTITY_LIST &, pointer_map *pm=NULL, logical dpcpy_skip=FALSE, SCAN_TYPE reason=SCAN_COPY) const
 Allocates a new ENTITY and calls copy_common to fill it in.
virtual void copy_owner (ENTITY *copy_ent)
 Notifies this ATTRIB that its owning ENTITY has been copied.
virtual void copy_scan (ENTITY_LIST &, SCAN_TYPE reason=SCAN_COPY, logical dpcpy_skip=FALSE) const
 Adds dependent ENTITYs of this ENTITY to the list of ENTITYs to be copied.
virtual logical copyable () const
 Indicates whether this attribute should be included when the owning entity is copied.
bl_ed_convexity cvxty () const
 Returns the blend convexity, which derives from the convexity of the owning edge if any; otherwise, it is found from adjacent blends or is given explicitly.
bl_ed_convexity cvxty ()
 Returns the blend convexity,non-const version.
virtual void debug_ent (FILE *) const
 Prints the type and address of this ENTITY, roll back pointer, attributes, and any unknown subtype information.
plane def_plane ()
 Returns the reference plane, non-const version.
plane def_plane () const
 Returns the reference plane, which is necessary if the owning entity is not an edge.
virtual logical deletable () const
 Indicates whether this ATTRIB is independently deletable of its owner.
virtual logical duplicatable () const
 Indicates whether this ATTRIB can be duplicated.
ATTRIBduplicate (ENTITY *new_ent) const
 Duplicate this attribute onto the given ENTITY.
double end_stop_angle () const
 Returns the end_stop_angle_data (for stopped blends, this is the end angle of the stopping plane).
ENTITYentity () const
 Returns a pointer to the ENTITY that owns this ATTRIB.
virtual void fix_pointers (ENTITY *[], SCAN_TYPE reason=SCAN_COPY)
 Converts pointers from copy indices into real pointers.
virtual void from_tolerant_owner (ENTITY *non_tol_ent)
 Notifies this ATTRIB that its owning ENTITY is being replaced with a non-tolerant ENTITY.
copy_action get_copy_owner_action (void) const
 Get the current copy_owner action for this attribute.
err_mess_type get_error_mess () const
 The blend attribute can record an error.
tolerant_action get_from_tolerant_owner_action (void) const
 Get the current from_tolerant_owner action for this attribute.
geometry_changed_action get_lop_change_owner_action (void) const
 Get the current lop_change_owner action for this attribute.
merge_action get_merge_owner_action (void) const
 Get the current merge_owner action for this attribute.
geometry_changed_action get_rep_owner_geom_action (void) const
 Get the current replace_owner_geometry action for this attribute.
replace_action get_replace_owner_action (void) const
 Get the current replace_owner action for this attribute.
geometry_changed_action get_reverse_owner_action (void) const
 Get the current reverse_owner action for this attribute.
split_action get_split_owner_action (void) const
 Get the current split_owner action for this attribute.
tolerant_action get_to_tolerant_owner_action (void) const
 Get the current to_tolerant_owner action for this attribute.
trans_action get_trans_owner_action (void) const
 Get the current trans_owner action for this attribute.
geometry_changed_action get_warp_owner_action (void) const
 Get the current warp_owner action for this attribute.
HISTORY_STREAMhistory () const
 Returns a pointer to the history stream for this ENTITY.
virtual int identity (int=0) const
 Returns a type identifier for this ENTITY.
virtual logical is_circular () const
 Returns TRUE if the blend is circular.
virtual logical is_deepcopyable () const
 Returns TRUE if this ENTITY can be deep copied.
virtual logical is_use_counted () const
 Indicates if this ENTITY is use-counted or not.
virtual logical is_zero () const
 Tests if blend is of zero width.
virtual double lateral_size (COEDGE *coedge1) const
 Returns the lateral size.
FACEleft_face ()
 Returns the left face, non-const version.
FACEleft_face () const
 Returns the left face along which the blend runs.
SURFACEleft_tw_surf () const
 If this attribute is owned by a face and the current local operation is set, these functions get the (possibly) tweaked surface of the left support faces.
virtual int lookup (logical) const
 Looks up this ENTITY in the appropriate debug list.
BLEND_EDIT * lop () const
 Returns a lop_ptr.
virtual void lop_change_owner ()
 Notifies this ATTRIB that its owning ENTITY will be changed by a local operation, face removal, or shelling.
virtual void lose ()
 Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model.
virtual void merge_owner (ENTITY *entity, logical del_owner)
 Notifies this ATTRIB that its owning ENTITY is about to be merged with a given ENTITY.
virtual ATTRIBmove (ENTITY *new_entity)
 Moves this ATTRIB to a new owning ENTITY.
virtual logical moveable () const
 Returns TRUE if this ATTRIB is moveable from one owning ENTITY to another.
logical needs_rollback () const
 Checks whether or not the record is already backed up.
ATTRIBnext () const
 Returns the next attribute in this ATTRIB's linked list.
int nfaces () const
 Returns the number of blend sheet faces constructed for this blend.
logical no_out_of_body_ptrs () const
 Status indicator which notes whether the explicit blend geometry is any known to agree with the implicit blend geometry.
virtual logical operator== (ATTRIB_BLEND const &blend) const
 Tests two blends for equality.
virtual ENTITYowner () const
 Identifies the owning ENTITY, if any, of this ATTRIB.
virtual logical pattern_compatible () const
 Returns TRUE if the ATTRIB is pattern-compatible.
virtual logical pattern_copyable () const
 Returns TRUE if the ATTRIB is pattern-copyable.
ATTRIBprevious () const
 Returns the previous attribute in this ATTRIB's linked list.
double radius () const
 Returns the constant radius of the round.
virtual void remove (logical lose_if_zero=TRUE)
 Decrements the use count of this ENTITY.
virtual void replace_owner (ENTITY *other_entity, logical replace_owner)
 Notifies this ATTRIB that its owning ENTITY is being replaced.
virtual void replace_owner_geometry (ENTITY *new_geom)
 Notifies this ATTRIB that its owning ENTITY is being given new geometry, possibly changing its shape.
void restore_common ()
 Restores data for a record from disc to memory.
void restore_end (char *id_str)
 Terminates a restore record.
virtual void reverse ()
 Reverses the left-to-right properties of an asymmetric blend.
virtual void reverse_owner ()
 Notifies this ATTRIB that its owning entity's sense bit is about to be reversed.
FACEright_face ()
 Returns the right face, non-const version.
FACEright_face () const
 Returns the right face along which the blend runs.
SURFACEright_tw_surf () const
 If this attribute is owned by a face and the current local operation is set, these functions get the (possibly) tweaked surface of the right support faces.
BULLETIN *& rollback () const
 Returns the pointer to the bulletin board entry for this ENTITY.
virtual logical savable () const
 Indicates whether this ATTRIB should be included when the owning entity is saved.
virtual void save (ENTITY_LIST &) const
 Performs a save operation.
logical sbdiff_set_at_end () const
 Sets the different setback to the end.
logical sbdiff_set_at_start () const
 Sets the different setback to the start.
void set_attrib (ATTRIB *attr)
 Changes the attribute pointer of this ENTITY to point to the given attribute.
void set_bl_end_con_at_end (bl_end_condition bend_cond)
 Sets the bl_end_con_at_end_data data, which records the condition at the end of the blend.
void set_bl_end_con_at_start (bl_end_condition bend_cond)
 Sets the bl_end_con_at_start_data data, which records the condition at the start of the blend.
void set_bl_how (blend_how mblnd)
 Sets the mid-blend behavior.
copy_action set_copy_owner_action (const copy_action action)
 Set the copy_owner action for this attribute.
void set_cvxty (bl_ed_convexity con_val)
 Sets the blend convexity, which derives from the convexity of the owning edge if any; otherwise, it is found from adjacent blends or is given explicitly.
void set_def_plane (plane const &plane1)
 Defines a plane that cuts the blend.
void set_end_stop_angle (double angle)
 Sets the end_stop_angle_data (for stopped blends, this is the end angle of the stopping plane").
void set_ffblend (ENTITY *entity)
 Sets this ffblend on the given entity having first removed any existing ffblend attribute.
void set_ffblends (ENTITY_LIST const &list_entity) const
 Sets copies of this ffblend on a list of edges.
tolerant_action set_from_tolerant_owner_action (const tolerant_action action)
 Set the from_tolerant_owner action for this attribute.
void set_left_face (FACE *lface)
 Sets the value of the left face.
geometry_changed_action set_lop_change_owner_action (const geometry_changed_action action)
 Set the lop_change_owner action for this attribute.
merge_action set_merge_owner_action (const merge_action action)
 Set the merge_owner action for this attribute.
void set_radius (double rad)
 Sets the constant radius of the round.
geometry_changed_action set_rep_owner_geom_action (const geometry_changed_action action)
 Set the replace_owner_geometry action for this attribute.
replace_action set_replace_owner_action (const replace_action action)
 Set the replace_owner action for this attribute.
geometry_changed_action set_reverse_owner_action (const geometry_changed_action action)
 Set the reverse_owner action for this attribute.
void set_right_face (FACE *rface)
 Sets the value of the right face.
void set_sbdiff_set_at_end (logical reset_endsetbk)
 Resets the different setback to the end.
void set_sbdiff_set_at_start (logical reset_startsetbk)
 Resets the different setback to the start.
void set_setback_at_end (double setbk_end)
 Sets the value for the setback at end.
void set_setback_at_start (double setbk_start)
 Sets the value for the setback at start.
void set_setback_diff_at_end (double dsetbk_end)
 Sets the setback difference to the end.
void set_setback_diff_at_start (double dsetbk_start)
 Sets the setback difference to the start.
split_action set_split_owner_action (const split_action action)
 Set the split_owner action for this attribute.
void set_start_stop_angle (double angle)
 Sets the start_stop_angle_data (for stopped blends, this is the start angle of the stopping plane).
tolerant_action set_to_tolerant_owner_action (const tolerant_action action)
 Set the to_tolerant_owner action for this attribute.
trans_action set_trans_owner_action (const trans_action action)
 Set the trans_owner action for this attribute.
virtual void set_use_count (int use)
 Sets the reference use count of this ENTITY.
geometry_changed_action set_warp_owner_action (const geometry_changed_action action)
 Set the warp_owner action for this attribute.
double setback_at_end () const
 Returns the setback at end, a setback is meaningful only if the owner is an edge.
double setback_at_start () const
 Returns the setback at start, a setback is meaningful only if the owner is an edge.
double setback_diff_at_end () const
 Identifies the setback as different at end.
double setback_diff_at_start () const
 Identifies the setback as different at start.
FACEsheet_face (int index=0)
 Return a sheet face from the sheet face list.
FACE ** sheet_face_list () const
 Returns the sheet face list for this blend.
virtual unsigned size () const
 Returns the size, in bytes, of this ENTITY.
virtual void split_owner (ENTITY *entity)
 Notifies this ATTRIB that its owner is about to be split into two parts.
double start_stop_angle () const
 Returns the start_stop_angle_data (for stopped blends, this is the start angle of the stopping plane).
support_entity_stack * support_stack () const
 Returns the support_stack_ptr, which maintains a stack of support_entity lists for this attribute.
virtual int supports (ENTITY **&start_entity) const
 The "supports" of a blend are the entities the spring curves of the blend actually run along, which get added to the list.
tag_id_type tag (logical assign_new=TRUE) const
 Data reading routine.
virtual void to_tolerant_owner (ENTITY *tol_ent)
 Notifies this ATTRIB that its owning ENTITY is being replaced with a tolerant ENTITY.
virtual void trans_owner (SPAtransf const &)
 Notifies this ATTRIB that its owner is about to be transformed.
virtual void trans_owner_list (const SPAtransf &transf, ENTITY_LIST &e_list)
 Notifies this ATTRIB that its owner is about to be transformed.
virtual const char * type_name () const
 Returns a name for this ENTITY's type.
ATTRIBunhook ()
 Removes this ATTRIB from the chain of attributes of its owning ENTITY.
virtual int use_count () const
 Returns the use count of this ENTITY.
virtual SPAinterval v_param_range () const
 Return the v-parameter range.
virtual void warp_owner (law *warp)
 Notifies this ATTRIB that its owning ENTITY will be modified by warping.
virtual logical zero_end_rad_slope (logical start, double tolerance=SPAresabs) const
 Returns TRUE if the blend end radius slope is zero ( less than resabs) at the start point if at_start is TRUE, or at the end point if at_start is FALSE.
virtual logical zero_end_radius (logical start, double tol=SPAresabs) const
 Returns TRUE if the blend end radius is zero ( less than resabs) at the start point if at_start is TRUE, or at the end point if at_start is FALSE.

Static Public Member Functions

static MethodFunction add_method (METHOD_ID const &, MethodFunction)
 Registers an implementation function for a run-time virtual method.

Protected Member Functions

virtual logical bulletin_no_change_vf (const ENTITY *other, logical identical_comparator) const
 Compares subclass data.
void check_destroy () const
 Checks that entity deletion is legitimate.
void copy_common (ENTITY_LIST &list, const ENTITY *from, pointer_map *pm=NULL, logical dpcpy_skip=FALSE, SCAN_TYPE reason=SCAN_COPY)
 Fills in this ENTITY with data from the copied ENTITY, converting pointers into indices in the supplied ENTITY_LIST.
void fix_common (ENTITY *[], SCAN_TYPE reason=SCAN_COPY)
 Converts pointers from copy indices into real pointers.
void fixup_copy (ENTITY *rollback) const
 Fixes any pointers in the ENTITY after copying for backup.
virtual void full_size (SizeAccumulator &, logical) const
 Increments the SizeAccumulator by the size, in bytes, of everything owned by this ENTITY and, optionally, of the ENTITY itself.
virtual logical holds_pattern () const
 Returns TRUE if this entity can have a pattern_holder.
logical is_unknown_entity (void) const
 Returns TRUE if this is an unknown entity.
void roll_notify (BULLETIN_TYPE, ENTITY *)
 Fields notifications of rollback operations.
void save_begin (logical terminator=FALSE) const
 Starts a save record.
void save_common (ENTITY_LIST &) const
 Handles the save operation.
void save_end (ENTITY_LIST &list) const
 Terminates a save record.


Detailed Description

Defines a circular rolling-ball blend of constant radius.


Role: ATTRIB_CONST_ROUND is the blend attribute for constant radius rounds. This attribute records a circular, rolling ball blend of constant radius.

Finding the geometry of rounds proceeds as follows:

If the surfaces of the faces of the edge being blended each have simple offsets (i.e., the surfaces being offset are not spline surfaces or elliptical cones), and the spine curve given by their intersection is an ellipse or straight line, the spine is projected to each original surface to get the spring curves.

The spine and spring curves together with the blend radius determine the blend surface; however, if the offset surfaces are not simple or the spine is an intcurve, rolling ball surfaces are found by positioning the ball at a small number of points along the blend and then interpolating a pipe surface between those points.

This logic has the advantage that in many cases where the spine of a rolling ball surface is simple, the computation of the pipe surface is more robust especially where the radius of the rolling ball is close to the local radii of curvature on the contracted surfaces.


Constructor & Destructor Documentation

ATTRIB_CONST_ROUND::ATTRIB_CONST_ROUND ( ENTITY ent_name = NULL,
double  rad = 0,
double  set_start = 0,
double  set_end = 0,
FACE left_face = NULL,
FACE right_face = NULL,
double  start_diff = 0,
double  end_diff = 0,
logical  set_setstart = TRUE,
logical  set_setend = TRUE,
blend_how  mid_blend = bl_how_default,
double  start_angle = 0.0,
double  stop_angle = 0.0 
)

C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.



Role: Applications should call this constructor only with the overloaded new operator inherited from the ENTITY class (for example, x=new ATTRIB_CONST_ROUND(...)), because this reserves the memory on the heap, a requirement to support roll back and history management.

Parameters:
ent_name owner entity name.
rad radius.
set_start start setback.
set_end end setback.
left_face left face.
right_face right face.
start_diff start setback difference.
end_diff end setback difference.
set_setstart set start setback.
set_setend set end setback.
mid_blend set mid-blend behavior.
start_angle stop angle start.
stop_angle stop angle end.

ATTRIB_CONST_ROUND::ATTRIB_CONST_ROUND ( ATTRIB_CONST_ROUND const *  attr  ) 

C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.



Role: Applications should call this constructor only with the overloaded new operator inherited from the ENTITY class (for example, x=new ATTRIB_CONST_ROUND(...)), because this reserves the memory on the heap, a requirement to support roll back and history management.

Parameters:
attr existing attribute.


Member Function Documentation

virtual void ENTITY::add (  )  [virtual, inherited]

If this ENTITY is use counted, adds one to the count.



Role: If this ENTITY is not use counted, signals an error.

Every held pointer to a use counted ENTITY should be declared by calling add. There should a corresponding call to remove when the user is done with the pointer. For normal ENTITYs, simply call lose when the ENTITY is no longer part of the active model. For use counted ENTITYs, the implementations of add and remove come from macros in usecount.hxx. Use counted ENTITYs implemented without the macros should implement these virtual methods manually.

Reimplemented in CURVE, EE_LIST, SPAGROUP, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.

static MethodFunction ATTRIB_CONST_ROUND::add_method ( METHOD_ID const &  method_id,
MethodFunction  method_func 
) [static]

Registers an implementation function for a run-time virtual method.



Role: (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)

Parameters:
method_id method id.
method_func method function.

Reimplemented from ATTRIB_FFBLEND.

virtual logical ENTITY::apply_transform ( const SPAtransf t,
ENTITY_LIST list,
logical  negate = FALSE,
logical  reset_pattern = TRUE 
) [virtual, inherited]

Transforms this ENTITY.



Role: The ENTITY_LIST is used to prevent sub-entities from being transformed more than once. This method is not included with the standard ENTITY methods in order to allow nontransformable ENTITYs to use the default implementation. (Supplied by the TRANSFORM_FUNCTION and TRANSFORM_DEF macros.)

Parameters:
t the transform to apply.
list list of entities to which the transform has already been applied.
negate negation flag.
reset_pattern internal use only.

Reimplemented in ASM_ASSEMBLY, ASM_MODEL_REF, BODY, COEDGE, CURVE, EDGE, ERROR_ENTITY, FACE, LAW, LOOP, LUMP, APATTERN, PCURVE, APOINT, SHELL, SUBSHELL, SURFACE, TCOEDGE, TEDGE, TEXT_ENT, TVERTEX, VERTEX, WCS, and WIRE.

ATTRIB* ENTITY::attrib (  )  const [inline, inherited]

Returns this ENTITY's attribute pointer, or NULL if there is no attached attribute.

ENTITY* ENTITY::backup (  )  [inherited]

Creates a duplicate record and a change bulletin, if needed, as a backup for roll back.



Role: The duplication is done via the virtual function make_copy, to let each derived type do its own backup. Before performing a change, each routine checks whether the data structure is posted on the bulletin board. If not, the posting is done automatically. Called by all system change functions.

bl_end_condition ATTRIB_FFBLEND::bl_end_con_at_end (  )  const [inline, inherited]

Returns the bl_end_con_at_end_data data, which records the condition at the end of the blend.



Role: The values are defined in the enum bl_end_condition.

bl_end_condition ATTRIB_FFBLEND::bl_end_con_at_start (  )  const [inline, inherited]

Returns the bl_end_con_at_start_data data, which records the condition at the start of the blend.



Role: The values are defined in the enum bl_end_condition.

blend_how ATTRIB_FFBLEND::bl_how (  )  const [inline, inherited]

Returns the bl_how_data, which is the mid-blend behavior.

blend_status ATTRIB_BLEND::bl_status (  )  const [inline, inherited]

Read function for a data member, returns bl_stat.

virtual double ATTRIB_CONST_ROUND::blend_size ( logical  at_start  )  const [virtual]

Returns a measure of the size of the blend cross-section (how far the blend spine may be from the underlying surfaces).



Parameters:
at_start at start.

Reimplemented from ATTRIB_FFBLEND.

virtual double ATTRIB_FFBLEND::blend_size_at_vtx ( logical  at_start = TRUE  )  const [inline, virtual, inherited]

Returns a measure of the size of the blend at one end of the edge.



Role: For any constant-radius blends, this is equivalent to blend_size. This should only be called for derived classes.

Parameters:
at_start at start.

Reimplemented in ATTRIB_VAR_BLEND.

int ENTITY::bulletin_count (  )  const [inline, inherited]

Returns the number of bulletins referring to this ENTITY.

virtual logical ENTITY::bulletin_no_change_vf ( const ENTITY other,
logical  identical_comparator 
) const [protected, virtual, inherited]

Compares subclass data.



Role: This virtual method is called by bulletin_no_change. When the identical_comparator argument is TRUE, it requires an exact match when comparing doubles, and returns the result of memcmp as a default (for non-overridden subclasses). A FALSE argument indicates tolerant compares, in which case FALSE is returned by default.

Parameters:
other other ENTITY in the bulletin.
identical_comparator identity compare flag.

Reimplemented in BODY, COEDGE, CONE, CURVE, EDGE, ELLIPSE, FACE, HELIX, INTCURVE, LOOP, LUMP, PCURVE, PLANE, APOINT, SHELL, SPHERE, SPLINE, STRAIGHT, SUBSHELL, SURFACE, TCOEDGE, TEDGE, TORUS, TVERTEX, UNDEFC, VERTEX, and WIRE.

virtual logical ATTRIB_CONST_ROUND::call_method ( METHOD_ID const &  method_id,
METHOD_ARGS const &  method_args 
) [virtual]

Executes the implementation function for a routine virtual method.



Role: (Supplied by the ENTITY_FUNCTIONs and UTILITY_DEF macros).

Parameters:
method_id method id.
method_args method args.

Reimplemented from ATTRIB_FFBLEND.

void ENTITY::check_destroy (  )  const [inline, protected, inherited]

Checks that entity deletion is legitimate.



Role: This method complains if there is an attempt to delete an entity other than through the private member function destroy, which is carefully controlled.

virtual bl_continuity ATTRIB_CONST_ROUND::continuity ( int  sup_index  )  const [virtual]

Returns the continuity of the blend at the spring curves.

Reimplemented from ATTRIB_FFBLEND.

logical ATTRIB_FFBLEND::convex (  )  const [inherited]

Returns TRUE if the blend is convex; otherwise, it returns FALSE.

virtual ATTRIB_BLEND* ATTRIB_CONST_ROUND::copy (  )  const [virtual]

Copies a blend and sets the implicit blend data only without attaching the copy to an entity.

Reimplemented from ATTRIB_FFBLEND.

void ENTITY::copy_common ( ENTITY_LIST list,
const ENTITY from,
pointer_map pm = NULL,
logical  dpcpy_skip = FALSE,
SCAN_TYPE  reason = SCAN_COPY 
) [protected, inherited]

Fills in this ENTITY with data from the copied ENTITY, converting pointers into indices in the supplied ENTITY_LIST.



Role: Supports the copy operation. (Supplied by the ENTITY_FUNCTIONS and COPY_DEF macros.) Whenever the operation encounters a pointer to a dependent ENTITY, it find the index of the latter in the supplied ENTITY_LIST and sets the corresponding pointer in the copy to that index.

Parameters:
list list of ENTITYs being copied.
from original ENTITY being copied.
pm pointer map.
dpcpy_skip Used only by the base ENTITY and base ATTRIB class. No other derived entity or attribute should need to utilize this value. This logical indicates how non- deepcopyable attributes are handled during a deep copy. If TRUE, the copy will continue even if it encounters attributes marked as not deep-copyable. By default (FALSE), if any attributes that are found to be not deep-copyable, a sys_error will be thrown. (This flag only effects how attributes are handled; any non-deepcopyable non-attribute entities encountered will cause a sys_error to be thrown regardless of this flag's setting.)
reason type of scan.

virtual ENTITY* ATTRIB_CONST_ROUND::copy_data ( ENTITY_LIST list,
pointer_map pm = NULL,
logical  dpcpy_skip = FALSE,
SCAN_TYPE  reason = SCAN_COPY 
) const [virtual]

Allocates a new ENTITY and calls copy_common to fill it in.



Role: Supports the copy operation. (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)

Parameters:
list ENTITYs to copy.
pm pointer map.
dpcpy_skip Used only by the base ENTITY and base ATTRIB class. No other derived entity or attribute should need to utilize this value. This logical indicates how non- deepcopyable attributes are handled during a deep copy. If TRUE, the copy will continue even if it encounters attributes marked as not deep-copyable. By default (FALSE), if any attributes that are found to be not deep-copyable, a sys_error will be thrown. (This flag only effects how attributes are handled; any non-deepcopyable non-attribute entities encountered will cause a sys_error to be thrown regardless of this flag's setting.)
reason scan type.

Reimplemented from ATTRIB_FFBLEND.

virtual void ATTRIB::copy_owner ( ENTITY copy_ent  )  [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY has been copied.



Role: This method is used to notify this attribute that it's owner has been copied.

The predominant fashion by which copy_owner is called is during the course of ACIS operations that are constructing, deconstructing, or modifying either topology and/or geometry. This method is also called at the end of the api_down_copy_entity algorithm. As a general rule, the attribute implementing this method cannot assume the validity of the model "above" or "below" its owner, only that its owner is valid and that the copy_ent is valid.

Depending on the application needs of your attribute, it may be possible to utilize the set_copy_owner_action method to specify how your attribute should act within copy_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

Parameters:
copy_ent the new ENTITY that is a copy of this attribute's owner.
See also:
ATTRIB::set_copy_owner_action, get_copy_owner_action, copy_action, copy_attrib

Reimplemented in ATTRIB_INTEDGE, ATTRIB_INTVERT, ATTRIB_CELL, ATTRIB_CFACE_VOL, ATTRIB_FACECFACE, ATTRIB_CELL_INT_PRECEDENCE, ATTRIB_GEN_NAME, ATTRIB_CELL_PRECEDENCE, ATTRIB_VOL_COL, and ATTRIB_COL.

virtual void ATTRIB_CONST_ROUND::copy_scan ( ENTITY_LIST list,
SCAN_TYPE  reason = SCAN_COPY,
logical  dpcpy_skip = FALSE 
) const [virtual]

Adds dependent ENTITYs of this ENTITY to the list of ENTITYs to be copied.



Role: Supports the copy operation. (Supplied by the ENTITY_FUNCTIONS and SCAN_DEF macros.) The default type of scan (reason) is SCAN_COPY.

Parameters:
list ENTITYs to copy.
reason type of copy.
dpcpy_skip Used only by the base ENTITY and base ATTRIB class. No other derived entity or attribute should need to utilize this value. This logical indicates how non- deepcopyable attributes are handled during a deep copy. If TRUE, the copy will continue even if it encounters attributes marked as not deep-copyable. By default (FALSE), if any attributes that are found to be not deep-copyable, a sys_error will be thrown. (This flag only effects how attributes are handled; any non-deepcopyable non-attribute entities encountered will cause a sys_error to be thrown regardless of this flag's setting.)

Reimplemented from ATTRIB_FFBLEND.

virtual logical ATTRIB::copyable (  )  const [virtual, inherited]

Indicates whether this attribute should be included when the owning entity is copied.



Role: The default is to call duplicatable().

Reimplemented in ATTRIB_ANNOTATION, ATTRIB_GEN_NAME, ATTRIB_TAG, and ID_ATTRIB.

bl_ed_convexity ATTRIB_FFBLEND::cvxty (  )  const [inherited]

Returns the blend convexity, which derives from the convexity of the owning edge if any; otherwise, it is found from adjacent blends or is given explicitly.

bl_ed_convexity ATTRIB_FFBLEND::cvxty (  )  [inherited]

Returns the blend convexity,non-const version.

virtual void ATTRIB_CONST_ROUND::debug_ent ( FILE *  file_pointer  )  const [virtual]

Prints the type and address of this ENTITY, roll back pointer, attributes, and any unknown subtype information.



Role: This method is called by DEBUG_LIST::debug for an entirely unknown ENTITY type, or at the start of any derived class's debug_ent method. Each derived class's debug_ent method uses the debug function described in the Spatial Product Documentation to print information added at that level. (Supplied by the ENTITY_FUNCTIONS and DEBUG_DEF macros.)

Parameters:
file_pointer file pointer.

Reimplemented from ATTRIB_FFBLEND.

plane ATTRIB_FFBLEND::def_plane (  )  [inherited]

Returns the reference plane, non-const version.

plane ATTRIB_FFBLEND::def_plane (  )  const [inherited]

Returns the reference plane, which is necessary if the owning entity is not an edge.

virtual logical ATTRIB::deletable (  )  const [virtual, inherited]

Indicates whether this ATTRIB is independently deletable of its owner.



Role: The default and suggested behavior for this method is to return FALSE. This is an indication that the attribute's lifetime is controlled by its owner; e.g., when the owner is lost, so too is this attribute.

An exception to this default behavior is if the attribute has no owner, e.g., its owner pointer is NULL. In this case, ATTRIB::deletable will return TRUE.

You may want to return TRUE for this method if, as suggested, you want the attribute to be lost before it's owner. Note that api_del_entity will guarantee that all deletable attributes are lost before their owner is lost.

Reimplemented from ENTITY.

Reimplemented in ATTRIB_TAG, and ID_ATTRIB.

virtual logical ATTRIB::duplicatable (  )  const [virtual, inherited]

Indicates whether this ATTRIB can be duplicated.



Role: Indicates whether this attribute may be duplicated via either a copy or a save/restore of the owning ENTITY. The default is TRUE.

ATTRIB* ATTRIB::duplicate ( ENTITY new_ent  )  const [inherited]

Duplicate this attribute onto the given ENTITY.



Role: Using an attribute's copy_data, copy_common,, copy_scan, and fix_pointer methods, this ATTRIB base class method will duplicate 'this' attribute onto the given entity. (Assuming 'this' returns copyable() == TRUE).

Simple attribute data will be propagated onto the new attribute according to the attribute's COPY_DEF.

Complex attribute data (pointers to entities other than the attribute's owner) will not be copied to the new attribute via this method. Instead, the complex attribute data will be set to NULL.

Parameters:
new_ent the new ENTITY onto which a duplicate of 'this' attribute will be placed.

double ATTRIB_FFBLEND::end_stop_angle (  )  const [inline, inherited]

Returns the end_stop_angle_data (for stopped blends, this is the end angle of the stopping plane).

ENTITY* ATTRIB::entity (  )  const [inline, inherited]

Returns a pointer to the ENTITY that owns this ATTRIB.

Reimplemented in ATTRIB_EFINT.

void ATTRIB_CONST_ROUND::fix_common ( ENTITY array[],
SCAN_TYPE  reason = SCAN_COPY 
) [protected]

Converts pointers from copy indices into real pointers.



Role: Called by fix_pointers. For ENTITY, converts the attribute pointer, and any pointers in the unknown_entity_text record. (Supplied by the ENTITY_FUNCTIONS and FIX_POINTER_DEF macros.)

Parameters:
array ENTITY pointers to fix.
reason type of scan.

Reimplemented from ATTRIB_FFBLEND.

virtual void ATTRIB_CONST_ROUND::fix_pointers ( ENTITY entity_array[],
SCAN_TYPE  reason = SCAN_COPY 
) [virtual]

Converts pointers from copy indices into real pointers.



Role: The fix_pointers method for each entity in the restore array is called, with the given array as an argument. This calls fix_common, which calls its parent's fix_common, and then corrects any pointers in the derived class. In practice there is never anything special for fix_pointers to do, but it is retained for consistency and compatibility. (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)

Parameters:
entity_array ENTITY pointers to fix.
reason type of scan.

Reimplemented from ATTRIB_FFBLEND.

void ENTITY::fixup_copy ( ENTITY rollback  )  const [protected, inherited]

Fixes any pointers in the ENTITY after copying for backup.



Role: For ENTITY, this method has nothing to do, but because it is called by all data types, it is required to terminate the copy chain. (Supplied by the ENTITY_FUNCTIONS and SIMPLE_COPY_CONE macros.)

Parameters:
rollback the ENTITY to copy for backup.

Reimplemented in GA_WORKSPACE.

virtual void ATTRIB::from_tolerant_owner ( ENTITY non_tol_ent  )  [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY is being replaced with a non-tolerant ENTITY.



Role: The default action is to move the attribute onto the given non-tolerant ENTITY only if moveable() returns TRUE.

Depending on the application needs of your attribute, it may be possible to utilize the set_from_tolerant_owner_action method to specify how your attribute should act within from_tolerant_owner, which would preclude the need to actually implement this method.

Parameters:
tol_ent the new, tolerant owner.
See also:
ATTRIB::set_from_tolerant_owner_action, get_from_tolerant_owner_action, tolerant_action, from_tolerant_attrib

virtual void ATTRIB_FFBLEND::full_size ( SizeAccumulator &  est,
logical  countSelf 
) const [protected, virtual, inherited]

Increments the SizeAccumulator by the size, in bytes, of everything owned by this ENTITY and, optionally, of the ENTITY itself.



Role: If countSelf is TRUE, increments the SizeAccumulator by the size, in bytes, of the ENTITY and everything owned by the ENTITY. If countSelf is FALSE, increments the SizeAccumulator by the size, in bytes, of everything owned by the ENTITY, but not including the size of the ENTITY itself.

For example, if an ENTITY contained a character string and full_size were called with countSelf == FALSE, the SizeAccumulator would be incremented by the size, in bytes, of the character string.

Reimplemented from ATTRIB_BLEND.

Reimplemented in ATTRIB_VAR_BLEND.

copy_action ATTRIB::get_copy_owner_action ( void   )  const [inherited]

Get the current copy_owner action for this attribute.

err_mess_type ATTRIB_BLEND::get_error_mess (  )  const [inline, inherited]

The blend attribute can record an error.



Role: For example, an error can be recorded when a blend fails and the attribute is to be moved to the end of the list for retry later. If the later attempts also fail, a failure message can be displayed to indicate the original error.

tolerant_action ATTRIB::get_from_tolerant_owner_action ( void   )  const [inherited]

Get the current from_tolerant_owner action for this attribute.

geometry_changed_action ATTRIB::get_lop_change_owner_action ( void   )  const [inherited]

Get the current lop_change_owner action for this attribute.

merge_action ATTRIB::get_merge_owner_action ( void   )  const [inherited]

Get the current merge_owner action for this attribute.

geometry_changed_action ATTRIB::get_rep_owner_geom_action ( void   )  const [inherited]

Get the current replace_owner_geometry action for this attribute.

replace_action ATTRIB::get_replace_owner_action ( void   )  const [inherited]

Get the current replace_owner action for this attribute.

geometry_changed_action ATTRIB::get_reverse_owner_action ( void   )  const [inherited]

Get the current reverse_owner action for this attribute.

split_action ATTRIB::get_split_owner_action ( void   )  const [inherited]

Get the current split_owner action for this attribute.

tolerant_action ATTRIB::get_to_tolerant_owner_action ( void   )  const [inherited]

Get the current to_tolerant_owner action for this attribute.

trans_action ATTRIB::get_trans_owner_action ( void   )  const [inherited]

Get the current trans_owner action for this attribute.

geometry_changed_action ATTRIB::get_warp_owner_action ( void   )  const [inherited]

Get the current warp_owner action for this attribute.

HISTORY_STREAM* ENTITY::history (  )  const [inline, inherited]

Returns a pointer to the history stream for this ENTITY.

virtual logical ENTITY::holds_pattern (  )  const [inline, protected, virtual, inherited]

Returns TRUE if this entity can have a pattern_holder.

For internal use only.

Reimplemented in BODY, COEDGE, CURVE, EDGE, FACE, LOOP, LUMP, PCURVE, APOINT, SHELL, SURFACE, VERTEX, and WIRE.

virtual int ATTRIB_CONST_ROUND::identity ( int  level = 0  )  const [virtual]

Returns a type identifier for this ENTITY.



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

A positive level specifies the level of derivation down from the ENTITY class to examine. ENTITY itself has level 0. If level is unspecified or 0, the type of the most specific class of object is returned. If level is 1, the type of the class one level down from ENTITY is returned. If level is 2, the type of the parent class 2 levels down from ENTITY is returned, and so on. If level is greater than the level of the instance, -1 ("unknown") is returned.

A negative level similarly specifies the level of derivation up from the most specific class of object returned.

(Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)

Parameters:
level the derivation level at which the object is to be identified.

Reimplemented from ATTRIB_FFBLEND.

virtual logical ATTRIB_BLEND::is_circular (  )  const [inline, virtual, inherited]

Returns TRUE if the blend is circular.



Role: Returns the expected defaults so only unusually derived classes need to worry about returning something different.

Reimplemented in ATTRIB_CONST_CHAMFER, and ATTRIB_VAR_BLEND.

virtual logical ATTRIB_CONST_ROUND::is_deepcopyable (  )  const [virtual]

Returns TRUE if this ENTITY can be deep copied.

Reimplemented from ATTRIB_FFBLEND.

logical ENTITY::is_unknown_entity ( void   )  const [protected, inherited]

Returns TRUE if this is an unknown entity.

An unknown entity is one that is restored from SAT/SAB but is not native to the running app.

virtual logical ENTITY::is_use_counted (  )  const [virtual, inherited]

Indicates if this ENTITY is use-counted or not.



Role: The default implementation returns FALSE.

Reimplemented in CURVE, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.

virtual logical ATTRIB_CONST_ROUND::is_zero (  )  const [virtual]

Tests if blend is of zero width.



Role: No faces need to be made, but a setback has been recorded at one or both ends of the edge.

Reimplemented from ATTRIB_FFBLEND.

virtual double ATTRIB_FFBLEND::lateral_size ( COEDGE coedge1  )  const [virtual, inherited]

Returns the lateral size.



Role: Coedge is necessary to identify the end of the edge, which is near the vertex that starts the coedge.

Parameters:
coedge1 coedge.

Reimplemented in ATTRIB_CONST_CHAMFER.

FACE* ATTRIB_FFBLEND::left_face (  )  [inherited]

Returns the left face, non-const version.

FACE* ATTRIB_FFBLEND::left_face (  )  const [inherited]

Returns the left face along which the blend runs.



Role: This can be unset if the owner is an edge; otherwise, set it before finding blend geometry.

SURFACE* ATTRIB_FFBLEND::left_tw_surf (  )  const [inherited]

If this attribute is owned by a face and the current local operation is set, these functions get the (possibly) tweaked surface of the left support faces.

virtual int ATTRIB::lookup ( logical  insert  )  const [virtual, inherited]

Looks up this ENTITY in the appropriate debug list.



Role: This method is not included among the standard ENTITY methods because often subclasses may wish to be included in their parent's debug list. This is done simply by not including a lookup method in the subclass.

When the logical argument is TRUE, the ENTITY is inserted into the debug list if it does not already exist in the list. If it is FALSE and the ENTITY does not exist in the list, a -1 is returned. (Supplied by the LOOK_FUNCTION and LOOKUP_DEF macros.)

Parameters:
insert flag to insert into debug list.

Reimplemented from ENTITY.

BLEND_EDIT* ATTRIB_BLEND::lop (  )  const [inline, inherited]

Returns a lop_ptr.



Role: Read function for data members.

virtual void ATTRIB::lop_change_owner (  )  [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY will be changed by a local operation, face removal, or shelling.



Role: This member function informs the attribute that the its owning ENTITY has been geometrically modified during the course of a local operation. No other details as to how the owner is being modified are provided.

Depending on the application needs of your attribute, it may be possible to utilize the set_lop_change_owner_action method to specify how your attribute should act within lop_change_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

See also:
ATTRIB::set_lop_change_owner_action, get_lop_change_owner_action, geometry_changed_action, lop_change_attrib

Reimplemented in ATTRIB_EYE_POINTLIST_HEADER.

virtual void ATTRIB_CONST_ROUND::lose (  )  [virtual]

Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model.



Role: The lose methods for attached attributes are also called.

Reimplemented from ATTRIB_FFBLEND.

virtual void ATTRIB_FFBLEND::merge_owner ( ENTITY entity,
logical  del_owner 
) [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY is about to be merged with a given ENTITY.



Role: The application has the chance to delete or otherwise modify the attribute. After the merge, the owner of this attribute will be deleted if the logical argument del_owner is TRUE; otherwise, it will be retained and the other owner will be deleted. The default action is to do nothing. This function is supplied by the application whenever it defines a new, derived attribute, and is called when a merge occurs.

Depending on the application needs of your attribute, it may be possible to utilize the set_merge_owner_action method to specify how your attribute should act within merge_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

Parameters:
entity the ENTITY with which this attribute's owner is being merged.
del_owner flag that the owner of this attribute will be deleted after the merge.
See also:
ATTRIB::set_merge_owner_action, get_merge_owner_action, merge_action, merge_attrib

Reimplemented from ATTRIB.

Reimplemented in ATTRIB_VAR_BLEND.

virtual ATTRIB* ATTRIB::move ( ENTITY new_entity  )  [virtual, inherited]

Moves this ATTRIB to a new owning ENTITY.



Parameters:
new_entity the new owning ENTITY.

Reimplemented in ATTRIB_INTVERT, and ATTRIB_VAR_BLEND.

virtual logical ATTRIB::moveable (  )  const [virtual, inherited]

Returns TRUE if this ATTRIB is moveable from one owning ENTITY to another.



Role: The default is to call copyable().

logical ENTITY::needs_rollback (  )  const [inline, inherited]

Checks whether or not the record is already backed up.

ATTRIB* ATTRIB::next (  )  const [inline, inherited]

Returns the next attribute in this ATTRIB's linked list.

int ATTRIB_BLEND::nfaces (  )  const [inline, inherited]

Returns the number of blend sheet faces constructed for this blend.

logical ATTRIB_BLEND::no_out_of_body_ptrs (  )  const [inline, inherited]

Status indicator which notes whether the explicit blend geometry is any known to agree with the implicit blend geometry.

virtual logical ATTRIB_CONST_ROUND::operator== ( ATTRIB_BLEND const &  blnd  )  const [virtual]

Tests two blends for equality.



Parameters:
blnd blend.

Reimplemented from ATTRIB_FFBLEND.

virtual ENTITY* ATTRIB::owner (  )  const [virtual, inherited]

Identifies the owning ENTITY, if any, of this ATTRIB.



Role: A return of NULL indicates that this attribute has either no owner or an unidentifiable one. Objects of the base ATTRIB class have no identifiable owner.

Reimplemented from ENTITY.

virtual logical ATTRIB_FFBLEND::pattern_compatible (  )  const [virtual, inherited]

Returns TRUE if the ATTRIB is pattern-compatible.



Role: An attribute is pattern-compatible if it does not refer to another pattern-generated entity (other than its owner).

By default, this virtual method returns FALSE unless the attribute is not savable. This behavior should be overridden in derived classes that are deemed to be pattern-compatible, however, in order to facilitate pattern performance enhancements.

Reimplemented from ATTRIB_BLEND.

Reimplemented in ATTRIB_VAR_BLEND.

virtual logical ATTRIB::pattern_copyable (  )  const [virtual, inherited]

Returns TRUE if the ATTRIB is pattern-copyable.



Role: This virtual method indicates whether this attribute should be copied when its owning entity is copied for the purpose of creating a new pattern element (i.e., when reason == SCAN_PATTERN).

By default, this virtual method returns the value returned by copyable. This behavior should be overridden in derived classes that are deemed to be not pattern-copyable.

ATTRIB* ATTRIB::previous (  )  const [inline, inherited]

Returns the previous attribute in this ATTRIB's linked list.

double ATTRIB_CONST_ROUND::radius (  )  const [inline]

Returns the constant radius of the round.

virtual void ENTITY::remove ( logical  lose_if_zero = TRUE  )  [virtual, inherited]

Decrements the use count of this ENTITY.



Role: If the use count reaches 0, the ENTITY's lose method is called if the argument lose_if_zero is set to TRUE. (If the entity is not use counted, an error is signaled.)

Every held pointer to a use counted ENTITY should be declared by calling add. There should a corresponding call to remove when the user is done with the pointer. For normal ENTITYs, simply call lose when the ENTITY is no longer part of the active model. For use counted ENTITYs, the implementations of add and remove come from macros in usecount.hxx. Use counted ENTITYs implemented without the macros should implement these virtual methods manually.

Parameters:
lose_if_zero flag to lose the ENTITY when the use count drops to 0.

Reimplemented in CURVE, SPAGROUP, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.

virtual void ATTRIB::replace_owner ( ENTITY other_entity,
logical  replace_owner 
) [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY is being replaced.



Role: When the argument replace_owner is TRUE, the owner of this attribute is being replaced by other_entity; when it is FALSE, other_entity is being replaced by this attribute's owner.

Depending on the application needs of your attribute, it may be possible to utilize the set_replace_owner_action method to specify how your attribute should act within replace_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

Parameters:
other_entity the other ENTITY involved in the replacement.
replace_owner flag that the owning ENTITY is being replaced.
See also:
ATTRIB::set_replace_owner_action, get_replace_owner_action, replace_action, replace_attrib

virtual void ATTRIB::replace_owner_geometry ( ENTITY new_geom  )  [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY is being given new geometry, possibly changing its shape.



Role: This member function informs the attribute that the its owning ENTITY is being given new geometry.

Depending on the application needs of your attribute, it may be possible to utilize the set_rep_owner_geom_action method to specify how your attribute should act within replace_owner_geometry, which would preclude the need to actually implement this method.

The default action is to do nothing.

Parameters:
new_geom the new geometry.
See also:
ATTRIB::set_rep_owner_geom_action, get_rep_owner_geom_action, geometry_changed_action, replace_geometry_attrib

Reimplemented in ATTRIB_EYE_ATTACHED_MESH, and ATTRIB_EYE_POINTLIST_HEADER.

void ATTRIB_CONST_ROUND::restore_common (  ) 

Restores data for a record from disc to memory.



Role: Writes pointers as indices (fix_pointers turns them back into pointers) and returns a pointer to the ENTITY made. Generally, "common" functions that do the main work are protected, as they are called only from the main entry functions or by themselves up the derivation tree.

This method is public, however, because the main restore function is not a member function, and making it a friend would make it unable to be declared static, i.e., local to the defining module. (Supplied by the ENTITY_FUNCTIONS and RESTORE_DEF macros.)

    read_ptr  Pointer to record in save file for first attribute owned by entity.
    if (restore_version_number >= ENTITY_TAGS_VERSION)
       read_int      new tag 

Reimplemented from ATTRIB_FFBLEND.

void ENTITY::restore_end ( char *  id_str  )  [inherited]

Terminates a restore record.



Role: Reads any trailing text and fills in the unknown text pointer. Used only by the save/restore system.

Parameters:
id_str the id string.

virtual void ATTRIB_FFBLEND::reverse (  )  [virtual, inherited]

Reverses the left-to-right properties of an asymmetric blend.

Reimplemented in ATTRIB_CONST_CHAMFER, and ATTRIB_VAR_BLEND.

virtual void ATTRIB::reverse_owner (  )  [virtual, inherited]

Notifies this ATTRIB that its owning entity's sense bit is about to be reversed.

Role: The application has the chance to do something relevant. For example, faceter attributes reverse the mesh's face normals (or delete the mesh) when the owning face is reversed.

Depending on the application needs of your attribute, it may be possible to utilize the set_reverse_owner_action method to specify how your attribute should act within reverse_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

See also:
ATTRIB::set_reverse_owner_action, get_reverse_owner_action, geometry_changed_action, reverse_attrib

Reimplemented in ATTRIB_FACECFACE, and ATTRIB_EYE_ATTACHED_MESH.

FACE* ATTRIB_FFBLEND::right_face (  )  [inherited]

Returns the right face, non-const version.

FACE* ATTRIB_FFBLEND::right_face (  )  const [inherited]

Returns the right face along which the blend runs.



Role: This can be unset if the owner is an edge; otherwise, set it before finding blend geometry.

SURFACE* ATTRIB_FFBLEND::right_tw_surf (  )  const [inherited]

If this attribute is owned by a face and the current local operation is set, these functions get the (possibly) tweaked surface of the right support faces.

void ATTRIB_FFBLEND::roll_notify ( BULLETIN_TYPE  bulletin_type,
ENTITY ent 
) [protected, virtual, inherited]

Fields notifications of rollback operations.



Role: The first argument specifies the type of bulletin being rolled back (create, delete or change). In the case of a change notification, the second argument contains the information to be restored into this object. The base implementation, which is used for almost every derived class, does nothing at all.

Parameters:
bulletin_type type of bulletin being rolled back.
ent information to be restored into this argument.

Reimplemented from ENTITY.

Reimplemented in ATTRIB_CONST_CHAMFER, and ATTRIB_VAR_BLEND.

BULLETIN*& ENTITY::rollback (  )  const [inline, inherited]

Returns the pointer to the bulletin board entry for this ENTITY.

virtual logical ATTRIB::savable (  )  const [virtual, inherited]

Indicates whether this ATTRIB should be included when the owning entity is saved.



Role: The default is to call duplicatable().

Reimplemented in ATTRIB_ANNOTATION, ATTRIB_GEN_WSTRING, ATTRIB_DM2ACIS, ID_ATTRIB, ATTRIB_EYE_ATTACHED_MESH, and ATTRIB_EYE_POINTLIST_HEADER.

virtual void ATTRIB_CONST_ROUND::save ( ENTITY_LIST entity_list  )  const [virtual]

Performs a save operation.



Role: Calls save_begin, the particular class's save_common, and then save_end. (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)

This save method is just like any other save, except that it calls save_begin with an optional argument to suppress writing of a trailing dash, because save_common does not write out an identifier, or call any parent class's save_common.

Parameters:
entity_list ENTITYs to save.

Reimplemented from ATTRIB_FFBLEND.

void ENTITY::save_begin ( logical  terminator = FALSE  )  const [protected, inherited]

Starts a save record.



Role: Writes a preamble to a save file record, which contains any subclass identifiers not known to this version of ACIS. Called by the save method.

Parameters:
terminator terminator flag.

void ATTRIB_CONST_ROUND::save_common ( ENTITY_LIST entity_list  )  const [protected]

Handles the save operation.



Role: Writes out the savable data associated with the base class. In the case of ENTITY, saveable data is simply the attribute pointer. In the case of child classes derived from ENTITY, class-specific save_common methods handle the class-specific data. Called by the save method. (Supplied by the ENTITY_FUNCTIONS and SAVE_DEF macros.)

Each derived class's save_common method first writes out that class's identifier, calls its parent class's save_common method, and then writes out data particular to the derived class. Thus the save record consists of identifiers in leaf-to-base order, followed by class data in base-to-leaf order. As it writes out any ENTITY pointers, it adds them to the ENTITY_LIST, so that any dependent data also gets written to the file.

Parameters:
entity_list ENTITYs to save

Reimplemented from ATTRIB_FFBLEND.

void ENTITY::save_end ( ENTITY_LIST list  )  const [protected, inherited]

Terminates a save record.



Role: Writes out any data associated with subclasses not known to this version of ACIS before terminating the record. Called by the save method.

Parameters:
list list of entities.

logical ATTRIB_FFBLEND::sbdiff_set_at_end (  )  const [inline, inherited]

Sets the different setback to the end.

logical ATTRIB_FFBLEND::sbdiff_set_at_start (  )  const [inline, inherited]

Sets the different setback to the start.

void ENTITY::set_attrib ( ATTRIB attr  )  [inherited]

Changes the attribute pointer of this ENTITY to point to the given attribute.



Parameters:
attr the new attribute.

void ATTRIB_FFBLEND::set_bl_end_con_at_end ( bl_end_condition  bend_cond  )  [inherited]

Sets the bl_end_con_at_end_data data, which records the condition at the end of the blend.



Role: The values are defined in the enum bl_end_condition.

Parameters:
bend_cond new value.

void ATTRIB_FFBLEND::set_bl_end_con_at_start ( bl_end_condition  bend_cond  )  [inherited]

Sets the bl_end_con_at_start_data data, which records the condition at the start of the blend.



Role: The values are defined in the enum bl_end_condition.

Parameters:
bend_cond new value.

void ATTRIB_FFBLEND::set_bl_how ( blend_how  mblnd  )  [inherited]

Sets the mid-blend behavior.



Role: This defines what is to happen when a face-face blend, or rather a spring curve of a face-face blend, meets a smooth or nonsmooth edge in the middle of the blend sequence.

Parameters:
mblnd mid-blend behavior.

copy_action ATTRIB::set_copy_owner_action ( const copy_action  action  )  [inherited]

Set the copy_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the copy_owner action on an attribute that implements copy_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its copy_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever copy_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

void ATTRIB_FFBLEND::set_cvxty ( bl_ed_convexity  con_val  )  [inherited]

Sets the blend convexity, which derives from the convexity of the owning edge if any; otherwise, it is found from adjacent blends or is given explicitly.



Parameters:
con_val convexity value.

void ATTRIB_FFBLEND::set_def_plane ( plane const &  plane1  )  [inherited]

Defines a plane that cuts the blend.



Role: It must be set if the blend is an isolated face-face blend when it specifies a plane where the blend process can start.

Parameters:
plane1 plane.

void ATTRIB_FFBLEND::set_end_stop_angle ( double  angle  )  [inherited]

Sets the end_stop_angle_data (for stopped blends, this is the end angle of the stopping plane").



Parameters:
angle new angle.

void ATTRIB_FFBLEND::set_ffblend ( ENTITY entity  )  [inherited]

Sets this ffblend on the given entity having first removed any existing ffblend attribute.



Parameters:
entity entity.

void ATTRIB_FFBLEND::set_ffblends ( ENTITY_LIST const &  list_entity  )  const [inherited]

Sets copies of this ffblend on a list of edges.



Role: Blends are assigned directly to the first edge (in the list) of each connected set of edges. Remaining edges in the set have the blend assigned based on their relative sense (edges connected end-to-start or start-to-end have the same sense, those connected start-to-start or end-to-end have opposite sense). The copies include setbacks.

Parameters:
list_entity list of entities.

tolerant_action ATTRIB::set_from_tolerant_owner_action ( const tolerant_action  action  )  [inherited]

Set the from_tolerant_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the from_tolerant_owner action on an attribute that implements from_tolerant_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its from_tolerant_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever from_tolerant_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

void ATTRIB_FFBLEND::set_left_face ( FACE lface  )  [inherited]

Sets the value of the left face.



Role: The left face can be unset if the owner is an edge; otherwise, it must be set before blend geometry can be found.

Parameters:
lface left face value.

geometry_changed_action ATTRIB::set_lop_change_owner_action ( const geometry_changed_action  action  )  [inherited]

Set the lop_change_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the lop_change_owner action on an attribute that implements lop_change_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its lop_change_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever lop_change_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

merge_action ATTRIB::set_merge_owner_action ( const merge_action  action  )  [inherited]

Set the merge_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the merge_owner action on an attribute that implements merge_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its merge_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever merge_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

void ATTRIB_CONST_ROUND::set_radius ( double  rad  ) 

Sets the constant radius of the round.



Parameters:
rad radius.

geometry_changed_action ATTRIB::set_rep_owner_geom_action ( const geometry_changed_action  action  )  [inherited]

Set the replace_owner_geometry action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the replace_owner_geometry action on an attribute that implements replace_owner_geometry will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its replace_owner_geometry action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever replace_owner_geometry action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

replace_action ATTRIB::set_replace_owner_action ( const replace_action  action  )  [inherited]

Set the replace_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the replace_owner action on an attribute that implements replace_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its replace_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever replace_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

geometry_changed_action ATTRIB::set_reverse_owner_action ( const geometry_changed_action  action  )  [inherited]

Set the reverse_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the reverse_owner action on an attribute that implements reverse_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its reverse_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever reverse_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

void ATTRIB_FFBLEND::set_right_face ( FACE rface  )  [inherited]

Sets the value of the right face.



Role: The right face can be unset if the owner is an edge; otherwise, it must be set before blend geometry can be found.

Parameters:
rface right face value.

void ATTRIB_FFBLEND::set_sbdiff_set_at_end ( logical  reset_endsetbk  )  [inherited]

Resets the different setback to the end.



Parameters:
reset_endsetbk logical.

void ATTRIB_FFBLEND::set_sbdiff_set_at_start ( logical  reset_startsetbk  )  [inherited]

Resets the different setback to the start.



Parameters:
reset_startsetbk logical.

void ATTRIB_FFBLEND::set_setback_at_end ( double  setbk_end  )  [inherited]

Sets the value for the setback at end.



Role: Setbacks are only meaningful if the owner is an edge.

Parameters:
setbk_end setback at end.

void ATTRIB_FFBLEND::set_setback_at_start ( double  setbk_start  )  [inherited]

Sets the value for the setback at start.



Role: Setbacks are only meaningful if the owner is an edge.

Parameters:
setbk_start setback at start.

void ATTRIB_FFBLEND::set_setback_diff_at_end ( double  dsetbk_end  )  [inherited]

Sets the setback difference to the end.



Parameters:
dsetbk_end real.

void ATTRIB_FFBLEND::set_setback_diff_at_start ( double  dsetbk_start  )  [inherited]

Sets the setback difference to the start.



Parameters:
dsetbk_start real.

split_action ATTRIB::set_split_owner_action ( const split_action  action  )  [inherited]

Set the split_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the split_owner action on an attribute that implements split_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its split_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever split_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

void ATTRIB_FFBLEND::set_start_stop_angle ( double  angle  )  [inherited]

Sets the start_stop_angle_data (for stopped blends, this is the start angle of the stopping plane).



Parameters:
angle new angle.

tolerant_action ATTRIB::set_to_tolerant_owner_action ( const tolerant_action  action  )  [inherited]

Set the to_tolerant_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the to_tolerant_owner action on an attribute that implements to_tolerant_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its to_tolerant_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever to_tolerant_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

trans_action ATTRIB::set_trans_owner_action ( const trans_action  action  )  [inherited]

Set the trans_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the trans_owner action on an attribute that implements trans_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its trans_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever trans_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

virtual void ENTITY::set_use_count ( int  use  )  [virtual, inherited]

Sets the reference use count of this ENTITY.



Role: If the ENTITY is not use counted, this method does nothing.

Parameters:
use new use count.

Reimplemented in CURVE, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.

geometry_changed_action ATTRIB::set_warp_owner_action ( const geometry_changed_action  action  )  [inherited]

Set the warp_owner action for this attribute.

Returns the value actually set. If an invalid action is specified, a sys_warning(VALUE_OUT_OF_RANGE) will be issued and the action will remain unchanged.

Setting the warp_owner action on an attribute that implements warp_owner will have no effect when that attribute is running in its native application. However, when the attribute is saved to SAT/SAB, its warp_owner action will also be saved. In the event the attribute is restored in a foreign application, we will treat the attribute as 'unknown' but will honor whatever warp_owner action setting is restored. (Note that support for save/restore of attribute actions was introduced in R16; persistence and recognition of attribute actions prior to R16 is not supported.)

Parameters:
action the specified action.

double ATTRIB_FFBLEND::setback_at_end (  )  const [inline, inherited]

Returns the setback at end, a setback is meaningful only if the owner is an edge.

double ATTRIB_FFBLEND::setback_at_start (  )  const [inline, inherited]

Returns the setback at start, a setback is meaningful only if the owner is an edge.

double ATTRIB_FFBLEND::setback_diff_at_end (  )  const [inline, inherited]

Identifies the setback as different at end.

double ATTRIB_FFBLEND::setback_diff_at_start (  )  const [inline, inherited]

Identifies the setback as different at start.

FACE* ATTRIB_BLEND::sheet_face ( int  index = 0  )  [inherited]

Return a sheet face from the sheet face list.



Role: Returns NULL if the index is out of range.

Parameters:
index index of sheet face in list.

FACE** ATTRIB_BLEND::sheet_face_list (  )  const [inline, inherited]

Returns the sheet face list for this blend.

virtual unsigned ATTRIB_CONST_ROUND::size (  )  const [virtual]

Returns the size, in bytes, of this ENTITY.



Role: (Supplied by the ENTITY_FUNCTIONS and UTILITY_DEF macros.)

Reimplemented from ATTRIB_FFBLEND.

virtual void ATTRIB_FFBLEND::split_owner ( ENTITY new_entity  )  [virtual, inherited]

Notifies this ATTRIB that its owner is about to be split into two parts.



Role: The application has the chance to duplicate or otherwise modify the attribute. This function is supplied by the application whenever it derives a new attribute, and is called when a split occurs.

Depending on the application needs of your attribute, it may be possible to utilize the set_split_owner_action method to specify how your attribute should act within split_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

Parameters:
new_entity the new entity arising from the split.
See also:
ATTRIB::set_split_owner_action, get_split_owner_action, split_action, split_attrib

Reimplemented from ATTRIB.

Reimplemented in ATTRIB_CONST_CHAMFER, and ATTRIB_VAR_BLEND.

double ATTRIB_FFBLEND::start_stop_angle (  )  const [inline, inherited]

Returns the start_stop_angle_data (for stopped blends, this is the start angle of the stopping plane).

support_entity_stack* ATTRIB_FFBLEND::support_stack (  )  const [inline, inherited]

Returns the support_stack_ptr, which maintains a stack of support_entity lists for this attribute.

virtual int ATTRIB_FFBLEND::supports ( ENTITY **&  entity1  )  const [virtual, inherited]

The "supports" of a blend are the entities the spring curves of the blend actually run along, which get added to the list.



Role: Any realizable attribute must implement this and return how many it added. The official function to discover what entities the spring curves of a blend face run along, i.e. its "supports". For a regular face-face blend, for example, a length of 2 will be returned together with the array (on the heap). An array is used rather than an ENTITY_LIST so that entries can be null (as can happen during deletions when explicit blend attributes and support attributes exist, and can be deleted in any order).

Parameters:
entity1 starting entity.

Reimplemented from ATTRIB_BLEND.

tag_id_type ENTITY::tag ( logical  assign_new = TRUE  )  const [inline, inherited]

Data reading routine.



Parameters:
assign_new flag to assign a new tag number or not.

virtual void ATTRIB::to_tolerant_owner ( ENTITY tol_ent  )  [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY is being replaced with a tolerant ENTITY.



Role: The default action is to move the attribute onto the given tolerant ENTITY only if moveable() returns TRUE.

Depending on the application needs of your attribute, it may be possible to utilize the set_to_tolerant_owner_action method to specify how your attribute should act within to_tolerant_owner, which would preclude the need to actually implement this method.

Parameters:
tol_ent the new, tolerant owner.
See also:
ATTRIB::set_to_tolerant_owner_action, get_to_tolerant_owner_action, tolerant_action, to_tolerant_attrib

virtual void ATTRIB_CONST_ROUND::trans_owner ( SPAtransf const &  transf  )  [virtual]

Notifies this ATTRIB that its owner is about to be transformed.



Role: The application has the chance to transform the attribute.

Depending on the application needs of your attribute, it may be possible to utilize the set_trans_owner_action method to specify how your attribute should act within trans_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

Parameters:
transf the transformation being applied.
See also:
ATTRIB::set_trans_owner_action, get_trans_owner_action, trans_action, trans_attrib

Reimplemented from ATTRIB_FFBLEND.

virtual void ATTRIB::trans_owner_list ( const SPAtransf transf,
ENTITY_LIST e_list 
) [virtual, inherited]

Notifies this ATTRIB that its owner is about to be transformed.



Role: The application has the chance to transform the attribute. The default action is to call trans_owner.

The list argument is a list of already transformed entities, which can be used to stop infinite recursions by checking whether entities pointed to by the attribute are already in the list.

Parameters:
transf the transformation being applied.
e_list ENTITY list.

Reimplemented in ATTRIB_GEN_NAME.

virtual const char* ATTRIB_CONST_ROUND::type_name (  )  const [virtual]

Returns a name for this ENTITY's type.



Role: For the ENTITY class, unknown is returned.

Reimplemented from ATTRIB_FFBLEND.

ATTRIB* ATTRIB::unhook (  )  [inherited]

Removes this ATTRIB from the chain of attributes of its owning ENTITY.



Role: Since the process of unhooking sets the base class pointers (entity_ptr, previous_ptr, and next_ptr) to NULL, therby changing the entity, unhook must first call backup to preserve the prior state of the attribute for rollback purposes. This then allows one to freely modify the pointers, presumably in a derived class method, without worrying whether or not to call backup.

virtual int ENTITY::use_count (  )  const [virtual, inherited]

Returns the use count of this ENTITY.



Role: Returns zero if the ENTITY is not use counted.

Reimplemented in CURVE, PCURVE, PHLV5_OCC, APOINT, REFINEMENT, RH_MATERIAL, RH_TEXTURE_SPACE, SURFACE, and VERTEX_TEMPLATE.

virtual SPAinterval ATTRIB_FFBLEND::v_param_range (  )  const [virtual, inherited]

Return the v-parameter range.



Role: This is not guaranteed to be identical to that of the finished blend. It is often the same as that of the owning edge.

Reimplemented in ATTRIB_VAR_BLEND.

virtual void ATTRIB::warp_owner ( law warp  )  [virtual, inherited]

Notifies this ATTRIB that its owning ENTITY will be modified by warping.



Role: This member function allows geometric attributes to warp themselves when their owners are warped.

Depending on the application needs of your attribute, it may be possible to utilize the set_warp_owner_action method to specify how your attribute should act within warp_owner, which would preclude the need to actually implement this method.

The default action is to do nothing.

Parameters:
warp the law being used by the warping operation.
See also:
ATTRIB::set_warp_owner_action, get_warp_owner_action, geometry_changed_action, warp_attrib

Reimplemented in ATTRIB_ANNOTATION, and ATTRIB_EYE_POINTLIST_HEADER.

virtual logical ATTRIB_BLEND::zero_end_rad_slope ( logical  start,
double  tolerance = SPAresabs 
) const [inline, virtual, inherited]

Returns TRUE if the blend end radius slope is zero ( less than resabs) at the start point if at_start is TRUE, or at the end point if at_start is FALSE.



Parameters:
start at start.
tolerance tolerance.

Reimplemented in ATTRIB_VAR_BLEND.

virtual logical ATTRIB_CONST_ROUND::zero_end_radius ( logical  start,
double  tolerance = SPAresabs 
) const [inline, virtual]

Returns TRUE if the blend end radius is zero ( less than resabs) at the start point if at_start is TRUE, or at the end point if at_start is FALSE.



Parameters:
start at start.
tolerance tolerance.

Reimplemented from ATTRIB_BLEND.