IDFstepper
IDF to STEP converter
Defines | Functions
src/Main.cpp File Reference
#include "../inc/IdfParser.hpp"
#include "../inc/IdfStructure.hpp"
#include "../inc/StepGenerator.hpp"
#include "../inc/ConfigParser.hpp"
#include "../inc/ConfigType.hpp"
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
#include <set>
#include <unistd.h>

Go to the source code of this file.

Defines

#define VERSION   "V1.0"
 The current version string.
#define err(stream)   ; std::cerr << stream; errBuf << stream;
 Shortcut for error messages to split the output to std::cerr as well as to the error buffer.

Functions

static void parseFile (const char *file, std::vector< config::Config > &configs, std::vector< idf::BoardPanelStruct > &panels, std::vector< idf::BoardPanelStruct > &boards, std::vector< idf::LibraryStruct > &libraries, std::ostringstream &errBuf)
static bool parseIterator (std::string::const_iterator &iter, const std::string::const_iterator &end, std::vector< config::Config > &configs, std::vector< idf::BoardPanelStruct > &panels, std::vector< idf::BoardPanelStruct > &boards, std::vector< idf::LibraryStruct > &libraries)
static void handleConfigs (const std::vector< config::Config > &configs, std::set< std::string > &usedConfigs, stepper::StepGenerator &generator, bool &alwaysExit, bool &alwaysWait, std::ostringstream &errBuf)
static void createLibraries (const stepper::StepGenerator &generator, const std::vector< idf::LibraryStruct > &libs)
static void createBoards (const stepper::StepGenerator &generator, const std::vector< idf::BoardPanelStruct > &boards)
static void createPanels (const stepper::StepGenerator &generator, const std::vector< idf::BoardPanelStruct > &panels)
static void handleOption (const std::pair< std::string, config::Value > &option, std::set< std::string > &usedConfigs, stepper::StepGenerator &generator, bool &alwaysExit, bool &alwaysWait, std::ostringstream &errBuf)
static std::string exepath ()
int main (int argc, char **argv)

Detailed Description

Todo:
Add support for colored models/assemblies.
Todo:
Create correct hierarchical assemblies.
Todo:
Extend parser grammars with key points (>).
Todo:
Test behaviour of parser when facing newlines/comments at begin of file.
Todo:
Improve error messages concerning the file system.

Definition in file Main.cpp.


Define Documentation

#define err (   stream)    ; std::cerr << stream; errBuf << stream;

Shortcut for error messages to split the output to std::cerr as well as to the error buffer.

Note that the given argument is evaluated twice!

Definition at line 172 of file Main.cpp.

#define VERSION   "V1.0"

The current version string.

Definition at line 16 of file Main.cpp.


Function Documentation

static void createBoards ( const stepper::StepGenerator generator,
const std::vector< idf::BoardPanelStruct > &  boards 
) [static]

Definition at line 428 of file Main.cpp.

static void createLibraries ( const stepper::StepGenerator generator,
const std::vector< idf::LibraryStruct > &  libs 
) [static]

Definition at line 418 of file Main.cpp.

static void createPanels ( const stepper::StepGenerator generator,
const std::vector< idf::BoardPanelStruct > &  panels 
) [static]

Definition at line 438 of file Main.cpp.

static std::string exepath ( ) [static]
Todo:
This may not work very well on every other platform...
Todo:
Implement fallback using argv[0] and cpwd

Definition at line 537 of file Main.cpp.

static void handleConfigs ( const std::vector< config::Config > &  configs,
std::set< std::string > &  usedConfigs,
stepper::StepGenerator generator,
bool &  alwaysExit,
bool &  alwaysWait,
std::ostringstream &  errBuf 
) [static]

Definition at line 395 of file Main.cpp.

static void handleOption ( const std::pair< std::string, config::Value > &  option,
std::set< std::string > &  usedConfigs,
stepper::StepGenerator generator,
bool &  alwaysExit,
bool &  alwaysWait,
std::ostringstream &  errBuf 
) [static]

Definition at line 448 of file Main.cpp.

int main ( int  argc,
char **  argv 
)

Definition at line 221 of file Main.cpp.

static void parseFile ( const char *  file,
std::vector< config::Config > &  configs,
std::vector< idf::BoardPanelStruct > &  panels,
std::vector< idf::BoardPanelStruct > &  boards,
std::vector< idf::LibraryStruct > &  libraries,
std::ostringstream &  errBuf 
) [static]

Definition at line 315 of file Main.cpp.

static bool parseIterator ( std::string::const_iterator &  iter,
const std::string::const_iterator &  end,
std::vector< config::Config > &  configs,
std::vector< idf::BoardPanelStruct > &  panels,
std::vector< idf::BoardPanelStruct > &  boards,
std::vector< idf::LibraryStruct > &  libraries 
) [static]

Definition at line 358 of file Main.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines