[gts-devel] Class extension problem
Brought to you by:
popinet
From: Stephane P. <s.p...@ni...> - 2003-07-21 02:27:47
|
Hi Sriram, > We wrote a face class extension code that assigns a color flag to each face > of a surface in addition to all the attributes of the gts_face_class(). > > When we perform the boolean(union) operation on two differently > colored surfaces, we expect to obtain a single body with 2 > different colors. However, the new GTS file generated has > different colors assigned only to faces which do not intersect and > no color assigned to the faces which fall in the intersection > region. You need to tell GTS how your attributes (colors) should be "transfered" to newly created faces (close to the intersection). You can do that by defining the attributes() method for your new class. Something like this will work: static void my_face_attributes (GtsObject * object, GtsObject * parent) { MY_FACE (object)->color = MY_FACE (parent)->color; } static void my_face_class_init (GfsFaceClass * klass) { GTS_OBJECT_CLASS (klass)->attributes = my_face_attributes; } hope this helps, Stephane |