After reviewing your previous post a little more closely, it seems 
everything is working as it's supposed to (as far as I can tell).

Depending on how you insert the edge (i.e. which options you chose on the 
split edge operator, and edge on mesh which operator is applied), the sample 
count will change by different amounts.  It's very case-specific.

Example:

Given a grid comprised of a single 4-sided polygon, it will have 4 samples - 
one for each corner of the polygon.  If you apply the "Split Edge with split 
Control" operator to one of the four edges, you'll increase the sample count 
by 1 sample as only a new vertex will be inserted, and that vertex needs to 
have it's own sample.  Therefore, a total of 5 samples.

If you select two edges as input to the "split edge with split control" 
operator, then you'll add 4 samples to the mesh for a total of 8 samples. 
Why?  Because you're inserting a new edge to cut the polygon in half into 
two 4-sided polygons.  Each 4-sided polygon has 4 samples, one for each 
corner of the polygon.  Now if you deactivate the "connect" parameter in the 
split edge operator, you'll notice the sample count drops to 6 because only 
2 new vertices will have been inserted into the mesh, not a new edge.  If 
you repeat the procedure with an interior edge of a more complex mesh, 
you'll see similar case-specific additions/subtractions of samples.

I don't know what your test mesh looks like, but based what I'm seeing in 
your pictures, I'm guessing you applied the split edge operator to a 
boundary edge?  or didn’t activate the 'connect' option?

Furthermore, I wouldn't go by that old thread you dug up from Michele and 
Kim.  That pre-dates a lot of the architecture we're using now.  Some 
changes were made under the hood to the modeling when ICE was introduced as 
well as many bugs fixed.  They were likely using XSI v6.x, which had a ton 
of problems across the board.  In that thread it is mentioned you must 
specify your operator as a topology operator.  However, if you're using the 
self-installing plugin architecture, there is no way to make such 
declarations.  It's implied.  I think their conversation revolved around the 
older .spdl based plugins which required a lot of the parameters and 
attributes be declared ahead of time in a fixed format.  The current 
architecture doesn't require that.



Matt





Date: Sun, 13 Nov 2016 17:40:56 +0300
From: Andrew Prostrelov <[email protected]>
Subject: Re: Preserve UV methods after PolygonMesh.Set()
To: [email protected]

Ok i tried all over again. Tried different type of clusters and different
type of port connection configurations.
Clusters still do not updates components amount even if this clusters were
'always complete'.
If you add new components (verts,edges, polys etc) via PolygonMesh.Set()
they do not appear in clusters attached to CustomOperator.

I'am also find this thread:
https://groups.google.com/d/msg/xsi_list/y5bY5FAHOzk/qDCOcVHY9o8J

Michele:" ... Complete clusters need to be applied to the object after the
operators have been connected, for some unknown reasons that's a
requirement...."
I'm not sure what does Michele wanted to say.
How should i connect additional port to CustomOperator if we already
perform CustomOperator.connect() function ?

So if XSI should automaticly update clusters connected to CustomOperator,
it does not.
It updates already existed components indices, but it doesn't get new
components to clusters automatically. 


------
Softimage Mailing List.
To unsubscribe, send a mail to [email protected] with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to