THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/02/2009 at 10:02, xxxxxxxx wrote:
Cinema 4D Version: 9.1+
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
I need to draw a handle on a polygon object' point, but where the point is on the HyperNURBS surface. I looked in the SDK Documentation for the SDSObject class, and there is a function TransformPoint() but it only says "Dummy function. Always returns FALSE."
So, how do you get a polygon object's point position on the HyperNURBS surface?
On 28/02/2009 at 16:11, xxxxxxxx wrote:
I would also like to know. I asked this question about 2 years ago already and it was told that it´s not possible to get the unsubdivided point on the subdivided HN surface (well, you could project the point yourself with a ray, but that´s not very efficient).
So if it is possible I am also highly interested in knowing this.
On 01/03/2009 at 04:04, xxxxxxxx wrote:
Hm. Must be possible some way, because the Isoline Editing mode in Cinema does exactly that. Unfortunately, I also don't know how to do that. The function
should have something to do with it...
On 01/03/2009 at 07:48, xxxxxxxx wrote:
The isoparm should have nothing to do with the subdivided point relations of an unsubdivided and subdivided mesh. It´s not even sure to be there (if the object doesn´t incorporate the isoparm it´s not there).
Check my old thread for what I mean and want.
On 01/03/2009 at 07:57, xxxxxxxx wrote:
is PolygonObject* GetSDSMesh(BaseObject* op) not what you are looking for?
You get a PolygonObject which returns the polygonized object where you can get the point positions.
On 01/03/2009 at 08:50, xxxxxxxx wrote:
AHA! Thank you Shawni. That works! The first points in the SDS mesh's points array correspond to the points in the cage's points array.
On 01/03/2009 at 08:55, xxxxxxxx wrote:
Good to know about that point order in the SDS mesh. One day I'll need that, too.
On 01/03/2009 at 10:23, xxxxxxxx wrote:
GetSDSMesh unfortunately doesn´t seem to work in GetVirtualObjects() as there are no caches and this returns the polygon object of the caches. That is the initial problem.
On 03/03/2009 at 02:58, xxxxxxxx wrote:
CSTO on a SDS object returns a polygon object with the iso cage points at their original point indices. The additional points of the subdivision are listed after the iso cage points.
On 03/03/2009 at 03:21, xxxxxxxx wrote:
And that is supposed to work in GetVirtualobjects Matthias? Hmm, I must try this again.
On 01/07/2009 at 11:06, xxxxxxxx wrote:
OK, it seems GetSDSMesh() doesn't work from TagData::Execute() either.
CSTO works, but I've only tested it when the polygon mesh is a direct child of the HyperNURBS object. How do you match up a single polygon mesh to the correct index in the "result" AtomArray when there's more than one polygon mesh under a Null, under the HN?