Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtol_intensity_face Class Reference

#include <vtol_intensity_face.h>

Inheritance diagram for vtol_intensity_face:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 46 of file vtol_intensity_face.h.

Public Types

enum  vsol_spatial_object_2d_type

Public Member Functions

 vtol_intensity_face (vtol_face_2d_sptr const &face)
 A constructor from an existing face.
 vtol_intensity_face (vcl_vector< vtol_edge_sptr > *edges)
 vtol_intensity_face (one_chain_list &one_chains)
 A similar constructor using previously formed vtol_one_chain(s).
 vtol_intensity_face (vcl_vector< vtol_one_chain_sptr > *chains, vdgl_digital_region const &dr)
 Uses given 2-d vtol_one_chain(s) (not deep copy) with intensity information from dr.
 vtol_intensity_face (vtol_intensity_face_sptr const &iface)
 Copy constructor.
 vtol_intensity_face (vtol_face_2d_sptr const &face, int npts, float const *xp, float const *yp, unsigned short const *pix)
 Constructor from various vtol_face_2d class/subclasses.
 ~vtol_intensity_face ()
virtual vsol_spatial_object_2dclone () const
 Clone `this': creation of a new object and initialization.
virtual vcl_string is_a () const
 Return a platform independent string identifying the class.
virtual bool is_class (const vcl_string &cls) const
 Return true if the argument matches the string identifying the class or any parent class.
virtual const vtol_intensity_facecast_to_intensity_face () const
 Return `this' if `this' is an intensity face, 0 otherwise.
virtual vtol_intensity_facecast_to_intensity_face ()
 Return `this' if `this' is an intensity face, 0 otherwise.
virtual vdgl_digital_regioncast_to_digital_region () const
virtual vdgl_digital_regioncast_to_digital_region ()
double area () const
void ResetPixelData ()
void IncrementMeans (float x, float y, unsigned short pix)
void ComputeIntensityStdev ()
void InitPixelArrays ()
void InsertInPixelArrays (float x, float y, unsigned short pix)
float const * Xj () const
float const * Yj () const
float const * Zj () const
unsigned short const * Ij () const
int Npix () const
float X () const
float Y () const
float Z () const
unsigned short I () const
void set_X (float x)
void set_Y (float y)
void set_I (unsigned short I)
void reset () const
bool next () const
float Xo () const
float Yo () const
float Zo () const
float Io () const
float Io_sd () const
double X2 () const
double Y2 () const
double XY () const
double I2 () const
double XI () const
double YI () const
double Ix () const
double Iy () const
float Ir () const
float Diameter () const
float AspectRatio () const
double Var () const
float get_min () const
float get_max () const
virtual vnl_matrix< double > MomentMatrix ()
 A local method for the moment matrix.
double perimeter ()
 Compute the total face boundary perimeter.
virtual vsol_region_2d_sptr surface () const
virtual void set_surface (vsol_region_2d_sptr const &newsurf)
 Set the underlying geometric surface.
virtual const vtol_face_2dcast_to_face_2d () const
 Return `this' if `this' is a 2D face, 0 otherwise.
virtual vtol_face_2dcast_to_face_2d ()
 Return `this' if `this' is a 2D face, 0 otherwise.
virtual vtol_faceshallow_copy_with_no_links () const
 Copy with no links. Only copy the surface if it exists.
virtual bool operator== (const vtol_face_2d &other) const
bool operator== (const vtol_face &other) const
 deep equality check on faces. uses fuzzy equal on vertices.
bool operator== (const vsol_spatial_object_2d &obj) const
 spatial object equality.
bool operator!= (const vtol_face_2d &other) const
bool operator!= (const vtol_face &other) const
bool operator!= (vsol_spatial_object_2d const &obj)
virtual void print (vcl_ostream &strm=vcl_cout) const
 This method prints out a simple text representation for the vtol_face_2d which includes its address in memory.
virtual void describe (vcl_ostream &strm=vcl_cout, int blanking=0) const
 This method describes the data members of the vtol_face_2d including the Inferiors.
virtual void copy_geometry (const vtol_face &other)
 copy the geometry.
virtual bool compare_geometry (const vtol_face &other) const
 provide a mechanism to compare geometry.
virtual vtol_one_chain_sptr get_one_chain (int which=0)
 Returns the ith inferior vtol_one_chain of the vtol_face.
virtual vtol_one_chain_sptr get_boundary_cycle ()
 Returns the first inferior vtol_one_chain of the vtol_face (the boundary onechain).
virtual bool add_hole_cycle (vtol_one_chain_sptr new_hole)
 Adds a new hole to the face.
virtual one_chain_listget_hole_cycles ()
virtual const vtol_facecast_to_face () const
 Return `this' if `this' is a face, 0 otherwise.
virtual vtol_facecast_to_face ()
 Return `this' if `this' is a face, 0 otherwise.
void link_inferior (vtol_one_chain_sptr inf)
void link_inferior (vtol_topology_object_sptr inferior)
 Link `this' with an inferior `inferior'.
void unlink_inferior (vtol_one_chain_sptr inf)
void unlink_inferior (vtol_topology_object_sptr inferior)
 Unlink `this' from the inferior `inferior'.
virtual bool valid_inferior_type (vtol_topology_object const *inferior) const
 Is `inferior' type valid for `this' ?.
bool valid_inferior_type (vtol_one_chain_sptr const &) const
bool valid_superior_type (vtol_two_chain_sptr const &) const
bool valid_superior_type (vtol_topology_object const *sup) const
 Is `superior' type valid for `this' ?.
virtual vertex_listoutside_boundary_vertices ()
 accessors for boundary elements.
virtual zero_chain_listoutside_boundary_zero_chains ()
 Returns a list of the zero_chains on the outside boundary of the face.
virtual edge_listoutside_boundary_edges ()
 Get the outside boundary edges.
virtual one_chain_listoutside_boundary_one_chains ()
 Returns a list of one_chains that make up the outside boundary of the face.
virtual void add_one_chain (vtol_one_chain_sptr const &)
 Links new_vtol_one_chain as an inferior of the vtol_face and returns True if successful.
virtual void reverse_normal ()
 Utility Functions and overloaded operators.
virtual int get_num_edges () const
 Returns the number of edges on the vtol_face.
bool IsHoleP () const
 This method determines if a vtol_face is a hole of another vtol_face.
virtual void compute_bounding_box () const
 determine bounding box from bounding boxes of underlying edges.
virtual bool shares_edge_with (vtol_face_sptr const &f)
 Does `this' share an edge with `f' ?.
virtual vtol_topology_objectcast_to_topology_object ()
virtual const vtol_topology_objectcast_to_topology_object () const
virtual const vtol_vertexcast_to_vertex () const
 Return `this' if `this' is a vertex, 0 otherwise.
virtual vtol_vertexcast_to_vertex ()
 Return `this' if `this' is a vertex, 0 otherwise.
virtual const vtol_zero_chaincast_to_zero_chain () const
 Return `this' if `this' is a zero_chain, 0 otherwise.
virtual vtol_zero_chaincast_to_zero_chain ()
 Return `this' if `this' is a zero_chain, 0 otherwise.
virtual const vtol_edgecast_to_edge () const
 Return `this' if `this' is an edge, 0 otherwise.
virtual vtol_edgecast_to_edge ()
 Return `this' if `this' is an edge, 0 otherwise.
virtual const vtol_chaincast_to_chain () const
 Return `this' if `this' is a chain, 0 otherwise.
virtual vtol_chaincast_to_chain ()
 Return `this' if `this' is a chain, 0 otherwise.
virtual const vtol_one_chaincast_to_one_chain () const
 Return `this' if `this' is an one_chain, 0 otherwise.
virtual vtol_one_chaincast_to_one_chain ()
 Return `this' if `this' is an one_chain, 0 otherwise.
virtual const vtol_two_chaincast_to_two_chain () const
 Return `this' if `this' is a two_chain, 0 otherwise.
virtual vtol_two_chaincast_to_two_chain ()
 Return `this' if `this' is a two_chain, 0 otherwise.
virtual const vtol_blockcast_to_block () const
 Return `this' if `this' is a block, 0 otherwise.
virtual vtol_blockcast_to_block ()
 Return `this' if `this' is a block, 0 otherwise.
bool is_inferior (vtol_topology_object_sptr inferior) const
 Is `inferior' already an inferior of `this' ?.
bool is_superior (vtol_topology_object *const &superior) const
 Is `superior' already a superior of `this' ?.
int numinf () const
 Number of inferiors.
int numsup () const
 Number of superiors.
const vcl_list< vtol_topology_object * > * superiors_list () const
topology_listinferiors ()
 Return the inferiors list.
const topology_listinferiors () const
virtual vsol_spatial_object_2d_type spatial_type () const
 Return the spatial type.
void unlink_all_inferiors ()
 Unlink `this' from all its inferiors.
void unlink ()
 Unlink `this' of the network.
void vertices (vertex_list &list) const
 Get list of vertices.
void zero_chains (zero_chain_list &list) const
 Get list of zero chains.
void edges (edge_list &list) const
 Get list of edges.
void one_chains (one_chain_list &list) const
 Get list of one chains.
void faces (face_list &list) const
 Get list of faces.
void two_chains (two_chain_list &list) const
 Get list of two chains.
void blocks (block_list &list) const
 Get list of blocks.
void describe_inferiors (vcl_ostream &strm=vcl_cout, int blanking=0) const
void describe_superiors (vcl_ostream &strm=vcl_cout, int blanking=0) const
const char * get_name () const
void un_protect ()
short version () const
virtual void b_write (vsl_b_ostream &os) const
virtual void b_read (vsl_b_istream &is)
vsol_box_2d_sptr get_bounding_box () const
double get_min_x () const
double get_max_x () const
double get_min_y () const
double get_max_y () const
virtual vsol_spatial_object_2dcast_to_spatial_object ()
virtual vsol_spatial_object_2d
const * 
cast_to_spatial_object () const
virtual vsol_spatial_object_2dcast_to_vsol_spatial_object ()
virtual vsol_spatial_object_2d
const * 
cast_to_vsol_spatial_object () const
virtual vsol_point_2dcast_to_point ()
virtual vsol_point_2d const * cast_to_point () const
virtual vsol_curve_2dcast_to_curve ()
virtual vsol_curve_2d const * cast_to_curve () const
virtual vsol_region_2dcast_to_region ()
virtual vsol_region_2d const * cast_to_region () const
virtual vsol_group_2dcast_to_group ()
virtual vsol_group_2d const * cast_to_group () const
void touch ()
unsigned long get_time_stamp () const
bool older (vul_timestamp const &t) const
bool older (vul_timestamp const *t) const
void ref ()
void unref ()
int get_references () const
bool is_referenced () const
int get_id () const
void set_id (int i)
void set_user_flag (unsigned int flag)
bool get_user_flag (unsigned int flag)
void unset_user_flag (unsigned int flag)
void set_tagged_union_flag ()
bool get_tagged_union_flag ()
void unset_tagged_union_flag ()
int get_tag_id ()
void set_tag_id (int id)

Public Attributes

 SPATIAL_NO_TYPE
 TOPOLOGYOBJECT
 POINT
 CURVE
 REGION
 SPATIALGROUP
 VOLUME
 NUM_SPATIALOBJECT_TYPES

Static Public Attributes

static const char * SpatialTypes []
static const float eps

Protected Types

enum  vtol_topology_object_type {
  TOPOLOGY_NO_TYPE = 0, VERTEX, ZEROCHAIN, EDGE,
  ONECHAIN, FACE, TRIFACE, INTENSITYFACE,
  INTENSITYFACE3D, DDBINTENSITYFACE, TWOCHAIN, TRIMESHTWOCHAIN,
  BLOCK, NUM_TOPOLOGYOBJECT_TYPES
}

Protected Member Functions

virtual vtol_facecopy_with_arrays (topology_list &verts, topology_list &edges) const
 this should not called by a client.
virtual vcl_vector< vtol_vertex * > * compute_vertices ()
 Returns a vtol_vertex list of all the vertices on the face.
virtual vcl_vector< vtol_edge * > * compute_edges ()
 Returns a list of edges on the face.
virtual vcl_vector< vtol_zero_chain * > * compute_zero_chains ()
 Returns a list of zero_chains of the face.
virtual vcl_vector< vtol_one_chain * > * compute_one_chains ()
 Returns a list of all Onechains of the face.
virtual vcl_vector< vtol_face * > * compute_faces ()
 Returns a list of that has itself as the only element.
virtual vcl_vector< vtol_two_chain * > * compute_two_chains ()
 Returns a list of all the two_chains which contain the vtol_face.
virtual vcl_vector< vtol_block * > * compute_blocks ()
 Returns a list of all the blocks that contain the vtol_face.
virtual vcl_vector< vtol_vertex * > * outside_boundary_compute_vertices ()
virtual vcl_vector< vtol_zero_chain * > * outside_boundary_compute_zero_chains ()
 Returns a list of the zero_chains on the outside boundary of the face.
virtual vcl_vector< vtol_edge * > * outside_boundary_compute_edges ()
 Returns a list of edges that make up the outside boundary of the face.
virtual vcl_vector< vtol_one_chain * > * outside_boundary_compute_one_chains ()
void not_applicable (vcl_string const &message) const
void empty_bounding_box () const
void set_bounding_box (vsol_box_2d_sptr const &box) const
void set_bounding_box (double x, double y) const
void add_to_bounding_box (double x, double y) const
void add_to_bounding_box (vsol_box_2d_sptr const &box) const
void grow_minmax_bounds (vsol_box_2d_sptr const &b) const
void check_update_bounding_box () const

Protected Attributes

vdgl_digital_regionregion_
vcl_list< vtol_topology_object * > superiors_
topology_list inferiors_
unsigned long timestamp_
unsigned int tag_
int id_

Static Protected Attributes

static int tagcount_

Private Member Functions

vtol_topology_object::vtol_topology_object_type GetTopologyType () const
virtual vtol_topology_object::vtol_topology_object_type topology_type () const
 Return the topology type.

Friends

friend vcl_ostream & operator<< (vcl_ostream &, vsol_spatial_object_2d const &)
friend vcl_ostream & operator<< (vcl_ostream &, vsol_spatial_object_2d const *)


Member Enumeration Documentation

enum vtol_topology_object::vtol_topology_object_type [protected, inherited]
 

Enumerator:
TOPOLOGY_NO_TYPE 
VERTEX 
ZEROCHAIN 
EDGE 
ONECHAIN 
FACE 
TRIFACE 
INTENSITYFACE 
INTENSITYFACE3D 
DDBINTENSITYFACE 
TWOCHAIN 
TRIMESHTWOCHAIN 
BLOCK 
NUM_TOPOLOGYOBJECT_TYPES 

Definition at line 132 of file vtol_topology_object.h.


Constructor & Destructor Documentation

vtol_intensity_face::vtol_intensity_face vtol_face_2d_sptr const &  face  ) 
 

A constructor from an existing face.

Definition at line 22 of file vtol_intensity_face.cxx.

vtol_intensity_face::vtol_intensity_face vcl_vector< vtol_edge_sptr > *  edges  ) 
 

vtol_intensity_face::vtol_intensity_face one_chain_list one_chains  ) 
 

A similar constructor using previously formed vtol_one_chain(s).

The list is structured with the outer boundary as the first element of one_chains and the interior hole boundaries as the remaining elements of the list.

Definition at line 40 of file vtol_intensity_face.cxx.

vtol_intensity_face::vtol_intensity_face vcl_vector< vtol_one_chain_sptr > *  chains,
vdgl_digital_region const &  dr
 

Uses given 2-d vtol_one_chain(s) (not deep copy) with intensity information from dr.

Definition at line 46 of file vtol_intensity_face.cxx.

vtol_intensity_face::vtol_intensity_face vtol_intensity_face_sptr const &  iface  ) 
 

Copy constructor.

Definition at line 29 of file vtol_intensity_face.cxx.

vtol_intensity_face::vtol_intensity_face vtol_face_2d_sptr const &  face,
int  npts,
float const *  xp,
float const *  yp,
unsigned short const *  pix
 

Constructor from various vtol_face_2d class/subclasses.

These constructors carry out a deep copy of the vtol_face_2d. Adjacent face topology is lost.

Definition at line 56 of file vtol_intensity_face.cxx.

vtol_intensity_face::~vtol_intensity_face  ) 
 

Definition at line 64 of file vtol_intensity_face.cxx.


Member Function Documentation

bool vtol_face::add_hole_cycle vtol_one_chain_sptr  new_hole  )  [virtual, inherited]
 

Adds a new hole to the face.

Definition at line 280 of file vtol_face.cxx.

void vtol_face::add_one_chain vtol_one_chain_sptr const &  new_vtol_one_chain  )  [virtual, inherited]
 

Links new_vtol_one_chain as an inferior of the vtol_face and returns True if successful.

This method will be replacing all calls to add_edge_loop().

Definition at line 203 of file vtol_face.cxx.

double vtol_intensity_face::area void   )  const [inline]
 

Definition at line 108 of file vtol_intensity_face.h.

float vtol_intensity_face::AspectRatio  )  const [inline]
 

Definition at line 150 of file vtol_intensity_face.h.

void vtol_topology_object::blocks block_list list  )  const [inherited]
 

Get list of blocks.

Definition at line 264 of file vtol_topology_object.cxx.

virtual vtol_block* vtol_topology_object::cast_to_block  )  [inline, virtual, inherited]
 

Return `this' if `this' is a block, 0 otherwise.

Reimplemented in vtol_block.

Definition at line 240 of file vtol_topology_object.h.

virtual const vtol_block* vtol_topology_object::cast_to_block  )  const [inline, virtual, inherited]
 

Return `this' if `this' is a block, 0 otherwise.

Reimplemented in vtol_block.

Definition at line 236 of file vtol_topology_object.h.

virtual vtol_chain* vtol_topology_object::cast_to_chain  )  [inline, virtual, inherited]
 

Return `this' if `this' is a chain, 0 otherwise.

Reimplemented in vtol_chain.

Definition at line 208 of file vtol_topology_object.h.

virtual const vtol_chain* vtol_topology_object::cast_to_chain  )  const [inline, virtual, inherited]
 

Return `this' if `this' is a chain, 0 otherwise.

Reimplemented in vtol_chain.

Definition at line 204 of file vtol_topology_object.h.

virtual vdgl_digital_region* vtol_intensity_face::cast_to_digital_region  )  [inline, virtual]
 

Definition at line 107 of file vtol_intensity_face.h.

virtual vdgl_digital_region* vtol_intensity_face::cast_to_digital_region  )  const [inline, virtual]
 

Definition at line 106 of file vtol_intensity_face.h.

virtual vtol_edge* vtol_topology_object::cast_to_edge  )  [inline, virtual, inherited]
 

Return `this' if `this' is an edge, 0 otherwise.

Reimplemented in vtol_edge.

Definition at line 200 of file vtol_topology_object.h.

virtual const vtol_edge* vtol_topology_object::cast_to_edge  )  const [inline, virtual, inherited]
 

Return `this' if `this' is an edge, 0 otherwise.

Reimplemented in vtol_edge.

Definition at line 196 of file vtol_topology_object.h.

virtual vtol_face* vtol_face::cast_to_face  )  [inline, virtual, inherited]
 

Return `this' if `this' is a face, 0 otherwise.

Reimplemented from vtol_topology_object.

Definition at line 93 of file vtol_face.h.

virtual const vtol_face* vtol_face::cast_to_face  )  const [inline, virtual, inherited]
 

Return `this' if `this' is a face, 0 otherwise.

Reimplemented from vtol_topology_object.

Definition at line 89 of file vtol_face.h.

virtual vtol_face_2d* vtol_face_2d::cast_to_face_2d  )  [inline, virtual, inherited]
 

Return `this' if `this' is a 2D face, 0 otherwise.

Reimplemented from vtol_face.

Definition at line 124 of file vtol_face_2d.h.

virtual const vtol_face_2d* vtol_face_2d::cast_to_face_2d  )  const [inline, virtual, inherited]
 

Return `this' if `this' is a 2D face, 0 otherwise.

Reimplemented from vtol_face.

Definition at line 120 of file vtol_face_2d.h.

virtual vtol_intensity_face* vtol_intensity_face::cast_to_intensity_face  )  [inline, virtual]
 

Return `this' if `this' is an intensity face, 0 otherwise.

Reimplemented from vtol_face.

Definition at line 104 of file vtol_intensity_face.h.

virtual const vtol_intensity_face* vtol_intensity_face::cast_to_intensity_face  )  const [inline, virtual]
 

Return `this' if `this' is an intensity face, 0 otherwise.

Reimplemented from vtol_face.

Definition at line 100 of file vtol_intensity_face.h.

virtual vtol_one_chain* vtol_topology_object::cast_to_one_chain  )  [inline, virtual, inherited]
 

Return `this' if `this' is an one_chain, 0 otherwise.

Reimplemented in vtol_one_chain.

Definition at line 216 of file vtol_topology_object.h.

virtual const vtol_one_chain* vtol_topology_object::cast_to_one_chain  )  const [inline, virtual, inherited]
 

Return `this' if `this' is an one_chain, 0 otherwise.

Reimplemented in vtol_one_chain.

Definition at line 212 of file vtol_topology_object.h.

virtual const vtol_topology_object* vtol_topology_object::cast_to_topology_object  )  const [inline, virtual, inherited]
 

Reimplemented from vsol_spatial_object_2d.

Definition at line 176 of file vtol_topology_object.h.