internal void SetPropertyData(DependencyPropertyChangedEventArgs args, GeometryModel3D geo)
        {
            dataCore.SetPropertyData(args);

            if (geo is DynamoPointGeometryModel3D || geo is DynamoLineGeometryModel3D)
            {
                if (geo is DynamoPointGeometryModel3D)
                {
                    (geo as DynamoPointGeometryModel3D).SetState(dataCore.GenerateEnumFromState());
                }
                else
                {
                    (geo as DynamoLineGeometryModel3D).SetState(dataCore.GenerateEnumFromState());
                }
            }
        }
 protected override void OnUpdatePerModelStruct(RenderContext context)
 {
     base.OnUpdatePerModelStruct(context);
     //store the entire state of all our flags in the X component and decode in the vertex shader.
     //we'll pass this from the vertex shader to the fragment shader to determine color states.
     //Params is a helix material builtin and maps to vParams in the shader.
     modelStruct.Params.X = dataCore.GenerateEnumFromState();
 }