Trax3 3.1.0
trax track library
Loading...
Searching...
No Matches
Parser.h
1// trax track library
2// AD 2024
3//
4// "the resolution of all the fruitless searches"
5//
6// Peter Gabriel
7//
8// Copyright (c) 2025 Trend Redaktions- und Verlagsgesellschaft mbH
9// Copyright (c) 2019 Marc-Michael Horstmann
10//
11// Permission is hereby granted to any person obtaining a copy of this software
12// and associated source code (the "Software"), to use, view, and study the
13// Software for personal or internal business purposes, subject to the following
14// conditions:
15//
16// 1. Redistribution, modification, sublicensing, or commercial use of the
17// Software is NOT permitted without prior written consent from the copyright
18// holder.
19//
20// 2. The Software is provided "AS IS", without warranty of any kind, express
21// or implied.
22//
23// 3. All copies of the Software must retain this license notice.
24//
25// For further information, please contact: horstmann.marc@trendverlag.de
26
27#pragma once
28
29#include "common/Interval.h"
30#include "dim/DimensionedValues.h"
31#include "spat/Frame.h"
32#include "spat/Box.h"
33
34
35namespace trax{
36
37 class Parser{
38 public:
39 Parser(){
40 m_Area.Init();
41 m_Frame.Init();
42 };
43 virtual ~Parser() = default;
44
45 virtual bool ParsingStart() noexcept(false) { return true; }
46
47 virtual void Frame(
48 const spat::Frame<dim::Length,dim::One>& frame ) noexcept
49 {
50 m_Frame = frame;
51 }
52
53 virtual void Area(
54 const spat::Box<dim::Length>& area ) noexcept
55 {
56 m_Area = area;
57 }
58
59 virtual void Interval(
60 const common::Interval<dim::Length>& interval ) noexcept
61 {
62 m_Interval = interval;
63 }
64
65 virtual void DisplayName(
66 const std::string& /*language*/,
67 const std::string& /*name*/ ) noexcept {}
68
69 virtual void Description(
70 const std::string& /*language*/,
71 const std::string& /*description*/ ) noexcept {}
72
73 virtual void ParsingEnd() noexcept {}
74 protected:
78 };
79
80
81} // namespace trax
Value< Dimension< 2, 0, 0 > > Area
Area.
Definition DimensionedValues.h:325
Namespace of all the trax track libraries classes and methods.
Definition Collection.h:17
An interval describes the area between two numbers. It is understood to contain the near one and exlu...
Definition Interval.h:42
Axis aligned box.
Definition Box.h:41
A Frame ("TNBFrame") describes a location in 3d space and an orientation using a right handed coordin...
Definition Frame.h:52