CARVIEW |
Select Language
HTTP/2 200
date: Mon, 28 Jul 2025 16:37:44 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"0ec6ef2a5476950c862daa8669c9da18"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=b%2FgQbrT%2FuuCBqLysmGLEDJGSNlptq%2BwE8JVZT78LEXclvCvxK4JUe6yGLknEpCiPlzecFHciiVcty0HhoZYAq13k2fSFkPU20PG0WnC7fYqycOTZeDT9XeCoyXaATmdL3I%2BcYJ99wVc4uRjfqS5TJb4ab4od7Wbq6fOciJh7zLwKHIaMtDHcsYBwm6Dko82wnVnSnnZwF3mLnKc31x35DjMMRuGWbYfTE0YfQ7SeuSlNGcOs2%2BlTIe4dSjxo8QEphnszgbcZ4wGs0QCwtfAtAQ%3D%3D--4mCCBYdMrc0TP1Qp--pmiLIma0t1ZtznG%2B%2FmvzGw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.676638973.1753720664; Path=/; Domain=github.com; Expires=Tue, 28 Jul 2026 16:37:44 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Tue, 28 Jul 2026 16:37:44 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: CA1A:2EF87B:1A284E7:208AE22:6887A757
The Polygon Object · Scrawk/CGALDotNet Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 46
The Polygon Object
Justin edited this page Mar 10, 2022
·
1 revision
Polygons are a core feature of cgal and there are many ways of constructing them.
A number of factory methods are provided.
//create a box polygon from the min max box values.
var box = PolygonFactory<EIK>.CreateBox(-1, 1);
//create a polygon circle at the origin with a radius of 4 and 16 sides segments.
var circle = PolygonFactory<EIK>.CreateCircle(point2d.Zero, 4, 16);
For most of the algorithms in cgal the polygon has to meet certain requirements. These are generally that the polygon is simple and counter clock wise. If this is not the case the algorithm may crash cgal. These values can be checked and are cached.
if(poly.IsSimple && poly.IsCCW)
{
//do something
}
Certain algorithms will only work with certain kernels. The polygon can be converted like so.
var eek_poly = eik_poly.Convert<EEK>();
The polygon object also contains some helpful utility functions. These are often part of a larger suit of algorithms which will be covered in their own sections.
A few examples are as follows.
//create a polygon from some points.
var poly = new Polygon2<EEK>(points);
//simplify the polygon with a threshold.
poly.Simpliy(0.5);
//find the intersection with a second polygon.
var poly3 = poly.Intersection(poly2);
//triangulate the polygon.
poly.Triangulate(indices);
Clone this wiki locally
You can’t perform that action at this time.