Home

SPApar_box Class Reference
[Geometric Atoms]

The SPApar_box class defines a 2D bounding box in parameter space by four values of class parameter: low_u, high_u, low_v, high_v. More...

#include <param.hxx>

Collaboration diagram for SPApar_box:

Collaboration graph
[legend]

List of all members.

Public Member Functions

logical bounded () const
 Returns TRUE if the coordinate ranges are finite or FALSE otherwise.
logical bounded_above () const
 Returns TRUE if the coordinate ranges are either finite or finite above or FALSE otherwise.
logical bounded_below () const
 Returns TRUE if the coordinate ranges are either finite or finite below or FALSE otherwise.
void debug (char const *title, FILE *fp=debug_file_ptr) const
 Prints a titles and debug information about this parameter box to the debug file or to the specified file.
logical empty () const
 Tests if the box is empty.
logical finite () const
 Returns TRUE if the coordinate ranges are finite or FALSE otherwise.
logical finite_above () const
 Returns TRUE if the coordinate ranges are finite above or FALSE otherwise.
logical finite_below () const
 Returns TRUE if the coordinate ranges are finite below or FALSE otherwise.
SPApar_pos high () const
 Extracts the high end of the leading diagonal from the parameter box.
logical infinite () const
 Returns TRUE if any of the coordinate ranges is infinite or FALSE otherwise.
SPApar_pos low () const
 Extracts the low end of the leading diagonal from the parameter box.
SPApar_pos mid () const
 Extracts the middle of the leading diagonal from the parameter box.
SPApar_boxoperator &= (SPApar_box const &b)
 Limits one parameter box by another.
SPApar_boxoperator+= (SPApar_vec const &v)
 Translates a parameter box by a parameter vector.
SPApar_boxoperator-= (SPApar_vec const &v)
 Translates a parameter box by a parameter vector.
logical operator<< (SPApar_box const &b) const
 Determines if the given parameter box encloses this parameter box.
logical operator>> (SPApar_box const &b) const
 Determines if this box entirely encloses the given box.
logical operator>> (SPApar_pos const &pos) const
 Determines the parametric point containment.
SPApar_boxoperator|= (SPApar_box const &b)
 Compounds one parameter box into another.
 SPApar_box (SPApar_box const &b)
 C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.
 SPApar_box (SPApar_pos const &pos1, SPApar_pos const &pos2)
 C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
 SPApar_box (SPApar_pos const &pos)
 C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
 SPApar_box (SPAinterval const &u, SPAinterval const &v)
 C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
 SPApar_box ()
 C++ allocation constructor requests memory for this object but does not populate it.
SPAinterval u_range () const
 Extracts the constituent data from the SPApar_box as an interval in the u direction.
logical unbounded () const
 Returns TRUE if the coordinate ranges are infinite or FALSE otherwise.
logical unbounded_above () const
 Returns TRUE if the coordinate ranges are either infinite or infinite above or FALSE otherwise.
logical unbounded_below () const
 Returns TRUE if the coordinate ranges are either infinite or infinite below or FALSE otherwise.
SPAinterval v_range () const
 Extracts the constituent data from the SPApar_box as an interval in the v direction.

Friends

SPApar_box operator & (SPApar_box const &, SPApar_box const &)
 Creates a parameter box that is the overlap of two given parameter boxes, e.g., the intersection.
logical operator && (SPApar_box const &, SPApar_box const &)
 Determines whether two boxes overlap.
SPAinterval operator% (SPApar_box const &b, SPApar_dir const &d)
 Finds the extent of a parameter box along a given parameter direction.
SPAinterval operator% (SPApar_dir const &, SPApar_box const &)
 Finds the extent of a parameter box along a given parameter direction.
SPApar_box operator+ (SPApar_vec const &, SPApar_box const &)
 Translates a parameter box.
SPApar_box operator+ (SPApar_box const &, SPApar_vec const &)
 Translates a parameter box.
SPApar_box operator- (SPApar_box const &, SPApar_vec const &)
 Translates a parameter box.
logical operator<< (SPApar_pos const &p, SPApar_box const &b)
 Determines if a given parameter box encloses a given parameter position.
SPApar_box operator| (SPApar_box const &, SPApar_box const &)
 Creates a parameter box that encloses the two given parameter boxes.


Detailed Description

The SPApar_box class defines a 2D bounding box in parameter space by four values of class parameter: low_u, high_u, low_v, high_v.

See also:
SPAinterval

Constructor & Destructor Documentation

SPApar_box::SPApar_box (  ) 

C++ allocation constructor requests memory for this object but does not populate it.

SPApar_box::SPApar_box ( SPAinterval const &  u,
SPAinterval const &  v 
)

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



Role: Creates a SPApar_box from the u interval and the v interval. If either interval is empty, the SPApar_box is empty.

Parameters:
u u interval.
v v interval.

SPApar_box::SPApar_box ( SPApar_pos const &  pos  ) 

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



Role: Creates a parameter box from a parameter position.

Parameters:
pos parameter position.

SPApar_box::SPApar_box ( SPApar_pos const &  pos1,
SPApar_pos const &  pos2 
)

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



Role: Constructs a parameter box to contain two parameter positions.

Parameters:
pos1 parameter position.
pos2 parameter position.

SPApar_box::SPApar_box ( SPApar_box const &  b  ) 

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



Parameters:
b parameter box.


Member Function Documentation

logical SPApar_box::bounded (  )  const [inline]

Returns TRUE if the coordinate ranges are finite or FALSE otherwise.

logical SPApar_box::bounded_above (  )  const [inline]

Returns TRUE if the coordinate ranges are either finite or finite above or FALSE otherwise.

logical SPApar_box::bounded_below (  )  const [inline]

Returns TRUE if the coordinate ranges are either finite or finite below or FALSE otherwise.

void SPApar_box::debug ( char const *  title,
FILE *  fp = debug_file_ptr 
) const

Prints a titles and debug information about this parameter box to the debug file or to the specified file.

Parameters:
title title
fp file pointer

logical SPApar_box::empty (  )  const

Tests if the box is empty.

logical SPApar_box::finite (  )  const [inline]

Returns TRUE if the coordinate ranges are finite or FALSE otherwise.

logical SPApar_box::finite_above (  )  const

Returns TRUE if the coordinate ranges are finite above or FALSE otherwise.

logical SPApar_box::finite_below (  )  const

Returns TRUE if the coordinate ranges are finite below or FALSE otherwise.

SPApar_pos SPApar_box::high (  )  const

Extracts the high end of the leading diagonal from the parameter box.

logical SPApar_box::infinite (  )  const

Returns TRUE if any of the coordinate ranges is infinite or FALSE otherwise.

SPApar_pos SPApar_box::low (  )  const

Extracts the low end of the leading diagonal from the parameter box.

SPApar_pos SPApar_box::mid (  )  const

Extracts the middle of the leading diagonal from the parameter box.

SPApar_box& SPApar_box::operator &= ( SPApar_box const &  b  ) 

Limits one parameter box by another.



Role: Forms the intersection of this parameter box with the given parameter box, which results in this parameter box.

Parameters:
b given box.

SPApar_box& SPApar_box::operator+= ( SPApar_vec const &  v  ) 

Translates a parameter box by a parameter vector.



Parameters:
v parameter vector.

SPApar_box& SPApar_box::operator-= ( SPApar_vec const &  v  ) 

Translates a parameter box by a parameter vector.

Parameters:
v parameter vector

logical SPApar_box::operator<< ( SPApar_box const &  b  )  const [inline]

Determines if the given parameter box encloses this parameter box.



Parameters:
b given parameter box.

logical SPApar_box::operator>> ( SPApar_box const &  b  )  const

Determines if this box entirely encloses the given box.



Role: This method returns TRUE if this box is NULL or if the given box is strictly within this box or within this box enlarged by SPAresabs in all six directions (+x, -x, +y, -y, +z, -z). Otherwise, or if the given box is NULL, this method returns FALSE.

Parameters:
b given box.

logical SPApar_box::operator>> ( SPApar_pos const &  pos  )  const

Determines the parametric point containment.



Role: This method returns TRUE if the point is contained within this parameter box or if this parameter box is NULL. The point counts as within if it is strictly within the parameter box or within the box enlarged by SPAresabs in all four directions (+u, -u, +v, -v).

Parameters:
pos parameter position.

SPApar_box& SPApar_box::operator|= ( SPApar_box const &  b  ) 

Compounds one parameter box into another.



Role: This method extends this box until it also encloses the given parameter box.

Parameters:
b given box.

SPAinterval SPApar_box::u_range (  )  const [inline]

Extracts the constituent data from the SPApar_box as an interval in the u direction.

logical SPApar_box::unbounded (  )  const [inline]

Returns TRUE if the coordinate ranges are infinite or FALSE otherwise.

logical SPApar_box::unbounded_above (  )  const [inline]

Returns TRUE if the coordinate ranges are either infinite or infinite above or FALSE otherwise.

logical SPApar_box::unbounded_below (  )  const [inline]

Returns TRUE if the coordinate ranges are either infinite or infinite below or FALSE otherwise.

SPAinterval SPApar_box::v_range (  )  const [inline]

Extracts the constituent data from the SPApar_box as an interval in the v direction.


Friends And Related Function Documentation

SPApar_box operator & ( SPApar_box const &  ,
SPApar_box const &   
) [friend]

Creates a parameter box that is the overlap of two given parameter boxes, e.g., the intersection.



Parameters:
b1 first box.
b2 second box.

logical operator && ( SPApar_box const &  ,
SPApar_box const &   
) [friend]

Determines whether two boxes overlap.



Role: This method returns TRUE if either box is NULL or if all the intervals of one parameter box overlap the corresponding intervals of the other parameter box.

Parameters:
b1 first parameter box.
b2 second parameter box.

SPAinterval operator% ( SPApar_box const &  b,
SPApar_dir const &  d 
) [friend]

Finds the extent of a parameter box along a given parameter direction.



Parameters:
b parameter box.
d parameter direction.

SPAinterval operator% ( SPApar_dir const &  ,
SPApar_box const &   
) [friend]

Finds the extent of a parameter box along a given parameter direction.



Parameters:
d parameter direction.
b parameter box.

SPApar_box operator+ ( SPApar_vec const &  ,
SPApar_box const &   
) [friend]

Translates a parameter box.



Parameters:
v parameter vector.
b parameter box.

SPApar_box operator+ ( SPApar_box const &  ,
SPApar_vec const &   
) [friend]

Translates a parameter box.



Parameters:
b parameter box.
v parameter vector.

SPApar_box operator- ( SPApar_box const &  ,
SPApar_vec const &   
) [friend]

Translates a parameter box.



Parameters:
b parameter box.
v parameter vector.

logical operator<< ( SPApar_pos const &  p,
SPApar_box const &  b 
) [friend]

Determines if a given parameter box encloses a given parameter position.



Parameters:
p parameter position.
b parameter box.

SPApar_box operator| ( SPApar_box const &  ,
SPApar_box const &   
) [friend]

Creates a parameter box that encloses the two given parameter boxes.



Parameters:
b1 first box.
b2 second box.