DATAKIT SDK  V2026.2
sampleWriter::layer Namespace Reference

Functions

Dtk_LayerInfosSetPtr CreateSet ()
 Create Layer info set. More...
 
Dtk_LayerInfosSetPtr CreateSetWithFilters ()
 
Dtk_LayerInfosSetPtr CreateSetWithFlagsAndFilters ()
 

Function Documentation

◆ CreateSet()

Dtk_LayerInfosSetPtr sampleWriter::layer::CreateSet ( )

Create Layer info set.

15  {
17  layerInfosSet->AddLayer( Dtk_LayerInfosSet::Layer( 42, L"MyFirstLayer" ) );
18  layerInfosSet->AddLayer( Dtk_LayerInfosSet::Layer( 1900, L"MySecondLayer" ) );
19  layerInfosSet->AddLayer( Dtk_LayerInfosSet::Layer( 0, L"Faces" ) );
20  return layerInfosSet;
21  }

◆ CreateSetWithFilters()

Dtk_LayerInfosSetPtr sampleWriter::layer::CreateSetWithFilters ( )
24  {
26  //we use a layer Idx to correctly handle the layers indices for filters.
27  Dtk_Size_t LayerIdx = 0;
28  //1st layer - 888 -
29  Dtk_Size_t Layer888Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 888, L"My First Layer" ) );
30  DTK_UNUSED( Layer888Idx );
31 
32  //2nd layer - 111 -
33  Dtk_Size_t Layer111Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 111 , L"My Second Layer" ) );
34  DTK_UNUSED( Layer111Idx );
35 
36  //3rd layer - 987 -
37  Dtk_Size_t Layer987Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 987 , L"My Third Layer" ) );
38  DTK_UNUSED( Layer987Idx );
39 
40  //4th layer - 4 -
41  Dtk_Size_t Layer4Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 4 ) );
42 
43  //5th layer - 5 -
44  Dtk_Size_t Layer5Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 5 ) );
45 
46  //6th layer - 6 -
47  Dtk_Size_t Layer6Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 6 ) );
48 
49  //7th layer - 10 -
50  Dtk_Size_t Layer10Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 10 ) );
51 
52  //8th layer - 11 -
53  Dtk_Size_t Layer11Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 11 ) );
54 
55  //9th layer - 12 -
56  Dtk_Size_t Layer12Idx = LayerIdx++; layerInfoSet->AddLayer( Dtk_LayerInfosSet::Layer( 12 ) );
57 
58 
59  // 2 layer filters :
60  //The first one gathers layers 4 - 5 - 6
61  Dtk_LayerFilterInfosPtr filter4_5_6 = layerInfoSet->CreateLayerFilterInfos( "FILTER_4-5-6", "MyDescription", DTK_FALSE, DTK_FALSE );
62  Dtk_tab<Dtk_Size_t> layers4_5_6;
63  layers4_5_6.push_back( Layer4Idx ); layers4_5_6.push_back( Layer5Idx ); layers4_5_6.push_back( Layer6Idx );
64  filter4_5_6->SelectLayers( layers4_5_6 );
65 
66  //The second one gathers layers 10 - 11 - 12
67  Dtk_LayerFilterInfosPtr filter10_11_12 = layerInfoSet->CreateLayerFilterInfos( "FILTER_10-11-12" );
68  Dtk_tab<Dtk_Size_t> layers10_11_12;
69  layers10_11_12.push_back( Layer10Idx ); layers10_11_12.push_back( Layer11Idx ); layers10_11_12.push_back( Layer12Idx );
70  filter10_11_12->SelectLayers( layers10_11_12 );
71 
72  return layerInfoSet;
73  }

◆ CreateSetWithFlagsAndFilters()

Dtk_LayerInfosSetPtr sampleWriter::layer::CreateSetWithFlagsAndFilters ( )
76  {
77  const int maxlayer = 257; // 256 layers (from 1 to 256 included for NX)
79  for( int i = 0; i < maxlayer; ++i )
80  {
81  auto layerToBeAdded = Dtk_LayerInfosSet::Layer( i );
82  if( i % 2 == 0 )// one on two
83  layerToBeAdded.Unflag( Dtk_LayerInfosSet::Layer::Status::Visible );
84  if( i % 3 == 0 )// one on three
85  layerToBeAdded.Unflag( Dtk_LayerInfosSet::Layer::Status::Selectable );
86  layerInfoSet->AddLayer( std::move( layerToBeAdded ) );
87  }
88 
89  // 2 layer filters :
90  Dtk_LayerFilterInfosPtr filter456 = layerInfoSet->CreateLayerFilterInfos( "FILTER_456", "MyDescription" );
91  Dtk_tab<Dtk_Size_t> lay456;
92  lay456.push_back( 4 ); lay456.push_back( 5 ); lay456.push_back( 6 );
93  filter456->SelectLayers( lay456 );
94 
95  Dtk_LayerFilterInfosPtr filter678 = layerInfoSet->CreateLayerFilterInfos( "FILTER_678" );
96  Dtk_tab<Dtk_Size_t> lay678;
97  lay678.push_back( 6 ); lay678.push_back( 7 ); lay678.push_back( 8 );
98  filter678->SelectLayers( lay678 );
99  // wrok layer (default)
100  layerInfoSet->SetCurrentLayer( 12 );
101 
102  return layerInfoSet;
103  }
Dtk_LayerInfosSet::Layer
Definition: util_ent_dtk.hpp:519
Dtk_LayerInfosSet::Layer::Status::Selectable
@ Selectable
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:704
DTK_FALSE
#define DTK_FALSE
Definition: define.h:720
Dtk_SmartPtr
Definition: util_ptr_dtk.hpp:37
Dtk_tab< Dtk_Size_t >
Dtk_LayerInfosSet::Create
static Dtk_LayerInfosSetPtr Create()
Calls default constructor to allocate a new object.
Dtk_LayerInfosSet::Layer::Status::Visible
@ Visible
Dtk_tab::push_back
void push_back(const T &x)
Inserts an element at the end of the array.
Definition: util_stl_dtk.hpp:416
DTK_UNUSED
#define DTK_UNUSED(a)
Definition: define.h:722