private DynamoLineVertex[] CreateVertexArray() { var positions = Geometry.Positions.ToArray(); var vertexCount = Geometry.Positions.Count; var color = Color; var result = new DynamoLineVertex[vertexCount]; var colors = Geometry.Colors; for (var i = 0; i < vertexCount; i++) { Color4 finalColor; if (colors != null && colors.Any()) { finalColor = color * colors[i]; } else { finalColor = color; } var isSelected = (bool)GetValue(AttachedProperties.ShowSelectedProperty); var isIsolationMode = (bool)GetValue(AttachedProperties.IsolationModeProperty); var isSpecialPackage = (bool)GetValue(AttachedProperties.IsSpecialRenderPackageProperty); result[i] = new DynamoLineVertex { Position = new Vector4(positions[i], 1f), Color = finalColor, Parameters = new Vector4(isSelected ? 1 : 0, (isIsolationMode && !isSpecialPackage) ? 1 : 0, 0, 0) }; } return(result); }
private DynamoLineVertex[] CreateVertexArray() { var positions = Geometry.Positions.ToArray(); var vertexCount = Geometry.Positions.Count; var color = Color; var result = new DynamoLineVertex[vertexCount]; var colors = Geometry.Colors; for (var i = 0; i < vertexCount; i++) { Color4 finalColor; if (colors != null && colors.Any()) { finalColor = color * colors[i]; } else { finalColor = color; } result[i] = new DynamoLineVertex { Position = new Vector4(positions[i], 1f), Color = finalColor, Parameters = new Vector4((bool)GetValue(AttachedProperties.ShowSelectedProperty) ? 1 : 0, 0, 0, 0) }; } return result; }