public static bool ShouldRamp(VoxelVertex vertex, RampType rampType) { bool toReturn = false; if(Voxel.HasFlag(rampType, RampType.TopFrontRight)) { toReturn = (vertex == VoxelVertex.BackTopRight); } if(Voxel.HasFlag(rampType, RampType.TopBackRight)) { toReturn = toReturn || (vertex == VoxelVertex.FrontTopRight); } if(Voxel.HasFlag(rampType, RampType.TopFrontLeft)) { toReturn = toReturn || (vertex == VoxelVertex.BackTopLeft); } if(Voxel.HasFlag(rampType, RampType.TopBackLeft)) { toReturn = toReturn || (vertex == VoxelVertex.FrontTopLeft); } return toReturn; }
public static bool ShouldDrawFace(BoxFace face, RampType neighborRamp, RampType myRamp) { if(face == BoxFace.Top || face == BoxFace.Bottom) { return true; } return FaceDrawMap[(int) face, (int) myRamp, (int) neighborRamp]; }
public static bool RampIsDegenerate(RampType rampType) { return rampType == RampType.All || (Voxel.HasFlag(rampType, RampType.Left) && Voxel.HasFlag(rampType, RampType.Right)) || (Voxel.HasFlag(rampType, RampType.Front) && Voxel.HasFlag(rampType, RampType.Back)); }
private static void SetTop(RampType rampType, Dictionary<VoxelVertex, float> top) { float r = 0.5f; List<VoxelVertex> keys = top.Keys.ToList(); foreach (VoxelVertex vert in keys) { top[vert] = 1.0f; } if (rampType.HasFlag(RampType.TopFrontLeft)) { top[VoxelVertex.FrontTopLeft] = r; } if (rampType.HasFlag(RampType.TopFrontRight)) { top[VoxelVertex.FrontTopRight] = r; } if (rampType.HasFlag(RampType.TopBackLeft)) { top[VoxelVertex.BackTopLeft] = r; } if (rampType.HasFlag(RampType.TopBackRight)) { top[VoxelVertex.BackTopRight] = r; } }
public uint RampToVolume(Channel channel, RampType rampType, short desiredVolume) { return UPnP.InvokeAction<uint>(_service, "RampToVolume", InstanceId, channel.ToString(), rampType.ToString(), desiredVolume); }
public static bool HasFlag(RampType ramp, RampType flag) { return (ramp & flag) == flag; }