/// <summary> /// Override function which generates and returns a set of representation 'avatar' objects for the given source object /// </summary> /// <param name="source"></param> /// <returns></returns> public override IList <IAvatar> GenerateRepresentations(LinearElement source) { List <IAvatar> result = new List <IAvatar>(); if (source != null) { IMeshAvatar mAv = CreateMeshAvatar(); mAv.Builder.AddSectionPreview(source); mAv.FinalizeMesh(); result.Add(mAv); } return(result); }
public override DisplayLayer PreviewLayer(PreviewParameters parameters) { if (parameters.IsDynamic && parameters.SelectionPoints != null && parameters.SelectionPoints.Count > 2 && parameters.SelectionPoints.ArePlanar()) { ManualDisplayLayer layer = new ManualDisplayLayer(); IMeshAvatar mesh = layer.CreateMeshAvatar(); PlanarRegion pRegion = new PlanarRegion(new PolyLine(parameters.SelectionPoints, true)); mesh.Builder.AddPanelPreview(pRegion, BuildUp); mesh.FinalizeMesh(); layer.Add(mesh); return(layer); } return(null); }
public override DisplayLayer PreviewLayer(PreviewParameters parameters) { if (parameters.IsDynamic && parameters.SelectionPoints != null && parameters.SelectionPoints.Count >= 2 && Section != null) { ManualDisplayLayer layer = new ManualDisplayLayer(); IMeshAvatar mesh = layer.CreateMeshAvatar(); mesh.Builder.AddSectionPreview( new Line(parameters.SelectionPoints[0], parameters.SelectionPoints[1]) , Section, Orientation); mesh.FinalizeMesh(); layer.Add(mesh); return(layer); } return(null); }
public override IList <IAvatar> GenerateRepresentations(Node source) { List <IAvatar> result = new List <IAvatar>(); if (source != null) { NodeSupport support = source.GetData <NodeSupport>(); if (support != null && !support.Fixity.AllFalse) { double scale = 0.75; IMeshAvatar mAv = CreateMeshAvatar(); mAv.Builder.AddNodeSupport(source, support, scale); mAv.Brush = new ColourBrush(new Colour(0.8f, 0.8f, 0.2f, 0f)); //TODO: Make customisable mAv.FinalizeMesh(); result.Add(mAv); } } return(result); }
public override DisplayLayer PreviewLayer(PreviewParameters parameters) { if (parameters.IsDynamic && parameters.SelectionPoints != null && parameters.SelectionPoints.Count > 0) { Vector cursorPt = parameters.SelectionPoints.Last(); ManualDisplayLayer layer = new ManualDisplayLayer(); var cL = new Line(cursorPt, cursorPt + new Vector(0, 0, Height)); layer.Add(layer.CreateCurveAvatar(cL)); if (Section != null) { IMeshAvatar mesh = layer.CreateMeshAvatar(); mesh.Builder.AddSectionPreview(cL, Section, Orientation); mesh.FinalizeMesh(); layer.Add(mesh); } return(layer); } return(null); }