public override void DrawLine( GePoint sPoint, GePoint ePoint) { Pen pen = GetPen(); m_Graphics.DrawLine(pen, sPoint.X, sPoint.Y, ePoint.X, ePoint.Y); }
public LeaderTextGraphicState(DataFragment fragment) : base(fragment) { m_AttachPoint = new GePoint(); m_InternalPoints = new FRList<GePoint>(); m_Text = new RichString(PtApp.ActiveDocument.GetFontManager()); }
public override void GetDisplayList(DisplayItemList DLList , Matrix44 trans) { Debug.Assert(DLList != null && trans != null); if (null == DLList || null == trans) return; GePoint Base = new GePoint(0, 0, 0); GePoint End = new GePoint(m_Width, 0, 0); GePoint Top = new GePoint(m_Width, m_Height / 2, 0); GePoint Bottom = new GePoint(m_Width, -m_Height / 2, 0); Base.Transform(trans); End.Transform(trans); Top.Transform(trans); Bottom.Transform(trans); FRList<GePoint> PointList = new FRList<GePoint>(); PointList.Add(Base); PointList.Add(Top); PointList.Add(Bottom); PointList.Add(Base); DisplayItemBuilder.GenDisplayItemLines(DLList, PointList); DisplayItemBuilder.GenDisplayItemPoint(DLList, Base); DisplayItemBuilder.GenDisplayItemPoint(DLList, End); }
public override void GenerateGraphics(DisplayItemList DLList) { Debug.Assert(DLList != null); if (null == DLList) return; DisplayItemText DLText = DisplayItemBuilder.GenDisplayItemText(DLList, m_String, m_Position , PtApp.ActiveView.GetRichStringRange(m_String)); GeRectangle rec = DLText.Range; if (rec != null) { rec.MoveTo(m_Position); GePoint MinPoint = rec.MinPoint; GePoint MaxPoint = rec.MaxPoint; GePoint Corner1 = new GePoint(MinPoint.X, MaxPoint.Y); GePoint Corner2 = new GePoint(MaxPoint.X, MinPoint.Y); DisplayItemBuilder.GenDisplayItemPoint(DLList, MinPoint); DisplayItemBuilder.GenDisplayItemPoint(DLList, MaxPoint); DisplayItemBuilder.GenDisplayItemPoint(DLList, Corner1); DisplayItemBuilder.GenDisplayItemPoint(DLList, Corner2); } }
public override void DrawPoint(GePoint point) { SelectionGraphicContext GpCtx = (SelectionGraphicContext)m_GraphicContext; if (GpCtx == null) return; point = GetDevicePoint(point); // Apply the point attribute PointSizeAttribute sizeAtt = new PointSizeAttribute(GpCtx.m_fPointViewRadius * 2); ColorAttribute colAtt = new ColorAttribute(GpCtx.m_PointBrushColor); sizeAtt.Apply(m_Device); colAtt.Apply(m_Device); m_Device.DrawPoint(point); colAtt.UnApply(m_Device); sizeAtt.UnApply(m_Device); LineStyleAttribute linAtt = new LineStyleAttribute(2.0f); ColorAttribute linColAtt = new ColorAttribute(GpCtx.m_PointPenColor); linAtt.Apply(m_Device); linColAtt.Apply(m_Device); m_Device.DrawCircle(point, GpCtx.m_fPointViewRadius); linColAtt.UnApply(m_Device); linAtt.UnApply(m_Device); }
public DisplayItemText(String str, GePoint Position, Font font) { m_String = str; m_Position = Position; m_Font = font; m_Range = new GeRectangle(); }
public GeLine(GePoint sp, GePoint ep) { Debug.Assert(sp != null && ep != null); VectorAdaptor dir = ep._Proxy - sp._Proxy; m_Proxy = MathAdaptorFactory.Instance.CreateLineAdaptor( sp._Proxy, dir.UnitVectorAdaptor); }
public virtual void DrawCircle( GePoint centerPoint, float fRadius) { float raduis = (float)GetWorldToDeviceScale() * fRadius; m_Device.DrawCircle(GetDevicePoint(centerPoint) , raduis); }
public UmlTimeLineGraphicState(DataFragment fragment) : base(fragment) { m_Height = 40.0; m_Length = 200.0; m_BasePoint = new GePoint(50.0, 20.0, 0.0); m_Direction = UnitVector.kXAxis; }
public PositionDataItem(GePoint point) { Debug.Assert(point != null); if(point != null) { m_point = (GePoint)point.Clone(); } }
public override void DrawCircle( GePoint cneterPoint, float fRadius) { // Add 1 to justify the circle size. // When we draw a point with the bound circle, // the bound circle should be greater than the point size. m_OpenGL.DrawCircle(cneterPoint, fRadius + 1); }
public GeRectangle(GeRectangle src) { if(src != null) { m_MinPoint = new GePoint(src.MinPoint); m_MaxPoint = new GePoint(src.m_MaxPoint); } }
public ViewTransformManipulator(Matrix44 DeviceToWorld) { Debug.Assert(DeviceToWorld != null); m_DeviceToWorld = DeviceToWorld; m_LastPoint = GePoint.kOrigin; m_CursorShape = "Translation.cur"; }
public static DisplayItemCircle GenDisplayItemCircle(DisplayItemList list, GePoint center, double radius) { DisplayItemCircle Circle = new DisplayItemCircle( center, radius); if (list != null) list.AddItem(Circle); return Circle; }
public override void DrawCircle( GePoint cneterPoint, float fRadius) { Pen pen = GetPen(); RectangleF rect = new RectangleF(cneterPoint.X - fRadius, cneterPoint.Y - fRadius , fRadius * 2, fRadius * 2); m_Graphics.DrawArc(pen, rect, 0, 360); }
public void SetPosition(GePoint Position) { Debug.Assert(Position != null); if (Position != null) m_Position = (GePoint)Position.Clone(); //if (m_String.FontID > -1) //GraphicChangeNotify(); }
public override void DrawLine(GePoint sPoint, GePoint ePoint) { if (m_GraphicContext == null) return; ColorAttribute colAtt = new ColorAttribute(m_GraphicContext.m_DrawingColor); colAtt.Apply(m_Device); base.DrawLine(sPoint, ePoint); colAtt.UnApply(m_Device); }
private SymbolConstraint m_SymbolToAttach; // it is null if there is no #endregion Fields #region Constructors public CircleCenterMoveRequest(CircleInstance draggedCircle, GePoint newPosition, SymbolConstraint symbolToAttach, int pointIndex) { m_DraggedCircle = draggedCircle; m_NewPosition = newPosition; m_SymbolToAttach = symbolToAttach; m_PointIndex = pointIndex; }
public override void DrawCircle( GePoint centerPoint, float fRadius) { if (m_GraphicContext == null) return; ColorAttribute colAtt = new ColorAttribute(m_GraphicContext.m_DrawingColor); colAtt.Apply(m_Device); base.DrawCircle(centerPoint, fRadius); colAtt.UnApply(m_Device); }
// The old point can't be null, the trans can be null. public static GePoint GetTransformedPoint(GePoint oldPoint, Matrix44 trans) { Debug.Assert(oldPoint != null); GePoint newPoint = null; if (oldPoint != null && trans != null) newPoint = trans * oldPoint; else // either of them is null. newPoint = oldPoint; return newPoint; }
public void DrawLine(GePoint start, GePoint end) { Debug.Assert(start != null && end != null); if (null == start || null == end) return; //Draw Line GL.glBegin(GL.GL_LINES); GL.glVertex3d(start.X, start.Y, start.Z); GL.glVertex3d(end.X, end.Y, end.Z); GL.glEnd(); }
protected override EventResult OnLeftDoubleClick(EventContext Context) { m_MousePoint = Context.MouseWorldPoint; DMStateCommand cmd = m_ParentState.CommandExeCtx.Command as DMStateCommand; if (cmd != null) cmd.ShowDialog(); return EventResult.eDone; }
public SelectContext() { //m_dSelTolerance = 5; m_RefPoint = new GePoint(0, 0); m_bMultiSelect = false; m_HittedDLPoints = new FRMultiMap<double, DisplayItem>(); m_HittedDLItems = new FRMultiMap<double, DisplayItem>(); m_SelectTolerance = 5; m_Device = null; }
public void AddLastPointBefore(GePoint point) { if (point != null) { if (!m_Points.Empty()) m_Points.Insert(m_Points.Count - 1, point); else m_Points.Add(point); //GraphicChangeNotify(); } }
public static void GenDisplayItemLine(DisplayItemList DLList , GePoint startPoint, GePoint endPoint) { Debug.Assert(DLList != null && startPoint != null && endPoint != null); if (null == DLList || null == startPoint || null == endPoint) return; if (!startPoint.IsEqualTo(endPoint)) { DisplayItemLine dpLine = new DisplayItemLine(startPoint, endPoint); DLList.AddItem(dpLine); } }
private DisplayItemList GetDisplayList() { if (m_ItemList != null) return m_ItemList; m_ItemList = new DisplayItemList(); double radius = MathUtil.Min(m_ViewWidth / 3, m_ViewHeight / 3); GePoint center = new GePoint(m_ViewWidth / 2, m_ViewHeight / 2); DisplayItemBuilder.GenDisplayItemCircle(m_ItemList , center, radius); return m_ItemList; }
public void AddLastPointBefore(GePoint point) { if (point != null) { if (m_InternalPoints.Empty()) { m_AttachPoint.Point = point; m_InternalPoints.Add(point); } else m_InternalPoints.Insert(m_InternalPoints.Count - 1, point); } }
public void Match(GePoint point, PositionIntent itent) { Debug.Assert(point != null && itent != null && m_SnapContext != null); if (null == point || null == itent) return; // Point match m_SnapContext.Accept(new GePointVisitor(m_SnapContext, point)); if(m_SnapContext.HasResult()) { itent.SetGeometryConstraint(m_SnapContext.SnappedGeometryConstraint); itent.SetPoint(m_SnapContext.SnappedPoint); return; } // Line match return; }
public override void GetDisplayList(DisplayItemList DLList , Matrix44 trans) { Debug.Assert(DLList != null && trans != null); if (null == DLList || null == trans) return; GePoint Base = new GePoint(0, 0, 0); GePoint End = new GePoint(m_Width, 0, 0); GePoint Top = new GePoint(m_Width, m_Height / 2, 0); GePoint Bottom = new GePoint(m_Width, -m_Height / 2, 0); Base.Transform(trans); End.Transform(trans); Top.Transform(trans); Bottom.Transform(trans); FRList<GePoint> PointList = new FRList<GePoint>(); PointList.Add(Base); PointList.Add(Top); PointList.Add(Bottom); PointList.Add(Base); FRList<GePoint> meshPoints = new FRList<GePoint>(); meshPoints.Add(Base); meshPoints.Add(End); meshPoints.Add(Top); meshPoints.Add(Bottom); // Use two triangles FRList<int> connectivity = new FRList<int>(); connectivity.Add(0); connectivity.Add(1); connectivity.Add(2); connectivity.Add(0); connectivity.Add(1); connectivity.Add(3); DisplayItemBuilder.GenDisplayItemLines(DLList, PointList); DisplayItemBuilder.GenDisplayItemMesh(DLList , connectivity, meshPoints, null, null); DisplayItemBuilder.GenDisplayItemPoint(DLList, Base); DisplayItemBuilder.GenDisplayItemPoint(DLList, End); }
public static SnapContext InitalizeSnapContextFromPreSelection(GePoint mousePoint) { Debug.Assert(mousePoint != null); SnapContext snapCtx = new SnapContext(PtApp.ActiveDocument.Database); PtSelectContext sltCtx = new PtSelectContext(); sltCtx.WorldPoint = mousePoint; SelectionSet tempSet = PtApp.ActiveView.SelectionMgr.CreateSelectionSet("SnapTemporarySet"); tempSet.Clear(); sltCtx.CurrentSelectionSet = tempSet; PtApp.ActiveView.Select(sltCtx); // Set selection set. SelectionSet PreSet = PtApp.ActiveView.SelectionMgr.GetPreviewSelectionSet(); PreSet.Clear(); if (!tempSet.Empty()) { foreach (Selection selection in tempSet.Selections) { SymbolConstraint instance = selection.GetInstance(); Debug.Assert(instance != null); SymbolGeometryConstraint constr = instance.GetGeometryConstraint( mousePoint, snapCtx.SnapTolerance); if (constr != null) { // We just highlight the snapped nodes. snapCtx.CandidateProxies.Add(constr); PreSet.AddSelection(selection); } } } PtApp.ActiveView.UpdateView(); return snapCtx; }