Changeset 115

Show
Ignore:
Timestamp:
11/15/07 07:24:08 (1 year ago)
Author:
baxissimo
Message:

Cutting more debug printfs, and fixed crash bug on ply files that used "non-canonical" type names, like "float" instead of "float32".

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/OpenMeshD/OpenMesh/Core/IO/importer/ImporterT.d

    r112 r115  
    226226        mesh_.get_property_handle(ph, _propname); 
    227227        if (!ph.is_valid) { 
    228             //writefln("ADD PROPERTY: %s", _propname); 
    229228            mesh_.add_property(ph, _propname); 
    230229        } 
    231         writefln("%s[%4s] = (%s)%s", _propname,_vh.idx,typeid(T),_value); 
    232230        *mesh_.property_ptr(ph, _vh) = _value; 
    233231    } 
    234232    void set_fpropertyT(T)(FaceHandle _fh, string _propname,  T _value) { 
    235         //writefln("setting fproperty: %s, type=%s  value=%s",_propname,typeid(T),_value); 
    236233        FPropHandleT!(T) ph; 
    237234        mesh_.get_property_handle(ph, _propname); 
     
    250247        TypeInfo ti = _arguments[0]; 
    251248        void *aptr = _argptr; 
    252         //writefln("ti type:%s  args.lengt: %s", _arguments[0], _arguments.length); 
    253249        if (_arguments.length == 2) { 
    254250            if (ti == typeid(TypeInfo)) { 
    255                 //writefln("ti was: ", ti); 
    256251                ti = va_arg!(TypeInfo)(_argptr); 
    257252                aptr = va_arg!(void*)(_argptr); 
    258                 //writefln("ti now: ", ti); 
    259253            } 
    260254            else { 
     
    278272        TypeInfo ti = _arguments[0]; 
    279273        void *aptr = _argptr; 
    280         //writefln("set_property(fh..) type:%s  args.lengt: %s", _arguments[0], _arguments.length); 
    281274        if (_arguments.length == 2) { 
    282275            if (ti == typeid(TypeInfo)) { 
    283                 //writefln(  "  ti was: ", ti); 
    284276                ti = va_arg!(TypeInfo)(_argptr); 
    285277                aptr = va_arg!(void*)(_argptr); 
    286                 //writefln(  "  ti now: ", ti); 
    287278            } 
    288279            else { 
  • trunk/OpenMeshD/OpenMesh/Core/IO/reader/PLYReader.d

    r110 r115  
    550550            // words is like ["float32", "x"] -- "property" stripped 
    551551            string propname = words[1]; 
     552            string typename = ply_canonical_type(words[0]); 
    552553            update_desc_from_prop(propname); 
    553             bool ok = _bi.supports_property_data_type(ply_data_type_typeid(words[0])); 
    554             *prop_ptrs[cur_element] ~= new ScalarProp(propname, words[0], ok); 
     554            bool ok = _bi.supports_property_data_type(ply_data_type_typeid(typename)); 
     555            *prop_ptrs[cur_element] ~= new ScalarProp(propname, typename, ok); 
    555556            if (!(words[1] in known_props[cur_element])) { 
    556557                if ((*prop_ptrs[cur_element])[$-1].type_supported) { 
     
    568569            // merge the sequence into one VectorT prop 
    569570            string prop_base_name = lines[0][2][0..$-first_suffix.length]; 
    570             string prop_type = lines[0][1]
     571            string prop_type = ply_canonical_type(lines[0][1])
    571572 
    572573            TypeInfo ti; 
     
    594595            // Something like: ["uint8", "int32", "vertex_indices"] 
    595596            string propname = words[2]; 
     597            string idxtypename = ply_canonical_type(words[0]); 
     598            string typename = ply_canonical_type(words[1]); 
    596599            update_desc_from_prop(propname); 
    597             bool ok = _bi.supports_property_data_type(ply_data_type_typeid(words[1])); 
    598             *prop_ptrs[cur_element] ~= new ListProp(propname,words[0],words[1], ok); 
     600            bool ok = _bi.supports_property_data_type(ply_data_type_typeid(typename)); 
     601            *prop_ptrs[cur_element] ~= new ListProp(propname,idxtypename,typename, ok); 
    599602            if (!(words[2] in known_props[cur_element])) { 
    600603                derr.writefln( 
     
    656659                    switch(len) { 
    657660                    case 0: case 1:  
    658                         add_prop(words[1..$]); break; 
     661                        add_prop(words[1..$]);  
     662                        break; 
    659663 
    660664                    case 2: case 3: case 4: