Tags and keywords
The block Image
gets mutually exclusive value properties isReal:Boolean
and isVirtual:Boolean
, where the main image:OpticalImage
of the OpticalTelescope
has a constraint {isReal}
and the image viewedImage:OpticalImage
has a constraint {isVirtual}
(this will be justified by some later snippets).
The following new elements in the model help tie together the observed object, the light rays, and the image. From the point of view of an «optical» system an observed Object
is composed of one or more point:ObjectLightPoint[1..*]
, each of which may be associated with one or more lightRay:LightRay[1..*]
. An Image
is now defined as having a 1-to-1 Association with an Object
(so 'object' is not used here in the sense of many "objects" in a view, i.e. it means an the entire image view, not a star in an image of a cluster).
We are told that:
So OpticalImage
has one or more focusPoint:FocusPoint[1..*]
, which in turn has one or more lightRay:LightRay[1..*]
. There are some constraints in a concise "mock OCL" (without full use of OCL forAll or forAny) to say that the lightPoint
(on the object) of a lightRay
of a FocusPoint
must be the same as that of the FocusPoint
, and that the 'object' of the OpticalImage
must be the same as that of the 'lightPoint' of every 'focusPoint'.
We are warned that:
This is for now represented by a reference property blurCircle:BlurCircle
on FocusPoint
.