Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CDrawPlane.cpp File Reference
#include "CDrawPlane.hpp"
#include "core/CStringTools.hpp"
#include "core/structs.hpp"
#include "math/CPolylines.hpp"
#include "ui/graphics/IRcpDraw.hpp"
#include "ui/shapes/CDrawShapes.hpp"
#include "ui/shapes/CDrawSymbols.hpp"
#include <climits>
#include <cmath>
#include <utility>
Include dependency graph for CDrawPlane.cpp:

Classes

class  CPrvDrawSymbol
 

Functions

static void prvDrawSymbolConnectorDigitalOutput (CCaptionPlane *captionPlane, const double posX, const double posY, IGraphics *graphics)
 
static void prvDrawSymbolTypeChannelDigitalInput (CCaptionPlane *captionPlane, IGraphics *graphics, const CDrawPlane::EChannelDigitalInputSymbol symbol, double *moveX)
 
static void prvDrawConnectionTc (IGraphics *graphics)
 
static void prvDrawExtensionYardTypeTc (CCaptionPlane *captionPlane, IGraphics *graphics)
 
static void prvDrawSimpleConnectionShipyard (IGraphics *graphics, const double yPos, const double sizeYBox, std::string strShipyardTerminal, std::string wireDetails, bool hasConnectionGround)
 
static void prvDrawShipyardConnectionJoin (IGraphics *graphics, std::string terminal1, std::string terminal2, std::string wireDetails1, std::string wireDetails2, bool isIndefinite, const bool hasGroundConnection)
 
static void prvDrawConnectionRTDWhitPT (IGraphics *graphics, const double tamBase)
 
static void prvDrawExtensionYardTypePt (CCaptionPlane *captionPlane, IGraphics *graphics, const double posY, double *moveX)
 
static void prvDrawShipyardElementAndTerminalBoard (IGraphics *graphics, std::string shipyardElement, std::string terminalBoard, const double moveX)
 
static void prvDrawShipyardConnection (IGraphics *graphics, const double posX, const double posY, const CDrawPlane::EShipyardConnectionBoxAlignment shipyardConnectionBoxAlign, std::string shipyardTerminal, std::string wireDetails, bool hasConnectionGround, const double paddingRightText, double *moveX)
 
static void prvDrawExtensionYardTypeA (CCaptionPlane *captionPlane, IGraphics *graphics, std::string textTerminalUpRight, std::string textTerminalUpLeft, std::string textTerminalDownLeft, const CDrawPlane::ETypeSymbols symbolToDraw, double *moveX)
 
static void prvDrawShipyardConnectionBox2ChannelsJoin (IGraphics *graphics, std::string shipyardTerminal1, std::string shipyardTerminal2, std::string wireDetails1, std::string wireDetails2, const bool hasGroundConnection, double *moveX)
 
static void prvDrawShipyardConnectionBox3ChannelsJoin (IGraphics *graphics, const std::string &shipyardTerminal1, const std::string &shipyardTerminal2, const std::string &shipyardTerminal3, const std::string &wireDetails1, const std::string &wireDetails2, const std::string &wireDetails3, const bool hasGroundConnection, const double posY, double *moveX)
 
static void prvDrawShipyardConnectionBox2ChannelsSeparated (IGraphics *graphics, std::string shipyardTerminal1, std::string shipyardTerminal3, std::string wireDetails1, std::string wireDetails3, const bool hasGroundConnection, double *moveX)
 
static void prvDrawConnectionGround (IGraphics *graphics, const double posX, const double posY, const uint16_t numWiresToConnect, const double longToConnectWires, double *moveX)
 
static uint64_t prvAuxSplitTextInWhiteSpaces (const std::vector< uint64_t > &posWhiteSpaces, const uint16_t splitLength)
 
static std::string prvSplitText (const std::string &text, const uint16_t splitLength, uint64_t *positionSplit)
 
static std::vector< std::string > prvSplitTextInWhiteSpaces (const std::string &text, const uint16_t splitLength)
 
static void prvDrawBoxTerminal (std::string strIdConnector, const bool drawConnector, IGraphics *graphics)
 
static void prvDrawBoxTerminalGround (CCaptionPlane *captionPlane, IGraphics *graphics, const bool drawConnector)
 
static void prvDrawLomConnections (CCaptionPlane *captionPlane, IGraphics *graphics, const uint16_t numConnections, const bool hasGroundConnection, const uint16_t idChannel, const std::vector< std::string > &terminalsIdLom)
 
static void prvDrawLomChannelDescription (IGraphics *graphics, const double posX, const double posY, const std::string &channelDescription, const uint16_t maxLengthText)
 
static void prvDrawBoxLomDescriptionThin (IGraphics *graphics, const double posX, const double posY, const double sizeX, const double sizeY, const std::string &strIdChannel, const std::string &channelTag, const std::string &channelDescription)
 
static void prvDrawBoxLomDescriptionThick (IGraphics *graphics, const double posX, const double posY, const double sizeX, const double sizeY, const std::string &strIdChannel, const std::string &channelTag, const std::string &channelDescription)
 
static void prvDrawLomDescriptionBox (IGraphics *graphics, const double posX, const double posY, const uint16_t numConnections, const bool hasGroundConnection, const uint16_t idChannel, const std::string &channelTag, const std::string &channelDescription)
 
static void prvDrawLomConnectionsAndDescriptionsBox (CCaptionPlane *captionPlane, IGraphics *graphics, const uint16_t numConnections, const bool hasGroundConnection, const uint16_t idChannel, const std::string &channelTag, const std::string &channelDescription, const std::vector< std::string > &terminalsIdLOM)
 

Variables

static constexpr double kPrvTamBase = 2
 
static constexpr double kPrvSizeXBoxLomDescription = 10. * kPrvTamBase
 
static constexpr double kPrvSizeXBoxLomTerminal = 2. * kPrvTamBase
 
static constexpr double kPrvSizeYBoxLomTerminal = kPrvTamBase
 
static constexpr double kPrvSizeLongLomTerminalConnection = kPrvTamBase * 0.25
 
static constexpr double kPrvSizeLongShipyardWire = 6. * kPrvTamBase
 
static constexpr double kPrvSizeXShipyardBox = 5. * kPrvTamBase
 
static constexpr double kPrvSizeYShipyardBox = 0.85 * kPrvTamBase
 
static constexpr double kPrvSizeLongExtensionTypeWire = 3.5 * kPrvTamBase
 
static constexpr double kPrvPaddingText = 0.5
 
static constexpr double kPrvSizeText = 0.75 * kPrvTamBase
 
static constexpr double kPrvSizeTextTagChannel = 0.75 * kPrvSizeText
 
static constexpr double kPrvSizeTextWireDetails = 0.75 * kPrvSizeText
 
static constexpr double kPrvSizeTextCaption = 0.75 * kPrvSizeText
 
static constexpr uint16_t kPrvMaxSizeLineText = 23
 

Function Documentation

◆ prvAuxSplitTextInWhiteSpaces()

static uint64_t prvAuxSplitTextInWhiteSpaces ( const std::vector< uint64_t > & posWhiteSpaces,
const uint16_t splitLength )
static

◆ prvDrawBoxLomDescriptionThick()

static void prvDrawBoxLomDescriptionThick ( IGraphics * graphics,
const double posX,
const double posY,
const double sizeX,
const double sizeY,
const std::string & strIdChannel,
const std::string & channelTag,
const std::string & channelDescription )
static

◆ prvDrawBoxLomDescriptionThin()

static void prvDrawBoxLomDescriptionThin ( IGraphics * graphics,
const double posX,
const double posY,
const double sizeX,
const double sizeY,
const std::string & strIdChannel,
const std::string & channelTag,
const std::string & channelDescription )
static

◆ prvDrawBoxTerminal()

static void prvDrawBoxTerminal ( std::string strIdConnector,
const bool drawConnector,
IGraphics * graphics )
static

◆ prvDrawBoxTerminalGround()

static void prvDrawBoxTerminalGround ( CCaptionPlane * captionPlane,
IGraphics * graphics,
const bool drawConnector )
static

◆ prvDrawConnectionGround()

static void prvDrawConnectionGround ( IGraphics * graphics,
const double posX,
const double posY,
const uint16_t numWiresToConnect,
const double longToConnectWires,
double * moveX )
static

◆ prvDrawConnectionRTDWhitPT()

static void prvDrawConnectionRTDWhitPT ( IGraphics * graphics,
const double tamBase )
static

◆ prvDrawConnectionTc()

static void prvDrawConnectionTc ( IGraphics * graphics)
static

◆ prvDrawExtensionYardTypeA()

static void prvDrawExtensionYardTypeA ( CCaptionPlane * captionPlane,
IGraphics * graphics,
std::string textTerminalUpRight,
std::string textTerminalUpLeft,
std::string textTerminalDownLeft,
const CDrawPlane::ETypeSymbols symbolToDraw,
double * moveX )
static

◆ prvDrawExtensionYardTypePt()

static void prvDrawExtensionYardTypePt ( CCaptionPlane * captionPlane,
IGraphics * graphics,
const double posY,
double * moveX )
static

◆ prvDrawExtensionYardTypeTc()

static void prvDrawExtensionYardTypeTc ( CCaptionPlane * captionPlane,
IGraphics * graphics )
static

◆ prvDrawLomChannelDescription()

static void prvDrawLomChannelDescription ( IGraphics * graphics,
const double posX,
const double posY,
const std::string & channelDescription,
const uint16_t maxLengthText )
static

◆ prvDrawLomConnections()

static void prvDrawLomConnections ( CCaptionPlane * captionPlane,
IGraphics * graphics,
const uint16_t numConnections,
const bool hasGroundConnection,
const uint16_t idChannel,
const std::vector< std::string > & terminalsIdLom )
static

◆ prvDrawLomConnectionsAndDescriptionsBox()

static void prvDrawLomConnectionsAndDescriptionsBox ( CCaptionPlane * captionPlane,
IGraphics * graphics,
const uint16_t numConnections,
const bool hasGroundConnection,
const uint16_t idChannel,
const std::string & channelTag,
const std::string & channelDescription,
const std::vector< std::string > & terminalsIdLOM )
static

◆ prvDrawLomDescriptionBox()

static void prvDrawLomDescriptionBox ( IGraphics * graphics,
const double posX,
const double posY,
const uint16_t numConnections,
const bool hasGroundConnection,
const uint16_t idChannel,
const std::string & channelTag,
const std::string & channelDescription )
static

◆ prvDrawShipyardConnection()

static void prvDrawShipyardConnection ( IGraphics * graphics,
const double posX,
const double posY,
const CDrawPlane::EShipyardConnectionBoxAlignment shipyardConnectionBoxAlign,
std::string shipyardTerminal,
std::string wireDetails,
bool hasConnectionGround,
const double paddingRightText,
double * moveX )
static

◆ prvDrawShipyardConnectionBox2ChannelsJoin()

static void prvDrawShipyardConnectionBox2ChannelsJoin ( IGraphics * graphics,
std::string shipyardTerminal1,
std::string shipyardTerminal2,
std::string wireDetails1,
std::string wireDetails2,
const bool hasGroundConnection,
double * moveX )
static

◆ prvDrawShipyardConnectionBox2ChannelsSeparated()

static void prvDrawShipyardConnectionBox2ChannelsSeparated ( IGraphics * graphics,
std::string shipyardTerminal1,
std::string shipyardTerminal3,
std::string wireDetails1,
std::string wireDetails3,
const bool hasGroundConnection,
double * moveX )
static

◆ prvDrawShipyardConnectionBox3ChannelsJoin()

static void prvDrawShipyardConnectionBox3ChannelsJoin ( IGraphics * graphics,
const std::string & shipyardTerminal1,
const std::string & shipyardTerminal2,
const std::string & shipyardTerminal3,
const std::string & wireDetails1,
const std::string & wireDetails2,
const std::string & wireDetails3,
const bool hasGroundConnection,
const double posY,
double * moveX )
static

◆ prvDrawShipyardConnectionJoin()

static void prvDrawShipyardConnectionJoin ( IGraphics * graphics,
std::string terminal1,
std::string terminal2,
std::string wireDetails1,
std::string wireDetails2,
bool isIndefinite,
const bool hasGroundConnection )
static

◆ prvDrawShipyardElementAndTerminalBoard()

static void prvDrawShipyardElementAndTerminalBoard ( IGraphics * graphics,
std::string shipyardElement,
std::string terminalBoard,
const double moveX )
static

◆ prvDrawSimpleConnectionShipyard()

static void prvDrawSimpleConnectionShipyard ( IGraphics * graphics,
const double yPos,
const double sizeYBox,
std::string strShipyardTerminal,
std::string wireDetails,
bool hasConnectionGround )
static

◆ prvDrawSymbolConnectorDigitalOutput()

static void prvDrawSymbolConnectorDigitalOutput ( CCaptionPlane * captionPlane,
const double posX,
const double posY,
IGraphics * graphics )
static

◆ prvDrawSymbolTypeChannelDigitalInput()

static void prvDrawSymbolTypeChannelDigitalInput ( CCaptionPlane * captionPlane,
IGraphics * graphics,
const CDrawPlane::EChannelDigitalInputSymbol symbol,
double * moveX )
static

◆ prvSplitText()

static std::string prvSplitText ( const std::string & text,
const uint16_t splitLength,
uint64_t * positionSplit )
static

◆ prvSplitTextInWhiteSpaces()

static std::vector< std::string > prvSplitTextInWhiteSpaces ( const std::string & text,
const uint16_t splitLength )
static

Variable Documentation

◆ kPrvMaxSizeLineText

uint16_t kPrvMaxSizeLineText = 23
staticconstexpr

◆ kPrvPaddingText

double kPrvPaddingText = 0.5
staticconstexpr

◆ kPrvSizeLongExtensionTypeWire

double kPrvSizeLongExtensionTypeWire = 3.5 * kPrvTamBase
staticconstexpr

◆ kPrvSizeLongLomTerminalConnection

double kPrvSizeLongLomTerminalConnection = kPrvTamBase * 0.25
staticconstexpr

◆ kPrvSizeLongShipyardWire

double kPrvSizeLongShipyardWire = 6. * kPrvTamBase
staticconstexpr

◆ kPrvSizeText

double kPrvSizeText = 0.75 * kPrvTamBase
staticconstexpr

◆ kPrvSizeTextCaption

double kPrvSizeTextCaption = 0.75 * kPrvSizeText
staticconstexpr

◆ kPrvSizeTextTagChannel

double kPrvSizeTextTagChannel = 0.75 * kPrvSizeText
staticconstexpr

◆ kPrvSizeTextWireDetails

double kPrvSizeTextWireDetails = 0.75 * kPrvSizeText
staticconstexpr

◆ kPrvSizeXBoxLomDescription

double kPrvSizeXBoxLomDescription = 10. * kPrvTamBase
staticconstexpr

◆ kPrvSizeXBoxLomTerminal

double kPrvSizeXBoxLomTerminal = 2. * kPrvTamBase
staticconstexpr

◆ kPrvSizeXShipyardBox

double kPrvSizeXShipyardBox = 5. * kPrvTamBase
staticconstexpr

◆ kPrvSizeYBoxLomTerminal

double kPrvSizeYBoxLomTerminal = kPrvTamBase
staticconstexpr

◆ kPrvSizeYShipyardBox

double kPrvSizeYShipyardBox = 0.85 * kPrvTamBase
staticconstexpr

◆ kPrvTamBase

double kPrvTamBase = 2
staticconstexpr