Alembic
1.8.11
Toggle main menu visibility
Loading...
Searching...
No Matches
OScalarProperty.h
1
//-*****************************************************************************
2
//
3
// Copyright (c) 2009-2011,
4
// Sony Pictures Imageworks, Inc. and
5
// Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd.
6
//
7
// All rights reserved.
8
//
9
// Redistribution and use in source and binary forms, with or without
10
// modification, are permitted provided that the following conditions are
11
// met:
12
// * Redistributions of source code must retain the above copyright
13
// notice, this list of conditions and the following disclaimer.
14
// * Redistributions in binary form must reproduce the above
15
// copyright notice, this list of conditions and the following disclaimer
16
// in the documentation and/or other materials provided with the
17
// distribution.
18
// * Neither the name of Sony Pictures Imageworks, nor
19
// Industrial Light & Magic nor the names of their contributors may be used
20
// to endorse or promote products derived from this software without specific
21
// prior written permission.
22
//
23
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
//
35
//-*****************************************************************************
36
#ifndef Alembic_Abc_OScalarProperty_h
37
#define Alembic_Abc_OScalarProperty_h
38
39
#include <Alembic/Util/Export.h>
40
#include <Alembic/Abc/Foundation.h>
41
#include <Alembic/Abc/Base.h>
42
#include <Alembic/Abc/Argument.h>
43
#include <Alembic/Abc/OBaseProperty.h>
44
#include <Alembic/Abc/OCompoundProperty.h>
45
46
namespace
Alembic
{
47
namespace
Abc {
48
namespace
ALEMBIC_VERSION_NS {
49
50
//-*****************************************************************************
51
class
ALEMBIC_EXPORT
OScalarProperty
52
:
public
OBasePropertyT
<AbcA::ScalarPropertyWriterPtr>
53
{
54
public
:
57
typedef
OScalarProperty
this_type
;
58
59
//-*************************************************************************
60
// CONSTRUCTION, DESTRUCTION, ASSIGNMENT
61
//-*************************************************************************
62
65
OScalarProperty
() :
OBasePropertyT
<AbcA::ScalarPropertyWriterPtr>() {}
66
71
OScalarProperty
( AbcA::CompoundPropertyWriterPtr iParent,
72
const
std::string &iName,
73
const
AbcA::DataType &iDataType,
74
75
const
Argument
&iArg0 =
Argument
(),
76
const
Argument
&iArg1 =
Argument
(),
77
const
Argument
&iArg2 =
Argument
(),
78
const
Argument
&iArg3 =
Argument
() );
79
84
OScalarProperty
(
OCompoundProperty
iParent,
85
const
std::string &iName,
86
const
AbcA::DataType &iDataType,
87
88
const
Argument
&iArg0 =
Argument
(),
89
const
Argument
&iArg1 =
Argument
(),
90
const
Argument
&iArg2 =
Argument
() );
91
92
96
OScalarProperty
(
97
AbcA::ScalarPropertyWriterPtr iPtr,
98
ErrorHandler::Policy iPolicy = ErrorHandler::kThrowPolicy )
99
:
OBasePropertyT
<AbcA::ScalarPropertyWriterPtr>( iPtr, iPolicy ) {}
100
101
// Deprecated in favor of the constructor above
102
OScalarProperty
(
103
AbcA::ScalarPropertyWriterPtr iPtr,
104
WrapExistingFlag iWrapFlag,
105
ErrorHandler::Policy iPolicy = ErrorHandler::kThrowPolicy )
106
:
OBasePropertyT
<AbcA::ScalarPropertyWriterPtr>( iPtr, iPolicy ) {}
107
110
113
~OScalarProperty
();
114
115
//-*************************************************************************
116
// SCALAR PROPERTY WRITER FUNCTIONALITY
117
//-*************************************************************************
118
124
size_t
getNumSamples()
const
;
125
128
void
set(
const
void
*iSample );
129
132
void
setFromPrevious( );
133
138
void
setTimeSampling( uint32_t iIndex );
139
144
void
setTimeSampling( AbcA::TimeSamplingPtr iTime );
145
148
OCompoundProperty
getParent()
const
;
149
150
private
:
151
void
init( AbcA::CompoundPropertyWriterPtr iParent,
152
const
std::string &iName,
153
const
AbcA::DataType &iDataType,
154
155
const
Argument
&iArg0,
156
const
Argument
&iArg1,
157
const
Argument
&iArg2,
158
const
Argument
&iArg3 );
159
};
160
161
}
// End namespace ALEMBIC_VERSION_NS
162
163
using namespace
ALEMBIC_VERSION_NS;
164
165
}
// End namespace Abc
166
}
// End namespace Alembic
167
168
#endif
Alembic::Abc::ALEMBIC_VERSION_NS::Argument
Definition
Argument.h:120
Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT
Definition
OBaseProperty.h:58
Alembic::Abc::ALEMBIC_VERSION_NS::OBasePropertyT< AbcA::ScalarPropertyWriterPtr >::OBasePropertyT
OBasePropertyT()
Definition
OBaseProperty.h:74
Alembic::Abc::ALEMBIC_VERSION_NS::OCompoundProperty
Definition
OCompoundProperty.h:53
Alembic::Abc::ALEMBIC_VERSION_NS::OScalarProperty
Definition
OScalarProperty.h:53
Alembic::Abc::ALEMBIC_VERSION_NS::OScalarProperty::OScalarProperty
OScalarProperty()
Definition
OScalarProperty.h:65
Alembic::Abc::ALEMBIC_VERSION_NS::OScalarProperty::OScalarProperty
OScalarProperty(AbcA::ScalarPropertyWriterPtr iPtr, ErrorHandler::Policy iPolicy=ErrorHandler::kThrowPolicy)
Definition
OScalarProperty.h:96
Alembic::Abc::ALEMBIC_VERSION_NS::OScalarProperty::this_type
OScalarProperty this_type
Definition
OScalarProperty.h:57
Alembic
Alembic namespace ...
Definition
ArchiveInfo.cpp:39
Abc
OScalarProperty.h
Generated by
1.18.0