![Logo](tetiere_ht.jpg) |
DATAKIT API
V2025.1
|
|
Go to the documentation of this file. 1 #ifndef _UTIL_TOPOLOGY_DTK_HPP_
2 #define _UTIL_TOPOLOGY_DTK_HPP_
843 SetAsDeprecated(
"2025.1",
"Use Dtk_Body::AddOpenShell, Dtk_Volume::AddOuterShell or Dtk_Volume::AddInnerShell to get valid topology")
Dtk_ErrorStatus SetEdge(const Dtk_ID &inEdgeId)
Dtk_ErrorStatus SetTrimUVBox(Dtk_Double64 inTrimValues[])
Set Surface Trim Box : Umin = inTrimValues[0] Umax = inTrimValues[1] Vmin = inTrimValues[2] Vmax = in...
Dtk_ErrorStatus AddParentShell(const Dtk_ID &inParentShellId)
Dtk_CurvePtr GetGeom() const
Get Geometry.
static Dtk_Shell * DtkDynamicCast(Dtk_Object *inObject)
Dtk_ErrorStatus SetParentVolume(const Dtk_ID &inParentVolumeId)
virtual Dtk_Size_t GetSize() const
Dtk_ErrorStatus AddCoedge(const Dtk_CoedgePtr &inCoedge)
Add a Coedge to Edge.
Dtk_ErrorStatus AddWire(Dtk_tab< Dtk_VertexPtr > inPointArray)
Dtk_ErrorStatus AddInnerShell(const Dtk_ShellPtr &inShell)
Add Inner Shell.
Dtk_bool GetOrientation() const
Return orientation for coedge relative to Edge.
int DtkDynamicType(const int &inId)
Get smart pointer type.
Dtk_Face(const Dtk_Face &inTopo, Dtk_Body *inParentBody)
uint32_t Dtk_ID
Definition: define.h:689
This is the Transformation dedicated class.
Definition: dtk_transfo.hpp:19
void _Copy(const Dtk_Coedge &inTopo, Dtk_Body *inParentBody)
void SetGeom(const Dtk_PointPtr &inPoint)
Set Geometry.
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
Dtk_ErrorStatus AddLump(const Dtk_LumpPtr &inLump)
Dtk_Loop is bound of a face it can be outer or inner.
Definition: util_topology_dtk.hpp:384
void SetTopologyStatus(Dtk_ErrorStatus inStatus)
void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)
Dtk_ErrorStatus GetStartVertex(Dtk_ID &outVertexId) const
virtual Dtk_ErrorStatus _Store(void *)
Dtk_ErrorStatus AddOuterShell(const Dtk_ShellPtr &inShell)
Add Outer Shell (only one supported)
int DtkDynamicType(const int &inId)
Get smart pointer type.
void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)
Dtk_bool HasDegeneratedFlag()
Dtk_ErrorStatus SetOuterInfo(const Dtk_bool &inIsOuter)
Dtk_ErrorStatus GetParentCoedge(const Dtk_Size_t &inIndex, Dtk_CoedgePtr &outCoedge) const
Get Corresponding coedges from index.
Dtk_ErrorStatus AddCoedge(const Dtk_CoedgePtr &inCoedge, const Dtk_bool &inCoedgeOrientation)
Add coedge to the loop.
@ DtkFaceType_Wire
Definition: util_topology_dtk.hpp:23
void SetTopologyStatus(Dtk_ErrorStatus inStatus)
static Dtk_Coedge * DtkDynamicCast(Dtk_Object *inObject)
Dtk_ErrorStatus AddVolume(const Dtk_VolumePtr &inVolume)
Add Volume.
Dtk_ErrorStatus GetEndVertex(Dtk_VertexPtr &outVertex) const
Get End Vertex for edge.
Edge has two vertex for bounds. It has a 3D curve as geometry value.
Definition: util_topology_dtk.hpp:154
Dtk_ErrorStatus AddInnerLoop(const Dtk_LoopPtr &inLoop)
Add inner loop on a face.
is a surface bounded by Dtk_Loop.
Definition: util_topology_dtk.hpp:524
static Dtk_ShellPtr Create(const Dtk_BodyPtr &inParentBody, Dtk_UInt32 inFacesReserve, Dtk_UInt32 inWireReserve=0)
Create a shell in a body.
Dtk_bool IsClosed() const
Return DTK_TRUE if shell is closed.
Dtk_bool IsOuter() const
Return DTK_TRUE if shell is outer.
int DtkDynamicType(const int &inId)
Get smart pointer type.
@ DTK_TYPE_VERTEX
Definition: define.h:125
virtual Dtk_Object * Clone()
Definition: util_topology_dtk.hpp:813
Dtk_ErrorStatus GetEdge(Dtk_EdgePtr &outEdge) const
Get Edge for coedge.
Dtk_ErrorStatus GetParentFace(Dtk_FacePtr &outParentFace) const
Get parent face.
static Dtk_LoopPtr Create(const Dtk_BodyPtr &inParentBody)
Create a loop in a body.
const Dtk_string const Dtk_transfo & inTransfo
Definition: catiav5w.hpp:619
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:67
Dtk_TopologicalEntity()
Definition: util_topology_dtk.hpp:31
Dtk_Loop(const Dtk_Loop &inTopo, Dtk_Body *inParentBody)
#define DTK_TRUE
Definition: define.h:727
Dtk_Coedge(const Dtk_Coedge &inCoedgeToCopy, Dtk_Body *inParentBody)
Dtk_ErrorStatus GetTopologyStatus() const
Dtk_ErrorStatus AddParentEdge(const Dtk_EdgePtr &inParentEdge)
Add parent Edge.
static Dtk_Lump * DtkDynamicCast(Dtk_Object *inObject)
@ _typeID
Definition: util_topology_dtk.hpp:29
Definition: util_topology_dtk.hpp:27
void _Copy(const Dtk_Volume &inToCopy, Dtk_Body *inParentBody)
SetAsDeprecated("2022.1", "GetTolerance(Dtk_Double64 &outTolerance) method instead.") Dtk_Double64 GetTolerance()
Get Tolerance.
int DtkDynamicType(const int &inId)
uint32_t Dtk_UInt32
Definition: define.h:688
Dtk_ErrorStatus SetStartVertex(const Dtk_ID &inVertex)
This is a high level string class.
Definition: dtk_string.hpp:58
void _Copy(const Dtk_Face &inTopo, Dtk_Body *inParentBody)
Dtk_ErrorStatus GetVolume(const Dtk_Size_t inIndex, Dtk_VolumePtr &outVolume) const
Get Volume.
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax)
@ DtkFaceType_Bounded
Definition: util_topology_dtk.hpp:22
size_t Dtk_Size_t
Definition: define.h:712
Dtk_ErrorStatus GetParentBody(Dtk_BodyPtr &outParentBody) const
Get Parent Body.
Dtk_ErrorStatus GetTolerance(Dtk_Double64 &outTolerance)
Get Tolerance.
@ DtkFaceType_All
Definition: util_topology_dtk.hpp:21
Dtk_Size_t GetNumCoedges() const
Return number of coedge in the loop.
static Dtk_LoopPtr Create(const Dtk_BodyPtr &inParentBody, Dtk_UInt32 inCoedgeReserve)
Create a loop in a body.
void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)
Dtk_ErrorStatus SetLoop(const Dtk_Size_t &inIndex, const Dtk_LoopPtr &inLoop)
Dtk_ErrorStatus GetCoedgeIndex(Dtk_CoedgePtr &inCoedge, Dtk_Size_t &outIndex) const
Get an index of a coedge in the loop.
Dtk_Size_t GetNumVolumes() const
Get Number of Volumes in lump.
Dtk_ErrorStatus AddWire(Dtk_tab< Dtk_CurvePtr > inCurveArray)
Add Wire entities.
virtual Dtk_ErrorStatus _Store(void *)
Internal Use.
Dtk_ErrorStatus SetParentLoop(const Dtk_LoopPtr &inParentLoop)
Set parent loop.
static Dtk_BodyPtr Create()
Create a body.
type_detk get_type_detk() const
Return Type of entity.
#define DTK_FALSE
Definition: define.h:728
Dtk_ErrorStatus AddOuterLoop(const Dtk_LoopPtr &inLoop)
Add outer loop on a face.
int DtkDynamicType(const int &inId)
Get smart pointer type.
Dtk_ErrorStatus GetLump(const Dtk_Size_t &inIndex, Dtk_ID &outLumpId) const
Dtk_ErrorStatus InverseFaceInShell(const Dtk_FacePtr &inFace)
Dtk_ErrorStatus GetParentFace(Dtk_FacePtr &outParentFace) const
Return pointer on parent face.
Dtk_ErrorStatus SetBodyStatus(Dtk_ErrorStatus inBodyStatus)
char Dtk_bool
Definition: define.h:725
Dtk_ErrorStatus InverseCoedgeOrientation() const
Inverse sens of all coedges in the loop.
Dtk_ErrorStatus AddDegeneratedEdges() const
Add Degenerated UV curves in loops.
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax)
enum type_detk get_type_detk() const
Return Type of entity.
Dtk_ErrorStatus GetTopologyStatus() const
double Dtk_Double64
Definition: define.h:699
Dtk_Size_t GetNumLoops() const
Return number of bounding loop for face.
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:526
Dtk_ErrorStatus SetCoedges(const Dtk_tab< Dtk_CoedgePtr > &inCoedgeArray, const Dtk_tab< Dtk_bool > &inCoedgeOrientationArray)
int DtkDynamicType(const int &inId)
Get smart pointer type.
virtual void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)=0
Dtk_ErrorStatus GetShell(const Dtk_Size_t &inIndex, Dtk_ID &outShellId) const
virtual Dtk_Size_t GetSize() const
Dtk_bool IsOuter() const
Return true if Loop is outer.
Dtk_ErrorStatus AddParentEdge(const Dtk_ID &inParentEdgeId)
Add parent Edge.
DtkFaceType
Definition: util_topology_dtk.hpp:20
virtual Dtk_Size_t GetSize() const
@ DTK_TYPE_LUMP
Definition: define.h:491
Dtk_ErrorStatus GetParentEdge(const Dtk_Size_t &inIndex, Dtk_EdgePtr &outParentEdge) const
Return parent edge at inIndex.
Dtk_ErrorStatus GetLoop(const Dtk_Size_t &inIndex, Dtk_ID &outLoopId) const
Dtk_ErrorStatus SetEdge(const Dtk_EdgePtr &inEdge)
Set Edge for coedge.
Dtk_ErrorStatus GetShell(const Dtk_Size_t &inIndex, Dtk_ShellPtr &outShell) const
Get Shell.
Dtk_ErrorStatus GetStartVertex(Dtk_VertexPtr &outVertex) const
Get Start Vertex for edge.
@ DTK_TYPE_COEDGE
Definition: define.h:493
Dtk_Shell is a set of faces bounding a volume. Dtk_Shell can be outer or inner. A Dtk_Body contain at...
Definition: util_topology_dtk.hpp:955
static Dtk_FacePtr Create(const Dtk_BodyPtr &inParentBody)
Create a face in a body.
Dtk_ErrorStatus AddWire(Dtk_tab< Dtk_EdgePtr > inCurveArray)
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
static Dtk_TopologicalEntity * DtkDynamicCast(Dtk_Object *inObject)
Cast object in vertex.
virtual Dtk_Size_t GetSize() const
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:738
void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)
Dtk_Size_t GetNumFaces(DtkFaceType inFaceType=DtkFaceType_Bounded) const
Return Number of Faces following Face type.
Dtk_ErrorStatus ExtractEdgeBody(Dtk_BodyPtr &outEdgeBody)
Dtk_ErrorStatus SetParentFace(const Dtk_ID &inParentFaceId)
Dtk_ErrorStatus SetParentLump(const Dtk_ID &inParentLumpId)
Dtk_ErrorStatus GetTopologyStatus() const
Dtk_ErrorStatus GetTopologyStatus() const
static Dtk_Loop * DtkDynamicCast(Dtk_Object *s)
void SetTopologyStatus(Dtk_ErrorStatus inStatus)
Dtk_Size_t GetNumLumps() const
void SetGeom(const Dtk_CurvePtr &inCurveUV)
Set Geometry.
void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax)
Compute bounding Box of 3d Boundaries if they exist.
virtual Dtk_ErrorStatus _Store(void *)
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax)
static Dtk_Face * DtkDynamicCast(Dtk_Object *inObject)
void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)
Dtk_ErrorStatus RemoveCoedgeFromLoop(const Dtk_CoedgePtr &inCoedge)
void _Copy(const Dtk_Body &inBodyToCopy)
Dtk_Shell(const Dtk_Shell &inTopo, Dtk_Body *inParentBody)
virtual enum type_detk get_type_detk() const
Return Type of entity.
Dtk_ErrorStatus GetParentVolume(Dtk_VolumePtr &outParentVolume) const
Return parent volume of shell.
static Dtk_Vertex * DtkDynamicCast(Dtk_Object *inObject)
Cast object in vertex.
Dtk_ErrorStatus SetOrientation(const Dtk_bool &inOrientation)
Set orientation for coedge relative to Edge.
void RemoveCoedge(const Dtk_ID &inCoedgeId)
Remove a Coedge to Edge's list of coedges.
Dtk_ErrorStatus SetCoedges(const Dtk_CoedgePtr &inFirstCoedge, const Dtk_CoedgePtr &inSecondCoedge)
Set Corresponding coedges.
void SetGeom(const Dtk_CurvePtr &inCurve3D)
Set Geometry.
int DtkDynamicType(const int &inId)
Get smart pointer type.
@ DTK_TYPE_BODY
Definition: define.h:490
Dtk_ErrorStatus GetParentLoop(Dtk_LoopPtr &outParentLoop) const
Get parent loop.
void SetTopologyStatus(Dtk_ErrorStatus inStatus)
@ DTK_TYPE_FACE
Definition: define.h:141
Dtk_ErrorStatus GetWireSet(const Dtk_Size_t &inIndex, Dtk_tab< Dtk_EntityPtr > &outWire) const
Get Wire Set.
Dtk_FacePtr ReverseNormal() const
Create a new face with reversed surface.
Dtk_ErrorStatus ComputeBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax)
virtual Dtk_Object * Clone()
Definition: util_topology_dtk.hpp:37
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:803
Dtk_ErrorStatus GetParentBody(Dtk_Body *&outParentBody) const
int DtkDynamicType(const int &inId)
Get smart pointer type.
static Dtk_LumpPtr Create(const Dtk_BodyPtr &inParentBody)
Create a lump in a body.
Dtk_ErrorStatus GetCoedge(const Dtk_Size_t &inIndex, Dtk_CoedgePtr &outCoedge, Dtk_bool &outCoedgeOrientation) const
Get a coedge in the loop.
Dtk_ErrorStatus GetLump(const Dtk_Size_t &inIndex, Dtk_LumpPtr &outLump) const
Dtk_Edge(const Dtk_Edge &inEdgeTpCopy, Dtk_Body *inParentBody)
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
Set Parent Body.
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:957
Dtk_ErrorStatus AddFace(const Dtk_FacePtr &inFace, Dtk_bool inFaceOrientation, DtkFaceType inFaceType=DtkFaceType_Bounded)
Add Face to shell.
Dtk_Coedge is a part of a loop. It's geometry is a UV curve on a surface.
Definition: util_topology_dtk.hpp:275
Dtk_ErrorStatus GetBasisSurface(Dtk_SurfacePtr &outBasisSurface) const
Get basis surface.
void _Copy(const Dtk_Vertex &inTopo, Dtk_Body *inParentBody)
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:386
Dtk_ErrorStatus
Definition: error_dtk.hpp:6
Dtk_ErrorStatus GetFace(const Dtk_Size_t &inIndex, Dtk_ID &outFaceId, Dtk_bool &outOrientation, DtkFaceType inFaceType=DtkFaceType_Bounded) const
void SetGeom(const Dtk_SurfacePtr &inSurface)
Set Geometry.
Dtk_PointPtr GetGeom() const
Return associated geometry.
Dtk_ErrorStatus GetTopologyStatus() const
Dtk_ErrorStatus RemoveLoopFromFace(const Dtk_LoopPtr &inLoop)
virtual ~Dtk_TopologicalEntity()
Dtk_ErrorStatus SetDegeneratedFlag()
Active Degenerated flag for coedge.
Dtk_ErrorStatus AddVertexLoop(const Dtk_VertexPtr &inVertexLoop)
Add vertex loop on a face.
Dtk_ErrorStatus GetTrimUVBox(Dtk_Double64 outTrimValues[]) const
Get Surface Trim Box : Umin = outTrimValues[0] Umax = outTrimValues[1] Vmin = outTrimValues[2] Vmax =...
Dtk_ErrorStatus GetVertexLoop(Dtk_VertexPtr &outVertexLoop) const
Return vertex loop.
Dtk_Size_t GetNumParentEdges() const
Return Number of Parent Edge.
Dtk_ErrorStatus GetParentShell(const Dtk_Size_t &inIndex, Dtk_ShellPtr &outParentShell) const
Get parent shell of face.
@ DTK_TYPE_LOOP
Definition: define.h:134
@ DTK_TYPE_TOPOLOGICAL_REPRESENTATION_ITEM
Definition: define.h:167
virtual Dtk_ErrorStatus _Store(void *)
static Dtk_Volume * DtkDynamicCast(Dtk_Object *inObject)
Vertex indicates bound of an edge. Vertex has Dtk_Point as geometry value.
Definition: util_topology_dtk.hpp:65
Definition: util_ptr_dtk.hpp:37
Dtk_ErrorStatus SetClosedInfo(const Dtk_bool &inClosedInfo)
Set Closed Info DTK_TRUE if shell is closed.
Dtk_Size_t GetNumAdjacentCoedges() const
Get Number of adjacent coedges.
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
void SetTopologyStatus(Dtk_ErrorStatus inStatus)
static Dtk_EdgePtr Create(const Dtk_BodyPtr &inParentBody)
Create an edge in a body.
Dtk_Size_t GetNumCoedges() const
Get Number of coedges.
Dtk_ErrorStatus GetWireSetTopo(const Dtk_Size_t &inIndex, Dtk_tab< Dtk_EntityPtr > &outWire, Dtk_tab< Dtk_bool > &outOrientation, Dtk_bool &outLoopOrientation) const
Get Wire Set.
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:156
Dtk_ErrorStatus SetStartVertex(const Dtk_VertexPtr &inVertex)
Set Start Vertex for edge.
Dtk_ErrorStatus SetFace(const Dtk_Size_t &inIndex, const Dtk_FacePtr &inFace, const Dtk_bool &inFaceOrientation)
Dtk_ErrorStatus ComputeUVBoundingBox(Dtk_pnt &outMin, Dtk_pnt &outMax, Dtk_bool inComputeFlag=DTK_FALSE)
Compute bounding Box of UV Boundaries if they exist.
Dtk_ErrorStatus GetAdjacentCoedge(const Dtk_Size_t &inIndex, Dtk_CoedgePtr &outAdjacentCoedge) const
Get adjacent coedges from index.
Dtk_Vertex(const Dtk_Vertex &inTopo, Dtk_Body *inParentBody)
virtual Dtk_ID GetTopoID() const
@ DTK_TYPE_VOLUME
Definition: define.h:492
Dtk_ErrorStatus AddOpenShell(const Dtk_ShellPtr &inShell)
Add Open Shell (only one supported)
This is a mathematical point class.
Definition: dtk_pnt.hpp:22
Dtk_ErrorStatus GetParentCoedge(const Dtk_Size_t &inIndex, Dtk_ID &outCoedgeId) const
Dtk_ID AddPtr(const Dtk_TopologicalEntityPtr &outEntityPtr)
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
type_detk
Definition: define.h:32
static Dtk_Edge * DtkDynamicCast(Dtk_Object *inObject)
Dtk_ErrorStatus GetBodyStatus() const
Dtk_ErrorStatus AddWire(Dtk_tab< Dtk_PointPtr > inPointArray)
Add Wire entities.
Dtk_Volume(const Dtk_Volume &inEdgeTpCopy, Dtk_Body *inParentBody)
Dtk_ErrorStatus GetLoop(const Dtk_Size_t &inIndex, Dtk_LoopPtr &outLoop) const
Get loop of face.
Dtk_ErrorStatus ComputeUVBoundaries(Dtk_tab< Dtk_CurvePtr > &outUVBound, Dtk_bool inComputeFlag=0) const
Compute an array of consecutive UV curves representing the loop.
Dtk_ErrorStatus GetTopologyStatus() const
Dtk_ErrorStatus SetEndVertex(const Dtk_ID &inVertex)
void _Copy(const Dtk_Lump &inLumpToCopy, Dtk_Body *inParentBody)
Dtk_ErrorStatus SetParentVolume(const Dtk_VolumePtr &inParentVolume)
Set parent volume of shell.
Dtk_BodyPtr GetParentBody() const
@ DTK_TYPE_EDGE
Definition: define.h:128
void _Copy(const Dtk_Shell &inTopo, Dtk_Body *inParentBody)
Dtk_ErrorStatus GetParentBody(Dtk_BodyPtr &outParentBody) const
Get Parent Body.
This is a high level array class.
Definition: util_stl_dtk.hpp:85
static Dtk_VertexPtr Create(const Dtk_BodyPtr &inParentBody)
Create a vertex in a body.
static Dtk_CoedgePtr Create(const Dtk_BodyPtr &inParentBody)
Create a coedge in a body.
static Dtk_Body * DtkDynamicCast(Dtk_Object *inObject)
Dtk_bool IsVertexLoop() const
Return true if Loop is a vertex loop.
Dtk_ErrorStatus AddParentShell(const Dtk_ShellPtr &inParentShell)
Add parent shell on a face.
Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
Dtk_Size_t GetNumShells() const
Get Number of Shell in Volume.
Dtk_ErrorStatus GetParentLump(Dtk_LumpPtr &outParentLump) const
Get Parent Lump.
@ _typeID
Definition: util_topology_dtk.hpp:69
A Dtk_Lump is a manifold part of a non manifold object If two volumes have a common edge you have to ...
Definition: util_topology_dtk.hpp:736
virtual Dtk_Size_t GetSize() const
Dtk_ErrorStatus GetVolume(const Dtk_Size_t inIndex, Dtk_ID &outVolumeId) const
Dtk_bool IsDegenerated() const
Indicates if Coedge is degenerated or not.
Dtk_ErrorStatus SetCoedge(const Dtk_Size_t &inIndex, const Dtk_CoedgePtr &inCoedge, const Dtk_bool &inOrientation)
int DtkDynamicType(const int &inId)
Get smart pointer type.
Dtk_bool HasWire() const
Return DTK_TRUE if shell has Wire entities.
Dtk_ErrorStatus SetOrientation(const Dtk_bool &inOrientation)
Set orientation for Loop relative to face.
SetAsDeprecated("2025.1", "Use Dtk_Body::AddOpenShell, Dtk_Volume::AddOuterShell or Dtk_Volume::AddInnerShell to get valid topology") Dtk_ErrorStatus AddShell(const Dtk_ShellPtr &inShell
Add Shell in Body in first volume of first lump (created if none)
Dtk_Size_t GetNumWireSet() const
Return Number of Wire set of entities equivalent to GetNumFaces with type DtkFaceType_Wire.
int DtkDynamicType(const int &inId)
Get smart pointer type.
virtual Dtk_ErrorStatus _Store(void *)
Dtk_ErrorStatus SetEndVertex(const Dtk_VertexPtr &inVertex)
Set End Vertex for edge.
Definition: dtk_object.hpp:8
Dtk_ErrorStatus AddCoedge(const Dtk_ID &inCoedgeId)
Dtk_ErrorStatus GetParentBody(Dtk_Body *&outParentBody) const
virtual Dtk_ErrorStatus Transform(const Dtk_transfo &inTransfo)
Transform object.
Dtk_TopologicalEntity(const Dtk_TopologicalEntity &inToBeCopied)
Definition: util_topology_dtk.hpp:32
void SetTolerance(Dtk_Double64 inTol)
Set Tolerance.
Dtk_bool GetOrientation() const
Return orientation for Loop relative to face.
Dtk_CurvePtr GetGeom(Dtk_bool inWithVerticesTrim=DTK_TRUE) const
Get edge geometry.
virtual Dtk_Size_t GetSize() const
Internal Use.
void SetTopologyStatus(Dtk_ErrorStatus inStatus)
Dtk_SurfacePtr GetGeom(Dtk_bool inWithSetTrim=DTK_TRUE) const
Return associated geometry.
static Dtk_ShellPtr Create(const Dtk_BodyPtr &inParentBody)
Create a shell in a body.
A Dtk_Volume is a space limited by edges. It contain one or several Dtk_Shell. If two objects have a ...
Definition: util_topology_dtk.hpp:653
virtual Dtk_ErrorStatus SetParentBody(const Dtk_BodyPtr &inParentBody)
Dtk_ErrorStatus GetEndVertex(Dtk_ID &outVertexId) const
Dtk_Body(const Dtk_Body &inBodyToCopy)
Dtk_ErrorStatus SetParentLump(const Dtk_LumpPtr &inParentLump)
Set Parent Lump.
Dtk_TopologicalEntityPtr GetPtr(const Dtk_ID &inId) const
@ DTK_TYPE_SHELL
Definition: define.h:153
void _Clone(Dtk_TopologicalEntityPtr &outTopo, Dtk_Body *_inParentBody)
virtual Dtk_Size_t GetSize() const
Dtk_ErrorStatus GetCoedge(const Dtk_Size_t &inIndex, Dtk_ID &outCoedgeId, Dtk_bool &outCoedgeOrientation) const
friend class Dtk_Body
Definition: util_topology_dtk.hpp:35
Dtk_ErrorStatus SetVertexLoop(const Dtk_VertexPtr inVertexLoop)
Set vertex loop.
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:277
A Dtk_Body Dtk_Body is the highest level topological entity. It allow you to handle manifold and non-...
Definition: util_topology_dtk.hpp:801
Dtk_ErrorStatus GetFace(const Dtk_Size_t &inIndex, Dtk_FacePtr &outFace, Dtk_bool &outOrientation, DtkFaceType inFaceType=DtkFaceType_Bounded) const
Get Face following Face type.
Dtk_Size_t GetNumParentShells() const
Return number of parent shell (1 if manifold body)
void _Copy(const Dtk_Loop &inTopo, Dtk_Body *inParentBody)
void _Copy(const Dtk_Edge &inTopo, Dtk_Body *inParentBody)
Dtk_Handle * _Private
Definition: util_topology_dtk.hpp:655
Dtk_ErrorStatus RemoveFaceFromShell(const Dtk_FacePtr &inFace)
Dtk_ErrorStatus Compute3DBoundaries(Dtk_tab< Dtk_CurvePtr > &out3DBound, Dtk_bool inComputeFlag=0) const
Compute an array of consecutive 3D curves representing the loop.
void RemoveParentShell(const Dtk_ID &inShellId)
Remove a Shell to Shell's list of face.
Dtk_ErrorStatus GetWireSetTopo(const Dtk_Size_t &inIndex, Dtk_tab< Dtk_EntityPtr > &outWire) const
Dtk_ErrorStatus SetParentFace(const Dtk_FacePtr &inParentFace)
Set pointer on parent face.
Dtk_ErrorStatus SetOuterInfo(const Dtk_bool &inOuterInfo)
Set Outer Info DTK_TRUE if shell is outer.
virtual Dtk_ErrorStatus _Store(void *)
Dtk_ErrorStatus SetParentLoop(const Dtk_ID &inParentLoopId)
Dtk_Lump(const Dtk_Lump &inLumpToCopy, Dtk_Body *inParentBody)
static Dtk_VolumePtr Create(const Dtk_BodyPtr &inParentBody)
Create a volume in a body.
SetAsDeprecated("2022.1", "GetTolerance(Dtk_Double64 &outTolerance) method instead.") Dtk_Double64 GetTolerance()
Get Tolerance.
virtual Dtk_ErrorStatus _Store(void *)
Dtk_ErrorStatus GetParentShell(const Dtk_Size_t &inIndex, Dtk_ShellPtr &outParentShell, Dtk_bool &outOrient) const
Get parent shell of face.
Definition: util_ent_dtk.hpp:329