Graphite  Version 3
An experimental 3D geometry processing program
OGF::NL::Vector Class Reference

A scriptable Vector objects. More...

#include <OGF/scene_graph/NL/vector.h>

Inheritance diagram for OGF::NL::Vector:
OGF::Object GEO::AttributeStoreObserver GEO::Counted

Public Member Functions

 Vector (index_t size=0, index_t dimension=1, MetaType *element_meta_type=nullptr)
 Vector constructor. More...
 
 Vector (Grob *grob, AttributeStore *attribute_store)
 Vector constructor. More...
 
 Vector (Grob *grob, void *data, index_t size, index_t dimension, MetaType *element_meta_type, bool read_only)
 Vector constructor. More...
 
 ~Vector () override
 Vector destructor.
 
void get_element (index_t i, Any &value) const override
 Gets an element. More...
 
void set_element (index_t i, const Any &value) override
 Sets an element. More...
 
Memory::pointer data () const
 Gets the data pointer. More...
 
double * data_double () const
 Gets the data pointer as doubles. More...
 
index_tdata_index_t () const
 Gets the data pointer as index_t. More...
 
index_t get_dimension () const
 Gets the dimension. More...
 
index_t get_size () const
 Gets the size. More...
 
MetaTypeget_element_meta_type () const
 Gets the MetaType of the elements. More...
 
bool get_read_only () const
 Tests whether this Vector is read-only. More...
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor. More...
 
virtual ~Object ()
 Object destructor.
 
virtual MetaClassmeta_class () const
 Gets the meta class. More...
 
virtual void set_meta_class (MetaClass *mclass)
 Sets the meta class. More...
 
unsigned int id () const
 Gets the identifier of this object. More...
 
std::string string_id () const
 Gets the unique string identifier. More...
 
bool has_method (const std::string &method_name) const
 Tests whether a method is defined. More...
 
virtual bool invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val)
 Invokes a method by method name and argument list, and gets the return value. More...
 
bool invoke_method (const std::string &method_name, const ArgList &args)
 Invokes a method by method name and argument list. More...
 
bool invoke_method (const std::string &method_name)
 Invokes a method by method name. More...
 
bool has_property (const std::string &prop_name) const
 Tests whether a property is defined. More...
 
virtual bool get_property (const std::string &prop_name, std::string &prop_value) const
 Gets a property. More...
 
virtual Connectionconnect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name)
 Connects a signal with a slot of another object. More...
 
virtual void add_connection (Connection *connection)
 Adds a connection to this object. More...
 
virtual void remove_connection (Connection *connection)
 Removes a connection to this object. More...
 
virtual void search (const std::string &needle, const std::string &path="")
 Displays the names of all objects that contain a substring. More...
 
bool get_signals_enabled () const
 Tests wheter signals are enabled. More...
 
void set_signals_enabled (bool value)
 Enables or disables signals. More...
 
bool get_slots_enabled () const
 Tests wheter slots are enabled. More...
 
void set_slots_enabled (bool value)
 Enables or disables slots. More...
 
MetaClassget_meta_class () const
 Gets the meta class. More...
 
std::string get_string_id () const
 Gets the unique string identifier. More...
 
virtual std::string get_doc () const
 Gets the documentation. More...
 
virtual Sign compare (const Object *other) const
 Compares this object with another one. More...
 
virtual bool is_a (const MetaType *type) const
 Tests whether this object inherits a given type. More...
 
void disconnect ()
 Removes all connections from signals of this objects. More...
 
void enable_signals ()
 Enables signals.
 
void disable_signals ()
 Disables signals.
 
void enable_slots ()
 Enables slots.
 
void disable_slots ()
 Disables slots.
 
void set_properties (const ArgList &args)
 Sets several properties in a single call. More...
 
virtual bool set_property (const std::string &name, const std::string &value)
 Sets an individual property. More...
 
void help () const
 Displays some help about this object. More...
 
virtual bool set_property (const std::string &name, const Any &value)
 Sets an individual property. More...
 
virtual bool get_property (const std::string &prop_name, Any &prop_value) const
 Gets a property. More...
 
- Public Member Functions inherited from GEO::Counted
void ref () const
 Increments the reference count. More...
 
void unref () const
 Decrements the reference count. More...
 
bool is_shared () const
 Check if the object is shared. More...
 
int nb_refs () const
 Gets the number of references that point to this object. More...
 
- Public Member Functions inherited from GEO::AttributeStoreObserver
 AttributeStoreObserver ()
 Creates a new uninitialied AttributeStore.
 
void notify (Memory::pointer base_addr, index_t size, index_t dim)
 Callback function, called by the AttributeStore whenever it is modified. More...
 
index_t size () const
 Gets the size. More...
 
index_t dimension () const
 Gets the dimension. More...
 
index_t nb_elements () const
 Gets the total number of elements. More...
 
void register_me (AttributeStore *store)
 Registers this observer to an AttributeStore. More...
 
void unregister_me (AttributeStore *store)
 Unregisters this observer from an AttributeStore. More...
 
void disconnect ()
 Disconnects this AttributeStoreObserver from its AttributeStore. More...
 

Public Attributes

 __pad0__: index_t get_nb_elements() const override { return nb_elements()
 
 __pad1__: virtual void resize( index_t new_size
 
index_t new_dim =1
 
index_t MetaTypeelement_meta_type
 
- Public Attributes inherited from OGF::Object
 __pad0__: virtual index_t get_nb_elements() const
 
 __pad1__: bool equals(const Object* other) const
 

Protected Member Functions

bool check_index (index_t i) const
 Tests whether index i is valid. More...
 
- Protected Member Functions inherited from OGF::Object
virtual bool emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=false)
 Emits a signal and calls the slots it is connected to. More...
 
- Protected Member Functions inherited from GEO::Counted
 Counted ()
 Creates a reference counted object. More...
 
virtual ~Counted ()
 Destroys a reference counted object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from OGF::Object
static Objectid_to_object (unsigned int id)
 Gets an object from a unique object id. More...
 
- Static Public Member Functions inherited from GEO::Counted
static void ref (const Counted *counted)
 Increments the reference count. More...
 
static void unref (const Counted *counted)
 Decrements the reference count. More...
 
- Protected Attributes inherited from GEO::AttributeStoreObserver
Memory::pointer base_addr_
 
index_t size_
 
index_t dimension_
 
bool disconnected_
 

Detailed Description

A scriptable Vector objects.

Definition at line 53 of file vector.h.

Constructor & Destructor Documentation

◆ Vector() [1/3]

OGF::NL::Vector::Vector ( index_t  size = 0,
index_t  dimension = 1,
MetaType element_meta_type = nullptr 
)

Vector constructor.

Parameters
[in]sizenumber of items
[in]dimensionnumber of elements per item
[in]element_meta_typetype of the elements. If nullptr defaults to double

◆ Vector() [2/3]

OGF::NL::Vector::Vector ( Grob grob,
AttributeStore attribute_store 
)

Vector constructor.

Constructs a view on a Grob attribute.

Parameters
[in]groba pointer to a Grob.
[in]attribute_storea pointer to an AttributeStore of the Grob.

◆ Vector() [3/3]

OGF::NL::Vector::Vector ( Grob grob,
void *  data,
index_t  size,
index_t  dimension,
MetaType element_meta_type,
bool  read_only 
)

Vector constructor.

Parameters
[in]groba pointer to a Grob or nil
[in]datadata pointer
[in]sizenumber of items
[in]dimensionnumber of elements per item
[in]element_meta_typetype of the elements.
[in]read_onlyindicates whether the vector can be modified

Member Function Documentation

◆ check_index()

bool OGF::NL::Vector::check_index ( index_t  i) const
protected

Tests whether index i is valid.

If index is invalid, displays an error message.

Return values
trueif index i is in 0 .. get_size()-1
falseotherwise.

◆ data()

Memory::pointer OGF::NL::Vector::data ( ) const
inline

Gets the data pointer.

Returns
a pointer to the first element. All elements are stored contiguously.

Definition at line 117 of file vector.h.

◆ data_double()

double* OGF::NL::Vector::data_double ( ) const

Gets the data pointer as doubles.

Returns
a pointer to the first element. All elements are stored contiguously. If data type is not double, returns nullptr.

◆ data_index_t()

index_t* OGF::NL::Vector::data_index_t ( ) const

Gets the data pointer as index_t.

Returns
a pointer to the first element. All elements are stored contiguously. If data type is not index_t, returns nullptr.

◆ get_dimension()

index_t OGF::NL::Vector::get_dimension ( ) const
inline

Gets the dimension.

Returns
the number of elements per item.

Definition at line 148 of file vector.h.

◆ get_element()

void OGF::NL::Vector::get_element ( index_t  i,
Any value 
) const
overridevirtual

Gets an element.

Parameters
[in]ielement index, in 0..nb_elements()-1
[out]valuethe value of the element, stored in an Any.

Reimplemented from OGF::Object.

◆ get_element_meta_type()

MetaType* OGF::NL::Vector::get_element_meta_type ( ) const
inline

Gets the MetaType of the elements.

Returns
a pointer to the MetaType of the elements.

Definition at line 164 of file vector.h.

◆ get_read_only()

bool OGF::NL::Vector::get_read_only ( ) const
inline

Tests whether this Vector is read-only.

Return values
trueif this Vector is read-only.
falseif this Vector is read-write.

Definition at line 173 of file vector.h.

◆ get_size()

index_t OGF::NL::Vector::get_size ( ) const
inline

Gets the size.

Returns
the number of items.

Definition at line 156 of file vector.h.

◆ set_element()

void OGF::NL::Vector::set_element ( index_t  i,
const Any value 
)
overridevirtual

Sets an element.

Parameters
[in]ielement index, in 0..nb_elements()-1
[in]valuethe value of the element, stored in an Any.

Reimplemented from OGF::Object.

Member Data Documentation

◆ element_meta_type

index_t MetaType* OGF::NL::Vector::element_meta_type
Initial value:
=nullptr
)

Definition at line 189 of file vector.h.


The documentation for this class was generated from the following file: