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.


Log in to reply