Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helix upgrade mastermerge #10465

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
3a0b3e3
LibG Binaries Update (#10295)
DynamoEngOps Jan 14, 2020
767577c
Change mechanism to retreive the certificate from assembly (#10301)
saintentropy Jan 16, 2020
df489c8
DYN-2225 - Marshaling Performance optimization - Heap Cleanup (#10026)
saintentropy Jan 18, 2020
f7b71d6
DYN-2289: Fix crash with NodeToCode (#10305)
aparajit-pratap Jan 21, 2020
186499f
Geometry Color Tests More (#10291)
QilongTang Jan 21, 2020
c1a5342
update newly added test (#10313)
QilongTang Jan 22, 2020
6ea9c03
DYN-2286: fix for crash upon unresolved node undo (#10315)
aparajit-pratap Jan 23, 2020
6329c53
DYN-2328 Add test for geometry labeling (#10311)
reddyashish Jan 24, 2020
2ebaf72
First Github Action (#10131)
QilongTang Jan 24, 2020
a2d29ed
Removal of PR trigger for now (#10323)
QilongTang Jan 27, 2020
f04dbb0
Analytics Agreement Workflow Update (#10314)
QilongTang Jan 27, 2020
97cecfd
Add missing resource string (#10329)
QilongTang Jan 28, 2020
01c1ab2
LibG Binaries Update (#10331)
DynamoEngOps Jan 29, 2020
333f55c
Fix the library view display issues introduced by MS WebBrowser (#10316)
CoolStarLee Jan 29, 2020
3430655
[DYN-2382] LibraryViewExtensionMSWebBrowser does not scale correctly …
reddyashish Jan 29, 2020
b673edc
Skip GA Client Tear Down Process if NOT Necessary (#10340)
QilongTang Jan 31, 2020
bcc8d47
[Analytics] Update Tracking Conditions (#10345)
QilongTang Jan 31, 2020
91ffc19
PR comment (#10347)
QilongTang Feb 3, 2020
eef2c52
Code improvements: (#10348)
CoolStarLee Feb 3, 2020
9ed021d
add show line numbers when watermarkLabel is collapsed (#10362)
SHKnudsen Feb 19, 2020
02103a1
Visual Identifier on Optional Inputs (#10361)
SHKnudsen Feb 20, 2020
fe8f4fb
Update README.md (#10387)
mjkkirschner Feb 20, 2020
89c0038
GA client not launching when terms not agreed (#10407)
QilongTang Feb 24, 2020
7b93efe
Patch 283 (#10421)
saintentropy Mar 1, 2020
8d3c2be
Cover Test for Configuration Folder (#10444)
QilongTang Mar 4, 2020
85a183e
Added a couple of asserts for the properties. (#10437)
QilongTang Mar 4, 2020
c0ab906
Fix for crash while drawing Point manipulator (gizmo) when LibG fails…
aparajit-pratap Mar 11, 2020
3552aa2
Merge remote-tracking branch 'upstream/master' into helix-upgrade-mas…
mjkkirschner Mar 13, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ Looking to learn or download Dynamo? Check out [dynamobim.org](http://dynamobim
If you're interested in developing a Node library for Dynamo, the easiest place to start is by browsing the [DynamoSamples](https://github.com/DynamoDS/DynamoSamples).
These samples use the [Dynamo NuGet packages](https://www.nuget.org/packages?q=DynamoVisualProgramming) which can be installed using the NuGet package manager in Visual Studio.

[Documentation of the Dynamo API]( http://dynamods.github.io/DynamoAPI) with a searchable index of public API calls for core functionality. This will be expanded to include regular nodes and Revit functionality.
[Documentation of the Dynamo API via Fuget.org]( https://www.fuget.org/packages/DynamoVisualProgramming.Core/2.5.0.7432) with a searchable index of public API calls for core functionality in the dynamo nuget packages. *WIP*.
#### note: link may change in the near future.

The [API Changes](https://github.com/DynamoDS/Dynamo/wiki/API-Changes) document explains changes made to the Dynamo API with every version.

Expand Down
7 changes: 5 additions & 2 deletions src/DynamoCore/Models/DynamoModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -594,8 +594,11 @@ protected DynamoModel(IStartConfiguration config)
PreferenceSettings = settings;
PreferenceSettings.PropertyChanged += PreferenceSettings_PropertyChanged;
}

InitializeInstrumentationLogger();
// If user does not agree to GA terms, do not try to launch the client at all
if (PreferenceSettings.IsAnalyticsReportingApproved)
{
InitializeInstrumentationLogger();
}

if (!IsTestMode && PreferenceSettings.IsFirstRun)
{
Expand Down
15 changes: 13 additions & 2 deletions src/DynamoCoreWpf/Rendering/HelixRenderPackage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ public HelixRenderPackage()
/// Set the transform that is applied to all geometry in the renderPackage.
/// </summary>
/// <param name="transform"></param>
// TODO: Unused method. Adds unnecessary dependency on ProtoGeometry. Remove in 3.0
[Obsolete("This method will be removed in 3.0. Use SetTransform(double[] matrix) instead.")]
public void SetTransform(Autodesk.DesignScript.Geometry.CoordinateSystem transform)
{
var xaxis = transform.XAxis;
Expand All @@ -95,12 +97,15 @@ public void SetTransform(Autodesk.DesignScript.Geometry.CoordinateSystem transfo
this.Transform = csAsMat.ToArray();
}


/// <summary>
/// Set the transform that is applied to all geometry in the renderPackage
/// by computing the matrix that transforms between from and to.
/// </summary>
/// <param name="from"></param>
/// <param name="to"></param>
// TODO: Unused method. Adds unnecessary dependency on ProtoGeometry. Remove in 3.0
[Obsolete("This method will be removed in 3.0.")]
public void SetTransform(Autodesk.DesignScript.Geometry.CoordinateSystem from, Autodesk.DesignScript.Geometry.CoordinateSystem to)
{
var inverse = from.Inverse();
Expand Down Expand Up @@ -149,8 +154,14 @@ public void SetTransform(double m11, double m12, double m13, double m14,

/// <summary>
/// Set the transform as a double array, this transform is applied to all geometry in the renderPackage.
/// NOTE: this matrix is assumed to be in row vector form, and will be transformed into the neccesary form
/// for helix
/// This matrix should be laid out as follows in row vector order:
/// [Xx,Xy,Xz, 0,
/// Yx, Yy, Yz, 0,
/// Zx, Zy, Zz, 0,
/// offsetX, offsetY, offsetZ, W]
/// NOTE: This method should transform the matrix from row vector order to whatever form is needed by the implementation.
/// When converting from ProtoGeometry CoordinateSystem form to input matrix, set the first row to the X axis of the CS,
/// the second row to the Y axis of the CS, the third row to the Z axis of the CS, and the last row to the CS origin, where W = 1.
/// </summary>
/// <param name="matrix"></param>
public void SetTransform(double[] matrix)
Expand Down
16 changes: 15 additions & 1 deletion src/DynamoCoreWpf/UI/Themes/Modern/Ports.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@
</Rectangle>

<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
<TextBlock Name="portNameTb"
<TextBlock Name="portNameTb"
Width="Auto"
HorizontalAlignment="Stretch"
Style="{StaticResource SZoomFadeText}"
Expand All @@ -148,6 +148,20 @@
IsHitTestVisible="False"
Background="{x:Null}"
Foreground="#555555">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding UsingDefaultValue}" Value="True">
<Setter Property="FontStyle"
Value="Italic" />
</DataTrigger>
<DataTrigger Binding="{Binding UsingDefaultValue}" Value="False">
<Setter Property="FontStyle"
Value="Normal" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<!-- We wrap the text block in a grid so that it wont be displayed on output port-->
<Grid Visibility="{Binding Path=UseLevelVisibility}" HorizontalAlignment="Right">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,10 @@ private IEnumerable<CodeCompletionInsightItem> GetFunctionSignatures(string code
private void OnTextChanged(object sender, EventArgs e)
{
if (WatermarkLabel.Visibility == Visibility.Visible)
{
WatermarkLabel.Visibility = Visibility.Collapsed;
InnerTextEditor.ShowLineNumbers = true;
}
}

private void OnTextAreaTextEntering(object sender, TextCompositionEventArgs e)
Expand Down
57 changes: 51 additions & 6 deletions src/DynamoManipulation/NodeManipulator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,31 @@ internal IRenderPackageFactory RenderPackageFactory
}

internal Point3D? CameraPosition { get; private set; }

// This is null for each new manipulator that is initialized.
private bool? isValidNode;

/// <summary>
/// This property is true if the cached value of the manipulator node is non-null.
/// It caches its value so that it doesn't have to repeatedly query the node value.
/// NOTE: There could be edge cases where the node value could become null while the
/// manipulator is being moved, etc. These cases will not be caught and the boolean
/// value returned would be true even though it should change to false. This case could
/// lead to a potential crash and is yet to be addressed.
/// </summary>
private bool IsValidNode
{
get
{
if (isValidNode == null)
{
isValidNode = !IsNodeNull(Node.CachedValue);
}

return (bool) isValidNode;
}

}

#endregion

Expand Down Expand Up @@ -154,7 +179,8 @@ protected virtual void Dispose(bool disposing)
/// <param name="mouseButtonEventArgs"></param>
protected virtual void MouseDown(object sender, MouseButtonEventArgs mouseButtonEventArgs)
{

if (!IsValidNode) return;

active = UpdatePosition();

GizmoInAction = null; //Reset Drag.
Expand Down Expand Up @@ -430,7 +456,7 @@ private RenderPackageCache GenerateRenderPackages()

// This check is required as for some reason LibG fails to load, geometry nodes are null
// and we must return immediately before proceeding with further calls to ProtoGeometry
if (IsNodeValueNull()) return packages;
if (IsNodeNull(Node.CachedValue)) return packages;

AssignInputNodes();

Expand Down Expand Up @@ -551,28 +577,47 @@ public RenderPackageCache BuildRenderPackage()
return packages;
}

#endregion

/// <summary>
/// Checks if manipulator is enabled or not. Manipulator is enabled
/// only if node is not frozen or not setup as partially applied function
/// only if node is not frozen, its preview visible and value non-null.
/// </summary>
/// <returns>True if enabled and can be manipulated.</returns>
public bool IsEnabled()
{
if (Node.IsFrozen || !Node.IsVisible) return false;

if (IsNodeValueNull())
if (!IsValidNode)
{
return false;
}

return active;
}

// TODO: Remove in 3.0
[Obsolete("This method will be removed in 3.0 and will no longer be available as a public API.")]
public bool IsNodeValueNull()
{
return Node.CachedValue == null || Node.CachedValue.IsNull;
return IsNodeNull(Node.CachedValue);
}

private static bool IsNodeNull(MirrorData data)
{
if (data == null || data.IsNull) return true;

if (data.IsCollection)
{
var elements = data.GetElements();
foreach (var element in elements)
{
if (IsNodeNull(element)) return true;
}
}

return false;
}
#endregion
}


Expand Down
Loading