28#ifndef EASYPC_CLASSES_GEOMETRY_H
29#define EASYPC_CLASSES_GEOMETRY_H
One archive load stream; it owns every object it creates.
A loader coroutine. Awaiting one queues it on its archive's frame stack instead of nesting the call.
The design document and the design parameter tables the importers use.
AREA_FLAG
Area flags; track and via bits restrict routing areas, the pour keepout applies to every area.
@ AREA_TRACKS_MASK
0 unrestricted, 1 keep in, 2 keep out
Root of every deserialized object.
A point read as two int32 values.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * Copper
design list of the stored pour
int ItemFormat(const ARCHIVE &aAr) const override
The owning shape's parent's format, 0 without one.
LOAD_TASK LoadTail(ARCHIVE &aAr) override
The fields a subclass reads after the next vertex.
int ItemFormat(const ARCHIVE &aAr) const override
The version this object gates on; the base is the archive's current read format.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
The base of nearly every class.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
std::vector< OBJECT * > Cutouts
Every drawn shape, pour and dimension part.
int32_t Type
0 shape, 1 poured, 2 teardrop, 5 to 7 dimension parts
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
Also the start of a dimension.
std::vector< OBJECT * > Members
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
int32_t Flags
bit 0 tight, bit 1 local
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
Also placement and symbol name origins.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
bool HasNextRef
the stream carried a next vertex (shape format below 3)
virtual LOAD_TASK LoadTail(ARCHIVE &aAr)
The fields a subclass reads after the next vertex.
int32_t ArcAngle
swept angle, 0 for a straight span
SOURCE_SEGMENT * Next
null on an open shape's terminator
LOAD_TASK Load(ARCHIVE &aAr) final
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * Shape
design shape
bool IsClosed() const
The last vertex links back to the first (formats 1 and 2) or the closed byte is set (format 3)
LOAD_TASK LoadShape(ARCHIVE &aAr, int aFormat)
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
std::vector< OBJECT * > Segments
the vertex list as read
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK LoadRemainder(ARCHIVE &aAr)
The text position fields that follow the item fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.