24 #ifndef _AppComplexGeoData_h_ 25 #define _AppComplexGeoData_h_ 52 virtual std::string getName()
const=0;
63 struct Line {uint32_t I1; uint32_t
I2;};
64 struct Facet {uint32_t I1; uint32_t I2; uint32_t
I3;};
81 virtual std::vector<const char*> getElementTypes(
void)
const=0;
82 virtual unsigned long countSubElements(
const char* Type)
const=0;
84 virtual Segment* getSubElement(
const char* Type,
unsigned long)
const=0;
86 virtual Segment* getSubElementByName(
const char* Name)
const;
88 virtual void getLinesFromSubelement(
90 std::vector<Base::Vector3d> &Points,
91 std::vector<Line> &lines)
const;
93 virtual void getFacesFromSubelement(
95 std::vector<Base::Vector3d> &Points,
96 std::vector<Base::Vector3d> &PointNormals,
97 std::vector<Facet> &faces)
const;
143 virtual void getPoints(std::vector<Base::Vector3d> &Points,
144 std::vector<Base::Vector3d> &Normals,
145 float Accuracy, uint16_t flags=0)
const;
147 virtual void getLines(std::vector<Base::Vector3d> &Points,std::vector<Line> &lines,
148 float Accuracy, uint16_t flags=0)
const;
150 virtual void getFaces(std::vector<Base::Vector3d> &Points,std::vector<Facet> &faces,
151 float Accuracy, uint16_t flags=0)
const;
161 static const std::string &elementMapPrefix();
164 static const std::string &tagPostfix();
166 static const std::string &indexPostfix();
168 static const std::string &missingPrefix();
170 static bool hasMissingElement(
const char *subname);
177 static const char *isMappedElement(
const char *
name);
180 static std::string newElementName(
const char *
name);
182 static std::string oldElementName(
const char *
name);
184 static std::string noElementName(
const char *
name);
187 static const char *findElementName(
const char *subname);
190 return isMappedElement(findElementName(subname));
_Precision z
Definition: Vector3D.h:89
virtual ~Segment()
Definition: ComplexGeoData.h:51
_Precision y
Definition: Vector3D.h:88
std::vector< Base::Vector3d > points
Definition: ComplexGeoData.h:66
Definition: ComplexGeoData.h:58
Definition: ComplexGeoData.h:39
Core::PropertyText name
Definition: CoreDocument.h:167
Base::Vector3d transformToOutside(const Base::Vector3f &vec) const
from local to outside
Definition: ComplexGeoData.h:197
Vector3< double > Vector3d
Definition: Vector3D.h:248
_Precision x
Definition: Vector3D.h:87
Persistence class and root of the type system.
Definition: Persistence.h:23
long Tag
Definition: ComplexGeoData.h:210
Vector3< float > Vector3f
Definition: Vector3D.h:247
void inverse(void)
Matrix is expected to have a 3x3 rotation submatrix.
BaseClass class and root of the type system.
Definition: Base.h:85
static const char * hasMappedElementName(const char *subname)
Definition: ComplexGeoData.h:189
Base::Vector3f transformToInside(const Base::Vector3d &vec) const
from local to inside
Definition: ComplexGeoData.h:202
Definition: ComplexGeoData.h:46
Definition: ComplexGeoData.h:64
uint32_t I2
Definition: ComplexGeoData.h:63
Definition: ComplexGeoData.h:65
std::vector< Facet > facets
Definition: ComplexGeoData.h:67
Definition: Placement.h:38
Definition: BoundBox.h:39
Definition: Rotation.h:34
Definition: ComplexGeoData.h:63
uint32_t I3
Definition: ComplexGeoData.h:64