IsInstanceOf() GetType()



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 07:19, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   R10 
    Platform:      Mac OSX  ; 
    Language(s) :     C++  ;

    ---------
    Hi again.
    How can I tell an object is of type pyramid when GetType() returns Opolygon and IsInstanceOf() returns false even though the object is Opyramid?

    > _
    > LONG type = op- >GetType();
    > Bool isi = op->IsInstanceOf(Opyramid);
    > _



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 08:07, xxxxxxxx wrote:

    If the object has been made editable, it is no longer an Opyramid but an Opolygon. You can check the type with GetType() against the available ones to see what it really is for verification.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 09:11, xxxxxxxx wrote:

    The object is not editable and the attribute manager window shows it as a Pyramid Object, but GetType() returns Opolygon? :(



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 09:22, xxxxxxxx wrote:

    Cannot confirm.

    Bool isPyramid = op->GetType()==Opyramid;

    works fine for me here.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 11:06, xxxxxxxx wrote:

    did I mention I'm using R10? are you using C4D R10 on osx 10.4.10?
    this does not make sense at all.

    is not only the pyramid, in fact I'm having the same problem for other primitives like sphere, cube, cylinder, etc.

    > _
    > BaseObject *op=doc- >GetFirstObject();
    >      while (op){
    > LONG type = op->GetType();
    > GePrint(String( LongToString(type) ); // writes 5100
    >
    >           switch(type) {
    >                case Opolygon:
    >                     WritePolygonObject(file, op);
    >                break;
    >                case Ocylinder:
    >                     WriteCylinder(file, op);
    >                break;
    > }
    >
    > op = op->GetNext();
    > }
    > _



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 11:50, xxxxxxxx wrote:

    Xcode again? (inside joke here) ;)

    Do you have a way to build a Windows version for comparison?

    Make sure that you're getting all the required _api and res references for header inclusion. Remove _api_maxon from these as it is an empty folder.

    If I have time, I will see what happens on my end.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 13:37, xxxxxxxx wrote:

    thanks Robert
    there's only one copy of the sdk, I removed olther ones just in case,
    as well as the _api_maxon empty folder but did not work either.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/09/2007 at 16:05, xxxxxxxx wrote:

    I just took the cinema4dsdk and widdled it down to a simple command plugin that prints to the Console the object types in the document sent to Execute(). It had no problem identifying any of these types.

    There is definitely something wrong with your build settings, source code, or something else.

    Make sure that you Clean before Build. Make sure that you have no errors (of course) or warnings on the build. Compare your build settings to those for the cinema4dsdk.xcodeproj.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 01/10/2007 at 07:44, xxxxxxxx wrote:

    SOME-BODY-SHOOT-ME!

    First I checked my build settings and yes there were some differences with the cinema4dsdk project, I corrected and still did not worked.

    Then I re-installed C4D R10, added this line of code to the cinema4dsdk /source/filter/stl.cpp
    to the loop in WriteObjects() method.

    > _
    > GePrint( String("type ") + LongToString( op- >GetType() ) );
    > _

    build "cinema4dsdk" project
    created a file with a cube and a sphere, then exported with C++ SDK STL
    but the console printed "type 5100" for cube and sphere. :-(

    Robert could you please mail me your test project to see if that works?
    I don't know what else to try.

    thanks for your help.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 01/10/2007 at 11:04, xxxxxxxx wrote:

    You can download the project here:

    http://www.kuroyumes-developmentzone.com/\_private\_/testplug.zip

    Note that I keep a copy of the Resource folder like this for headers and the api library:

    plugins
    ...testplug
    Resource

    This is analogous to the standard Cinema 4D organization. You may need to rereference if you don't have the same organization.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 01/10/2007 at 15:36, xxxxxxxx wrote:

    *bang* :)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 01/10/2007 at 16:45, xxxxxxxx wrote:

    ?? ;)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 01/10/2007 at 16:55, xxxxxxxx wrote:

    Thank you guys, I feel very stupid at this time.

    it turns out that I started my plugin with a copy of the filter plugin STL
    and I overlooked this function call right at the begining of the code.

    > _
    > stl.doc    = doc->Polygonize();
    > _

    no wonder why everything was returning Opolygon.
    I'm very sorry for the time we lost on this :(

    thank you again for your help and patience.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 01/10/2007 at 18:15, xxxxxxxx wrote:

    That would do it! ;)

    No problem - we're here to help as much as possible.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 02/10/2007 at 01:56, xxxxxxxx wrote:

    MAXON should pay us for the support we give here. ;-D


Log in to reply