﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FModifiers%2FStack%2FClipPlaneModifier</id>
	<title>Dev:Source/Modifiers/Stack/ClipPlaneModifier - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FModifiers%2FStack%2FClipPlaneModifier"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Modifiers/Stack/ClipPlaneModifier&amp;action=history"/>
	<updated>2026-04-25T05:29:40Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Modifiers/Stack/ClipPlaneModifier&amp;diff=54692&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Modifiers/Stack/ClipPlaneModifier&amp;diff=54692&amp;oldid=prev"/>
		<updated>2018-06-28T17:51:32Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 17:51時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Modifiers/Stack/ClipPlaneModifier&amp;diff=54691&amp;oldid=prev</id>
		<title>wiki&gt;Mindrones: moved Dev:Source/Blender/Modifiers/Stack/ClipPlaneModifier to Dev:Source/Modifiers/Stack/ClipPlaneModifier</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Modifiers/Stack/ClipPlaneModifier&amp;diff=54691&amp;oldid=prev"/>
		<updated>2010-03-09T10:21:12Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/Dev:Source/Blender/Modifiers/Stack/ClipPlaneModifier&quot; class=&quot;mw-redirect&quot; title=&quot;Dev:Source/Blender/Modifiers/Stack/ClipPlaneModifier&quot;&gt;Dev:Source/Blender/Modifiers/Stack/ClipPlaneModifier&lt;/a&gt; to &lt;a href=&quot;/Dev:Source/Modifiers/Stack/ClipPlaneModifier&quot; title=&quot;Dev:Source/Modifiers/Stack/ClipPlaneModifier&quot;&gt;Dev:Source/Modifiers/Stack/ClipPlaneModifier&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Clip Plane Modifier ===&lt;br /&gt;
&lt;br /&gt;
Modifier that allows you to use a control object (plane) to define a clip plane for the modified object.&lt;br /&gt;
&lt;br /&gt;
* reference to a control object&lt;br /&gt;
* origin of control object determines clipping plane&lt;br /&gt;
* z is plane normal&lt;br /&gt;
* everything on negative side is kept (z negative), the rest is discarded. Cut edges where necessary.&lt;br /&gt;
* visualisation: currently no specific. Use a plane object.&lt;br /&gt;
&lt;br /&gt;
=== documentation ===&lt;br /&gt;
[[Image:Cut_possibilities.jpg|Clipping faces|300px]]&lt;br /&gt;
==== cases to check ====&lt;br /&gt;
&lt;br /&gt;
'''NOTE''' cases where vertices/edges lay on the clipping plane are not handled yet&lt;br /&gt;
&lt;br /&gt;
For clipping faces I have identified 5 different cases to check, of which one is special. Three cases for quads and two for triangles. As said, most cases are simple, but one quad case is special, in that the resulting face needs to be split into two faces, since currently Blender doesn't allow faces with more than 4 edges. Cutting a corner from a quad would force it to be a 5-sided face. We'll have to ensure it ends up as a quad and a triangle.&lt;br /&gt;
&lt;br /&gt;
The image shows the cases, 3 quad cases, 2 triangle cases. The normal for the clip plane (dashed line) is on the side, where no 'inset' is drawn. The inset depicts the new face(s) after the clipping procedure.&lt;br /&gt;
&lt;br /&gt;
# quad gets clipped with cuts through opposite edges. Edgecount = 4, Vertcount = 4, DiscardVerts = 2. We have one quad face as result.&lt;br /&gt;
# quad gets clipped with cuts through neighbouring edges. Edgecount = 4, Vertcount = 4, DiscardVerts = 1. We get two new faces as result, a quad and a triangle&lt;br /&gt;
# quad gets clipped with cuts through neighbouring edges. Edgecount = 4, Vertcount = 4, DiscardVerts = 3. We have one triangle face as result.&lt;br /&gt;
# triangle gets clipped with cuts through neighbouring edges. Edgecount = 3, Vertcount = 3, DiscardVerts = 1. We have one quad face as result.&lt;br /&gt;
# triangle gets clipped with cuts through neighbouring edges. Edgecount = 3, Vertcount = 3, DiscardVerts = 2. We have one triangle face as result.&lt;br /&gt;
&lt;br /&gt;
==== algorithm ====&lt;br /&gt;
&lt;br /&gt;
# Project DerivedMesh into clip plane space.&lt;br /&gt;
# Tag vertices that get discarded CP_DISCARD&lt;br /&gt;
# Tag edges&lt;br /&gt;
## One vertex CP_DISCARD, edge is CP_CUT&lt;br /&gt;
## Two vertices CP_DISCARD, edge is CP_DISCARD&lt;br /&gt;
# Tag faces&lt;br /&gt;
## All vertices CP_DISCARD, face is CP_DISCARD&lt;br /&gt;
## At least one vertex not CP_DISCARD, at least one CP_DISCARD, face is CP_CUT&lt;br /&gt;
&lt;br /&gt;
=== roadmap ===&lt;br /&gt;
* Version 1&lt;br /&gt;
** {{done|simple clipping on face level}}&lt;br /&gt;
* Version 2&lt;br /&gt;
** {{inprogress|25|cut faces and edges nicely}}&lt;br /&gt;
** {{todo|invert (flip clip plane normal)}}&lt;br /&gt;
** {{todo|solid clipping}}&lt;br /&gt;
* Version 3&lt;br /&gt;
** {{todo|implement for bmesh}}&lt;br /&gt;
&lt;br /&gt;
=== questions ===&lt;br /&gt;
* should user be allowed what axis of controlling object is clipping plane normal?&lt;br /&gt;
* invert option? (everything on positive side is kept)&lt;br /&gt;
&lt;br /&gt;
=== patch ===&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cpmd.patch|Clip plane modifier]] Working patch v1, with jagged line. Nicely cut faces and edges is up next. Now also works in edit mode. (Current patch created against r10841).&lt;br /&gt;
&lt;br /&gt;
=== demos ===&lt;br /&gt;
&lt;br /&gt;
* version 1 (jagged line)&lt;br /&gt;
* [http://www.letwory.net/downloads/rt/clipplane_demo_001.htm While Editing]&lt;br /&gt;
* [http://www.letwory.net/downloads/rt/cmp_test20001_0250.avi Clip plane Animation]&lt;br /&gt;
* [http://www.letwory.net/downloads/rt/clipplane_racer_xvid.avi another Clip plane usage]&lt;br /&gt;
&lt;br /&gt;
[[User:JesterKing|JesterKing]]&lt;br /&gt;
&lt;br /&gt;
something to check out -&amp;gt; [http://www.opencsg.org OpenCSG]&lt;/div&gt;</summary>
		<author><name>wiki&gt;Mindrones</name></author>
		
	</entry>
</feed>