Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes | Static Private Attributes

Eaagles::BasicGL::Scanline Class Reference

#include <Scanline.h>

Inheritance diagram for Eaagles::BasicGL::Scanline:
Eaagles::Basic::Object

List of all members.

Classes

class  Edge
class  PolyData

Public Member Functions

 Scanline ()
void scan ()
void setArea (const LCreal xCenter, const LCreal yCenter, const LCreal xSize, const LCreal ySize, const LCreal zRotDeg)
unsigned int getWidth () const
unsigned int getHeight () const
void setSize (const unsigned int width, const unsigned int height)
bool addPolygon (const Polygon *const poly)
void clear ()
virtual Object * clone () const
virtual bool isClassType (const std::type_info &type) const
virtual bool isFormName (const char name[]) const
virtual std::ostream & serialize (std::ostream &sout, const int i=0, const bool slotsOnly=false) const
bool setSlotByName (const char *const slotname, Object *const obj)
Object * getSlotByName (const char *const slotname)
const char * slotIndex2Name (const int slotindex) const
int slotName2Index (const char *const slotname) const
virtual bool isValid () const
virtual bool isMessageEnabled (const unsigned short msgType) const
bool isMessageDisabled (const unsigned short msgType) const
bool enableMessageTypes (const unsigned short msgTypeBits)
bool disableMessageTypes (const unsigned short msgTypeBits)

Static Public Member Functions

static const char * getFormName ()
static const char * getClassName ()
static const SlotTable & getSlotTable ()
static void writeClassList (std::ostream &sout)

Static Public Attributes

static const unsigned short MSG_ERROR = 0x0001
static const unsigned short MSG_WARNING = 0x0002
static const unsigned short MSG_INFO = 0x0004
static const unsigned short MSG_DEBUG = 0x0008
static const unsigned short MSG_DATA = 0x0010
static const unsigned short MSG_USER = 0x0020
static const unsigned short MSG_STD_ALL = 0x00FF
static const unsigned short MSG_ALL = 0xFFFF
static const char *const version = "v2010_0122"
static const unsigned int MAX_CLASSES = 1000
static const _Staticclasses [MAX_CLASSES] = { &Object::_static }
static unsigned int numClasses = 1

Protected Member Functions

virtual void callback (const PolyData *const p, const unsigned int x, const unsigned int y)=0
virtual void reset ()
virtual void scanline (const int y)
virtual const PolyDatastep (const int x)
virtual void toggleActivePolygon ()
virtual unsigned int reduceVert (Polygon *const poly)
virtual void purgePolygons ()
virtual void setMatrix ()
virtual void sortEdges (Edge *tbl[], const int n, const int index)
virtual void endPointCheck (Edge *tbl[], const int n) const
virtual void add2EdgeTable (Edge *tbl[], const int n)
void copyData (const Object &org, const bool cc=false)
void deleteData ()
virtual bool setSlotByIndex (const int slotindex, Object *const obj)
virtual Object * getSlotByIndex (const int slotindex)
void indent (std::ostream &sout, const int ident) const
unsigned short getMessageEnableBits () const
unsigned short getMessageDisableBits () const

Static Protected Member Functions

static unsigned int registerClass (const _Static *const a)

Protected Attributes

const SlotTable * slotTable

Static Protected Attributes

static const SlotTable slottable

Private Attributes

Clip3Dclipper
LCreal angle
LCreal cx
LCreal cy
LCreal sx
LCreal sy
unsigned int ix
unsigned int iy
LCreal curX
LCreal curY
PolyDatacurPoly
osg::Matrix mat
PolyDatapt [MAX_POLYS]
unsigned int nPT
PolyDataapt [MAX_ACTIVE_POLYS]
unsigned int nAPT
Edgeet [MAX_EDGES]
unsigned int nET
unsigned int refET
Edgeaet [MAX_ACTIVE_EDGES]
unsigned int nAET
unsigned int refAET

Static Private Attributes

static const unsigned int MAX_EDGES = 4000
static const unsigned int MAX_ACTIVE_EDGES = 1000
static const unsigned int MAX_POLYS = 500
static const unsigned int MAX_ACTIVE_POLYS = 100

Constructor & Destructor Documentation

Eaagles::BasicGL::Scanline::Scanline (  ) 

Member Function Documentation

void Eaagles::BasicGL::Scanline::add2EdgeTable ( Edge tbl[],
const int  n 
) [protected, virtual]

References et, Eaagles::Basic::i, and nET.

Referenced by addPolygon().

virtual void Eaagles::BasicGL::Scanline::callback ( const PolyData *const   p,
const unsigned int  x,
const unsigned int  y 
) [protected, pure virtual]

Referenced by scan().

void Eaagles::BasicGL::Scanline::clear (  ) 

References et, nET, nPT, pt, and reset().

void Eaagles::Basic::Object::copyData ( const Object org,
const bool  cc = false 
) [protected, inherited]

References Eaagles::Basic::Object::disMsgBits, Eaagles::Basic::Object::enbMsgBits, Eaagles::Basic::Object::refCount, and Eaagles::Basic::Object::slotTable.

Referenced by Eaagles::Basic::BTUs::BTUs(), Eaagles::Basic::Calories::Calories(), Eaagles::Basic::CentiMeters::CentiMeters(), Eaagles::Basic::CubicFeet::CubicFeet(), Eaagles::Basic::CubicInches::CubicInches(), Eaagles::Basic::CubicMeters::CubicMeters(), Eaagles::Basic::Days::Days(), Eaagles::Basic::DecibelMilliWatts::DecibelMilliWatts(), Eaagles::Basic::DecibelSquareMeters::DecibelSquareMeters(), Eaagles::Basic::DecibelWatts::DecibelWatts(), Eaagles::Basic::Degrees::Degrees(), Eaagles::Basic::Feet::Feet(), Eaagles::Basic::FootPounds::FootPounds(), Eaagles::Basic::GigaHertz::GigaHertz(), Eaagles::Basic::Grams::Grams(), Eaagles::Basic::Hertz::Hertz(), Eaagles::Basic::Horsepower::Horsepower(), Eaagles::Basic::Hours::Hours(), Eaagles::Basic::Inches::Inches(), Eaagles::Basic::Joules::Joules(), Eaagles::Basic::KiloGrams::KiloGrams(), Eaagles::Basic::KiloHertz::KiloHertz(), Eaagles::Basic::KiloMeters::KiloMeters(), Eaagles::Basic::KiloNewtons::KiloNewtons(), Eaagles::Basic::KiloWattHours::KiloWattHours(), Eaagles::Basic::KiloWatts::KiloWatts(), Eaagles::Basic::Liters::Liters(), Eaagles::Basic::MegaHertz::MegaHertz(), Eaagles::Basic::Meters::Meters(), Eaagles::Basic::MicroMeters::MicroMeters(), Eaagles::Basic::Microns::Microns(), Eaagles::Basic::MicroSeconds::MicroSeconds(), Eaagles::Basic::MilliSeconds::MilliSeconds(), Eaagles::Basic::MilliWatts::MilliWatts(), Eaagles::Basic::Minutes::Minutes(), Eaagles::Basic::NanoSeconds::NanoSeconds(), Eaagles::Basic::NauticalMiles::NauticalMiles(), Eaagles::Basic::Newtons::Newtons(), Eaagles::Basic::Object::Object(), Eaagles::Basic::Object::operator=(), Eaagles::Basic::Poundals::Poundals(), Eaagles::Basic::PoundForces::PoundForces(), Eaagles::Basic::Radians::Radians(), Eaagles::Basic::Seconds::Seconds(), Eaagles::Basic::Semicircles::Semicircles(), Eaagles::Basic::Slugs::Slugs(), Eaagles::Basic::SquareCentiMeters::SquareCentiMeters(), Eaagles::Basic::SquareFeet::SquareFeet(), Eaagles::Basic::SquareInches::SquareInches(), Eaagles::Basic::SquareKiloMeters::SquareKiloMeters(), Eaagles::Basic::SquareMeters::SquareMeters(), Eaagles::Basic::SquareMiles::SquareMiles(), Eaagles::Basic::SquareMilliMeters::SquareMilliMeters(), Eaagles::Basic::SquareYards::SquareYards(), Eaagles::Basic::StatuteMiles::StatuteMiles(), Eaagles::Basic::TeraHertz::TeraHertz(), and Eaagles::Basic::Watts::Watts().

void Eaagles::Basic::Object::deleteData (  )  [protected, inherited]
bool Eaagles::Basic::Object::disableMessageTypes ( const unsigned short  msgTypeBits  )  [inherited]
bool Eaagles::Basic::Object::enableMessageTypes ( const unsigned short  msgTypeBits  )  [inherited]
void Eaagles::BasicGL::Scanline::endPointCheck ( Edge tbl[],
const int  n 
) const [protected, virtual]
const char * Eaagles::Basic::Object::getClassName (  )  [static, inherited]
unsigned int Eaagles::BasicGL::Scanline::getHeight (  )  const [inline]

References iy.

unsigned short Eaagles::Basic::Object::getMessageDisableBits (  )  const [inline, protected, inherited]
unsigned short Eaagles::Basic::Object::getMessageEnableBits (  )  const [inline, protected, inherited]
Object * Eaagles::Basic::Object::getSlotByIndex ( const int  slotindex  )  [protected, virtual, inherited]
Object * Eaagles::Basic::Object::getSlotByName ( const char *const   slotname  )  [inherited]
const SlotTable & Eaagles::Basic::Object::getSlotTable (  )  [static, inherited]
unsigned int Eaagles::BasicGL::Scanline::getWidth (  )  const [inline]

References ix.

bool Eaagles::Basic::Object::isClassType ( const std::type_info &  type  )  const [virtual, inherited]
bool Eaagles::Basic::Object::isMessageDisabled ( const unsigned short  msgType  )  const [inherited]
bool Eaagles::Basic::Object::isMessageEnabled ( const unsigned short  msgType  )  const [virtual, inherited]

Reimplemented in Eaagles::Basic::Component.

References Eaagles::Simulation::enabled, Eaagles::Basic::Object::enbMsgBits, and Eaagles::Basic::Object::MSG_ERROR.

Referenced by Eaagles::Basic::TcpServerSingle::acceptConnection(), Eaagles::Basic::TcpServerMulti::acceptConnection(), Eaagles::Network::Dis::NtmInputNode::add2OurLists(), Eaagles::Simulation::NtmOutputNodeStd::addNtmSorted(), Eaagles::Basic::BroadcastHandler::bindSocket(), Eaagles::Basic::TcpClient::connectToServer(), Eaagles::LinearSystem::FirstOrderTf::initialize(), Eaagles::Basic::TcpServerSingle::initNetwork(), Eaagles::Basic::TcpClient::initNetwork(), Eaagles::Dafif::WaypointLoader::load(), Eaagles::Dafif::NavaidLoader::load(), Eaagles::Dafif::AirportLoader::load(), Eaagles::BasicGL::FtglTextureFont::loadFont(), Eaagles::BasicGL::FtglHaloFont::loadFont(), Eaagles::BasicGL::FtglPolygonFont::loadFont(), Eaagles::BasicGL::FtglPixmapFont::loadFont(), Eaagles::BasicGL::FtglOutlineFont::loadFont(), Eaagles::BasicGL::FtglExtrdFont::loadFont(), Eaagles::BasicGL::FtglBitmapFont::loadFont(), Eaagles::BasicGL::Texture::loadTexture(), Eaagles::BasicGL::BitmapFont::loadTypeFace(), Eaagles::Basic::ThreadSyncTask::mainThreadFunc(), Eaagles::Basic::ThreadSingleTask::mainThreadFunc(), Eaagles::Dafif::Database::openDatabaseFile(), Eaagles::BasicGL::FtglTextureFont::outputText(), Eaagles::BasicGL::FtglHaloFont::outputText(), Eaagles::BasicGL::FtglPolygonFont::outputText(), Eaagles::BasicGL::FtglPixmapFont::outputText(), Eaagles::BasicGL::FtglOutlineFont::outputText(), Eaagles::BasicGL::FtglExtrdFont::outputText(), Eaagles::BasicGL::FtglBitmapFont::outputText(), Eaagles::BasicGL::BmpTexture::readBitmapFile(), Eaagles::Basic::TcpHandler::sendData(), Eaagles::Basic::Polynomial::setCoefficients(), Eaagles::Basic::ColorRotaryB::setCurrentColor(), Eaagles::Basic::LatLon::setDeg(), Eaagles::Basic::LatLon::setDir(), Eaagles::BasicGL::Texture::setHeight(), Eaagles::Basic::NetHandler::setLocalAddr(), Eaagles::Basic::LatLon::setMin(), Eaagles::Basic::NetHandler::setNetAddr(), Eaagles::Basic::LatLon::setSec(), Eaagles::Basic::Polynomial::setSlotCoefficients(), Eaagles::BasicGL::Font::setSlotFontPath(), Eaagles::BasicGL::Font::setSlotFontPosition(), Eaagles::BasicGL::Font::setSlotFTGLFontFileName(), Eaagles::Basic::Func5::setSlotLfiTable(), Eaagles::Basic::Func4::setSlotLfiTable(), Eaagles::Basic::Func3::setSlotLfiTable(), Eaagles::Basic::Func2::setSlotLfiTable(), Eaagles::Basic::Func1::setSlotLfiTable(), Eaagles::BasicGL::Font::setSlotLookupTable(), Eaagles::BasicGL::Texture::setSlotMagFilter(), Eaagles::BasicGL::Texture::setSlotMinFilter(), Eaagles::LinearSystem::LagFilter::setSlotTau(), Eaagles::LinearSystem::LowpassFilter::setSlotWc(), Eaagles::BasicGL::Texture::setSlotWrapS(), Eaagles::BasicGL::Texture::setSlotWrapT(), and Eaagles::BasicGL::Texture::setWidth().

void Eaagles::BasicGL::Scanline::purgePolygons (  )  [protected, virtual]

References apt, Eaagles::Basic::i, and nAPT.

Referenced by step().

unsigned int Eaagles::Basic::Object::registerClass ( const _Static *const   a  )  [static, protected, inherited]
void Eaagles::BasicGL::Scanline::reset (  )  [protected, virtual]

References curPoly, curY, et, nAET, nAPT, nET, refAET, refET, and sortEdges().

Referenced by clear(), and scan().

void Eaagles::BasicGL::Scanline::scan (  ) 
std::ostream & Eaagles::Basic::Object::serialize ( std::ostream &  sout,
const int  i = 0,
const bool  slotsOnly = false 
) const [virtual, inherited]
void Eaagles::BasicGL::Scanline::setArea ( const LCreal  xCenter,
const LCreal  yCenter,
const LCreal  xSize,
const LCreal  ySize,
const LCreal  zRotDeg 
)
void Eaagles::BasicGL::Scanline::setMatrix (  )  [protected, virtual]

References angle, cx, cy, ix, iy, mat, sx, and sy.

Referenced by setArea(), and setSize().

void Eaagles::BasicGL::Scanline::setSize ( const unsigned int  width,
const unsigned int  height 
)
bool Eaagles::Basic::Object::setSlotByIndex ( const int  slotindex,
Object *const  obj 
) [protected, virtual, inherited]
bool Eaagles::Basic::Object::setSlotByName ( const char *const   slotname,
Object *const   obj 
) [inherited]
const char * Eaagles::Basic::Object::slotIndex2Name ( const int  slotindex  )  const [inherited]
int Eaagles::Basic::Object::slotName2Index ( const char *const   slotname  )  const [inherited]
void Eaagles::BasicGL::Scanline::sortEdges ( Edge tbl[],
const int  n,
const int  index 
) [protected, virtual]

References Eaagles::Basic::i, and Eaagles::Basic::x.

Referenced by reset(), and scanline().

const Scanline::PolyData * Eaagles::BasicGL::Scanline::step ( const int  x  )  [protected, virtual]

Member Data Documentation

const Object::_Static * Eaagles::Basic::Object::classes = { &Object::_static } [static, inherited]
unsigned int Eaagles::BasicGL::Scanline::ix [private]

Referenced by getWidth(), scan(), setMatrix(), and setSize().

unsigned int Eaagles::BasicGL::Scanline::iy [private]

Referenced by getHeight(), scan(), setMatrix(), and setSize().

osg::Matrix Eaagles::BasicGL::Scanline::mat [private]

Referenced by addPolygon(), and setMatrix().

const unsigned int Eaagles::BasicGL::Scanline::MAX_ACTIVE_EDGES = 1000 [static, private]
const unsigned int Eaagles::BasicGL::Scanline::MAX_ACTIVE_POLYS = 100 [static, private]
const unsigned int Eaagles::Basic::Object::MAX_CLASSES = 1000 [static, inherited]
const unsigned int Eaagles::BasicGL::Scanline::MAX_EDGES = 4000 [static, private]
const unsigned int Eaagles::BasicGL::Scanline::MAX_POLYS = 500 [static, private]
const unsigned short Eaagles::Basic::Object::MSG_ALL = 0xFFFF [static, inherited]
const unsigned short Eaagles::Basic::Object::MSG_DATA = 0x0010 [static, inherited]
const unsigned short Eaagles::Basic::Object::MSG_ERROR = 0x0001 [static, inherited]

Referenced by Eaagles::Basic::BroadcastHandler::bindSocket(), Eaagles::Simulation::Station::createBackgroundProcess(), Eaagles::Otw::CigiClNetwork::createCigiProcess(), Eaagles::Basic::IoHandler::createDataThread(), Eaagles::Simulation::Station::createNetworkProcess(), Eaagles::Simulation::Station::createTimeCriticalProcess(), Eaagles::Terrain::DedFile::getData(), Eaagles::Terrain::DedFile::getFileHeaders(), Eaagles::BasicGL::Display::getMaterial(), Eaagles::BasicGL::Display::getNormalFont(), Eaagles::Simulation::Player::getSimulation(), Eaagles::BasicGL::Display::getTextureByName(), Eaagles::Otw::CigiClNetwork::initCigiNetwork(), Eaagles::Basic::TcpServerSingle::initNetwork(), Eaagles::Basic::TcpClient::initNetwork(), Eaagles::Basic::Object::isMessageDisabled(), Eaagles::Basic::Object::isMessageEnabled(), Eaagles::Dafif::WaypointLoader::load(), Eaagles::Dafif::NavaidLoader::load(), Eaagles::Dafif::AirportLoader::load(), Eaagles::Terrain::SrtmHgtFile::loadData(), Eaagles::Terrain::DtedFile::loadData(), Eaagles::Terrain::DedFile::loadData(), Eaagles::BasicGL::FtglTextureFont::loadFont(), Eaagles::BasicGL::FtglHaloFont::loadFont(), Eaagles::BasicGL::FtglPolygonFont::loadFont(), Eaagles::BasicGL::FtglPixmapFont::loadFont(), Eaagles::BasicGL::FtglOutlineFont::loadFont(), Eaagles::BasicGL::FtglExtrdFont::loadFont(), Eaagles::BasicGL::FtglBitmapFont::loadFont(), Eaagles::BasicGL::BitmapFont::loadTypeFace(), Eaagles::Simulation::IrSensor::mergeAndTransmitIrReturns(), Eaagles::Basic::Object::Object(), Eaagles::Basic::Logger::openFile(), Eaagles::BasicGL::FtglTextureFont::outputText(), Eaagles::BasicGL::FtglHaloFont::outputText(), Eaagles::BasicGL::FtglPolygonFont::outputText(), Eaagles::BasicGL::FtglPixmapFont::outputText(), Eaagles::BasicGL::FtglOutlineFont::outputText(), Eaagles::BasicGL::FtglExtrdFont::outputText(), Eaagles::BasicGL::FtglBitmapFont::outputText(), Eaagles::BasicGL::Display::processMaterials(), Eaagles::BasicGL::Display::processSubdisplays(), Eaagles::BasicGL::Page::processSubpages(), Eaagles::BasicGL::Display::processTextures(), Eaagles::BasicGL::BmpTexture::readBitmapFile(), Eaagles::Terrain::DtedFile::readDtedData(), Eaagles::Terrain::DtedFile::readDtedHeaders(), Eaagles::Terrain::SrtmHgtFile::readSrtmData(), Eaagles::Simulation::Simulation::reset(), Eaagles::Simulation::IrSensor::reset(), Eaagles::Simulation::Datalink::reset(), Eaagles::IoDevice::UsbJoystickImp::reset(), Eaagles::Simulation::Antenna::rfTransmit(), Eaagles::Basic::TcpHandler::sendData(), Eaagles::Basic::Polynomial::setCoefficients(), Eaagles::BasicGL::Display::setColorTable(), Eaagles::Basic::LatLon::setDeg(), Eaagles::Basic::LatLon::setDir(), Eaagles::Simulation::AirVehicle::setInitGearPos(), Eaagles::Basic::LatLon::setMin(), Eaagles::BasicGL::Field::setPosition(), Eaagles::Basic::LatLon::setSec(), Eaagles::Simulation::IrSignature::setSlotBaseHeatSignature(), Eaagles::Simulation::Gun::setSlotBurstRate(), Eaagles::Basic::Polynomial::setSlotCoefficients(), Eaagles::Simulation::IrSignature::setSlotEffectiveArea(), Eaagles::Simulation::IrSignature::setSlotEmissivity(), Eaagles::Simulation::IrSensor::setSlotFieldOfRegard(), Eaagles::Simulation::Autopilot::setSlotFollowTheLeadMode(), Eaagles::BasicGL::Font::setSlotFontPath(), Eaagles::BasicGL::Font::setSlotFontPosition(), Eaagles::BasicGL::Font::setSlotFTGLFontFileName(), Eaagles::Simulation::Antenna::setSlotGain(), Eaagles::IoDevice::AnalogOutput::setSlotGain(), Eaagles::Simulation::IrSensor::setSlotIFOV(), Eaagles::BasicGL::Field::setSlotJustification(), Eaagles::Basic::Func5::setSlotLfiTable(), Eaagles::Basic::Func4::setSlotLfiTable(), Eaagles::Basic::Func3::setSlotLfiTable(), Eaagles::Basic::Func2::setSlotLfiTable(), Eaagles::Basic::Func1::setSlotLfiTable(), Eaagles::BasicGL::Font::setSlotLookupTable(), Eaagles::Simulation::IrSensor::setSlotLowerWavelength(), Eaagles::Simulation::IrSensor::setSlotNEI(), Eaagles::Otw::OtwPC::setSlotNetOutput(), Eaagles::BasicGL::Graphic::setSlotNormals(), Eaagles::Simulation::Gun::setSlotPitch(), Eaagles::Simulation::Gun::setSlotRoll(), Eaagles::Simulation::IrSensor::setSlotSensorType(), Eaagles::IoDevice::SignalGen::setSlotSignal(), Eaagles::LinearSystem::LagFilter::setSlotTau(), Eaagles::BasicGL::Graphic::setSlotTexCoord(), Eaagles::Simulation::IrSensor::setSlotThreshold(), Eaagles::Simulation::IrSensor::setSlotUpperWavelength(), Eaagles::LinearSystem::LowpassFilter::setSlotWc(), Eaagles::Simulation::Gun::setSlotYaw(), Eaagles::IoDevice::AnalogOutput::setTable(), Eaagles::IoDevice::AnalogInput::setTable(), Eaagles::Simulation::IrSensor::transmit(), Eaagles::Simulation::Simulation::updateData(), Eaagles::Simulation::IrSystem::updateData(), Eaagles::Simulation::IrSensor::updateData(), and Eaagles::Simulation::Simulation::updateTC().

const unsigned short Eaagles::Basic::Object::MSG_STD_ALL = 0x00FF [static, inherited]
const unsigned short Eaagles::Basic::Object::MSG_USER = 0x0020 [static, inherited]
unsigned int Eaagles::BasicGL::Scanline::nAET [private]
unsigned int Eaagles::BasicGL::Scanline::nET [private]

Referenced by add2EdgeTable(), clear(), and reset().

unsigned int Eaagles::BasicGL::Scanline::nPT [private]

Referenced by addPolygon(), and clear().

unsigned int Eaagles::BasicGL::Scanline::refET [private]

Referenced by reset(), and scanline().

const SlotTable Eaagles::Basic::Object::slottable [static, protected, inherited]
const char *const Eaagles::Basic::Object::version = "v2010_0122" [static, inherited]

Reimplemented in Eaagles::Network::Dis::NetIO.


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