static void CreateData() { using (SessionNoServer session = new SessionNoServer(s_systemDir)) { bool dirExist = Directory.Exists(session.SystemDirectory); if (dirExist) { return; Directory.Delete(session.SystemDirectory, true); // remove systemDir from prior runs and all its databases. } Directory.CreateDirectory(session.SystemDirectory); File.Copy(s_licenseDbFile, Path.Combine(session.SystemDirectory, "4.odb")); SessionBase.DefaultCompressPages = PageInfo.compressionKind.LZ4; session.BeginUpdate(); CompareGeoObj comparer = new CompareGeoObj(); var btreeSet = new BTreeSet<GeoObj>(comparer, session, 1000); for (int i = 0; i < s_numberOfSamples; i++) { var g = new GeoObj(); btreeSet.Add(g); } session.Persist(btreeSet); session.Commit(); Console.Out.WriteLine($@"Done creating {s_numberOfSamples} GeoHashSample GeoObj "); } }
public void Generate_Sier_Sponge(int n, GeoObj square) { if (n == 0) { squares.Add(square); return; } var next = n - 1; var nextSize = square.size / 3; for (int z = -1; z < 2; z++) { for (int y = -1; y < 2; y++) { for (int x = -1; x < 2; x++) { if (((x == 0) && (y == 0) && (z == 0)) || ((x == 0) && (y == 0)) || ((y == 0) && (z == 0)) || ((x == 0) && (z == 0)) ) { continue; } Generate_Sier_Sponge(next, new GeoObj(square.center + new Vector3(x * nextSize, y * nextSize, z * nextSize), nextSize)); } } } }
public Vector3D GetDirection(ref ShadeRec sr) { SamplePoint = GeoObj.Sample(); SampleNormal = GeoObj.GetNormal(SamplePoint); Wi = SamplePoint - sr.HitPoint; return(Wi); }
static void Main(string[] args) { // OBJ Testing var objMetadataOutput = Path.Combine(Path.GetDirectoryName(objPath), "objSample.json"); if (File.Exists(objMetadataOutput)) { File.Delete(objMetadataOutput); } var objBinaryOutput = Path.Combine(Path.GetDirectoryName(objPath), "objSample.dat"); if (File.Exists(objBinaryOutput)) { File.Delete(objBinaryOutput); } var objBitmapOutput = Path.Combine(Path.GetDirectoryName(objPath), "objSample.bmp"); if (File.Exists(objBitmapOutput)) { File.Delete(objBitmapOutput); } var objConverter = new GeoObj(); objConverter.ConvertToHeightMap(objPath, objBinaryOutput, objMetadataOutput, objBitmapOutput); // Save metadata var outputManifestPath = Path.Combine(Path.GetDirectoryName(tiffPath), "tiffSample4.json"); if (File.Exists(outputManifestPath)) { File.Delete(outputManifestPath); } // Save image var outputPath = Path.Combine(Path.GetDirectoryName(tiffPath), "tiffSample4.dat"); if (File.Exists(outputPath)) { File.Delete(outputPath); } var bitmapPath = Path.Combine(Path.GetDirectoryName(tiffPath), "tiffSample4.bmp"); if (File.Exists(bitmapPath)) { File.Delete(bitmapPath); } using (GeoTiff tiffConverter = new GeoTiff()) { tiffConverter.ConvertToHeightMap(tiffPath, outputPath, outputManifestPath, bitmapPath); } }
public bool CheckInShadow(ref Ray ShadowRay, ref ShadeRec SR) { float t = 0.0f; foreach (GeometryObject GeoObj in SR.World.Objects) { if (GeoObj.ShadowHit(ref ShadowRay, ref t)) { return(true); } } return(false); }
public GameObject CreateCube(GeoObj s) { System.Type[] types = { typeof(MeshFilter), typeof(MeshRenderer) }; GameObject go = new GameObject("cube", types); var filter = go.GetComponent <MeshFilter>(); filter.mesh = cube; var render = go.GetComponent <MeshRenderer>(); render.material = defaultMaterial; go.transform.parent = transform; go.transform.localPosition = s.center; go.transform.localScale = new Vector3(s.size, s.size, s.size); return(go); }
public static GeoAddress ConvertGeoObjectToAddress(GeoObj geoResult) { var address = new GeoAddress { FullAddress = geoResult.Formatted_address, Latitude = geoResult.Geometry.Location.Lat, Longitude = geoResult.Geometry.Location.Lng }; geoResult.Address_components .FirstOrDefault(x => x.AddressComponentTypes.Any(t => t == AddressComponentType.Street_number)) .Maybe(x => address.StreetNumber = x.Long_name); var component = (from c in geoResult.Address_components where (c.AddressComponentTypes.Any( x => x == AddressComponentType.Route || x == AddressComponentType.Street_address) && !string.IsNullOrEmpty(c.Long_name)) select c).FirstOrDefault(); component.Maybe(c => address.Street = c.Long_name); geoResult.Address_components .FirstOrDefault(x => x.AddressComponentTypes.Any(t => t == AddressComponentType.Postal_code)) .Maybe(x => address.ZipCode = x.Long_name); geoResult.Address_components .FirstOrDefault(x => x.AddressComponentTypes.Any(t => t == AddressComponentType.Locality)) .Maybe(x => address.City = x.Long_name); if (address.City == null) { // some times, the city is not set by Locality, for example in Brooklyn and Queens geoResult.Address_components .FirstOrDefault(x => x.AddressComponentTypes.Any(t => t == AddressComponentType.Sublocality)) .Maybe(x => address.City = x.Long_name); } geoResult.Address_components .FirstOrDefault(x => x.AddressComponentTypes.Any(t => t == AddressComponentType.Administrative_area_level_1)) .Maybe(x => address.State = x.Short_name); address.LocationType = geoResult.Geometry.Location_type; return(address); }
public void Generate_Sier_Carpet(int n, GeoObj obj) { if (n == 0) { objs.Add(obj); return; } var next = n - 1; var nextSize = obj.size / 3; Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(-nextSize, -nextSize), nextSize)); Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(0, -nextSize), nextSize)); Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(nextSize, -nextSize), nextSize)); Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(-nextSize, 0), nextSize)); Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(nextSize, 0), nextSize)); Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(-nextSize, nextSize), nextSize)); Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(0, nextSize), nextSize)); Generate_Sier_Carpet(next, new GeoObj(obj.center - new Vector3(nextSize, nextSize), nextSize)); }
public static bool ComplicatedFunction(GeoObj a, GeoObj b) { return(false); }
public float PDF(ref ShadeRec sr) { return(GeoObj.PDF(ref sr)); }