All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::graph::BoxLoaderStrategy Class Reference

This class implements the main functions necessary to save and load the graph data and metadata information using as strategy a bounding box to create a region that defines a group of elements. More...

#include <BoxLoaderStrategy.h>

Inheritance diagram for te::graph::BoxLoaderStrategy:
te::graph::AbstractGraphLoaderStrategy

Public Member Functions

 BoxLoaderStrategy (te::graph::GraphMetadata *metadata)
 Default constructor. More...
 
virtual ~BoxLoaderStrategy ()
 Default destructor. More...
 
Database Box Graph Loader Strategy Methods

Method used to manager a graph data

virtual void loadDataByVertexId (int vertexId, te::graph::AbstractGraph *g, te::graph::GraphCache *gc=0)
 Functio used to load a group of vertex elements given a base element. More...
 
virtual void loadDataByEdgeId (int edgeId, te::graph::AbstractGraph *g, te::graph::GraphCache *gc=0)
 Functio used to load a group of edges elements given a base element. More...
 

Protected Member Functions

te::gm::EnvelopecalculateBox (te::gm::Point *p, std::string tableName)
 Generate a box with p as center. The new box will have n% of the total graph height and n% of total graph width. More...
 

Protected Attributes

te::graph::GraphMetadatam_graphMetadata
 Graph metadata attribute. More...
 

Abstract Graph Loader Strategy Methods

Method used to manager a graph data

virtual void saveData (GraphData *data)
 Save the graph data structure in Data Source. More...
 
virtual void removeEdge (int id)
 Function used to remove a edge saved in a data source. More...
 
virtual void removeVertex (int id)
 Function used to remove a vertex saved in a data source. More...
 
te::graph::GraphMetadatagetMetadata ()
 It returns a pointer to a class that describes the graph metadata. More...
 
void saveGraphEdgeList (GraphData *data)
 Used to save the edge elements from a graph data. More...
 
void saveVertexAttributes (GraphData *data)
 Used to save the vertex elements attributes from a graph data. More...
 
void saveGraphVertexList (GraphData *data)
 Used to save the vertex elements from a graph data. More...
 
void saveEdgeAttributes (GraphData *data)
 Used to save the edges elements attributes from a graph data. More...
 
VertexloadVertex (int id)
 Function used to load one vertex given a ID. More...
 
VertexloadVertexAttrs (int id)
 Function used to load one vertex given a ID. More...
 
EdgeloadEdge (int id)
 Function used to load one edge given a ID. More...
 
EdgeloadEdgeAttrs (int id)
 Function used to load one edge given a ID. More...
 

Detailed Description

This class implements the main functions necessary to save and load the graph data and metadata information using as strategy a bounding box to create a region that defines a group of elements.

See also
AbstractGraphLoaderStrategy

Definition at line 74 of file BoxLoaderStrategy.h.

Constructor & Destructor Documentation

te::graph::BoxLoaderStrategy::BoxLoaderStrategy ( te::graph::GraphMetadata metadata)

Default constructor.

Definition at line 53 of file BoxLoaderStrategy.cpp.

te::graph::BoxLoaderStrategy::~BoxLoaderStrategy ( )
virtual

Default destructor.

Definition at line 57 of file BoxLoaderStrategy.cpp.

Member Function Documentation

te::gm::Envelope * te::graph::BoxLoaderStrategy::calculateBox ( te::gm::Point p,
std::string  tableName 
)
protected

Generate a box with p as center. The new box will have n% of the total graph height and n% of total graph width.

Parameters
pTerralib object that defines a geometric point.
tableNameAttribute used to define the table name that contains the graph elements
Returns
Terralib object that defines geometric region.

Definition at line 396 of file BoxLoaderStrategy.cpp.

References te::gm::Envelope::getHeight(), te::gm::Envelope::getWidth(), te::gm::Point::getX(), te::gm::Point::getY(), te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, and te::gm::Envelope::m_ury.

te::graph::GraphMetadata * te::graph::AbstractGraphLoaderStrategy::getMetadata ( )
inherited

It returns a pointer to a class that describes the graph metadata.

Returns
A valid pointer if exists and null pointer in other case

Definition at line 62 of file AbstractGraphLoaderStrategy.cpp.

Referenced by te::graph::Graph::Graph(), and te::graph::GraphCache::GraphCache().

void te::graph::BoxLoaderStrategy::loadDataByEdgeId ( int  edgeId,
te::graph::AbstractGraph g,
te::graph::GraphCache gc = 0 
)
virtual
te::graph::Edge * te::graph::AbstractGraphLoaderStrategy::loadEdge ( int  id)
protectedinherited

Function used to load one edge given a ID.

Parameters
idThe edge identifier
Note
This function is used in case the graph was saved using the edge list
Returns
A valid edge pointer if the element was found and a null pointer in other case

Definition at line 365 of file AbstractGraphLoaderStrategy.cpp.

References te::graph::Edge::addAttribute(), te::common::Convert2String(), te::graph::Edge::setAttributeVecSize(), te::graph::Globals::sm_tableEdgeModelAttrId, te::graph::Globals::sm_tableEdgeModelAttrVFrom, and te::graph::Globals::sm_tableEdgeModelAttrVTo.

te::graph::Edge * te::graph::AbstractGraphLoaderStrategy::loadEdgeAttrs ( int  id)
protectedinherited

Function used to load one edge given a ID.

Parameters
idThe edge identifier
Note
This function is used in case the graph was saved using the vertex list
Returns
A valid vertex pointer if the element was found and a null pointer in other case

Definition at line 413 of file AbstractGraphLoaderStrategy.cpp.

References TE_TR.

te::graph::Vertex * te::graph::AbstractGraphLoaderStrategy::loadVertex ( int  id)
protectedinherited

Function used to load one vertex given a ID.

Parameters
idThe vertex identifier
Note
This function is used in case the graph was saved using the vertex list
Returns
A valid vertex pointer if the element was found and a null pointer in other case

Definition at line 314 of file AbstractGraphLoaderStrategy.cpp.

References TE_TR.

te::graph::Vertex * te::graph::AbstractGraphLoaderStrategy::loadVertexAttrs ( int  id)
protectedinherited

Function used to load one vertex given a ID.

Parameters
idThe vertex identifier
Note
This function is used in case the graph was saved using the edge list
Returns
A valid vertex pointer if the element was found and a null pointer in other case

Definition at line 319 of file AbstractGraphLoaderStrategy.cpp.

References te::graph::Vertex::addAttribute(), te::common::Convert2String(), te::graph::Vertex::setAttributeVecSize(), and te::graph::Globals::sm_tableVertexModelAttrId.

void te::graph::AbstractGraphLoaderStrategy::removeEdge ( int  id)
virtualinherited

Function used to remove a edge saved in a data source.

Parameters
idThe edge identifier

Reimplemented in te::graph::BottomUpLoaderStrategy, and te::graph::TopDownLoaderStrategy.

Definition at line 82 of file AbstractGraphLoaderStrategy.cpp.

References TE_TR.

void te::graph::AbstractGraphLoaderStrategy::removeVertex ( int  id)
virtualinherited

Function used to remove a vertex saved in a data source.

Parameters
idThe vertex identifier

Reimplemented in te::graph::BottomUpLoaderStrategy, and te::graph::TopDownLoaderStrategy.

Definition at line 91 of file AbstractGraphLoaderStrategy.cpp.

References TE_TR.

void te::graph::AbstractGraphLoaderStrategy::saveData ( GraphData data)
virtualinherited

Save the graph data structure in Data Source.

Parameters
dataPointer to a valid graph data

Reimplemented in te::graph::BottomUpLoaderStrategy, and te::graph::TopDownLoaderStrategy.

Definition at line 67 of file AbstractGraphLoaderStrategy.cpp.

References te::graph::Edge_List, and TE_TR.

void te::graph::AbstractGraphLoaderStrategy::saveEdgeAttributes ( GraphData data)
protectedinherited

Used to save the edges elements attributes from a graph data.

Parameters
dataPointer to a valid graph data

Definition at line 309 of file AbstractGraphLoaderStrategy.cpp.

References TE_TR.

void te::graph::AbstractGraphLoaderStrategy::saveGraphEdgeList ( GraphData data)
protectedinherited

Used to save the edge elements from a graph data.

Parameters
dataPointer to a valid graph data

Definition at line 100 of file AbstractGraphLoaderStrategy.cpp.

References te::graph::GraphData::getEdgeMap(), te::graph::GraphData::isDirty(), te::mem::DataSetItem::setInt32(), and te::mem::DataSetItem::setValue().

void te::graph::AbstractGraphLoaderStrategy::saveGraphVertexList ( GraphData data)
protectedinherited

Used to save the vertex elements from a graph data.

Parameters
dataPointer to a valid graph data

Definition at line 304 of file AbstractGraphLoaderStrategy.cpp.

References TE_TR.

void te::graph::AbstractGraphLoaderStrategy::saveVertexAttributes ( GraphData data)
protectedinherited

Used to save the vertex elements attributes from a graph data.

Parameters
dataPointer to a valid graph data

Definition at line 207 of file AbstractGraphLoaderStrategy.cpp.

References te::graph::GraphData::getVertexMap(), te::graph::GraphData::isDirty(), te::mem::DataSetItem::setInt32(), and te::mem::DataSetItem::setValue().

Member Data Documentation

te::graph::GraphMetadata* te::graph::AbstractGraphLoaderStrategy::m_graphMetadata
protectedinherited

Graph metadata attribute.

Definition at line 203 of file AbstractGraphLoaderStrategy.h.


The documentation for this class was generated from the following files: