Alembic Version 1.1

Loading...
Searching...
No Matches
Visibility.h
Go to the documentation of this file.
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
37#ifndef Alembic_AbcGeom_Visibility_h
38#define Alembic_AbcGeom_Visibility_h
39
40#include <string.h>
41#include <Alembic/Util/Export.h>
42#include <Alembic/AbcGeom/Foundation.h>
43#include <Alembic/Abc/OSchemaObject.h>
44
45
46
47 namespace Alembic {
48 namespace AbcGeom {
49 namespace ALEMBIC_VERSION_NS {
50
60 enum ObjectVisibility
61{
67 kVisibilityDeferred = -1,
68
70 kVisibilityHidden = 0,
71
73 kVisibilityVisible = 1,
74};
75
78 static ALEMBIC_EXPORT_CONST std::string kVisibilityPropertyName = "visible";
79
80 typedef Abc::ICharProperty IVisibilityProperty;
81 typedef Abc::OCharProperty OVisibilityProperty;
82
83
84// For Writer code:
85
89 ALEMBIC_EXPORT OVisibilityProperty
90 CreateVisibilityProperty( OObject & iObject,
91 uint32_t iTimeSamplingID );
92
96 ALEMBIC_EXPORT OVisibilityProperty
97 CreateVisibilityProperty( OObject & iObject,
98 AbcA::TimeSamplingPtr iTimeSampling );
99
100// For Reader code:
101
104 ALEMBIC_EXPORT IVisibilityProperty
105 GetVisibilityProperty( IObject & schemaObject );
106
112 ALEMBIC_EXPORT ObjectVisibility
113 GetVisibility( IObject & schemaObject,
114 const Abc::ISampleSelector &iSS =
115 Abc::ISampleSelector () );
116
123 ALEMBIC_EXPORT bool
124 IsAncestorInvisible( IObject schemaObject,
125 const Abc::ISampleSelector &iSS =
126 Abc::ISampleSelector () );
127
128} // End namespace ALEMBIC_VERSION_NS
129
130 using namespace ALEMBIC_VERSION_NS;
131
132} // End namespace AbcGeom
133} // End namespace Alembic
134
135#endif
Foundation.h
Export.h
ALEMBIC_EXPORT_CONST
#define ALEMBIC_EXPORT_CONST
Definition Export.h:53
ALEMBIC_EXPORT
#define ALEMBIC_EXPORT
Definition Export.h:51
OSchemaObject.h
Alembic::Abc::ALEMBIC_VERSION_NS::IObject
Definition IObject.h:54
Alembic::Abc::ALEMBIC_VERSION_NS::ISampleSelector
Definition ISampleSelector.h:49
Alembic::Abc::ALEMBIC_VERSION_NS::OObject
Definition OObject.h:54
Alembic::AbcGeom::ALEMBIC_VERSION_NS
Definition ArchiveBounds.h:45
Alembic::AbcGeom::ALEMBIC_VERSION_NS::OVisibilityProperty
Abc::OCharProperty OVisibilityProperty
Definition Visibility.h:81
Alembic::AbcGeom::ALEMBIC_VERSION_NS::IsAncestorInvisible
ALEMBIC_EXPORT bool IsAncestorInvisible(IObject schemaObject, const Abc::ISampleSelector &iSS=Abc::ISampleSelector())
Alembic::AbcGeom::ALEMBIC_VERSION_NS::IVisibilityProperty
Abc::ICharProperty IVisibilityProperty
Definition Visibility.h:80
Alembic::AbcGeom::ALEMBIC_VERSION_NS::ObjectVisibility
ObjectVisibility
Values for the visibility property The top-compound object of AbcGeom Schema objects can include an o...
Definition Visibility.h:61
Alembic::AbcGeom::ALEMBIC_VERSION_NS::kVisibilityVisible
@ kVisibilityVisible
The object has been explicitly made visible.
Definition Visibility.h:73
Alembic::AbcGeom::ALEMBIC_VERSION_NS::kVisibilityHidden
@ kVisibilityHidden
The object has been explicitly made hidden.
Definition Visibility.h:70
Alembic::AbcGeom::ALEMBIC_VERSION_NS::kVisibilityDeferred
@ kVisibilityDeferred
Definition Visibility.h:67
Alembic::AbcGeom::ALEMBIC_VERSION_NS::CreateVisibilityProperty
ALEMBIC_EXPORT OVisibilityProperty CreateVisibilityProperty(OObject &iObject, uint32_t iTimeSamplingID)
Alembic::AbcGeom::ALEMBIC_VERSION_NS::kVisibilityPropertyName
static ALEMBIC_EXPORT_CONST std::string kVisibilityPropertyName
Definition Visibility.h:78
Alembic::AbcGeom::ALEMBIC_VERSION_NS::GetVisibility
ALEMBIC_EXPORT ObjectVisibility GetVisibility(IObject &schemaObject, const Abc::ISampleSelector &iSS=Abc::ISampleSelector())
Alembic::AbcGeom::ALEMBIC_VERSION_NS::GetVisibilityProperty
ALEMBIC_EXPORT IVisibilityProperty GetVisibilityProperty(IObject &schemaObject)
Alembic::AbcGeom
Definition ArchiveBounds.h:44
Alembic::Abc::ALEMBIC_VERSION_NS::ICharProperty
ITypedScalarProperty< Int8TPTraits > ICharProperty
Definition ITypedScalarProperty.h:216
Alembic::Abc::ALEMBIC_VERSION_NS::OCharProperty
OTypedScalarProperty< Int8TPTraits > OCharProperty
Definition OTypedScalarProperty.h:232
Alembic
Alembic namespace ...
Definition ArchiveInfo.h:46