Base class of 2D spatial entities (topology geometry group) More...
#include <vcl_string.h>
#include <vcl_iostream.h>
#include <vsol/vsol_spatial_object.h>
#include <vsl/vsl_fwd.h>
#include <vsol/vsol_spatial_object_2d_sptr.h>
#include <vsol/vsol_box_2d_sptr.h>
Go to the source code of this file.
Classes | |
class | vsol_spatial_object_2d |
Functions | |
vcl_ostream & | operator<< (vcl_ostream &strm, vsol_spatial_object_2d const &so) |
vcl_ostream & | operator<< (vcl_ostream &strm, vsol_spatial_object_2d const *so) |
void | vsl_print_summary (vcl_ostream &os, vsol_spatial_object_2d const *so) |
Stream output operator for class pointer. | |
void | vsl_add_to_binary_loader (vsol_spatial_object_2d const &b) |
Allows derived class to be loaded by base-class pointer. |
Base class of 2D spatial entities (topology geometry group)
vsol_spatial_object_2d is the base class of all 2d spatial entities. It provides ref counting, timestamps, a bounding box, ...
Modifications 1995/12/xx JLM Replaced the SpatialGroup pointer by an IUBox bounding volume. See the discussion in SpatialGroup.h for the rationale. The bounding volume is updated according to a timestamp mechanism similar to that used in 3D display. That is, if the vsol_spatial_object_2d is modified it is "touched" to set the timestamp. Then, any request to bounding information automatically updates the bounding volume if necessary. 1996/12/16 Peter VANROOSE made destructor protected 2000/05/03 Peter TU ported to vxl 2000/05/10 François BERTEL add cast_to_group() because VXL is not compiled with -frtti :-( 2002/12/12 Peter Vanroose added cast_to_region() 2003/01/08 Peter Vanroose made bounding box "mutable" and changed interface 2003/01/09 Peter Vanroose deprecated set_min_x() etc. and replaced with more safe set_bounding_box() and add_to_bounding_box(). (The old setup only worked correctly when (0,0) in bbox.) 2004/09/21 Ming-Ching Chang Make clear distinction between 2D and 3D. Remove the postfix _2d _3d from the cast_to functions. 2004/09/27 Peter Vanroose added empty_bounding_box(), set_bounding_box(box) and add_to_bounding_box(box) 2004/11/15 H.Can Aras added inheritance from vsol_spatial_object, which introduces inheritance from vul_timestamp, ref_count and vsol_flags_id classes. members related to id, flags and tag are moved to newly-created vsol_flags_id class.
Definition in file vsol_spatial_object_2d.h.
vcl_ostream& operator<< | ( | vcl_ostream & | strm, |
vsol_spatial_object_2d const & | so | ||
) | [inline] |
Definition at line 190 of file vsol_spatial_object_2d.h.
vcl_ostream& operator<< | ( | vcl_ostream & | strm, |
vsol_spatial_object_2d const * | so | ||
) | [inline] |
Definition at line 196 of file vsol_spatial_object_2d.h.
void vsl_add_to_binary_loader | ( | vsol_spatial_object_2d const & | b | ) |
Allows derived class to be loaded by base-class pointer.
A loader object exists which is invoked by calls of the form "vsl_b_read(os,base_ptr)". This loads derived class objects from the disk, places them on the heap and returns a base class pointer. In order to work the loader object requires an instance of each derived class that might be found. This function gives the model class to the appropriate loader.
A loader object exists which is invoked by calls of the form "vsl_b_read(os,base_ptr);". This loads derived class objects from the stream, places them on the heap and returns a base class pointer. In order to work the loader object requires an instance of each derived class that might be found. This function gives the model class to the appropriate loader.
Definition at line 175 of file vsol_spatial_object_2d.cxx.
void vsl_print_summary | ( | vcl_ostream & | os, |
vsol_spatial_object_2d const * | so | ||
) | [inline] |
Stream output operator for class pointer.
Definition at line 206 of file vsol_spatial_object_2d.h.