claude bonet - how to get datacount
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 16/12/2004 at 06:31, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.100
Platform: Windows ;
Language(s) : C++ ;---------
hi,
my problem is, that my plugin finds all claudebonet tags, but the datacount is wired, i can´t get the right count of elements/vertices per cb-tag
code:BaseTag *tag = obj->GetFirstTag(); int i=0; int count; char ibuffer [33], cbbuffer [33]; while(tag->GetType() == Tclaudebonet) { VariableTag *gtag = (VariableTag * )tag; Real *cnt = (Real* )gtag->GetDataAddress(); //count = sizeof(cnt) / sizeof(cnt[0]); count=0; LONG anz = cnt[count]; while(anz != NULL) { count++; anz = cnt[count]; } //CBs ausgeben GePrint(itoa(i,ibuffer,10)); GePrint(itoa(count,cbbuffer,10)); //zum nächsten Tag gehen tag = tag->GetNext(); //CBs zaehlen i++; strcpy(ibuffer,""); strcpy(cbbuffer,""); }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/12/2004 at 03:29, xxxxxxxx wrote:
no idea ??
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 16/01/2005 at 08:39, xxxxxxxx wrote:
hey admin,
delete this thread, problem solved -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 17/01/2005 at 23:33, xxxxxxxx wrote:
Hello
Don't you wanna share your knowledge about this
problem and how you solved it.
I want to learn about the way to handle
the tag.If you not wish, I'm to say 'sorry'.
With all my respects ...
ZawMinTun -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/01/2005 at 13:59, xxxxxxxx wrote:
momento ...
code:
------------------------------------------------------------------------
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <c4d.h>
class SMDFilter : SceneSaverData
{
public:
virtual LONG Save(PluginSceneSaver *node, const Filename &name, BaseDocument *doc, LONG filterflags);
static NodeData *Alloc(void) { return gNew SMDFilter; }
};LONG SMDFilter::Save(PluginSceneSaver *node, const Filename &name, BaseDocument *doc, LONG flags)
{
doc = GetActiveDocument();
BaseObject *obj = doc->GetActiveObject();
if(obj)
{
//Polygoncount
char polybuffer [33];
GePrint("all Vertices: ");
GePrint(itoa(static_cast<PolygonObject *>(obj)->GetPointCount(),polybuffer,10));
GePrint("Claude Bonet Tags: ");
//Claudebonet test
BaseTag *tag = obj->GetFirstTag();
char ibuffer [33];
int i=0;
while(tag->GetType() == Tclaudebonet)
{
GePrint(".............");
VariableTag *gtag = (VariableTag * )tag;
int cnt = gtag->GetDataCount();
Real *value = (Real * )gtag->GetDataAddress();
//read relevant values
i=0;
for(int a=0; a<cnt; a++)
{
if(value[a]==1.0) i++;
}
GePrint(itoa(i,ibuffer,10));
//go to the next tag
tag = tag->GetNext();
}
}
else GePrint(" - no object");
return TRUE;
}
Bool RegisterSMD(void)
{
if(!RegisterSceneSaverPlugin(1111111,"SMDex",0, SMDFilter::Alloc, EXECUTION_RESULT_OK, 0, NULL)) return FALSE;
return TRUE;
}--------------------------------------------------------
i hope this help,
dont hesitate to asksorry for delay.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/01/2005 at 17:06, xxxxxxxx wrote:
Always nice to share!!! Thanks dojoman! (are you into martial arts, btw?)
Robert
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/01/2005 at 10:05, xxxxxxxx wrote:
no
but i really like movies based on it. so when i had to decide
a cool name for my first email-address (in 1998) i chose this one.
so from then, it became my synonym, that´s the simple reason