Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoTangentCache.h
Go to the documentation of this file.
1/*=================================================================================
2*** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3*** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4*** ***
5*** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6*** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7*** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8*** ***
9*** RESTRICTED RIGHTS LEGEND ***
10*** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11*** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12*** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13*** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14*** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15*** ***
16*** COPYRIGHT (C) 1996-2024 BY FEI S.A.S, ***
17*** BORDEAUX, FRANCE ***
18*** ALL RIGHTS RESERVED ***
19=================================================================================*/
20
21#pragma once
22
23#include <Inventor/SbLinear.h>
24#include <Inventor/caches/SoCache.h>
26
35{
36public:
37 SoTangentCache( SoState* state );
38
39 virtual ~SoTangentCache();
40
45 void set( int numTangents, const SbVec3f* tangents, SoTangentBindingElement::Binding tangentBinding, int startIndex = 0 );
46
48 int getNum() const
49 {
50 return m_numTangents;
51 }
52
58 const SbVec3f* getTangents() const
59 {
60 return m_tangents;
61 }
62
65 {
66 return m_tangentBinding;
67 }
68
70 int getStartIndex() const
71 {
72 return m_startIndex;
73 }
74
75private:
76 inline uint32_t getTimeStamp()const
77 {
78 return m_timeStamp;
79 }
80
81 inline void setTimeStamp( const uint32_t timestamp )
82 {
83 m_timeStamp = timestamp;
84 }
85
86private:
87 int m_numTangents; // Number of tangents
88 const SbVec3f* m_tangents; // Array of tangents
89 int m_startIndex; // Offset for index for the tangents (see stardIndex in SoVertexShape not indexed)
90 SoTangentBindingElement::Binding m_tangentBinding; // tangent binding
91 uint32_t m_timeStamp;
92};
SoTangentBindingElement::Binding getTangentBinding() const
Returns the tangent binding in the cache.
void set(int numTangents, const SbVec3f *tangents, SoTangentBindingElement::Binding tangentBinding, int startIndex=0)
Stores a list of tangents in the cache.
virtual ~SoTangentCache()
Class SoTangentCache:
int getStartIndex() const
Returns the startIndex offset in the cache.
const SbVec3f * getTangents() const
Returns the list of tangents in the cache.
int getNum() const
Returns the number of tangents in the cache.
3D vector class.
Definition SbVec.h:932
Traversal state.
Definition SoState.h:74
Binding
The choice of values is for compatibility with Open Inventor 2.0 binary format files: