예제 #1
0
            /**
             * Sets element position using global coordinate system
             * Needs a prior call to build so we have the transformations needed
             */
            public OpticalSystem updatePosition(Element.Builder e, Vector3 v)
            {
                // FIXME
                if (_transform3Cache == null)
                {
                    throw new InvalidOperationException("build() must be called prior to updating position");
                }
                if (e.parent() != null)
                {
                    e.localPosition(_transform3Cache.global_2_local_transform(e.parent().id()).transform(v));
                }
                else
                {
                    e.localPosition(v);
                }

                return(build());
            }
예제 #2
0
 public Group.Builder add(Element.Builder element)
 {
     this._elements.Add(element);
     element.parent(this);
     return(this);
 }