Class: OpenCV::Std::Vector::Double

Inherits:
Object
  • Object
show all
Extended by:
FFI::DataConverter
Includes:
Enumerable
Defined in:
lib/ropencv/ropencv_types.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.vectorObject .vectorObject

Overloads:

Raises:

  • (ArgumentError)


36991
36992
36993
36994
36995
36996
36997
36998
36999
37000
37001
37002
37003
37004
37005
37006
37007
37008
37009
37010
37011
37012
37013
37014
37015
37016
37017
37018
37019
37020
37021
37022
37023
37024
37025
# File 'lib/ropencv/ropencv_types.rb', line 36991

def self.new(*args)
    if args.first.is_a?(FFI::Pointer) || args.first.is_a?(Vector::DoubleStruct)
        raise ArgumentError, "too many arguments for creating #{self.name} from Pointer" unless args.size == 1
        return super(args.first)
    end
    # overloaded method wrapper for std::vector<double>::vector<double>()
    @@std_vector_double_vector_double_defaults0 ||= []
    if(args.size >= 0 && args.size <= 0)
        targs = args.clone
        targs.size.upto(-1) do |i|
            targs[i] = @@std_vector_double_vector_double_defaults0[i]
        end
        begin
                return Rbind::std_vector_double_vector_double(*targs)
        rescue TypeError => e
            @error = e
        end
    end

    # overloaded method wrapper for std::vector<double>::vector<double>(std::vector<double> other)
    @@std_vector_double_vector_double2_defaults1 ||= [nil]
    if(args.size >= 1 && args.size <= 1)
        targs = args.clone
        targs.size.upto(0) do |i|
            targs[i] = @@std_vector_double_vector_double2_defaults1[i]
        end
        begin
                return Rbind::std_vector_double_vector_double2(*targs)
        rescue TypeError => e
            @error = e
        end
    end

    raise ArgumentError, "no constructor for #{self}(#{args.inspect})"
end

.nullObject

returns a null pointer to the object



36983
36984
36985
# File 'lib/ropencv/ropencv_types.rb', line 36983

def self.null
    new(Vector::DoubleStruct.new)
end

Instance Method Details

#<<(val) ⇒ Object



37232
37233
37234
37235
# File 'lib/ropencv/ropencv_types.rb', line 37232

def <<(val)
    push_back(val)
    self
end

#[](idx) ⇒ Double

Note:

method wrapper for double std::vector::operator

Parameters:

  • size (Size_T)

Returns:



37148
37149
37150
37151
37152
# File 'lib/ropencv/ropencv_types.rb', line 37148

def [](size)
validate_index(size)
    __validate_pointer__
    Rbind::std_vector_double_operator_array( self, size)
end

#at(size) ⇒ Double

Note:

method wrapper for double std::vector::at(size_t size)

Parameters:

  • size (Size_T)

Returns:



37157
37158
37159
37160
37161
# File 'lib/ropencv/ropencv_types.rb', line 37157

def at(size)
validate_index(size)
    __validate_pointer__
    Rbind::std_vector_double_at( self, size)
end

#backDouble

Note:

method wrapper for double std::vector::back()

Returns:



37172
37173
37174
37175
# File 'lib/ropencv/ropencv_types.rb', line 37172

def back()
    __validate_pointer__
    Rbind::std_vector_double_back( self)
end

#capacitySize_T

Note:

method wrapper for size_t std::vector::capacity()

Returns:

  • (Size_T)


37125
37126
37127
37128
# File 'lib/ropencv/ropencv_types.rb', line 37125

def capacity()
    __validate_pointer__
    Rbind::std_vector_double_capacity( self)
end

#clearVoid

Note:

method wrapper for void std::vector::clear()

Returns:

  • (Void)


37118
37119
37120
37121
# File 'lib/ropencv/ropencv_types.rb', line 37118

def clear()
    __validate_pointer__
    Rbind::std_vector_double_clear( self)
end

#dataVoid

Note:

method wrapper for void* std::vector::data()

Returns:

  • (Void)


37179
37180
37181
37182
# File 'lib/ropencv/ropencv_types.rb', line 37179

def data()
    __validate_pointer__
    Rbind::std_vector_double_data( self)
end

#delete_if(&block) ⇒ Object



37236
37237
37238
37239
37240
37241
37242
37243
# File 'lib/ropencv/ropencv_types.rb', line 37236

def delete_if(&block)
    v = self.class.new
    each do |i|
         v << i if !yield(i)
    end
    v.swap(self)
    self
end

#each(&block) ⇒ Object



37222
37223
37224
37225
37226
37227
37228
37229
37230
37231
# File 'lib/ropencv/ropencv_types.rb', line 37222

def each(&block)
    if block
         s = size
         0.upto(s-1) do |i|
             yield self[i]
         end
    else
        Enumerator.new(self)
    end
end

#emptyBool

Note:

method wrapper for bool std::vector::empty()

Returns:

  • (Bool)


37132
37133
37134
37135
# File 'lib/ropencv/ropencv_types.rb', line 37132

def empty()
    __validate_pointer__
    Rbind::std_vector_double_empty( self)
end

#frontDouble

Note:

method wrapper for double std::vector::front()

Returns:



37165
37166
37167
37168
# File 'lib/ropencv/ropencv_types.rb', line 37165

def front()
    __validate_pointer__
    Rbind::std_vector_double_front( self)
end

#get_elementDouble

Note:

method wrapper for double std::vector::operator

Parameters:

  • size (Size_T)

Returns:



37211
37212
37213
37214
37215
# File 'lib/ropencv/ropencv_types.rb', line 37211

def [](size)
validate_index(size)
    __validate_pointer__
    Rbind::std_vector_double_operator_array( self, size)
end

#pop_backVoid

Note:

method wrapper for void std::vector::pop_back()

Returns:

  • (Void)


37194
37195
37196
37197
# File 'lib/ropencv/ropencv_types.rb', line 37194

def pop_back()
    __validate_pointer__
    Rbind::std_vector_double_pop_back( self)
end

#push_back(other) ⇒ Void

Note:

method wrapper for void std::vector::push_back(double other)

Parameters:

Returns:

  • (Void)


37187
37188
37189
37190
# File 'lib/ropencv/ropencv_types.rb', line 37187

def push_back(other)
    __validate_pointer__
    Rbind::std_vector_double_push_back( self, other)
end

#reserve(size) ⇒ Void

Note:

method wrapper for void std::vector::reserve(size_t size)

Parameters:

  • size (Size_T)

Returns:

  • (Void)


37140
37141
37142
37143
# File 'lib/ropencv/ropencv_types.rb', line 37140

def reserve(size)
    __validate_pointer__
    Rbind::std_vector_double_reserve( self, size)
end

#resize(size, val = double()) ⇒ Void

Note:

method wrapper for void std::vector::resize(size_t size, double val = double())

methods

Parameters:

  • size (Size_T)
  • val (Double) (defaults to: double())

Returns:

  • (Void)


37104
37105
37106
37107
# File 'lib/ropencv/ropencv_types.rb', line 37104

def resize(size, val = double())
    __validate_pointer__
    Rbind::std_vector_double_resize( self, size, val)
end

#sizeSize_T

Note:

method wrapper for size_t std::vector::size()

Returns:

  • (Size_T)


37111
37112
37113
37114
# File 'lib/ropencv/ropencv_types.rb', line 37111

def size()
    __validate_pointer__
    Rbind::std_vector_double_size( self)
end

#swap(other) ⇒ Void

Note:

method wrapper for void std::vector::swap(std::vector other)

Parameters:

Returns:

  • (Void)


37202
37203
37204
37205
# File 'lib/ropencv/ropencv_types.rb', line 37202

def swap(other)
    __validate_pointer__
    Rbind::std_vector_double_swap( self, other)
end

#to_sObject

converts Vector::Double into a string by crawling through all its attributes



37091
37092
37093
# File 'lib/ropencv/ropencv_types.rb', line 37091

def to_s
    "#<std::vector<double> >"
end

#validate_index(idx) ⇒ Object



37217
37218
37219
37220
37221
# File 'lib/ropencv/ropencv_types.rb', line 37217

def validate_index(idx)
    if idx < 0 || idx >= size
        raise RangeError,"#{idx} is out of range [0..#{size-1}]"
    end
end