3DCoat
3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
|
Main brick in voxel / surface structure. More...
#include <VolumeCellAttrib.h>
Public Attributes | |
CompactArray< MCVertex > | Verts |
Vertices of the mesh in the cell. More... | |
CompactArray< indtype > | BackupIds |
Verticies and indicies before this change. More... | |
CompactArray< MCVertex > | OldVerts |
Positions / normals of vertices before entering surface mode. More... | |
CompactArray< indtype > | Indices |
Indices of mesh in the cell. More... | |
CompactArray< DWORD > | GlobalVertIndices |
GlobalVertIndices are references of global vertices indices. More... | |
WORD | Dirty |
For tracking persistent data. More... | |
Main brick in voxel / surface structure.
It contains polygonal geometry, color layers if given cell of the surface pointer to this structure kept in VolumeCell
.
CompactArray<indtype> VolumeCellAttrib::BackupIds |
Verticies and indicies before this change.
Undo will get to this state when applied.
WORD VolumeCellAttrib::Dirty |
For tracking persistent data.
CompactArray<DWORD> VolumeCellAttrib::GlobalVertIndices |
GlobalVertIndices are references of global vertices indices.
GlobalVertIndices corresponds to vertex list Verts. Each vertex in Verts corresponds to item in GlobalVertIndices. If GlobalVertIndices is empty - there are no global indexation in the mesh. Each value is DWORD. Highest bit (0x80000000) is set up if the vertex is on the edge of the cell. The global index itself is GlobalVertIndices[i]&0x7FFFFFFFFF
Referenced by VolumeObject::CloseHolesFastAndGood(), TopoDist::Create(), VolumeObject::CreateIndexedStructure(), VolumeObject::CreateIndexedStructure2(), VolumeObject::Decompose(), VoxTreeBranch::ProcessItem(), VolumeObject::RemoveConnectedParts(), VolumeObject::Reproject(), and VolumeObject::VoxelizePureGeometry().
CompactArray<indtype> VolumeCellAttrib::Indices |
Indices of mesh in the cell.
They refer vertices in this cell. Each three indices represent triangle.
Referenced by VolumeObject::AddIndexedCellTriangulation(), VolumeObject::CloseHolesFastAndGood(), TopoDist::Create(), VolumeObject::CreateIndexedStructure(), VolumeObject::CreateIndexedStructure2(), VolumeObject::Decompose(), VolumeObject::RemoveConnectedParts(), VolumeObject::Reproject(), and VolumeObject::ToRawMesh().
CompactArray<MCVertex> VolumeCellAttrib::OldVerts |
Positions / normals of vertices before entering surface mode.
Referenced by VoxTreeBranch::ProcessItem(), and VolumeObject::VoxelizePureGeometry().
CompactArray<MCVertex> VolumeCellAttrib::Verts |
Vertices of the mesh in the cell.
Of course, same vertex may be present in neighbour cells and sometimes you need to identify that 2 vertices from different cells represent single global index. There are two ways. Using Status
field in MCVertex
that represents edge status. It has global index for every vertex in cell.
Referenced by VolumeObject::AddIndexedCellTriangulation(), OneFacture::ApplyToChangedCells(), VolumeObject::CloseHolesFastAndGood(), TopoDist::Create(), VolumeObject::CreateIndexedStructure(), VolumeObject::CreateIndexedStructure2(), QuadrangulationParams::Quadrangulate(), VolumeObject::RemoveConnectedParts(), VolumeObject::Reproject(), and VolumeObject::ToRawMesh().