OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Attributes | List of all members
ossimActiveEdgeTableHelper Class Reference

#include <ossimActiveEdgeTable.h>

Public Member Functions

 ossimActiveEdgeTableHelper (ossimActiveEdgeTable *edgeTable)
 
bool advanceScanLine ()
 
bool getNextLineSegment (ossimIpt &start, ossimIpt &end)
 
ossim_int32 getCurrentScanLine () const
 
ossim_int32 getYShift () const
 

Protected Attributes

ossimActiveEdgeTabletheEdgeTable
 
bool theTableInitializedFlag
 
std::list< ossimActiveEdgeTableNode >::const_iterator theIterator
 

Detailed Description

Definition at line 116 of file ossimActiveEdgeTable.h.

Constructor & Destructor Documentation

◆ ossimActiveEdgeTableHelper()

ossimActiveEdgeTableHelper::ossimActiveEdgeTableHelper ( ossimActiveEdgeTable edgeTable)

Definition at line 149 of file ossimActiveEdgeTable.cpp.

150  :theEdgeTable(edgeTable),
152 {
153 }
ossimActiveEdgeTable * theEdgeTable

Member Function Documentation

◆ advanceScanLine()

bool ossimActiveEdgeTableHelper::advanceScanLine ( )

Definition at line 155 of file ossimActiveEdgeTable.cpp.

References ossimActiveEdgeTable::initializeActiveList(), ossimActiveEdgeTable::mergeCurrentScanLine(), ossimActiveEdgeTable::theActiveList, ossimActiveEdgeTable::theCurrentScanLine, theEdgeTable, theIterator, theTableInitializedFlag, and ossimActiveEdgeTable::updateActiveEdges().

Referenced by getNextLineSegment().

156 {
157  if(!theEdgeTable) return false;
158 
160  {
163  }
164  else
165  {
169  }
170 
172 
173  return (theEdgeTable->theActiveList.size());
174 }
std::list< ossimActiveEdgeTableNode > theActiveList
std::list< ossimActiveEdgeTableNode >::const_iterator theIterator
ossimActiveEdgeTable * theEdgeTable

◆ getCurrentScanLine()

ossim_int32 ossimActiveEdgeTableHelper::getCurrentScanLine ( ) const
inline

Definition at line 126 of file ossimActiveEdgeTable.h.

References ossimActiveEdgeTable::getCurrentScanLine(), and theEdgeTable.

127  {
128  if(theEdgeTable)
129  {
131  }
132  return 0;
133  }
ossim_int32 getCurrentScanLine() const
ossimActiveEdgeTable * theEdgeTable

◆ getNextLineSegment()

bool ossimActiveEdgeTableHelper::getNextLineSegment ( ossimIpt start,
ossimIpt end 
)

Definition at line 176 of file ossimActiveEdgeTable.cpp.

References advanceScanLine(), ossimActiveEdgeTable::getCurrentScanLine(), getYShift(), ossimActiveEdgeTable::theActiveList, theEdgeTable, theIterator, theTableInitializedFlag, ossimIpt::x, and y.

178 {
179  if(!theEdgeTable) return false;
181 
183  {
184  return false;
185  }
186  else
187  {
189 
190  start = ossimIpt(ossim::round<int>((*theIterator).theCurrentX),
191  y);
192  ++theIterator;
194  {
195  end = start;
196  }
197  else
198  {
199  end = ossimIpt( ossim::round<int>((*theIterator).theCurrentX),
200  y);
201 
202  ++theIterator;
203  }
204  }
205 
206  if(start.x > end.x)
207  {
208  swap(start.x, end.x);
209  }
210  return true;
211 }
ossim_uint32 y
ossim_int32 getCurrentScanLine() const
std::list< ossimActiveEdgeTableNode > theActiveList
std::list< ossimActiveEdgeTableNode >::const_iterator theIterator
ossim_int32 x
Definition: ossimIpt.h:141
ossimActiveEdgeTable * theEdgeTable

◆ getYShift()

ossim_int32 ossimActiveEdgeTableHelper::getYShift ( ) const
inline

Definition at line 134 of file ossimActiveEdgeTable.h.

References ossimActiveEdgeTable::getYShift(), and theEdgeTable.

Referenced by getNextLineSegment().

135  {
136  if(theEdgeTable)
137  {
138  return theEdgeTable->getYShift();
139  }
140  return 0;
141  }
ossimActiveEdgeTable * theEdgeTable
ossim_int32 getYShift() const

Member Data Documentation

◆ theEdgeTable

ossimActiveEdgeTable* ossimActiveEdgeTableHelper::theEdgeTable
protected

◆ theIterator

std::list<ossimActiveEdgeTableNode>::const_iterator ossimActiveEdgeTableHelper::theIterator
protected

Definition at line 146 of file ossimActiveEdgeTable.h.

Referenced by advanceScanLine(), and getNextLineSegment().

◆ theTableInitializedFlag

bool ossimActiveEdgeTableHelper::theTableInitializedFlag
protected

Definition at line 144 of file ossimActiveEdgeTable.h.

Referenced by advanceScanLine(), and getNextLineSegment().


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