Ignore:
Timestamp:
Feb 20, 2006 8:21:24 AM (18 years ago)
Author:
cxsong
Message:

changed data representation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/mesh/element.h

    r191 r194  
    77#include "util.h"
    88
     9//
     10// RpElement is defined as a list of nodes (by id) connected with each other
     11// in a mesh.
     12//
     13// Example:
     14//      int nodeIDs[8];
     15//      RpElement elements[10];
     16//
     17//      // set ids for all elements
     18//      for (int i=0; i<10; i++)
     19//              elements[i].id(i);
     20//
     21//      // create node list for element 0
     22//      nodeIDs[0] = 0;
     23//      nodeIDs[1] = 1;
     24//      nodeIDs[2] = 5;
     25//      nodeIDs[3] = 6;
     26//      nodeIDs[4] = 25;
     27//      nodeIDs[5] = 26;
     28//      nodeIDs[6] = 30;
     29//      nodeIDs[7] = 31;
     30//      element[0].addNodes(nodeIDs, 8);
     31//
     32//      nodeIDs[0] = 1;
     33//      nodeIDs[1] = 2;
     34//      nodeIDs[2] = 6;
     35//      nodeIDs[3] = 7;
     36//      nodeIDs[4] = 26;
     37//      nodeIDs[5] = 27;
     38//      nodeIDs[6] = 31;
     39//      nodeIDs[7] = 32;
     40//      element[1].addNodes(nodeIDs, 8);
     41//
     42//      ...
     43//
     44//
    945
    1046class RpElement {
    1147public:
    1248        // constructors
    13         RpElement() {  };
    14 
    15         RpElement(int size, int id):
    16                 m_size(size),
    17                 m_id(id)
    18         { 
    19                 m_nodes.resize(size);
     49        RpElement()
     50        {
     51                // default
     52                m_nodes(8);
    2053        };
    2154
     55        RpElement(int numNodes, int id)
     56        {
     57                m_id = id;
     58                if (m_nodes.capacity() < numNodes)
     59                        m_nodes.resize(numNodes);
     60        };
     61
     62        // instantiate from byte stream:
     63        // id(int), numNodes(int), list of ids(int *)
     64        RpElement(const char* buf);
     65
    2266        // add a node to element
    23         void addNode(RpNode& node);
    24 
    25         // add node name - may remove this later
    2667        void addNode(int nodeName);
    2768
    28         // add all nodes to element
    29         void setNodes(RpNode* list, int numNodes, int id);
    30 
    31         // set node names
    32         RP_ERROR set(int* nodes, int numNodes, int id);
     69        // add all the nodes to element
     70        RP_ERROR addNodes(const int* nodes, int numNodes);
    3371       
    3472        // get node id's
     
    5189
    5290private:
    53         int m_size;
    5491        int m_id;
    55         vector<int> m_nodes;
    56         vector<RpNode> m_list;
     92        vector<int> m_nodes; // list of node ids
    5793};
    5894
Note: See TracChangeset for help on using the changeset viewer.