0004-COMP-Remove-hidden-virtual-function-warnings.patch

eunyoung kim, 2012-07-03 09:56 pm

Download (9.4 kB)

 
b/modules/core/include/opencv2/core/mat.hpp
387 387
{
388 388
    CV_DbgAssert(dims <= 2);
389 389
    CvMat m = cvMat(rows, dims == 1 ? 1 : cols, type(), data);
390
    m.step = (int)step[0];
390
    //m.step = (int)step[0];
391 391
    m.type = (m.type & ~CONTINUOUS_FLAG) | (flags & CONTINUOUS_FLAG);
392 392
    return m;
393 393
}
b/modules/core/include/opencv2/core/types_c.h
651 651
{
652 652
    int type;
653 653
    int step;
654
    // This should not be used for pointer offsets int step; It is columns*size of element, we should just use the correct pointer types
654 655

  
655 656
    /* for internal use only */
656 657
    int* refcount;
......
658 659

  
659 660
    union
660 661
    {
661
        uchar* ptr;
662
        uchar* ptr; /*ptr need to be of type void * so taht they have proper alignment*/
662 663
        short* s;
663 664
        int* i;
664 665
        float* fl;
......
774 775
            (unsigned)col < (unsigned)mat->cols );
775 776

  
776 777
    if( type == CV_32FC1 )
777
        return ((float*)(mat->data.ptr + (size_t)mat->step*row))[col];
778
        return ((float*)(mat->data.fl + (size_t)mat->cols*row))[col];
778 779
    else
779 780
    {
780 781
        assert( type == CV_64FC1 );
781
        return ((double*)(mat->data.ptr + (size_t)mat->step*row))[col];
782
        return ((double*)(mat->data.db + (size_t)mat->cols*row))[col];
782 783
    }
783 784
}
784 785

  
......
791 792
            (unsigned)col < (unsigned)mat->cols );
792 793

  
793 794
    if( type == CV_32FC1 )
794
        ((float*)(mat->data.ptr + (size_t)mat->step*row))[col] = (float)value;
795
        ((float*)(mat->data.fl + (size_t)mat->cols*row))[col] = (float)value;
795 796
    else
796 797
    {
797 798
        assert( type == CV_64FC1 );
798
        ((double*)(mat->data.ptr + (size_t)mat->step*row))[col] = (double)value;
799
        ((double*)(mat->data.db + (size_t)mat->cols*row))[col] = (double)value;
799 800
    }
800 801
}
801 802

  
b/modules/ml/include/opencv2/ml/ml.hpp
954 954
    CvForestTree();
955 955
    virtual ~CvForestTree();
956 956

  
957
    virtual bool train( CvDTreeTrainData* trainData, const CvMat* _subsample_idx, CvRTrees* forest );
958

  
959 957
    virtual int get_var_count() const {return data ? data->var_count : 0;}
960 958
    virtual void read( CvFileStorage* fs, CvFileNode* node, CvRTrees* forest, CvDTreeTrainData* _data );
961 959

  
962 960
    /* dummy methods to avoid warnings: BEGIN */
961
    /* Invalid: Throws assert if it is used */
963 962
    virtual bool train( const CvMat* trainData, int tflag,
964 963
                        const CvMat* responses, const CvMat* varIdx=0,
965 964
                        const CvMat* sampleIdx=0, const CvMat* varType=0,
966 965
                        const CvMat* missingDataMask=0,
967 966
                        CvDTreeParams params=CvDTreeParams() );
968 967

  
968
    /* Invalid: Throws assert if it is used */
969 969
    virtual bool train( CvDTreeTrainData* trainData, const CvMat* _subsample_idx );
970
    /* Invalid: Throws assert if it is used */
971
    virtual bool train( CvMLData* trainData, CvDTreeParams params=CvDTreeParams() );
972
#ifndef SWIG
973
    /* Invalid: Throws assert if it is used */
974
    CV_WRAP virtual bool train( const cv::Mat& trainData, int tflag,
975
                       const cv::Mat& responses, const cv::Mat& varIdx=cv::Mat(),
976
                       const cv::Mat& sampleIdx=cv::Mat(), const cv::Mat& varType=cv::Mat(),
977
                       const cv::Mat& missingDataMask=cv::Mat(),
978
                       CvDTreeParams params=CvDTreeParams() );
979

  
980
#endif
970 981
    virtual void read( CvFileStorage* fs, CvFileNode* node );
971 982
    virtual void read( CvFileStorage* fs, CvFileNode* node,
972 983
                       CvDTreeTrainData* data );
973 984
    /* dummy methods to avoid warnings: END */
974 985

  
986
    /* This is the only valid signature to train the ForestTree */
987
    virtual bool train( CvDTreeTrainData* trainData, const CvMat* _subsample_idx, CvRTrees* forest );
988

  
975 989
protected:
976 990
    friend struct cv::ForestTreeBestSplitFinder;
977 991

  
......
1146 1160
    CvBoostTree();
1147 1161
    virtual ~CvBoostTree();
1148 1162

  
1149
    virtual bool train( CvDTreeTrainData* trainData,
1150
                        const CvMat* subsample_idx, CvBoost* ensemble );
1151 1163

  
1152 1164
    virtual void scale( double s );
1153 1165
    virtual void read( CvFileStorage* fs, CvFileNode* node,
......
1155 1167
    virtual void clear();
1156 1168

  
1157 1169
    /* dummy methods to avoid warnings: BEGIN */
1170
    /* Invalid: Throws assert if it is used */
1158 1171
    virtual bool train( const CvMat* trainData, int tflag,
1159 1172
                        const CvMat* responses, const CvMat* varIdx=0,
1160 1173
                        const CvMat* sampleIdx=0, const CvMat* varType=0,
1161 1174
                        const CvMat* missingDataMask=0,
1162 1175
                        CvDTreeParams params=CvDTreeParams() );
1176

  
1177
    /* Invalid: Throws assert if it is used */
1163 1178
    virtual bool train( CvDTreeTrainData* trainData, const CvMat* _subsample_idx );
1179
    /* Invalid: Throws assert if it is used */
1180
    virtual bool train( CvMLData* trainData, CvDTreeParams params=CvDTreeParams() );
1181
#ifndef SWIG
1182
    /* Invalid: Throws assert if it is used */
1183
    CV_WRAP virtual bool train( const cv::Mat& trainData, int tflag,
1184
                       const cv::Mat& responses, const cv::Mat& varIdx=cv::Mat(),
1185
                       const cv::Mat& sampleIdx=cv::Mat(), const cv::Mat& varType=cv::Mat(),
1186
                       const cv::Mat& missingDataMask=cv::Mat(),
1187
                       CvDTreeParams params=CvDTreeParams() );
1188

  
1189
#endif
1164 1190

  
1165 1191
    virtual void read( CvFileStorage* fs, CvFileNode* node );
1166 1192
    virtual void read( CvFileStorage* fs, CvFileNode* node,
1167 1193
                       CvDTreeTrainData* data );
1168 1194
    /* dummy methods to avoid warnings: END */
1169 1195

  
1196
    /* This is the only valid signature to train the ForestTree */
1197
    virtual bool train( CvDTreeTrainData* trainData,
1198
                        const CvMat* subsample_idx, CvBoost* ensemble );
1199

  
1170 1200
protected:
1171 1201

  
1172 1202
    virtual void try_split_node( CvDTreeNode* n );
b/modules/ml/src/boost.cpp
110 110
    return do_train( _subsample_idx );
111 111
}
112 112

  
113

  
113
/*Invalid: These functions are only here to ensure that the base class methods are not called */
114 114
bool
115 115
CvBoostTree::train( const CvMat*, int, const CvMat*, const CvMat*,
116 116
                    const CvMat*, const CvMat*, const CvMat*, CvDTreeParams )
......
119 119
    return false;
120 120
}
121 121

  
122

  
123 122
bool
124 123
CvBoostTree::train( CvDTreeTrainData*, const CvMat* )
125 124
{
......
127 126
    return false;
128 127
}
129 128

  
129
bool
130
CvBoostTree::train( CvMLData* , CvDTreeParams)
131
{
132
    assert(0);
133
    return false;
134
}
135

  
136
#ifndef SWIG
137
CV_WRAP bool
138
CvBoostTree::train( const cv::Mat& , int ,
139
                     const cv::Mat& , const cv::Mat& ,
140
                     const cv::Mat& , const cv::Mat& ,
141
                     const cv::Mat& ,
142
                     CvDTreeParams )
143
{
144
    assert(0);
145
    return false;
146
}
147
#endif
148

  
130 149

  
131 150
void
132 151
CvBoostTree::scale( double _scale )
b/modules/ml/src/rtrees.cpp
64 64
    return do_train(_subsample_idx);
65 65
}
66 66

  
67

  
67
/*Invalid: These functions are only here to ensure that the base class methods are not called */
68 68
bool
69 69
CvForestTree::train( const CvMat*, int, const CvMat*, const CvMat*,
70 70
                    const CvMat*, const CvMat*, const CvMat*, CvDTreeParams )
......
73 73
    return false;
74 74
}
75 75

  
76

  
77 76
bool
78 77
CvForestTree::train( CvDTreeTrainData*, const CvMat* )
79 78
{
......
81 80
    return false;
82 81
}
83 82

  
83
bool
84
CvForestTree::train( CvMLData* , CvDTreeParams)
85
{
86
    assert(0);
87
    return false;
88
}
84 89

  
90
#ifndef SWIG
91
CV_WRAP bool
92
CvForestTree::train( const cv::Mat& , int ,
93
                     const cv::Mat& , const cv::Mat& ,
94
                     const cv::Mat& , const cv::Mat& ,
95
                     const cv::Mat& ,
96
                     CvDTreeParams )
97
{
98
    assert(0);
99
    return false;
100
}
101
#endif
85 102

  
86 103
namespace cv
87 104
{
88
-