# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLLIGO::CZoneEdge Class Reference

A ZoneEdge descriptor. More...

#include <zone_edge.h>

List of all members.

Public Methods

bool build (const std::vector< NLMISC::CVector > &theEdge, const std::vector< uint32 > &theId, uint rotation, sint32 offsetX, sint32 offsetY, const CLigoConfig &config, CLigoError &errors)
 Build a edge zone. More...

void serial (NLMISC::IStream &s)
 Serial. More...

bool isSymetrical (const CLigoConfig &config, CLigoError &errors) const
 Is symetrical ? More...

bool isTheSame (const CZoneEdge &other, const CLigoConfig &config, CLigoError &errors) const
 Is the same edge ? More...

void invert (const CLigoConfig &config)
 Invert the edge. More...

uint getNumVertex () const
 Return the vertex count. More...

const NLMISC::CVectorgetVertex (uint id) const
 Return the vertex. More...

void buildMatrix (NLMISC::CMatrix &mat, const CLigoConfig &config) const
 Return the matrix. More...

uint32 getRotation () const
 Get values. More...

sint32 getOffsetX () const
sint32 getOffsetY () const

Private Attributes

std::vector< NLMISC::CVector_TheEdge
 The vector of position for this edge. More...

std::vector< uint32_Id
 Id of the vertices. More...

uint32 _Rotation
 Rotation of the edge. Must be 0, 1, 2, 3. The rotation angle is Pi/2 * (double)_Rotation in CCW. More...

sint32 _OffsetX
 X an Y offset of the edge. the position of the i-th vertex is rotate (_Rotation) * (theEdge[i], 0, 0) + (_OffsetX, _OffsetY, 0). More...

sint32 _OffsetY


Detailed Description

A ZoneEdge descriptor.

Author:
Cyril 'Hulud' Corvazier , Nevrax France
Date:
2001

Definition at line 55 of file zone_edge.h.


Member Function Documentation

bool NLLIGO::CZoneEdge::build const std::vector< NLMISC::CVector > &    theEdge,
const std::vector< uint32 > &    theId,
uint    rotation,
sint32    offsetX,
sint32    offsetY,
const CLigoConfig   config,
CLigoError   errors
 

Build a edge zone.

Definition at line 41 of file zone_edge.cpp.

References _Id, _OffsetX, _OffsetY, _Rotation, _TheEdge, nlassert, x, and y.

void NLLIGO::CZoneEdge::buildMatrix NLMISC::CMatrix   mat,
const CLigoConfig   config
const
 

Return the matrix.

Definition at line 212 of file zone_edge.cpp.

References _OffsetX, _OffsetY, _Rotation, NLMISC::CMatrix::identity, NLMISC::Pi, NLMISC::CMatrix::rotateZ, and NLMISC::CMatrix::setPos.

uint NLLIGO::CZoneEdge::getNumVertex   const [inline]
 

Return the vertex count.

Definition at line 76 of file zone_edge.h.

References _TheEdge.

sint32 NLLIGO::CZoneEdge::getOffsetX   const [inline]
 

Definition at line 86 of file zone_edge.h.

References _OffsetX.

sint32 NLLIGO::CZoneEdge::getOffsetY   const [inline]
 

Definition at line 87 of file zone_edge.h.

References _OffsetY.

uint32 NLLIGO::CZoneEdge::getRotation   const [inline]
 

Get values.

Definition at line 85 of file zone_edge.h.

References _Rotation.

const NLMISC::CVector& NLLIGO::CZoneEdge::getVertex uint    id const [inline]
 

Return the vertex.

Definition at line 79 of file zone_edge.h.

References _TheEdge, and id.

void NLLIGO::CZoneEdge::invert const CLigoConfig   config
 

Invert the edge.

Definition at line 195 of file zone_edge.cpp.

References _TheEdge.

bool NLLIGO::CZoneEdge::isSymetrical const CLigoConfig   config,
CLigoError   errors
const
 

Is symetrical ?

Definition at line 89 of file zone_edge.cpp.

References _Id, and _TheEdge.

bool NLLIGO::CZoneEdge::isTheSame const CZoneEdge &    other,
const CLigoConfig   config,
CLigoError   errors
const
 

Is the same edge ?

Definition at line 138 of file zone_edge.cpp.

References _TheEdge.

void NLLIGO::CZoneEdge::serial NLMISC::IStream   s
 

Serial.

Definition at line 175 of file zone_edge.cpp.

References _Id, _OffsetX, _OffsetY, _Rotation, _TheEdge, s, NLMISC::IStream::serialCont, NLMISC::IStream::serialVersion, NLMISC::IStream::xmlPop, NLMISC::IStream::xmlPush, and NLMISC::IStream::xmlSerial.


Member Data Documentation

std::vector<uint32> NLLIGO::CZoneEdge::_Id [private]
 

Id of the vertices.

Definition at line 95 of file zone_edge.h.

Referenced by build, isSymetrical, and serial.

sint32 NLLIGO::CZoneEdge::_OffsetX [private]
 

X an Y offset of the edge. the position of the i-th vertex is rotate (_Rotation) * (theEdge[i], 0, 0) + (_OffsetX, _OffsetY, 0).

Definition at line 101 of file zone_edge.h.

Referenced by build, buildMatrix, getOffsetX, and serial.

sint32 NLLIGO::CZoneEdge::_OffsetY [private]
 

Definition at line 102 of file zone_edge.h.

Referenced by build, buildMatrix, getOffsetY, and serial.

uint32 NLLIGO::CZoneEdge::_Rotation [private]
 

Rotation of the edge. Must be 0, 1, 2, 3. The rotation angle is Pi/2 * (double)_Rotation in CCW.

Definition at line 98 of file zone_edge.h.

Referenced by build, buildMatrix, getRotation, and serial.

std::vector<NLMISC::CVector> NLLIGO::CZoneEdge::_TheEdge [private]
 

The vector of position for this edge.

Definition at line 92 of file zone_edge.h.

Referenced by build, getNumVertex, getVertex, invert, isSymetrical, isTheSame, and serial.


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