Field3D
IArchive.cpp
Go to the documentation of this file.
1
//-*****************************************************************************
2
//
3
// Copyright (c) 2013,
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 Industrial Light & Magic nor the names of
19
// its contributors may be used to endorse or promote products derived
20
// from this software without specific prior written permission.
21
//
22
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
//
34
//-*****************************************************************************
35
36
#include "IArchive.h"
37
38
namespace
Alembic
{
39
namespace
Ogawa {
40
namespace
ALEMBIC_VERSION_NS {
41
42
IArchive::IArchive(
const
std::string &
iFileName
, std::size_t
iNumStreams
) :
43
mStreams
(
new
IStreams(
iFileName
,
iNumStreams
))
44
{
45
init();
46
}
47
48
IArchive::IArchive(
const
std::vector< std::istream * > &
iStreams
) :
49
mStreams
(
new
IStreams(
iStreams
))
50
{
51
init();
52
}
53
54
void
IArchive::init()
55
{
56
if
(
mStreams
->isValid())
57
{
58
Alembic::Util::uint64_t pos = 0;
59
mStreams
->read(0, 8, 8, &pos);
60
mGroup
.reset(
new
IGroup(
mStreams
, pos,
false
, 0));
61
}
62
}
63
64
IArchive::~IArchive()
65
{
66
}
67
68
bool
IArchive::isValid()
const
69
{
70
return
mStreams
->isValid();
71
}
72
73
bool
IArchive::isFrozen()
const
74
{
75
return
mStreams
->isFrozen();
76
}
77
78
Alembic::Util::uint16_t IArchive::getVersion()
const
79
{
80
return
mStreams
->getVersion();
81
}
82
83
IGroupPtr
IArchive::getGroup()
const
84
{
85
return
mGroup
;
86
}
87
88
}
// End namespace ALEMBIC_VERSION_NS
89
}
// End namespace Ogawa
90
}
// End namespace Alembic
FIELD3D_MTX_T
#define FIELD3D_MTX_T
Definition
StdMathLib.h:99
Alembic
Definition
OgawaFwd.h:77
src
IArchive.cpp
Generated by
1.10.0