Forked from
gmsh / gmsh
12475 commits behind the upstream repository.
-
Christophe Geuzaine authoredChristophe Geuzaine authored
ACISEdge.h 1.35 KiB
// Gmsh - Copyright (C) 1997-2012 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to <gmsh@geuz.org>.
#ifndef _ACIS_EDGE_H_
#define _ACIS_EDGE_H_
#include "GmshConfig.h"
#include "GEdge.h"
#include "GModel.h"
#include "ACISVertex.h"
#include "Range.h"
class ACISFace;
#if defined(HAVE_ACIS)
#include <position.hxx>
#include <edge.hxx>
class ACISEdge : public GEdge {
EDGE *_e;
double s0, s1;
public:
ACISEdge(GModel *model, EDGE *e, int num, GVertex *v1, GVertex *v2);
virtual ~ACISEdge() {}
virtual Range<double> parBounds(int i) const;
virtual GeomType geomType() const;
virtual bool degenerate(int) const;
virtual GPoint point(double p) const;
virtual SVector3 firstDer(double par) const;
virtual double curvature (double par) const;
virtual SPoint2 reparamOnFace(const GFace *face, double epar, int dir) const;
virtual GPoint closestPoint(const SPoint3 &queryPoint, double ¶m) const;
ModelType getNativeType() const { return AcisModel; }
void * getNativePtr() const { return (void*)_e; }
virtual int minimumMeshSegments () const;
virtual int minimumDrawSegments () const;
bool isSeam(const GFace *) const;
virtual void writeGEO(FILE *fp);
EDGE* getEDGE() const {return _e;}
};
GEdge *getACISEdgeByNativePtr(GModel *model, EDGE *toFind);
#endif
#endif