Menu ▾ ▴

Lair

Andrew

BY: Andrew Siddeley
DATE: 24-Feb-2014, 28-Feb-2014

[Home][Lairs not Layers]

FEATURES

A Lair is the basic organizational unit of a Caddeley project.

  • Contents - A lair can contain 0 or more elements and can contain 0 or more lairs.
  • Clip - A lair can contain a clip shape that is within its limit.
  • Graphic Features - A lair controls such things as colour, and stroke of it's elements.
  • Coordinate Space - A lair defines its own coordinate system I.e. Origin, scale and rotation.
  • Limit - A lair has a rectangular limit for fitting or clipping its elements and lairs.
  • Arranging - A lair can arrange its contents. See below.
  • Version Control - A lair can versionize its contents. See Below.
  • Referencing - A lair can be referenced by a Instance element. Similar to Block in typical CAD.

Contents

A lair can contain elements as well as lairs. This means that it is possible for a circular or self-referring situation to occur which is managed.

Arranging

A lair arranger manages how a lair's elements and lairs are located, scaled and clipped.
The default arranger allows for all to be added overlaying each other with a common origin. Alternately an arranger can locate/scale each of its elements/lairs into its own square like a contact sheet or like details boxes on an Architectural Drawing.

Version Control

A Lair versionizer provides a way of maintaining a historical record of a lair's contents. A version is in effect a record of the lair in a particular state and is useful in CAD for recording a drawings history or exploring variations. The user calls for the drawing to be versioned and provides a title or brief description. The lair's contents are copied and kept internally. The user is free to further work on the lair, additions, deletions or changes to its contents do not affect the saved version. A saved version can be restored which replaces the current contents. Versioning affects all contents, and if a lair contains a lair or reference, they too will receive the version action.

For example: An Architectural window sill detail (lair) contains a reference to a particular window frame profile. When the sill detail is versioned, a record of the state of that window frame profile as-is must be kept also. It is likely such a profile is already versioned so that version would be returned however if there is no version or content has changed since it was versioned then a new version of the profile would be created.

END

  • Implements Draft to provide draft() similar to the graphic draw()
  • Stores elements and Lairs in separate Vectors

END


Related

Wiki: Home
Wiki: Lairs not Layers