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
 CABOUT_APP_INFOAn 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_PLUGINStructure BOM_PLUGIN holds data of the BOM plugin
 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
 CCN_RTREE< T >Class CN_RTREE - Implements an R-tree for fast spatial indexing of connectivity items
 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_GUIDEAn 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
 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
 CCTLsHolds 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
 CDRCDesign Rule Checker object that 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_LISTProvide 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
 CEJUNCTIONEagle Junction
 CELABELEagle label
 CDSN::ELEMClass ELEM is a base class for any DSN element class
 CENABLERSimple class to automatically enable/disable widgets
 CENETEagle net

Helper class to organize menu entries.

 CEPAD_COMMONStructure holding common properties for through-hole and SMD pads
 CEPINEagle pin element
 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
 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_NETLIST_METADATAThis class handle info which can be added in a gerber file as attribute of an obtect the GBR_INFO_TYPE types can be OR'ed to add 2 (or more) attributes There are only 3 net attributes defined attached to an object by the TO command TO.P TO.N TO.C the .P attribute can be used only for flashed pads (using the D03 command) and only for external copper layers, if the component is on a external copper layer for other copper layer items (pads on internal layers, tracks ..
 CGENDRILL_WRITER_BASEGENDRILL_WRITER_BASE is a class to create drill maps and drill report, and a helper class to created drill files
 CGERBER_JOBFILE_READERThis class read and parse a Gerber job file to extract useful info for GerbView
 CGERBER_JOBFILE_WRITERGERBER_JOBFILE_WRITER is a class used to create Gerber job file a Gerber job file stores info to make a board: list of gerber files info about the board itsel: size, number of copper layers thickness of the board, copper and dielectric and some other info (colors, finish type ...)
 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
 CKIGFX::GPU_MANAGERClass to handle uploading vertices and indices to GPU in drawing purposes
 CGRID_TYPEClass GRID_TYPE is for grid arrays
 CKIGFX::CAIRO_GAL::GROUP_ELEMENTType definition for an graphics group element
 Cstd::hash< SCALED_BITMAP_ID >
 Cstd::hash< wxString >

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

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

 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*>

 CMULTIVECTOR< T, FIRST_TYPE_VAL, LAST_TYPE_VAL >::ITERATOR_BASE< ITEM_TYPE, ITEM_CONTAINER, ITEM_CONTAINER_IT >Generic implementation of a flat const/non-const iterator over contained items
 CJOBFILE_PARAMSClass JOBFILE_PARAMS store the list of parameters written in Gerber job file especialy list of .gbr filenames and the corresponding layer id belonging the job
 CKEYWORDStruct KEYWORD holds a keyword string and its unique integer token
 CKI_PARAM_ERRORClass KI_PARAM_ERROR is a class used to hold a translatable error message and may be used when throwing exceptions containing a translated error message
 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
 Cstd::less< wxPoint >

Class to store a working copy of a library

 CLIB_IDA logical library item identifier and consists of various portions much like a URI
 CLIB_MANAGERClass to handle modifications to the symbol libraries
 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_IOInstantiate the current locale 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"
 CMULTIVECTOR< T, FIRST_TYPE_VAL, LAST_TYPE_VAL >Multivector container type
 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)
 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
 CPAD_CS_PRIMITIVEHelper class to handle a primitive (basic shape: polygon, segment, circle or arc) to build a custom pad full shape from a set of primitives
 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

Class to store a working copy of a LIB_PART object and editor context.

 CPART_LIBObject used to load, save, search, and otherwise manipulate symbol library files
 CRTree< DATATYPE, ELEMTYPE, NUMDIMS, ELEMTYPEREAL, TMAXNODES, TMINNODES >::PartitionVarsVariables for finding a split partition
 CPCB_DISPLAY_OPTIONSClass PCB_DISPLAY_OPTIONS handles display options like enable/disable some optional drawings
 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
 CIO_MGR::PLUGIN_REGISTRYClass PLUGIN_REGISTRY Holds a list of available plugins, created using a singleton REGISTER_PLUGIN object
 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
 CPROGRESS_REPORTERA progress reporter for use in multi-threaded environments
 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
 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< CN_ITEM *, int, 2, float >
 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_CACHEA 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_SCREENSContainer class that holds multiple SCH_SCREEN objects 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

Wires and labels of a single connection (segment in Eagle nomenclature)

 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)

 CCOMPONENT_TREE::STATEStructure storing state of the component tree widget
 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-mutating 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
 CUTF8Class UTF8 is an 8 bit string that is assuredly encoded in UTF8, and supplies special conversion support to and from wxString, to and from std::string, and has non-mutating iteration over unicode characters

Structure to keep VIEW_CONTROLS settings for easy store/restore operations

 CVECTOR2< T >Class VECTOR2 defines a general 2D-vector/point
 CVECTOR2< double >
 CVECTOR2< int >
 CVECTOR2< unsigned int >
 CVECTOR2_TRAITS< T >Class VECTOR2_TRAITS traits class for VECTOR2

Data structure for vertices {X,Y,Z,R,G,B,A,shader&param}

 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