# 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::CTransition Class Reference

A transition template. More...

#include <transition.h>

List of all members.

Public Types

enum  { ZoneEdgeCount = 4, TransitionZoneCount = 9 }
 Some define. More...


Public Methods

bool build (const CMaterial &mat0, const CMaterial &mat1, const std::vector< const CZoneTemplate * > &arrayTemplate, const CLigoConfig &config, CLigoError *errors, CLigoError &mainErrors)
 Build method. More...

bool check (const CZoneTemplate &zoneTemplate, uint transitionNumber, const CLigoConfig &config, CLigoError &errors) const
 Check if a transition zone template match with this transition template. More...

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


Private Attributes

CZoneEdge _EdgeZone [ZoneEdgeCount]
 The 4 Edges that define the transitions set. More...


Static Private Attributes

sint32 TransitionZoneEdges [TransitionZoneCount][4]
 Some static arries. More...

sint32 TransitionZoneOffset [TransitionZoneCount][2]


Detailed Description

A transition template.

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

Definition at line 50 of file transition.h.


Member Enumeration Documentation

anonymous enum
 

Some define.

Enumeration values:
ZoneEdgeCount 
TransitionZoneCount 

Definition at line 55 of file transition.h.


Member Function Documentation

bool NLLIGO::CTransition::build const CMaterial   mat0,
const CMaterial   mat1,
const std::vector< const CZoneTemplate * > &    arrayTemplate,
const CLigoConfig   config,
CLigoError   errors,
CLigoError   mainErrors
 

Build method.

We need 9 zone templates to create a transition set

0

1*0000* 1*0000* 1*0000* 1*0000* 1****** 111111*

1

0*1111* 0*1111* 0*1111* 0*1111* 1111* 111111*

2

0*1111* 0*1111* 0*1111* 0*1111* 0*1111*

3

111111* 111111* 111111* 111111* 1111* 0*1111*

4

0000*1* 0000*1* 0000*1* 0000*1* 0000*** 000000*

5

000000* 000000* 000000* 000000* 0000*** 0000*1*

6

000000* 000000* 000000* 000000*

111111*

7

000000* 0000*** 000*11* 00*111* 1111* 111111*

8

000000* 0* 1111*0* 1111*0* 1111*0* 1111*0*

The nine zones must be assembled like this:

Oy

^ | +-+-+-+-+ |5|6|7|8| +-+-+-+-+ |4|3| | | +-+-+-+-+ | |2| | | +-+-+-+-+ |0|1| | | -----------> Ox

Parameters:
tplt0  is the material lingo config file
config  is the current lingo config file
arrayTemplate  is an array of ligo zone template pointer of size 9. If a pointer is NULL, checks will be done on non NULL pointer but build will not be done.
arrayZone  is an array of nel zone pointer of size 9. If a pointer is NULL, checks will be done but build will not be done.
config  is the current lingo config file
errors  is an array of error structure of size 9. One error structure by zone.
Returns:
true if check success false if problem detected. Build is done if all the 18 pointers are not NULL.

Definition at line 68 of file transition.cpp.

References _EdgeZone, build, sint32, TransitionZoneCount, TransitionZoneEdges, uint, and ZoneEdgeCount.

Referenced by build.

bool NLLIGO::CTransition::check const CZoneTemplate   zoneTemplate,
uint    transitionNumber,
const CLigoConfig   config,
CLigoError   errors
const
 

Check if a transition zone template match with this transition template.

Parameters:
zoneTemplate  is a zone template.
transition  number is the number of the transition to test (0 ~ 8)
config  is the current lingo config file
errors  is an error handler filled with error code and message if the method return false.
Returns:
true if check success false if problem detected. Errors are reported in the the error[0].

Definition at line 228 of file transition.cpp.

References _EdgeZone, sint32, TransitionZoneEdges, and uint.

void NLLIGO::CTransition::serial NLMISC::IStream   s
 

Serial.

Definition at line 204 of file transition.cpp.

References _EdgeZone, s, NLMISC::IStream::serialCheck, NLMISC::IStream::serialVersion, sint, uint, uint32, NLMISC::IStream::xmlPop, NLMISC::IStream::xmlPush, NLMISC::IStream::xmlSerial, and ZoneEdgeCount.


Member Data Documentation

CZoneEdge NLLIGO::CTransition::_EdgeZone[ZoneEdgeCount] [private]
 

The 4 Edges that define the transitions set.

the 4 transitions are: 0 : *000000* 1 : *111111* 2 : *0*1111* 3 : *0000*1*

Definition at line 209 of file transition.h.

Referenced by build, check, and serial.

sint32 NLLIGO::CTransition::TransitionZoneEdges [static, private]
 

Initial value:

{
        {+2, +2, -4, +4},       
        {+4, +2, +2, -3},       
        {+1, +3, +2, -3},       
        {-3, +3, +2, +2},       
        {+1, +1, +3, -4},       
        {+1, +4, -4, +1},       
        {+4, +2, -4, +1},       
        {+4, +2, -3, +1},       
        {+3, -3, +1, +1},       
}
Some static arries.

Definition at line 38 of file transition.cpp.

Referenced by build, and check.

sint32 NLLIGO::CTransition::TransitionZoneOffset [static, private]
 

Initial value:

{
        {0, 1},         
        {1, 1},         
        {1, 2},         
        {1, 3},         
        {0, 3},         
        {0, 4},         
        {1, 4},         
        {2, 4},         
        {3, 4},         
}

Definition at line 53 of file transition.cpp.


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