TP Shapes
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 04/09/2003 at 13:52, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.100
Platform: Windows ; Mac ;
Language(s) : C++ ;---------
Howdy,I can easily create new TP particles and add them to any group. Setting life, transforms, and even data channels seem to work. Problem is that I cannot figure out how to set an object to a particle ( using the shapes, etc... ). Source code possibly?
Thanks!
David Farmer - cidertank -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 04/09/2003 at 14:16, xxxxxxxx wrote:
Do you mean from your own node or using the PShape node? The latter is more of a TP usage questions, so I guess it's the former. I think PShape itself just uses TP_MasterSystem::SetShape() so that's where you should start looking. The owner_id would be your own node. Then I suggest that you copy the TP_BaseShape example from the TP_PShapeInterface page. I still think a Particle Geometry object will be necessary.
I don't have any code example but I could look into it if any questions remain. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/09/2003 at 10:11, xxxxxxxx wrote:
Hi Mikael,
I am trying to add them through a PluginObject "GetVirtualObject" function without any node. I assume it might be possible to make the object the parent? I will try that later. Since TP is a pain in the but for most users I wrote custom emitters that require no Particle Geometry ( hell, that even confuses me ). The emitter is the parent of course. Anyway, I would be greatly interested in simple plugin object that not only adds TP particles ( I have that working thanks to you ) but also want to see it automatically setting the correct particle shape. Help?
Best Regards,
David Farmer - cidertank -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/09/2003 at 11:04, xxxxxxxx wrote:
My interpretation of what happens is that Particle Geometry calls TP_MasterSystem::GetVirtualObjects(). That function will then for all particles in 'ingroup' call GetShape(pid), send a TP_MSG_GET_PSHAPEINTERFACE to the node TP_MasterSystem::GetOperator(shape->ownerid), and use the retrieved interface to call TP_PShapeInterface::GetShapeVirtualObjects(). Normally that node will be a PShape outputting its linked object.
So somewhere there has to be a node. Now the question is if that node really has to be inserted into a GV node master, or if you could just allocate a free node and keep track of it yourself. Since I suspect that GetOperatorID() only maintains a list of pointers I think you actually could and then you could use TP totally without visible GV. I haven't tried this though. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 06/09/2003 at 11:22, xxxxxxxx wrote:
I tried creating TP nodes without them being visible but that somehow didn´t work for me. I have to add though that this was in an earlier stage of the SDK and might have changed. Just my experience...
Good luck though. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 02/06/2009 at 00:16, xxxxxxxx wrote:
Hi, any news on this? I would like to add a shape to a particles group without creating a xpresso node, but it seems to be a little bit confusing to me.
Did anyone work on this? Thanks.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 04/06/2009 at 17:20, xxxxxxxx wrote:
Btw, do I have to send any message to the tp mastersystem when I call AllocParticle()? In some cases new particles will not be shown in the editor or info tab of Thinking Particles even the method is called (returns a valid id).
This happens when I click play and the scene reaches the 0 frame again. So in the first run the particles will be in the scene, but they are all gone in the second run, also new particles.
I already tried MSG_CHANGE and MSG_UPDATE but that did not help.
Thanks a lot.