einari / balder Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
We are using a of object.IsEnabled to ignore seats and object.IsVisible to turn them off from being displayed. I have seen cases where setting dataiteminfo.node.IsVisible = false is ignored, and I am unsure if I have seen other cases where setting this value leads to hiding the entire InstancingNodes. I can find no changes in behavior from old seating chart version to new version that might account for this behavior, leading me to believe it is in the new InstancingNodes.
Support taking in X,Y,Z and Vector - 2 overloads!
When attempting to use Orthographic Cameras, Balder throws exceptions of two types: 1. XSize/YSize not defined
2. An exception during view transformation.
The first exception might be related to Seating Chart issues, and can possibly be ignored. Please examine for any case where this might arise during camera initialization.
The second case comes on rendering using an Orthographic Projection. I will recreate exception later this week and forward details. Client is abandoning the use of the Orthographic views, but during this transition, it might cause needless concern...
With latest optimized version, zooming using field of view within certain ranges causes objects to disappear from view. Capturing current rendering frame does same.
When interacting with objects that are "stacked" one in front of the other, the one on top (the first object that has a triangle intersected along the intersection ray and within the bounding box limits) should stop the search and return that object. until the mouse leaves the bounding box, that object should be the object returned when "wiggling" the mouse within the bounding box.
I have the following:
Wall Template Node:
<Balder:RenderableNode x:Class="Shubert.SeatingChart.Controls.WallTemplateNode"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Balder="clr-namespace:Balder;assembly=Balder"
xmlns:Geometries="clr-namespace:Balder.Objects.Geometries;assembly=Balder"
xmlns:MaterialsNamespace="clr-namespace:Balder.Materials;assembly=Balder"
mc:Ignorable="d"
DefaultBoundingObjectType="Box"
>
<Geometries:Plane x:Name ="WallSegment" Dimension="20,40">
<Geometries:Plane.Material>
<MaterialsNamespace:Material DoubleSided="False"
DiffuseMap="/Shubert.SeatingChart;component/Assets/WallModels/wall.png"
Ambient="Black" Diffuse="Black" Specular="Black" Shade="None"
/>
</Geometries:Plane.Material>
</Geometries:Plane>
/Balder:RenderableNode
And it is accessed in the following Control:
<Controls:InstancingNodes x:Class="Shubert.SeatingChart.Controls.WallsControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:Balder.Controls;assembly=Balder"
xmlns:LocalControls="clr-namespace:Shubert.SeatingChart.Controls"
xmlns:Geometries="clr-namespace:Balder.Objects.Geometries;assembly=Balder"
xmlns:MaterialsNamespace="clr-namespace:Balder.Materials;assembly=Balder"
Data="{Binding}"
>
Controls:InstancingNodes.NodeTemplate
LocalControls:WallTemplateNode/
/Controls:InstancingNodes.NodeTemplate
/Controls:InstancingNodes
Within the PrepareItemInfos event handler, I am using the following:
private new void PrepareDataItemInfo(object dataItem, DataItemInfo dataIteminfo)
{
try
{
if (dataItem is FreeWallNode)
{
FreeWallNode wall = dataItem as FreeWallNode;
dataIteminfo.Position = wall.Position;
dataIteminfo.Rotation = wall.Rotation;
dataIteminfo.Scale = wall.Scale;
dataIteminfo.IsVisible = wall.IsVisible;
}
}
catch (Exception e)
{
dataIteminfo.Node = null;
}
}
I know that the values for wall.IsVisible are being set to false. Attached is the result:
The wall segment that is circled should NOT be visible. The reason that it is the only one that is visible is the angle of all the other segments relative to the camera "hides" them as they are single sided materials. Having the ability to hide/show on demand is a must. It seems to fail when working with any of the GENERATED GEOMETRIES, like box and plane, but works on the model based geometries. I have also tried using the Plane directly in the parent control with the same effect, difference being that I need to then specify the material to the dataiteminfo in the event handler.
Please help asap!
InstancingNodes are apparently getting clipped if the "middle" of the bounding object is not in camera view. A more moderate approach is needed to clip only children of the InstancingNodes that are not in view, leaving all nodes that are in view unclipped.
When changing textures for many nodes, there is still a noticeable lag. Cannot determine where it is originating.
Method used to change textures is to loop through objects to be changed and change their color, listening for property changed events to set the texture in the InstancingNodes control, then when done, signaling to balder to render.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.