KiCad PCB EDA Suite
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 CPROJECT::_ELEMA PROJECT can hold stuff it knows nothing about, in the form of _ELEM derivatives
 CAboutAppInfoAn object of this class is meant to be used to store application specific information like who has contributed in which area of the application, the license, copyright and other descriptive information
 CACTION_PLUGINClass ACTION_PLUGIN This is the parent class from where any action plugin class must derive
 CAliasMapSortLIB_ALIAS map sorting
 CAM_PARAMClass AM_PARAM holds a parameter value for an "aperture macro" as defined within standard RS274X
 CAM_PARAM_EVALThis helper class hold a value or an arithmetic operator to calculate the final value of a aperture macro parameter, using usual arithmetic operator precedence Only operators ADD, SUB, MUL, DIV, OPEN_PAR, CLOSE_PAR have meaning when calculating a value
 CAM_PARAM_ITEMClass AM_PARAM holds an operand for an AM_PARAM as defined within standard RS274X
 CAM_PRIMITIVEStruct AM_PRIMITIVE holds an aperture macro primitive as given in Table 3 of
 CAPERTURE_MACROStruct APERTURE_MACRO helps support the "aperture macro" defined within standard RS274X
 CAPERTURE_MACRO_less_thanStruct APERTURE_MACRO_less_than is used by std:set<APERTURE_MACRO> instantiation which uses as its key
 CBEZIER_POLYBezier curves to polygon converter
 CBIN_MODStruct BIN_MOD pertains to a single program module, either an EXE or a DSO/DLL ("bin_mod")
 CBITMAP_BASEThis class handle bitmap images in KiCad
 CBITMAP_OPAQUEPNG memory record (file in memory)
 CBOARD_DESIGN_SETTINGSClass BOARD_DESIGN_SETTINGS contains design settings for a BOARD object
 CBOM_COLUMNBOM_COLUMN class Models a single column in the BOM view Each column can be used to group components, and can be hidden from the output BOM
 CBOM_FIELD_VALUESQuick lookup of component values (based on Field ID) This is done for the following reasons:
 CBOM_PLUGINStructure BOM_PLUGIN holds data of the BOM plugin
 CBOM_TABLE_ROWVirtual base class determining how a row is displayed There are three types of rows: GROUP - Displays a group of (one or more) components COMPONENT - Displays a single component UNIT - Child of COMPONENT for multi-unit components
 CSutherlandHodgman::BoundaryHor< Comp >
 CSutherlandHodgman::BoundaryVert< Comp >
 CBOX2< Vec >Class BOX2 handles a 2-D bounding box, built on top of an origin point and size vector, both of templated class Vec
 CRTree< DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES >::BranchMay be data or may be another subtree The parents level determines this
 CBUFFERED_DC_HELPERClass BUFFERED_DC_HELPER fixes a bug on Windows when using buffered device context

Stores information about a mouse button state

 CC3D_RENDER_BASEThis is a base class to hold data and functions for render targets
 CCBBOXClass CBBOX manages a bounding box defined by two SFVEC3F min max points
 CCBBOX2DClass CBBOX manages a bounding box defined by two SFVEC2F min max points
 CCCAMERAClass CCAMERA is a virtual class used to derive CCAMERA objects from
 CCIMAGEClass CIMAGE manages a 8-bit channel image
 CCINFO3D_VISUClass CINFO3D_VISU Helper class to handle information needed to display 3D board
 CCLAYER_TRIANGLE_CONTAINERStores an manage vector of triangles
 CCLAYER_TRIANGLESStores arrays of triangles to be used to create display lists
 CCLAYERS_OGL_DISP_LISTSStores the openGL display lists to related with a layer
 CPOLYGON_GEOM_MANAGER::CLIENT"Listener" interface for a class that wants to be updated about polygon geometry changes
 CCLIGHTA base light class to derive to implement other light classes
 CCLIGHTCONTAINERA light contariner. It will add lights and remove it in the end
 CCMATERIALA base material class that can be used to derive a material implementation
 CCMP_READERClass CMP_READER reads a component footprint link file (*.cmp) format
 CCMP_TREE_NODEModel class in the component selector Model-View-Adapter (mediated MVC) architecture
 CCOBJECT2D_STATSImplements a class for object statistics using Singleton pattern
 CCOBJECT3D_STATSImplements a class for object statistics using Singleton pattern
 CCOGL_ATT_LISTClass COGL_ATT_LIST Helper class to create an attribute list
 CCOLLECTORClass COLLECTOR is an abstract class that will find and hold all the objects according to an inspection done by the Inspect() function which must be implemented by any derived class
 CCOLLECTORS_GUIDEClass COLLECTORS_GUIDE is an abstract base class whose derivatives may be passed to a GENERAL_COLLECTOR, telling GENERAL_COLLECTOR what should be collected (aside from HitTest()ing and KICAD_T scanTypes[], information which are provided to the GENERAL_COLLECTOR through attributes or arguments separately)
 CKIGFX::COLOR4DClass COLOR4D is the color representation with 4 components: red, green, blue, alpha
 CCOLORS_DESIGN_SETTINGSClass COLORS_DESIGN_SETTINGS is a list of color settings for designs in Eeschema, Pcbnew and GerbView
 CCOMP_FIELDSHolder for multi-unit component fields
 CCOMPONENTClass COMPONENT is used to store components and all of their related information found in a netlist
 CCOMPONENT_NETClass COMPONENT_NET is used to store the component pin name to net name associations stored in a netlist
 CContributorA contributor, a person which was involved in the development of the application or which has contributed in any kind somehow to the project
 CCOROUTINE< ReturnType, ArgType >Class COROUNTINE
 CCOROUTINE< int, const TOOL_EVENT & >
 CCOROUTINE< int, int >
 CCPOLYGONS_LISTCPOLYGONS_LIST handle a list of contours (polygons corners)
 CCPROCEDURALGENERATORA base class that can be used to derive a procedural generator implementation
 CCTLsStruct CTLs holds the 3 ui control pointers for a single board layer
 CD_CODEClass D_CODE holds a gerber DCODE (also called Aperture) definition
 CDANGLING_END_ITEMClass DANGLING_END_ITEM is a helper class used to store the state of schematic items that can be connected to other schematic items
 CDartDart class for the half-edge data structure
 CDHEADClass DHEAD is only for use by template class DLIST, use that instead
 CDISPLAY_OPTIONSClass DISPLAY_OPTIONS handles display options like enable/disable some optional drawings
 CDRAG_SEGM_PICKERHelper classes to handle a list of track segments to drag and has info to undo/abort the move command
 CDRCClass DRC is the Design Rule Checker, and performs all the DRC tests
 CDRC_ITEMClass DRC_ITEM is a holder for a DRC (in Pcbnew) or ERC (in Eeschema) error item
 CDRC_ITEM_LISTClass DRC_ITEM_LIST provides an abstract interface of a DRC_ITEM* list manager
 CDSNLEXERClass DSNLEXER implements a lexical analyzer for the SPECCTRA DSN file format
 CEATTRClass EATTR parses an Eagle "attribute" XML element
 CECIRCLEEagle circle
 CEDA_BLIT_NORMALIZERClass EDA_BLIT_NORMALIZER is a helper class for clearing a device context scale and offset parameters before performing a Blit operation
 CEDA_CROSS_HAIR_MANAGERClass EDA_CROSS_HAIR_MANAGER is used to hide the cross hair and restore it when the class goes out of scope
 CEDA_GRAPHIC_TEXT_CTRLClass EDA_GRAPHIC_TEXT_CTRL is a custom text edit control to edit/enter Kicad dimensions ( INCHES or MM )
 CEDA_HOTKEYClass EDA_HOTKEY is a class to handle hot key commands
 CEDA_HOTKEY_CONFIGStructure EDA_HOTKEY_CONFIG contains the information required to save hot key information to a configuration file
 CEDA_RECTClass EDA_RECT handles the component boundary box
 CEDA_TEXTClass EDA_TEXT is a mix-in class (via multiple inheritance) that handles texts such as labels, parts, components, or footprints
 Ched::EDGEEdge class in the in the half-edge data structure
 CEDIMENSIONEagle dimension element
 CEELEMENTEagle element element
 CEHOLEEagle hole element
 CDSN::ELEMClass ELEM is a base class for any DSN element class
 CENETEagle net

Helper class to organize menu entries.

 CEPADEagle thru hol pad
 CEPOLYGONEagle polygon, without vertices which are parsed as needed
 CUTIL::DETAIL::equals< T >
 CERECTEagle XML rectangle in binary
 CEROTEagle rotation
 CERULESSubset of eagle.drawing.board.designrules in the XML document
 CESMDEagle SMD pad
 CETEXTEagle text element
 CEVERTEXEagle vertex
 CEVIAEagle via
 CEWIREEagle wire
 Cfnv_1aVery fast and efficient hash function for "const char*" type, used in specialized KEYWORD_MAP below
 CFOOTPRINT_ASYNC_LOADERThis class can be used to populate a FOOTPRINT_LIST asynchronously
 CFOOTPRINT_FILTERFootprint display filter
 CFOOTPRINT_LISTHolds a list of FOOTPRINT_INFO objects, along with a list of IO_ERRORs or PARSE_ERRORs that were thrown acquiring the FOOTPRINT_INFOs
 CFOOTPRINT_PREVIEW_PANEL_BASEBase class for the actual viewer panel
 CFOOTPRINT_WIZARDClass FOOTPRINT_WIZARD This is the parent class from where any footprint wizard class must derive
 CFP_CACHE_ITEMClass FP_CACHE_ITEM is helper class for creating a footprint library cache
 CFP_THREAD_IFACEThreadsafe interface class between loader thread and panel class
 CFRUSTUMFrustum structure Frustum is a implementation based on a tutorial by
 CGBR_LAYOUTClass GBR_LAYOUT holds list of GERBER_DRAW_ITEM currently loaded
 CGENDRILL_WRITER_BASEGENDRILL_WRITER_BASE is a class to create drill maps and drill report, and a helper class to created drill files
 CGERBER_FILE_IMAGEClass GERBER_FILE_IMAGE holds the Image data and parameters for one gerber file and layer parameters (TODO: move them in GERBER_LAYER class
 CGERBER_FILE_IMAGE_LISTGERBER_FILE_IMAGE_LIST is a helper class to handle a list of GERBER_FILE_IMAGE files which are loaded and can be displayed there are 32 images max which can be loaded
 CGITHUB_GETLIBLISTClass GITHUB_GETLIBLIST implements a portion of pcbnew's PLUGIN interface to provide read only access to a github repo to extract pretty footprints library list, in json format, or extract 3D shapes libraries list (.3dshapes folders) and download the 3d shapes files
 CGPCB_FPL_CACHE_ITEMClass GPCB_FPL_CACHE_ITEM is helper class for creating a footprint library cache
 CGRID_TYPEClass GRID_TYPE is for grid arrays
 CKIGFX::CAIRO_GAL::GROUP_ELEMENTType definition for an graphics group element

Joints are hashed by their position, layers and net.

 CHITINFOStores the hit information of a ray with a point on the surface of a object
 CHOTKEY_SECTIONStruct HOTKEY_SECTION Associates a hotkey configuration with a name
 CINDICATOR_ICON::ICON_PROVIDERA simple object that can provide fixed bitmaps for use as row indicators
 CIFSG_NODEClass IFSG_NODE represents the base class of all DLL-safe Scene Graph nodes
 CINCREMENTAL_TEXT_CTRLClass that governs a textual control holding a number that can be incremented/decremented according to some scheme (often just a constant step)
 CMWAVE::INDUCTOR_PATTERNParameters for construction of a microwave inductor

A lightweight intrusive list container

 CIO_ERRORStruct IO_ERROR is a class used to hold an error message and may be used when throwing exceptions containing meaningful error messages
 CIO_MGRClass IO_MGR is a factory which returns an instance of a PLUGIN
 CSHAPE_INDEX< T >::Iterator
 CSHAPE_INDEX_LIST< T, >::iterator

Wrapper class, so you can iterate through NETINFO_ITEM*s, not std::pair<int/wxString, NETINFO_ITEM*>


Wrapper class, so you can iterate through NETINFO_ITEM*s, not std::pair<int/wxString, NETINFO_ITEM*>

 CKEYWORDStruct KEYWORD holds a keyword string and its unique integer token
 CKICAD_CURLClass KICAD_CURL simple wrapper class to call curl_global_init and curl_global_cleanup for KiCad
 CKICAD_CURL_EASYClass KICAD_CURL_EASY wrapper interface around the curl_easy API
 CKIFACEClass KIFACE is used by a participant in the KIWAY alchemy
 CKIWAY_HOLDERClass KIWAY_HOLDER is a mix in class which holds the location of a wxWindow's KIWAY
 CKIWAY_MGRClass KIWAY_MGR is a container for all KIWAYS [and PROJECTS]
 CLANGUAGE_DESCRA small class to handle the list of existing translations
 CLAYERClass LAYER holds information pertinent to a layer of a BOARD
 CLIB_PART_LESS_THANStruct LIB_PART_LESS_THAN is used by std:set<LIB_PART*> instantiation which uses LIB_PART name as its key
 CLINE_READERClass LINE_READER is an abstract class from which implementation specific LINE_READERs may be derived to read single lines of text and manage a line number counter
 CRTree< DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES >::ListNodeA link list of nodes for reinsertion after a delete operation
 CLOCALE_IOClass LOCALE_IO is a class that can be instantiated within a scope in which you are expecting exceptions to be thrown
 CLP_CACHEClass LP_CACHE assists only for the footprint portion of the PLUGIN API, and only for the LEGACY_PLUGIN, so therefore is private to this implementation file, i.e
 CLRU_WXSTR_CACHE< t_value >Template LRU_WXSTR_CACHE template for a wxString key based LRU cache
 CMATRIX3x3< T >Class MATRIX3x3 describes a general 3x3 matrix
 CMATRIX3x3< double >
 CMATRIX_ROUTING_HEADClass MATRIX_ROUTING_HEAD handle the matrix routing that describes the actual board
 CMIN_SPAN_TREEThe class MIN_SPAN_TREE calculates the rectilinear minimum spanning tree of a set of points (pads usually having the same net) this class is an abstract class because you must provide the function int GetWeight( int aItem1, int aItem2 ) that calculate the distance between 2 items MIN_SPAN_TREE does not know anything about the actual items to link by the tree
 CMSG_PANEL_ITEMClass EDA_MSG_ITEM is used EDA_MSG_PANEL as the item type for displaying messages
 CKIGFX::PREVIEW::MULTISTEP_GEOM_MANAGERA geometry manager that works by accepting a sequence of points and advancing though stages of geometric construction with each point "locked in"
 CMutexTypeA dummy mutex that doesn't actually exclude anything, but as there is no parallelism either, no worries
 CNETCLASSClass NETCLASS handles a collection of nets and the parameters used to route or test these nets
 CNETCLASSESClass NETCLASSES is a container for NETCLASS instances
 CNETINFO_LISTClass NETINFO_LIST is a container class for NETINFO_ITEM elements, which are the nets
 CNETLISTClass NETLIST stores all of information read from a netlist along with the flags used to update the NETLIST in the BOARD
 CNETLIST_EXPORTERClass NETLIST_EXPORTER is a abstract class used for the netlist exporters that eeschema supports
 CNETLIST_READERClass NETLIST_READER is a pure virtual class to derive a specific type of netlist reader from
 CRTree< DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES >::NNNodeData structure used for Nearest Neighbor search implementation
 Ched::NODENode class for data structures (Inherits from HandleId)
 Cboost::optional< T >
 Cboost::optional< BOX2I >
 Cboost::optional< CLICK_HANDLER >
 Cboost::optional< int >
 Cboost::optional< IO_MGR::PCB_FILE_T >
 Cboost::optional< LINE >
 Cboost::optional< OBSTACLE >
 Cboost::optional< PNS::DP_PRIMITIVE_PAIR >
 Cboost::optional< std::string >
 Cboost::optional< VECTOR2 >
 CDIALOG_BLOCK_OPTIONS::OPTIONSStruct that will be set with the result of the user choices in the dialog
 COUTERS_AND_HOLESThis structured will be used to handle a sub set of a polygon
 COUTPUTFORMATTERClass OUTPUTFORMATTER is an important interface (abstract class) used to output 8 bit text in a convenient way
 CPAGE_INFOClass PAGE_INFO describes the page size and margins of a paper page on which to eventually print or plot
 CKIGFX::PAINTERClass PAINTER contains all the knowledge about how to draw graphical object onto any particular output device
 CPARAM_CFG_BASEClass PARAM_CFG_BASE is a base class which establishes the interface functions ReadParam and SaveParam, which are implemented by a number of derived classes, and these function's doxygen comments are inherited also
 CZONE_CREATE_HELPER::PARAMSParameters used to fully describe a zone creation process
 CPART_LIBClass PART_LIB is used to load, save, search, and otherwise manipulate part library files
 CRTree< DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES >::PartitionVarsVariables for finding a split partition
 CPCB_PLOT_PARAMSClass PCB_PLOT_PARAMS handles plot parameters and options when plotting/printing a board
 CPGM_BASEClass PGM_BASE keeps program (whole process) data for KiCad programs
 CPICKED_ITEMS_LISTClass PICKED_ITEMS_LIST is a holder to handle information on schematic or board items
 CDSN::PIN_PAIRStruct PIN_PAIR is used within the WAS_IS class below to hold a pair of PIN_REFs and corresponds to the (pins was is) construct within the specctra dsn spec
 CPL_EDITOR_LAYOUTClass PL_EDITOR_LAYOUT holds list of GERBER_DRAW_ITEM currently loaded
 CPLOT_CONTROLLERBatch plotter state object
 CPLOTTERBase plotter engine class
 CPLUGINClass PLUGIN is a base class that BOARD loading and saving plugins should derive from
 CDSN::POINTStruct POINT is a holder for a point in the SPECCTRA DSN coordinate system
 CPOLYGON_GEOM_MANAGERClass that handles the drawing of a polygon, including management of last corner deletion and drawing of leader lines with various constraints (eg 45 deg only)
 CPRINT_PARAMETERSClass PRINT_PARAMETERS handles the parameters used to print a board drawing
 CSELECTION_TOOL::PRIVPrivate implementation of firewalled private data
 CPROF_COUNTERThe class PROF_COUNTER is a small class to help profiling
 CPROJECTClass PROJECT holds project specific data
 CPROJECT_TEMPLATEA class which provides project template functionality
 CSHAPE_INDEX_LIST< T, >::query_iterator
 CKIGFX::queryVisitor< Container >
 CRTree< DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES >::RectMinimal bounding rectangle (n-dimensional)
 CPLUGIN::RELEASERClass RELEASER releases a PLUGIN in the context of a potential thrown exception, through its destructor
 Cremove_pointer< T >
 Cremove_pointer< T * >
 CKIGFX::RENDER_SETTINGSClass RENDER_SETTINGS Contains all the knowledge about how graphical objects are drawn on any output surface/device
 CREPORTERClass REPORTER is a pure virtual class used to derive REPORTER objects from
 CRN_NETClass RN_NET Describes ratsnest for a single net
 CLAYER_WIDGET::ROWStruct ROW provides all the data needed to add a row to a LAYER_WIDGET
 CRTree< DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES >Implementation of RTree, a multidimensional bounding rectangle tree
 CRTree< T, int, 2, float >
 CS3DMODELStore the a model based on meshes and materials
 CS_FILTER5x5 Filter struct parameters
 CSCH_FIND_COLLECTOR_DATAClass SCH_FIND_COLLECTOR_DATA is used as a data container for the associated item found by the SCH_FIND_COLLECTOR object
 CSCH_IO_MGRClass SCH_IO_MGR is a factory which returns an instance of a SCH_PLUGIN
 CSCH_LEGACY_PLUGIN_CACHEClass SCH_LEGACY_PLUGIN_CACHE is a cache assistant for the part library portion of the SCH_PLUGIN API, and only for the SCH_LEGACY_PLUGIN, so therefore is private to this implementation file, i.e
 CSCH_PLUGINBase class that schematic file and library loading and saving plugins should derive from
 CSCH_PLUGIN::SCH_PLUGIN_RELEASERHelper object to release a SCH_PLUGIN in the context of a potential thrown exception through its destructor
 CSCH_REFERENCEClass SCH_REFERENCE is used as a helper to define a component's reference designator in a schematic
 CSCH_REFERENCE_LISTClass SCH_REFERENCE_LIST is used to create a flattened list of components because in a complex hierarchy, a component can be used more than once and its reference designator is dependent on the sheet path for the same component
 CSCH_SCREENSClass SCH_SCREENS is a container class that holds multiple SCH_SCREENs in a hierarchy
 CSCOPED_SET_RESET< VAL_TYPE >RAII class that sets an value at construction and resets it to the original value at destruction
 CScopedLockAn exception-safe scoped lock-keeper
 CSEGMENTStruct SEGMENT is a simple container used when filling areas with segments
 CSELECTION_CONDITIONSClass that groups generic conditions for selected items
 CSGNODEClass SGNODE represents the base class of all Scene Graph nodes
 CKIGFX::SHADERClass SHADER provides the access to the OpenGL shaders
 CSMESHPer-vertex normal/color/texcoors structure
 CSPICE_ITEMStructure to represent a schematic component in the Spice simulation

Helper class to handle Spice way of expressing values (e.g. 10.5 Meg)

 CKIGFX::STROKE_FONTClass STROKE_FONT implements stroke font drawing
 CSYNC_QUEUE< T >Synchronized, locking queue
 CSYNC_QUEUE< std::unique_ptr< IO_ERROR > >
 CSYNC_QUEUE< wxString >
 CTEMPLATE_FIELDNAMEStruct TEMPLATE_FIELDNAME holds a name of a component's field, field value, and default visibility
 CTEXT_EFFECTSStruct TEXT_EFFECTS is a bucket for text effects
 CTICK_FORMATDescription of a "tick format" for a scale factor - how many ticks there are between medium/major ticks and how each scale relates to the last one
 CTITLE_BLOCKClass TITLE_BLOCK holds the information shown in the lower right corner of a plot, printout, or editing view
 CTOOL_MANAGER::TOOL_STATEStruct describing the current execution state of a TOOL

Trace descriptor class

 CTRANSFORMClass for tranforming drawing coordinates for a wxDC device context
 Ched::TRIANGULATIONTriangulation class for the half-edge data structure with adaption to TTL
 CTRIPLETSegment (element) of our XPATH into the Eagle XML document tree in PTREE form
 Ched::TTLtraitsTraits class (static struct) for the half-edge data structure
 CUNDO_REDO_CONTAINERClass UNDO_REDO_CONTAINER is a holder to handle alist of undo (or redo) command
 CUTF8::uni_iterClass uni_iter is a non-muting iterator that walks through unicode code points in the UTF8 encoded string
 CUNIQUE_STRINGSClass UNIQUE_STRINGS tracks unique wxStrings and is useful in telling if a string has been seen before

Structure to keep VIEW_CONTROLS settings for easy store/restore operations

 CVECTOR2_TRAITS< T >Class VECTOR2_TRAITS traits class for VECTOR2
 CVECTOR2_TRAITS< double >
 CVECTOR2_TRAITS< unsigned int >
 CVIA_DIMENSIONStruct VIA_DIMENSION is a small helper container to handle a stock of specific vias each with unique diameter and drill sizes in the BOARD class
 CKIGFX::VIEW_CONTROLSClass VIEW_CONTROLS is an interface for classes handling user events controlling the view behaviour (such as zooming, panning, mouse grab, etc.)
 CKIGFX::VIEW_ITEMClass VIEW_ITEM - is an abstract base class for deriving all objects that can be added to a VIEW
 CWDO_ENABLE_DISABLEToggle a window's "enable" status to disabled, then enabled on destruction
 CWORKSHEET_LAYOUTWORKSHEET_LAYOUT handles the graphic items list to draw/plot the title block and other items (page references ..
 CWX_LOGLEVEL_CONTEXTContext class to set wx loglevel for a block, and always restore it at the end
 CZONE_CONTAINER::WX_VECTOR_CONVERTERUnion to handle conversion between references to wxPoint and to VECTOR2I
 CX2_ATTRIBUTEClass X2_ATTRIBUTE The attribute value consists of a number of substrings separated by a comma
 CXPATHClass XPATH keeps track of what we are working on within a PTREE
 CZONE_SETTINGSClass ZONE_SETTINGS handles zones parameters