XdmfTopology.hpp 1.62 KB
Newer Older
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
1 2 3 4 5 6 7 8 9 10
/*
 * XdmfTopology.hpp
 *
 *  Created on: Jan 25, 2010
 *      Author: kleiter
 */

#ifndef XDMFTOPOLOGY_HPP_
#define XDMFTOPOLOGY_HPP_

11
// Includes
12
#include "XdmfDataItem.hpp"
13
#include "XdmfTopologyType.hpp"
14

15
class XdmfTopology : public XdmfDataItem {
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
16 17 18 19 20

public:

	XdmfNewMacro(XdmfTopology);

21 22 23 24 25
	/**
	 * Get the XdmfTopologyType associated with this Topology.
	 *
	 * @return XdmfTopologyType.
	 */
26
	XdmfTopologyType getTopologyType() const;
27 28 29 30 31 32

	/**
	 * Set the XdmfTopologyType associated with this Topology.
	 *
	 * @param XdmfTopologyType to set.
	 */
33 34 35 36 37 38 39 40 41 42 43 44 45 46
	void setTopologyType(const XdmfTopologyType& topType);

	/**
	 * Get the number of elements this Topology contains.
	 *
	 * @return int of number elements in the Topology.
	 */
	int getNumberElements() const;

	/**
	 * Set the number of elements this Topology contains.
	 *
	 * @param int of number elements to set.
	 */
47
	void setNumberElements(int numberElements);
48 49 50 51 52 53

	/**
	 * Get the name of the TopologyType associated with this Topology.
	 *
	 * @return std::string containing name of the TopologyType.
	 */
54
	std::string getTopologyTypeAsString() const;
55

56 57 58 59 60
	/**
	 * Get the number of nodes per element for this Topology.
	 *
	 * @return int of number of nodes per element.
	 */
61
	int getNodesPerElement() const;
62 63 64 65

	/**
	 *
	 */
66
	virtual std::string printSelf() const;
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
67

68 69
	virtual void write(boost::shared_ptr<XdmfVisitor> visitor) const;

Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
70 71 72 73 74 75 76
protected:

	XdmfTopology();
	virtual ~XdmfTopology();

private:

77 78
	XdmfTopology(const XdmfTopology&);  // Not implemented.
	void operator=(const XdmfTopology&);  // Not implemented.
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
79

80 81
	XdmfTopologyType mTopologyType;
	int mNumberElements;
Ken Leiter (Civ's avatar
Ken Leiter (Civ committed
82 83 84
};

#endif /* XDMFTOPOLOGY_HPP_ */