Trax3 3.1.0
trax track library
Loading...
Searching...
No Matches
SectionTrack.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 "Track.h"
30
31namespace trax{
32
33 struct Section;
34
35 struct SectionTrack : virtual TrackBuilder{
36
38 static dclspc std::shared_ptr<SectionTrack> Make() noexcept;
39
40
41 using TrackBuilder::Attach;
42
43
46 virtual void Attach( std::shared_ptr<const Section> pSection ) noexcept = 0;
47
48
51 virtual std::shared_ptr<const Section> DetachSection() noexcept = 0;
52
53
55 virtual std::shared_ptr<const Section> GetSection() const noexcept = 0;
56 };
57
58
59}
Home of the Track and TrackBuilder interfaces.
STL namespace.
Namespace of all the trax track libraries classes and methods.
Definition Collection.h:17
A profile of a track.
Definition Section.h:45
Definition SectionTrack.h:35
virtual std::shared_ptr< const Section > DetachSection() noexcept=0
Detaches the Section from the track.
virtual std::shared_ptr< const Section > GetSection() const noexcept=0
static dclspc std::shared_ptr< SectionTrack > Make() noexcept
Makes a SectionTrack object.
virtual void Attach(std::shared_ptr< const Section > pSection) noexcept=0
Sets a Section describing the lateral geometry as a profile.
Interface for making and shaping tracks.
Definition Track.h:831