{"id":1182,"date":"2012-12-12T00:22:06","date_gmt":"2012-12-12T00:22:06","guid":{"rendered":"http:\/\/www.pycheung.com\/weblog\/?p=1182"},"modified":"2013-03-28T03:13:19","modified_gmt":"2013-03-28T03:13:19","slug":"mesh-face-offset-by-vertex-color-2","status":"publish","type":"post","link":"https:\/\/www.pycheung.com\/weblog\/post\/1182","title":{"rendered":"mesh face offset by vertex color 2"},"content":{"rendered":"<p>          <img loading=\"lazy\" src=\"http:\/\/www.pycheung.com\/weblog\/wp-content\/uploads\/zrtn_001pb086226_tn.jpg\" style=\"BORDER-BOTTOM: #000000 1px; BORDER-LEFT: #000000 1px; BORDER-TOP: #000000 1px; BORDER-RIGHT: #000000 1px\" height=\"389\" width=\"800\" alt=\"faceOffsetByVertexColor2.jpg\" border=\"0\"\/> <br \/>All vertices in face are aligned and project to xzplane from its best fit plane for the 2d offset operation then converted back therefore resulting offset holes are always planar. <br \/>Extude faces doesn&#8217;t work well with non-planar faces (with holes or with trigulate applied) <br \/>21\/11\/2012 added check on original face planarity <\/p>\n<p>require offsetFace.mll <br \/>faceOffsetByColorCmd(float minValue, float Value, int planarCheck)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>All vertices in face are aligned and project to xzplane from its best fit plane for the 2d offset operation then converted back therefore resulting offset holes are always planar&#8230;.<\/p>\n<div class=\"royalwp-readmore-wrap\"><a href=\"https:\/\/www.pycheung.com\/weblog\/post\/1182\" class=\"royalwp-readmore\">Explore more <i class=\"far fa-hand-point-right\"><\/i><\/a><\/div>\n","protected":false},"author":2,"featured_media":1185,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[159,153],"tags":[26,60,64,81],"_links":{"self":[{"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/posts\/1182"}],"collection":[{"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/comments?post=1182"}],"version-history":[{"count":4,"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/posts\/1182\/revisions"}],"predecessor-version":[{"id":1259,"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/posts\/1182\/revisions\/1259"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/media\/1185"}],"wp:attachment":[{"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/media?parent=1182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/categories?post=1182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pycheung.com\/weblog\/wp-json\/wp\/v2\/tags?post=1182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}