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)


85576
85577
85578
85579
85580
85581
85582
85583
85584
85585
85586
85587
85588
85589
85590
85591
85592
85593
85594
85595
85596
85597
85598
85599
85600
85601
85602
85603
85604
85605
85606
85607
85608
85609
85610
# File 'lib/ropencv/ropencv_types.rb', line 85576

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_double__2_defaults1 ||= [nil]
    if(args.size >= 1 && args.size <= 1)
        targs = args.clone
        targs.size.upto(0) do |i|
            targs[i] = @@std_vector_double_vector_double__2_defaults1[i]
        end
        begin
                return Rbind::std_vector_double_vector_double__2(*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



85568
85569
85570
# File 'lib/ropencv/ropencv_types.rb', line 85568

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

Instance Method Details

#<<(val) ⇒ Object



85817
85818
85819
85820
# File 'lib/ropencv/ropencv_types.rb', line 85817

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

#[](idx) ⇒ Double

Note:

method wrapper for double std::vector::operator

Parameters:

  • size (Size_T)

Returns:



85733
85734
85735
85736
85737
# File 'lib/ropencv/ropencv_types.rb', line 85733

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:



85742
85743
85744
85745
85746
# File 'lib/ropencv/ropencv_types.rb', line 85742

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:



85757
85758
85759
85760
# File 'lib/ropencv/ropencv_types.rb', line 85757

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)


85710
85711
85712
85713
# File 'lib/ropencv/ropencv_types.rb', line 85710

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

#clearVoid

Note:

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

Returns:

  • (Void)


85703
85704
85705
85706
# File 'lib/ropencv/ropencv_types.rb', line 85703

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

#dataVoid

Note:

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

Returns:

  • (Void)


85764
85765
85766
85767
# File 'lib/ropencv/ropencv_types.rb', line 85764

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

#delete_if(&block) ⇒ Object



85821
85822
85823
85824
85825
85826
85827
85828
# File 'lib/ropencv/ropencv_types.rb', line 85821

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



85807
85808
85809
85810
85811
85812
85813
85814
85815
85816
# File 'lib/ropencv/ropencv_types.rb', line 85807

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)


85717
85718
85719
85720
# File 'lib/ropencv/ropencv_types.rb', line 85717

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

#frontDouble

Note:

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

Returns:



85750
85751
85752
85753
# File 'lib/ropencv/ropencv_types.rb', line 85750

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:



85796
85797
85798
85799
85800
# File 'lib/ropencv/ropencv_types.rb', line 85796

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)


85779
85780
85781
85782
# File 'lib/ropencv/ropencv_types.rb', line 85779

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)


85772
85773
85774
85775
# File 'lib/ropencv/ropencv_types.rb', line 85772

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)


85725
85726
85727
85728
# File 'lib/ropencv/ropencv_types.rb', line 85725

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)


85689
85690
85691
85692
# File 'lib/ropencv/ropencv_types.rb', line 85689

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)


85696
85697
85698
85699
# File 'lib/ropencv/ropencv_types.rb', line 85696

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)


85787
85788
85789
85790
# File 'lib/ropencv/ropencv_types.rb', line 85787

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



85676
85677
85678
# File 'lib/ropencv/ropencv_types.rb', line 85676

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

#validate_index(idx) ⇒ Object



85802
85803
85804
85805
85806
# File 'lib/ropencv/ropencv_types.rb', line 85802

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